Skip to main content

Kubernetes workloads

Grid is not only a Terraform control plane. The product model is one Git-backed desired-state tree and one release loop; how a unit is realized depends on its engine.

EngineWhat it operates
terraformCloud modules, managed clusters, node pools, and other catalog subtypes — generate / plan / apply via grid-cli
kubernetesIn-cluster workloads (Applications, Helm, Kustomize, Jobs, …) via GitOps (Argo CD / OpenShift GitOps). Exposed when kubernetesWorkloads is on

Two different “Kubernetes” ideas​

Do not confuse them:

KindEngineExample
Managed cluster / node poolterraformCluster and node-pool subtypes in the provider catalog
Workloads inside a clusterkubernetesDeployments, Helm releases, Application CRs reconciled by Argo

Clusters are infrastructure. Workloads are continuous delivery on top of a cluster. Grid is designed to own both under the same project / environment / RBAC story.

What GitOps means here​

  1. Desired-state Sync — Grid pulls your Git repo of path-shaped JSON into inventory. That is shared for every engine.
  2. Workload GitOps — for kubernetes units, apply does not mean terraform apply. It means Grid drives (or hands off to) a cluster GitOps reconciler so the cluster converges on the workload intent you declared.

Naming in the console keeps Sources for the desired-state remote so “GitOps” can mean in-cluster CD without colliding with Sync settings — Console overview.

Unit shape (direction of travel)​

Workload units still live under the same path grammar:

projects/<project>/<cloud-or-platform>/<environment>/<infra-type>/<name>.json

The JSON carries engine metadata and workload kind (Application, Helm, Kustomize, CronJob, …). Field names follow the API contract in grid-core for that engine.

RBAC already reserves a kubernetes domain for view / apply when the engine is enabled — Auth, RBAC, and approvals.

Exit ramp for workloads​

Same philosophy as Terraform: Grid must not be a black box.

You keepOutside Grid
Git history of workload intentArgo / OpenShift GitOps (or kubectl / Helm) against the cluster
Cluster credentials you already useNo proprietary workload state format required by Grid

See Exit ramp.

KnobRole
kubernetesWorkloads (UI)Hide / show workload engine surfaces
GRID_ARGO_ENABLEDCore Argo / OpenShift GitOps integration
GRID_ARGO_KUBECONFIGCluster kubeconfig for the reconciler

Details: Feature flags · Configuration.