Skip to content

Quick Start

This guide gets you from zero to managing secrets in under 5 minutes.

Create your free account at app.getsoup.dev

Terminal window
# macOS
brew install soup-dev/tap/soup
# Linux/WSL
curl -fsSL https://getsoup.dev/install.sh | sh
Terminal window
soup login
Terminal window
# Create a project
soup project create my-app
# Create environments (like base, dev, stage, prod)
soup env create my-app base
soup env create my-app dev --parent base
soup env create my-app stage --parent base
soup env create my-app prod --parent base
Terminal window
# Set secrets in base (shared across all environments)
soup set my-app base DATABASE_NAME myapp
soup set my-app base LOG_LEVEL info
soup set my-app base API_TIMEOUT 30
# Override for prod
soup set my-app prod LOG_LEVEL warn
soup set my-app prod API_TIMEOUT 60
Terminal window
# Build a connection string from components
soup set my-app base DB_HOST localhost
soup set my-app base DB_PORT 5432
soup set my-app base DATABASE_URL 'postgres://${DB_HOST}:${DB_PORT}/${DATABASE_NAME}'
# Prod uses different host
soup set my-app prod DB_HOST prod-db.internal
# Check the resolved value
soup get my-app prod DATABASE_URL
# Output: postgres://prod-db.internal:5432/myapp
Terminal window
# Export all secrets as environment variables
eval $(soup export my-app prod)
# Or run a command with secrets injected
soup run my-app prod -- npm start
# Or write to a .env file
soup export my-app prod --format dotenv > .env