Skip to main content

inforge deploy

Deploy (apply) infrastructure changes for a stack using the Pulumi Automation API.

Usage

inforge deploy <env> [flags]

The environment is a required positional argument (e.g. prd) — it is the Pulumi stack name.

Flags

FlagDefaultDescription
--stack-configinforge.<env>.yamlPath to the stack config file (optional; a missing default file means no extra config)
--yes / -yfalseAuto-approve without interactive prompt
--output / -o"" (human)Output format: "" for human-readable, json for structured JSON
--allow-multiplefalseAllow running when multiple environments have changes
--config / -c./inforge.yamlPath to the project config file
--dir / -d./resourcesPath to the resources directory

Interactive confirmation

Without --yes, inforge prompts:

Deploy stack "prd"? Type 'yes' to confirm:

Use --yes in CI or scripted contexts.

Secret delivery

For each service whose container declares secrets, deploy writes the secrets to the provider under the service's scoped path, mints a per-service machine identity, and writes a secret-free descriptor.yaml plus a host-key-encrypted credential.age onto the host over SSH. The service fetches its own secrets at runtime via inforge-bootstrap; no secret value is baked into any artifact. See Secrets → How secrets reach a service.

State management

After a successful deploy, inforge:

  • Writes the deploy descriptor to deploy/<env>.yaml
  • If using git-branch backend: commits and pushes updated Pulumi state to the state branch

JSON output

{
"environment": "prd",
"summary": {
"create": 2,
"update": 1,
"delete": 0,
"same": 4
}
}

Examples

# Interactive deploy
inforge deploy --stack prd --stack-config inforge.prd.yaml

# CI deploy (auto-approve, JSON output)
inforge deploy --stack prd --stack-config inforge.prd.yaml --yes --output json