Skip to main content

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: true for continuous deployment.
  • Prefer image for stable, pre-built containers.
  • Keep secrets in environment or Secrets Manager.
  • Use appropriate minScale/maxScale to balance cost and availability.