Example: dcdeploy.yaml
Top-level fields
services
Defines all workloads (apps, APIs, background workers). Each key under services: is the unique service name.
Service fields
type
Specifies the workload type. Currently supported:
service→ Long-running service accessible via HTTP(s).
machineType
Defines the compute size used. Examples:
DCD-1→ Small (low-cost)DCD-2→ Medium- etc…
regions
Specifies the deployment region. Example: Mumbai (India), Frankfurt (Germany).
build
Describes how to build the container image.
context→ Path to the build directory.dockerfilePath→ Path to the Dockerfile.repo→ Source repository (GitHub).ref→ Branch, tag, or commit reference.refType→ Type of ref (branch,tag).commitHash→ Pin to a specific commit.autoBuild→ If true, DCDeploy auto-builds on new commits.private→ If true, repository is private.
image
Instead of build, you can directly use a pre-built Docker image:
ports
List of exposed container ports (e.g., 80, 3000).
protocol
Defines network protocol: https.
minScale / maxScale
Defines autoscaling range.
minScale→ Minimum instances always running.maxScale→ Maximum instances allowed.
environment
Optional key-value pairs for environment variables.
Best practices
- Use
autoBuild: truefor continuous deployment. - Prefer
imagefor stable, pre-built containers. - Keep secrets in
environmentor Secrets Manager. - Use appropriate
minScale/maxScaleto balance cost and availability.
