Sign inSign up

slingdata/sling

By slingdata

•Updated about 22 hours ago

Image
0

100K+

slingdata/sling repository overview

⁠Sling CLI Docker Image

This Docker image provides a ready-to-use installation of Sling CLI, a powerful data movement and transformation tool.

⁠What is Sling?

Sling is a modern data movement and transformation platform designed to simplify data operations between various sources and destinations. It enables efficient data transfer between databases, data warehouses, and file storage systems.

⁠Features

  • Data Movement: Transfer data between different storage systems and databases
  • Flexible Connectivity: Support for numerous databases and file storage systems
  • Transformation Capabilities: Built-in transformation during transfer
  • Multiple Operation Modes: Full-refresh, incremental, and snapshot replication

⁠Usage

⁠Basic Usage
docker run --rm slingdata/sling:latest --help
⁠Moving Data Examples
# Load a CSV file into a database table
cat data.csv | docker run -i --rm slingdata/sling:latest run --tgt-conn MY_PG --tgt-object my_schema.my_table

# Copy from one database to another
docker run -i --rm -e SRC_DB -e TGT_DB slingdata/sling:latest run \
  --src-conn SRC_DB \
  --src-stream public.users \
  --tgt-conn TGT_DB \
  --tgt-object analytics.users
⁠Managing Connections

Use environment variables to configure connections:

docker run -i --rm \
  -e SLING_CLI_TOKEN='xxxxxxxxx' \
  -e MY_PG='postgresql://user:password@host:5432/db1' \
  slingdata/sling:latest conns list
⁠Persisting Configuration

To persist your connection configuration, mount a volume:

docker run -i --rm \
  -e SLING_CLI_TOKEN='xxxxxxxxx' \
  -v $HOME/.sling:/home/sling/.sling \
  slingdata/sling:latest conns list

⁠Configuration Methods

⁠Environment Variables
docker run -i --rm \
  -e SLING_CLI_TOKEN='xxxxxxxxx' \
  -e MY_PG='postgresql://user:password@host:5432/db1' \
  -e MY_SNOWFLAKE='{type: snowflake, host: "account.snowflakecomputing.com", user: "user", database: "db1", password: "pass", role: "role"}' \
  slingdata/sling:latest run --src-conn MY_PG --src-stream "SELECT * FROM users" --tgt-conn MY_SNOWFLAKE --tgt-object DB.SCHEMA.TABLE
⁠Volume Mount for Configuration
docker run -i --rm \
  -e SLING_CLI_TOKEN='xxxxxxxxx' \
  -v $HOME/.sling:/home/sling/.sling \
  slingdata/sling:latest run --config path/to/config.yaml

⁠Security Notes

  • The image runs as non-root user sling
  • Use environment variables for sensitive information
  • Consider using secrets management when deploying in production

For more detailed documentation, visit the Sling Documentation⁠ or https://slingdata.io⁠.

Tag summary

Content type

Image

Digest

sha256:b1606dace…

Size

282.8 MB

Last updated

13 days ago

docker pull slingdata/sling