Flux CD Quiz
Select your difficulty level to begin the quiz
Free Flux CD quiz with 60 multiple-choice questions on GitOps with Kustomizations, HelmReleases, sources, image automation, notifications and multi-tenancy, at beginner, advanced and expert level. Every answer comes with an explanation.
Latest Flux CD Articles
All Flux CD questions
Each question has its own page with the answer and an explanation.
Beginner: 20 easy questions
- What is Flux CD?
- With Flux, how do changes in Git reach the cluster?
- Which Flux controller fetches Git repositories, OCI artifacts and Helm charts for the other controllers?
- Which Flux custom resource applies the Kubernetes manifests found at a path in a source?
- Which command checks that a cluster meets Flux's requirements before you install it?
- What does 'flux bootstrap github' do?
- Which namespace does Flux install its controllers into by default?
- What does the interval field on a Flux Kustomization control?
- Which command makes Flux reconcile a Kustomization now instead of waiting for its interval?
- Someone changes a Flux-managed Deployment with kubectl edit. What happens?
- Which Flux custom resource installs and upgrades a Helm chart?
- Which command lists Flux Kustomizations and whether each one is ready?
- What does prune: true do on a Flux Kustomization?
- Which command pauses reconciliation of a Kustomization, for example during an incident?
- Which Flux source pulls manifests that were pushed to a container registry as an OCI artifact?
- Which Flux controller forwards alerts to Slack or Microsoft Teams when a reconciliation fails?
- Where does helm-controller get the Helm charts it installs?
- How does a Flux Kustomization or HelmRelease report that its last reconciliation succeeded?
- What is Flux's status in the Cloud Native Computing Foundation?
- Which command prints the logs of the Flux controllers?
Advanced: 20 medium questions
- A Kustomization must only be applied after another Kustomization that installs CRDs is ready. Which field do you set?
- What does spec.wait: true do on a Flux Kustomization?
- How do you substitute a per-cluster value such as ${cluster_region} into the manifests a Flux Kustomization applies?
- How does Flux decrypt Secrets that are stored encrypted with SOPS in Git?
- What does the --no-cross-namespace-refs=true flag on the Flux controllers do?
- How can a Kustomization apply resources with a tenant's limited permissions instead of kustomize-controller's own?
- What does 'flux diff kustomization my-app --path ./apps/my-app' show?
- How can a HelmRelease take its Helm values from a ConfigMap or Secret?
- Which HelmRelease setting makes helm-controller retry a failed first install?
- What does driftDetection.mode: enabled do on a HelmRelease?
- Which Flux objects work together to update an image tag in Git when a new version is pushed to a registry?
- How does image-automation-controller know which field in a YAML file to update?
- An ImagePolicy should pick the newest 1.x release tag and ignore 2.0 and later. Which policy fits?
- How can a push to Git make Flux fetch the new commit right away instead of waiting for the GitRepository interval?
- Which Flux setup reports deployment results back to GitHub as commit statuses?
- You delete a Flux Kustomization that has prune: true and no deletionPolicy. What happens to the objects it applied?
- Which file in a Git repository tells source-controller to leave files out of the artifact it builds?
- How can a HelmRelease install a chart that is stored in an OCI registry?
- A GitRepository sets both ref.branch: main and ref.tag: v1.2.0. Which one does Flux check out?
- A Deployment keeps changing and you don't know which Flux object manages it. Which command tells you?
Expert: 20 hard questions
- What does the annotation kustomize.toolkit.fluxcd.io/ssa: IfNotPresent do on an object in a Flux source?
- A change to an immutable field makes Flux's apply of a Job fail. Which annotation on the Job tells Flux to delete and recreate it?
- A GitRepository has no ref field, and the repository's default branch is main. What does Flux check out?
- kustomize-controller can't tell when a custom resource from a third-party operator is healthy. How do you teach it?
- You want to delete a Flux Kustomization but keep the workloads it created running. Which field do you set first?
- In a CI job, 'flux diff kustomization' exits with status 1. What does that mean?
- A chart ships CRDs in its crds/ directory, and the HelmRelease has no crds settings. What happens to those CRDs on upgrade?
- How many Helm release revisions does helm-controller keep for a HelmRelease that doesn't set maxHistory?
- A HelmRelease sets upgrade.remediation.retries: 3 and nothing else under remediation. What happens between failed upgrade attempts?
- How does notification-controller build the webhook URL path for a Receiver?
- A HelmRelease's chartRef points at an OCIRepository holding a Helm chart. How should the OCIRepository's layerSelector handle the chart layer?
- How can you make Flux refuse an OCI artifact that wasn't signed by your CI pipeline?
- Which GitRepository setting makes Flux check that the tag it checks out was signed with a trusted PGP key?
- One kustomize-controller can't keep up with thousands of Kustomizations. How does Flux split the work?
- What does 'flux reconcile kustomization my-app' change on the object to trigger a reconciliation?
- A ConfigMap applied by a Flux Kustomization holds a shell script using ${HOME}, and postBuild substitution blanks it out. What stops that?
- A HelmRelease in flux-system sets targetNamespace: apps and no storageNamespace. Where does Helm keep the release's storage Secrets?
- How can an OCIRepository authenticate to Amazon ECR without a static registry password?
- You need to add a label to a Deployment that a third-party chart renders, and the chart has no value for it. What does a HelmRelease offer?
- What permissions does the deploy key created by 'flux bootstrap github' have by default?