Runtime Deployment
Overview
Your code is released. Now ship it and know exactly what’s running where.
Fly bridges your releases with your runtime environments. Create environments, connect them to your K8s namespaces, and deploy with a prompt directly from your IDE. Track what’s live, verify fixes, compare environments, and investigate issues from your IDE or Fly Chat.
Create an Environment
An environment represents a deployment target, such as prod-us-east, staging, or dev. This is how Fly gains visibility into your runtime. Once an environment is created and connected, you can ask Fly what’s running, verify if a fix is live, compare environments, and track deployment history.
From your IDE:
“Create a new environment called prod-us-east”
“Create a staging environment”
Or create one from Fly Web.
When creating an environment, you provide:
- Name (required): A unique identifier using lowercase letters, numbers, and hyphens (e.g.,
prod-us-east) - Description (optional): A short description of what this environment is (e.g., “Production cluster for the checkout flow”)
After creation, Fly suggests generating a token so you can connect your environment right away.
Connect Your Environment
To connect, your K8s namespace needs an image pull secret with a Fly token. The fastest way is to ask Fly from your IDE:
“Set up my K8s to work with Fly”
“Generate a deployment token for production”
Fly generates the token, associates it with your environment, and gives you the kubectl command to apply. You can also generate tokens from Fly Web.
Apply the Image Pull Secret
Create the secret in your K8s namespace using the credentials Fly generates:
kubectl create secret docker-registry fly-registry-secret \
--docker-server=<your-fly-subdomain>.jfrog.io \
--docker-username=<token-username> \
--docker-password=<your-token> \
--namespace=<namespace>Reference it in your deployment spec:
spec:
template:
spec:
imagePullSecrets:
- name: fly-registry-secret
containers:
- name: my-app
image: <your-fly-subdomain>.jfrog.io/docker/<image-name>:<tag>What Happens After Connection
Once your environment uses this token to pull images, Fly starts tracking every pull against it. You get full visibility into what’s deployed and when, the ability to query runtime state from your IDE or Fly Chat, and always know whether your environment is up to date with the latest release.
Deploy Releases
Find the right release and deploy it with natural language:
“Deploy the login fix to staging”
“Deploy payment-service v2.3.1 to production”
“Find the release where I fixed the auth bug and deploy it”
Fly uses semantic release data to find exactly what you mean, by content, not just version numbers. When you ask to deploy, Fly:
- Finds the release and image: searches your releases semantically and identifies the image to deploy
- Identifies the environment: determines which environment you want to deploy to
- Handles the credentials: makes sure all secrets and tokens are in place so the environment can pull the image
- Tracks the deployment: once the image is pulled, Fly records it against the environment so you have full visibility
Track Your Runtime
Once your environments are connected, ask Fly about your runtime directly from your IDE or using Fly Chat.
What’s running?
“What’s running in production?”
Fly shows you the active image, which release produced it, and a full summary of what it contains: features added, bugs fixed, and changes made. You also get the PRs and commits that went into the release, and a chronological history of all previous deployments to that environment.
Is my fix live?
“Is the fix for the login timeout issue deployed to production?”
“Is PR #278 live in staging?”
Fly searches the current release and recent release history to find if the fix exists in your environment. It tells you which release contains it, when it was deployed, and which environments have it. So when someone asks “is it live?”, you have an immediate, accurate answer.
Is my environment up to date?
“Is staging up to date?”
“Is production running the latest release?”
Fly compares the live state against the latest release in the Fly Registry. If there’s a gap, Fly shows you which releases are missing and can recommend sync actions.
How do my environments compare?
“Compare staging vs production”
Fly shows a side-by-side comparison: which releases are in sync, which PRs and fixes exist in one but not the other, and the version gap between them.
What changed? (Investigation and rollback)
“What changed recently in my registration service that could cause an issue in production?”
“Show me deployment history for production”
Fly provides a chronological deployment log with release summaries, PRs, commits, timestamps, and trigger source (CI/CD or manual). This gives you the data to identify a breaking change or find a stable version to roll back to.
Update and Delete Environments
Update
You can update an environment’s name or description at any time from Fly Web. Updates to metadata don’t affect active tokens or historical consumption data.
Delete
Deleting an environment from Fly Web requires explicit confirmation. Once deleted, all associated tokens are automatically revoked and the environment will no longer track consumption.
Next Steps
Fly Web Environments → - Team-wide environment dashboard and deep dive
Token Management → - Token management