From flyio-pack
Implements Fly.io security best practices: encrypted secrets, scoped deploy tokens, automatic TLS certs, private networking. Includes CLI examples and checklists for secure deployments.
npx claudepluginhub jeremylongshore/claude-code-plugins-plus-skills --plugin flyio-packThis skill is limited to using the following tools:
Security practices for Fly.io: encrypted secrets management, private networking (6PN), TLS certificate management, deploy token scoping, and WireGuard VPN access.
Provides quick reference for Fly.io PaaS deployments including fly.toml config, global distribution, scaling patterns, secrets management, health checks, and troubleshooting. Auto-loads on fly.toml detection.
Deploys, scales, and manages Fly.io apps: configure fly.toml, run flyctl for secrets/regions/lifecycle, handle Docker builds and multi-region scaling.
Deploys and manages Fly.io apps using Docker containers, Fly Machines, fly.toml configs, databases, volumes, secrets. Supports fly launch/deploy, debugging, multi-region setups for Python/Node/Rails/Django apps.
Share bugs, ideas, or general feedback.
Security practices for Fly.io: encrypted secrets management, private networking (6PN), TLS certificate management, deploy token scoping, and WireGuard VPN access.
# Set secrets — encrypted at rest, injected as env vars
fly secrets set API_KEY="sk_live_..." DB_PASSWORD="..." -a my-app
# List (values hidden)
fly secrets list -a my-app
# Unset
fly secrets unset OLD_API_KEY -a my-app
# Import from .env file
fly secrets import < .env.production
Key rules:
fly.toml [env] (those are plaintext)# Per-app deploy token (minimal scope for CI/CD)
fly tokens create deploy -a my-app
# Use in CI: FLY_API_TOKEN=$DEPLOY_TOKEN fly deploy
# Org token (broader scope — avoid if possible)
fly tokens create org
# Read-only token (monitoring only)
fly tokens create readonly -a my-app
# Add custom domain
fly certs add api.example.com -a my-app
# Check certificate status
fly certs show api.example.com -a my-app
# Fly manages Let's Encrypt certificates automatically
# Force HTTPS in fly.toml:
[http_service]
force_https = true
# Apps in same org communicate via .internal DNS (encrypted WireGuard mesh)
# No public internet exposure needed for internal services
# Access internal services from local machine via WireGuard
fly wireguard create
# Then connect: my-app.internal:3000
fly secrets, not [env]force_https = true in fly.toml.internal DNS, no public portsFor production readiness, see flyio-prod-checklist.