Flash apps
A Flash app is a namespace on Runpod’s backend that groups all resources for a single project. The app itself is just metadata—actual cloud resources (endpoints, volumes) are created when you deploy to an environment. An app consists of:- App registry entry: Metadata in Runpod’s system (namespace, project identifier).
- Environments: Different deployment stages (dev, staging, production).
- Builds: Versioned tarball artifacts containing your code and dependencies.
- Serverless endpoints: Running infrastructure created per environment.
flash deploy, or explicitly with flash app create <name>.
App hierarchy
Flash App (my-project)
Environments
dev
Endpoints
Volumes
staging
Endpoints
Volumes
production
Endpoints
Volumes
Builds
build_v1
build_v2
build_v3
Environments
An environment is an isolated deployment stage within a Flash app (e.g.,dev, staging, production). Each environment has its own endpoints, build version, volumes, and deployment state. Environments are completely independent—deploying to dev has no effect on production.
An environment contains:
- Deployed endpoints: Serverless workers for your
@Endpointfunctions. - Build version: The specific code version running in this environment.
- Volumes: Persistent storage attached to workers.
- State: Current deployment status (deploying, deployed, failed).
--env <name> or explicitly with flash env create <name>.
Environment states
Environments can be in several states:| State | Description |
|---|---|
deploying | Deployment in progress (building artifacts, provisioning endpoints) |
deployed | Successfully deployed and running |
failed | Deployment failed (check logs in the Runpod console) |
updating | Configuration update in progress |
Builds and deployments
When you runflash deploy, Flash creates and uploads a build artifact, then provisions endpoints:
Build process
-
Create tarball: Flash packages your code into
.flash/artifact.tar.gzcontaining:- Worker Python files (
lb_worker.py,gpu_worker.py,cpu_worker.py). - Pre-installed dependencies (bundled during build).
- Deployment manifest (
flash_manifest.json). - Auto-generated handler code.
- Worker Python files (
- Upload artifact: The tarball is uploaded to Runpod’s storage and associated with your app as a versioned “build”.
-
Provision endpoints: For each resource configuration, Flash creates a Serverless endpoint that:
- Runs on pre-built Flash Docker images (
runpod/flash:latestorrunpod/flash-cpu:latest). - Extracts your tarball and executes your code.
- Scales automatically based on load.
- Runs on pre-built Flash Docker images (
- Activate environment: The environment is linked to the build and endpoints.
Common environment patterns
Single environment (simple projects)
For small projects or solo development, use a single environment:production. Simple, but no testing isolation.
Multiple environments (team projects)
For team projects, use separate environments for development, testing, and production:dev for testing, staging for QA approval, then production for users.