CGOA flashcards
CGOA · Build recall with a focused review session.
32 cards. Read the term and the definition here. The deck at the top of this page is optional.
- Desired state
- The declarative, versioned specification of how a system should be configured, stored in Git and treated as the authoritative source of truth for reconciliation.
- Actual (live) state
- The observed configuration of resources currently running in an environment, read by the reconciler from cluster or cloud provider APIs and compared against desired state.
- Reconciliation loop
- The continuous process in which an agent compares desired state with actual state and applies or reverts changes until the two converge, retrying on failure.
- Configuration drift
- Any divergence between actual state and desired state, typically caused by manual edits, out-of-band changes, or external controllers acting outside the Git workflow.
- Sync status
- A comparison result reporting whether live resources match the desired revision, commonly Synced or OutOfSync in Argo CD and Ready or not-ready in Flux.
- Prune
- A reconciler behavior that deletes live resources which no longer appear in desired state, keeping the environment aligned with what Git declares.
- Environment promotion
- Moving a validated artifact or configuration from one environment to the next, typically by changing which Git ref, overlay, or image digest that environment tracks.
- Declarative principle
- GitOps requires the whole desired state to be described declaratively, so the system can be reconstructed from the description alone without imperative scripts.
- Versioned and immutable
- Desired state must be stored with complete history and immutability, such as Git commits and image digests, so any previous state can be reproduced exactly.
- Pulled automatically
- Software agents inside the environment fetch desired state from the source on their own; external systems do not push changes directly into the cluster.
- Continuously reconciled
- Agents constantly observe actual state and act to converge it to desired state, correcting drift without human intervention and retrying until convergence succeeds.
- Single source of truth
- One canonical store defines desired state for a system; every change flows through that store rather than through direct mutation of the running environment.
- Git as audit log
- Commit history, authors, reviews, and approvals record every deployed change, providing provenance and rollback capability without a separate deployment database.
- Idempotent reconciliation
- Repeating the reconcile operation on an already-converged system produces no changes, which makes retries safe and convergence predictable.
- CI and CD boundary
- Continuous integration builds, tests, and publishes immutable artifacts; GitOps continuous delivery takes the published reference and reconciles it into environments.
- Infrastructure as Code
- Declaring infrastructure such as networks and clusters in versioned files using tools like Terraform, Pulumi, or Crossplane, which GitOps workflows can reconcile or consume.
- Progressive delivery
- Techniques like canary, blue/green, and feature flags that limit blast radius by gradually shifting traffic while GitOps supplies the declared desired-state change.
- Policy as Code
- Encoding rules as machine-checkable policy with tools such as OPA Gatekeeper, Kyverno, or Conftest, enforced during CI or at admission when resources reconcile.
- Secrets management in GitOps
- Keeping plaintext secrets out of Git by using SOPS, Sealed Secrets, External Secrets Operator, or Vault to inject secrets at reconcile or runtime.
- Supply chain security
- Verifying that only trusted artifacts deploy, using signed images with cosign or Sigstore, SBOMs, and admission checks before workloads reach the cluster.
- App-of-apps pattern
- An Argo CD pattern where a root Application points to a directory of child Application manifests, enabling bootstrap and fan-out management of many applications.
- Directory overlay promotion
- Using Kustomize overlays or Helm values files per environment in one repository, so promotion means changing the image tag or values in a specific directory.
- Pull request promotion
- Changing an image tag or overlay in a pull request, passing review and policy checks, then merging so the reconciler deploys; rollback is a Git revert.
- Image automation
- Controllers such as Flux image-automator or Argo CD Image Updater that detect new image tags or digests and commit the updated reference back to Git.
- Multi-cluster fleet management
- A management cluster reconciles many target clusters, with cluster registration and credentials themselves declared as versioned resources in Git.
- Cluster rebuild from Git
- Because desired state is fully declarative and versioned, a lost cluster is recreated by pointing a new reconciler at the same Git source.
- Environment branch pattern
- Isolating each environment on its own Git branch; promotion is a merge between branches, but long-lived branches tend to accumulate merge conflicts.
- Argo CD
- A Kubernetes-native GitOps controller using the Application custom resource, with a UI, sync waves and hooks, app-of-apps, and multi-cluster support for Helm, Kustomize, and YAML.
- Flux v2 GitOps toolkit
- A set of composable controllers including source, kustomize, helm, notification, and image automation controllers, driven by custom resources such as GitRepository and Kustomization.
- Kustomize
- A template-free customization tool built into kubectl that combines bases with per-environment overlays and patches; it is natively supported by Argo CD and Flux.
- Helm in GitOps
- Charts and values files package applications; reconcilers either render charts at sync time or you commit rendered manifests for complete auditability.
- OpenGitOps principles
- A CNCF project publishing the four GitOps principles: declarative, versioned and immutable, pulled automatically, and continuously reconciled.