User Guide¶
This section is for the people who write Terraform objects and the
configurations they point at.
- Plan approval workflow — manual approval by plan ID,
auto, plan-only, when pending plans are discarded, failures and retries. - Sources and credentials — Git and OCI sources, credential Secrets, reusing Argo CD repository credentials, what reaches the runner.
- Variables and credentials — passing
variables (
-var,-var-fileequivalents) and giving the runner cloud provider credentials. - Drift detection — how drift is found, what happens in each approval mode, choosing an interval.
- Outputs — output names and values, the outputs Secret, feeding workloads and other stacks.
- Dependencies and health checks —
ordering stacks with
dependsOn, verifying them withhealthChecks, how that composes with sync waves. - Destroy and deletion —
spec.destroy, what deleting the object does, keeping or removing the state. - Runner Pods — image, binary, identity, environment, resources, volumes, security context, networking.
- Examples — complete objects for common situations.
- Terraform Specification Reference — every
specandstatusfield. The generated CRD schema is also browsable at doc.crds.dev.
A minimal object looks like this; Argo CD syncs it from your repository like any other manifest:
apiVersion: infra.argocd.io/v1alpha1
kind: Terraform
metadata:
name: network
namespace: team-a
spec:
source:
git:
url: https://github.com/my-org/infra
ref:
branch: main
path: ./network
interval: 10m
approvePlan: "" # manual: approve in the UI or set the plan ID here
runner:
binary: tofu
writeOutputsToSecret:
name: network-outputs