Flyio core workflow b
425 plugins, 2,810 skills, 200 agents for Claude Code. Open-source marketplace at tonsofskills.com with the ccpi CLI package manager.
npx -y skills add jeremylongshore/claude-code-plugins-plus-skills --skill flyio-core-workflow-bAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its author says it does
Copied from the file, not written here
'Execute Fly.io secondary workflow: Postgres clusters, persistent volumes, and private networking.
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
3.3 KB, 724 tokens by cl100k_base, as published. Nobody here has run it
Fly.io Core Workflow B: Postgres, Volumes & Networking
Overview
Set up Fly Postgres, persistent Fly Volumes, and private networking between apps. Fly Postgres runs as a regular Fly app with automated replication. Volumes provide persistent NVMe storage attached to specific machines.
Instructions
Step 1: Create Fly Postgres
# Create a Postgres cluster
fly postgres create --name my-db --region iad --vm-size shared-cpu-1x --volume-size 10
# Attach to your app (sets DATABASE_URL secret automatically)
fly postgres attach my-db -a my-app
# Connect directly
fly postgres connect -a my-db
# psql> SELECT version();
# Proxy to local machine for dev tools
fly proxy 5432 -a my-db
# Now connect: psql postgres://postgres:password@localhost:5432
Step 2: Create Persistent Volumes
# Create a volume (same region as your machine)
fly volumes create data --size 10 --region iad -a my-app
# List volumes
fly volumes list -a my-app
# Mount in fly.toml
# fly.toml
[mounts]
source = "data"
destination = "/data"
# Deploy to pick up mount
fly deploy
# Verify mount inside machine
fly ssh console -C "df -h /data"
Step 3: Private Networking (6PN)
# Apps in the same org can reach each other via .internal DNS
# my-app can reach my-db at: my-db.internal:5432
# Internal DNS format: <app-name>.internal
# Machine-specific: <machine-id>.vm.<app-name>.internal
# Example: connect from app code
DATABASE_URL=postgres://postgres:[email protected]:5432/my_db
// Access internal services (no public internet)
const dbUrl = `postgres://postgres:${process.env.DB_PASSWORD}@my-db.internal:5432/mydb`;
const apiUrl = `http://my-api.internal:3000/health`; // Internal HTTP
Step 4: Postgres Backups and Failover
# List backups
fly postgres barman list-backups -a my-db
# Create manual backup
fly postgres barman backup -a my-db
# Check replication status
fly postgres barman check -a my-db
# Failover to standby (if primary fails)
fly postgres failover -a my-db
Error Handling
| Error | Cause | Solution |
|---|---|---|
volume not found | Volume in different region | Create volume in same region as machine |
connection refused on .internal | App not running | Check fly status -a target-app |
database does not exist | Not yet created | Run CREATE DATABASE mydb; via fly postgres connect |
disk full | Volume full | Extend: fly volumes extend vol_xxx --size 20 |
Resources
Next Steps
For common errors, see flyio-common-errors.