---
tags:
- devops
- l1
- flashcard-deck
- gitops
---
<!-- wiki:breadcrumb:start -->
[Portal](../../../../library/portal/index.md) | **Level:** [L1: Foundations](../../../../library/portal/levels.md) | **Topics:** [GitOps](../../../../library/portal/topics.md) | **Domain:** DevOps & Tooling
<!-- wiki:breadcrumb:end -->

id	category	difficulty	tags	question	answer	source_path
argo/04e996e8543d	argo	medium	argo, rollouts, application	How to rollout a new version (with new container tag)?	`kubectl argo rollouts set image SOME-APP web-app=some/registry/and/image:v2.0`\n\nUnder the hood: patches the Rollout spec with the new image tag, triggering the configured strategy (canary steps, blue-green switch, or analysis run).\n\nGotcha: the image name must match exactly what is in the Rollout spec, including the full registry path.\n\nRemember: Argo Rollouts replaces Deployments with a Rollout CRD that supports canary, blue-green, and progressive delivery with automated analysis and rollback.	projects/knowledge/interview/argo/049-how-to-rollout-a-new-version-with-new-container-ta.txt
argo/0a2e9a5841f3	argo	medium	argo, rollouts, sync, application	What happens when you rollout a new version of your app with argo rollouts?	- Argo Rollouts creates a new replicaset (that is the new app version)\n  - Old version is still alive\n- ArgoCD marks the app as out-of-sync\n\nRemember: Argo Rollouts replaces Deployments with a Rollout CRD that supports canary, blue-green, and progressive delivery with automated analysis and rollback.\n\nRemember: an ArgoCD Application CRD defines: source (Git repo + path + revision), destination (cluster + namespace), and sync policy. It's the fundamental GitOps unit.	projects/knowledge/interview/argo/041-what-happens-when-you-rollout-a-new-version-of-you.txt
argo/15cb76f3e1e4	argo	easy	argo, rollouts, workflows	How to check the status of a rollout?	`kubectl argo rollouts status SOME-APP`\n\nUnder the hood: returns the phase (Progressing, Paused, Degraded, Healthy) plus replica counts and error messages if any.\n\nRemember: phases are Progressing, Paused, Degraded, Healthy. Paused = waiting for manual promote or analysis result.	projects/knowledge/interview/argo/048-how-to-check-the-status-of-a-rollout.txt
argo/16a972795619	argo	easy	argo, rollouts, workflows	True or False? You need to install ArgoCD in order to use Argo Rollouts	False. Quite common misconception today but both cab be used independency even though they work nicely together.\n\nRemember: ArgoCD = continuous delivery from Git. Argo Rollouts = progressive delivery strategies. They pair well but are independent.\n\nFun fact: the Argo project also includes Argo Workflows (DAG-based job orchestration) and Argo Events (event-driven triggers).	projects/knowledge/interview/argo/042-true-or-false-you-need-to-install-argocd-in-order-.txt
argo/214ca6dfc4cd	argo	medium	argo, cd, sync, application	True or False? If you have multiple Kubernetes clusters you want to manage sync applications to with ArgoCD then, you must have ArgoCD installed on each one of them	False, it can be deployed on one of them. ArgoCD is able to manage external clusters on which it doesn't run.\n\nRemember: an ArgoCD Application CRD defines: source (Git repo + path + revision), destination (cluster + namespace), and sync policy. It's the fundamental GitOps unit.\n\nRemember: ArgoCD sync states: Synced (cluster matches Git), OutOfSync (drift detected), Unknown (cannot determine). Use argocd app sync APP_NAME to force reconciliation.	projects/knowledge/interview/argo/029-true-or-false-if-you-have-multiple-kubernetes-clus.txt
argo/25a58dbf08a2	argo	easy	argo, rollouts, workflows	How to list rollouts?	`kubectl argo rollouts list rollouts`\n\nFun fact: Argo Rollouts extends Kubernetes with a Rollout CRD replacing Deployments for canary, blue-green, and progressive delivery strategies.\n\nRemember: Argo Rollouts extends K8s with a Rollout CRD. Use kubectl argo rollouts (plugin) to manage them, not plain kubectl.	projects/knowledge/interview/argo/046-how-to-list-rollouts.txt
argo/25f26700a695	argo	medium	argo, project, workflows	How to add an additional (external) cluster for ArgoCD to manage?	`argocd cluster add CLUSTER_ADDRESS/NAME`\n\nUnder the hood: stores cluster credentials as Kubernetes Secrets in the argocd namespace. The target cluster must be reachable from the ArgoCD controller pod.\n\nGotcha: the cluster context must exist in your local kubeconfig before running this command.\n\nRemember: ArgoCD follows the GitOps principle: Git is the single source of truth. All cluster changes go through Git commits, providing an audit trail and easy rollback via git revert.	projects/knowledge/interview/argo/023-how-to-add-an-additional-external-cluster-for-argo.txt
argo/2e075f3ec040	argo	medium	argo, cd, application, project	"You deployed a new application in a namespace called ""yay"" but when running kubectl get ns yay you see there is no such namespace. What happened?"	"Deploying applications in non-existing namespaces doesn't create the namespace. For that you have to explicitly mark ""Auto-create namespace"".\n\nTo fix it, you can simply run `kubectl create namespace NAMESPACE_NAME` but it's better of course to have it stored in Git rather than running kubectl commands.\n\nRemember: an ArgoCD Application CRD defines: source (Git repo + path + revision), destination (cluster + namespace), and sync policy. It's the fundamental GitOps unit."	projects/knowledge/interview/argo/019-you-deployed-a-new-application-in-a-namespace-call.txt
argo/30e5941d585b	argo	medium	argo, cd, gitops	True or False? A Deployment considered to be healthy if the Pods are running	Not exactly. A Deployment (as well as StatefulSet, ReplicaSet and DaemonSet) is considered healthy if the desired state equals the actual/current state (this includes the number of replicas).\n\nRemember: ArgoCD follows the GitOps principle: Git is the single source of truth. All cluster changes go through Git commits, providing an audit trail and easy rollback via git revert.	projects/knowledge/interview/argo/032-true-or-false-a-deployment-considered-to-be-health.txt
argo/32cd44ba13b8	argo	medium	argo, cd, rollouts	Scott, an engineer in your team, executes manually some smoke tests and monitors rollouts every time a new version is deployed. This way, if there is an issue he detects, he performs a rollback. What better approach you might suggest him to take?	Shift towards fully automated rollbacks. Argo Rollouts supports multiple metric providers (Datadog, NewRelic, etc.) so you can use data and metrics for automating the rollbacks based on different conditions\n\nRemember: Argo Rollouts replaces Deployments with a Rollout CRD that supports canary, blue-green, and progressive delivery with automated analysis and rollback.\n\nRemember: an ArgoCD Application CRD defines: source (Git repo + path + revision), destination (cluster + namespace), and sync policy. It's the fundamental GitOps unit.	projects/knowledge/interview/argo/043-scott-an-engineer-in-your-team-executes-manually-s.txt
argo/341046349a5a	argo	medium	argo, application, workflows	How the main resource in ArgoCD called?	Application — the core custom resource in ArgoCD that defines the source repository, target cluster, and sync policy for a Kubernetes deployment. Each Application tracks one repo-to-cluster mapping and shows real-time sync status.\n\nRemember: ArgoCD follows the GitOps principle: Git is the single source of truth. All cluster changes go through Git commits, providing an audit trail and easy rollback via git revert.	projects/knowledge/interview/argo/011-how-the-main-resource-in-argocd-called.txt
argo/391f7f02005a	argo	hard	argo, gitops, project	How cluster disaster recovery becomes easier with ArgoCD?	Imagine you have a cluster in the cloud, in one of the regions. Something happens to that cluster and it's either crashes or simply no longer operational.\n\nIf you have all your cluster configuration in a GitOps repository, ArgoCD can be pointed to that repository while be configured to use a new cluster you've set up and apply that configuration so your cluster is again up and running with the same status as o\n\nRemember: GitOps = 'cluster is cattle, Git is the pet.' Lose a cluster? Point ArgoCD at the same Git repo + new cluster = restored.	projects/knowledge/interview/argo/009-how-cluster-disaster-recovery-becomes-easier-with-.txt
argo/395babf86d47	argo	medium	argo, sync, gitops, application	Describe the purpose of the following section in an Application YAML file	This section defines with which Kubernetes cluster the app in the tracked Git repository should be synced with.\n\nRemember: an ArgoCD Application CRD defines: source (Git repo + path + revision), destination (cluster + namespace), and sync policy. It's the fundamental GitOps unit.\n\nRemember: ArgoCD Application YAML has spec.source (where to get manifests) and spec.destination (where to deploy). Each section maps to a Git repo and a Kubernetes cluster/namespace.	projects/knowledge/interview/argo/015-describe-the-purpose-of-the-following-section-in-a.txt
argo/40c064270431	argo	medium	argo, gitops, project	Explain self-heal in regards to ArgoCD	Self-heal is the process of correcting the cluster state based on the desired state, when someone makes manual changes to the cluster.\n\nRemember: self-heal = 'undo manual kubectl edits.' ArgoCD reverts cluster state to match Git. Enable via spec.syncPolicy.automated.selfHeal: true.\n\nGotcha: self-heal can be surprising — if someone runs kubectl scale to handle an emergency, ArgoCD will revert it. Communicate this to your team.	projects/knowledge/interview/argo/037-explain-self-heal-in-regards-to-argocd.txt
argo/449a9c5c0a4c	argo	medium	argo, cd, rollouts, application	"Explain the concept of ""Analysis"" in regards to Argo Rollouts"	Analysis is a resource deployed alongside Rollout resources and defines the conditions and metrics thresholds for performing a rollback\n\nRemember: AnalysisRun = automated canary judgment. Define metrics + thresholds. Pass = promote, Fail = rollback. No human in the loop.\n\nExample: query Prometheus for error rate < 1%. If it fails, the canary auto-rollbacks. Connect to Datadog, NewRelic, or any metrics provider.	projects/knowledge/interview/argo/044-explain-the-concept-of-analysis-in-regards-to-argo.txt
argo/4c32136964ec	argo	medium	argo, application, project	What CRD would you use if you have multiple applications and you would like to group them together logically?	AppProject. It defines which repos, destinations, and cluster resources a group of Applications can use — essentially RBAC boundaries for ArgoCD apps.\n\nRemember: AppProject = RBAC boundary. Restrict which repos, clusters, and namespaces a team's Applications can access.	projects/knowledge/interview/argo/016-what-crd-would-you-use-if-you-have-multiple-applic.txt
argo/52706e1fe717	argo	medium	argo, application, project	What are some possible health statuses for an ArgoCD application?	* Healthy\n* Missing: resource doesn't exist in the cluster\n* Suspended: resource is paused\n* Progressing: resources isn't healthy but will become healthy or has the chance to become healthy\n* Degraded: resource isn't healthy\n* Unknown: it's not known what's the app health\n\nRemember: HMSPDU — Healthy, Missing, Suspended, Progressing, Degraded, Unknown. Mnemonic: 'How Many Services Per Deployment Unit?'	projects/knowledge/interview/argo/031-what-are-some-possible-health-statuses-for-an-argo.txt
argo/544351797f66	argo	medium	argo, application, project	Create a new application with the following properties:	```\nargocd app create some-app \\n--project  \\n--repo https://fake.repo.address \\n--path ./app_path \\n--dest-namespace default \\n--dest-server my.kubernetes.cluster\n```\n\nRemember: an ArgoCD Application CRD defines: source (Git repo + path + revision), destination (cluster + namespace), and sync policy. It's the fundamental GitOps unit.\n\nRemember: argocd app create requires: --repo (Git URL), --path (directory in repo), --dest-server (cluster), --dest-namespace. Use YAML manifests for reproducibility over CLI flags.	projects/knowledge/interview/argo/020-create-a-new-application-with-the-following-proper.txt
argo/5a8e589d8cd9	argo	medium	argo, application, workflows	What can you tell about the health of custom Kubernetes resources?	The health of custom Kubernetes resources is defined by writing Lua scripts.\n\nYou find such list of scripts here: https://github.com/argoproj/argo-cd/tree/master/resource_customizations\n\nRemember: ArgoCD follows the GitOps principle: Git is the single source of truth. All cluster changes go through Git commits, providing an audit trail and easy rollback via git revert.	projects/knowledge/interview/argo/034-what-can-you-tell-about-the-health-of-custom-kuber.txt
argo/5dfe3afd5951	argo	easy	argo, cd, rollouts, application	What is Argo Rollouts?	A controller for Kubernetes to perform application deployments using different strategies like Blue/Green deployments, Canary deployments, etc.\n\nIn addition, it supports A/B tests, automatic rollbacks and integrated metric analysis.\n\nRemember: Rollouts replaces Deployments for advanced strategies. Think 'Deployment on steroids' — canary, blue-green, analysis, auto-rollback.\n\nGotcha: Argo Rollouts is a separate install from ArgoCD. They complement each other but work independently.	projects/knowledge/interview/argo/040-what-is-argo-rollouts.txt
argo/60417c3df700	argo	medium	argo, gitops, project	What are the advantages in using GitOps approach/repository?	* Your whole configuration is one place, defined as code so it's completely transparent, adjustable for changes and easily reproducible\n* Everyone go through the same interface hence you have more people experiencing and testing the code, even if not intentionally\n* Engineers can use it for testing, development, ... there is no more running manual commands and hoping to reach the same status as in the cluster/cloud.\n* Single source of truth: you know that your GitOps is the repo from which changes can be done to the cluster. So even if someone tries to manually override it, it won't work.	projects/knowledge/interview/argo/006-what-are-the-advantages-in-using-gitops-approachre.txt
argo/6e340eeb88bd	argo	medium	argo, cd, application, project	Ella, an engineer in your team, claims ArgoCD benefit is that it's an extension Kubernetes, it's part of the cluster. Sarah, also an engineer in your team, claims it's not a real benefit as Jenkins can be also deployed in the cluster hence being part of it. What's your take?	Ella is right, ArgoCD is an extension of the cluster, that is very different from simply being deployed in the cluster as other CI/CD systems like Jenkins. ArgoCD uses existing k8s resources like K8s controllers (for monitoring and state differences) and etcd for storing data.\n\nRemember: ArgoCD follows the GitOps principle: Git is the single source of truth. All cluster changes go through Git commits, providing an audit trail and easy rollback via git revert.	projects/knowledge/interview/argo/010-ella-an-engineer-in-your-team-claims-argocd-benefi.txt
argo/6ec6de464347	argo	easy	argo, workflows, cd	True or False? ArgoCD supports Kubernetes YAML files but not other manifests formats like Helm Charts and Kustomize	False. It supports Kubernetes YAML files as well as Helm Charts and Kustomize.\n\nSee also: ArgoCD also supports Jsonnet, directory-of-manifests, and custom config management plugins for proprietary templating.\n\nGotcha: ArgoCD renders Helm charts server-side. helm ls won't show ArgoCD-managed releases. Use argocd app get instead.	projects/knowledge/interview/argo/004-true-or-false-argocd-supports-kubernetes-yaml-file.txt
argo/743eaf226785	argo	easy	argo, gitops, application	"What is the ""App of Apps Patterns""?"	A solution from Argo community in regards to managing multiple similar applications.\n\nBasically a pattern where you have root application that consists of other child applications.\n\nSo instead of creating multiple separate applications, you have the root application pointing to a repository with additional applications.\n\nRemember: App of Apps = 'one parent Application that manages child Applications.' Bootstrap an entire cluster with one ArgoCD Application pointing to a repo of Application manifests.	projects/knowledge/interview/argo/027-what-is-the-app-of-apps-patterns.txt
argo/80bfa31a2e19	argo	hard	argo, cd, sync, gitops	You've three clusters - dev, staging and prod. Whenever you update the application GitOps repo, all three clusters are being updated. What's the problem with that and how to deal with it?	You don't usually want to go and update all of your clusters at once, especially when some for testing and development purposes and some for actual production usage.\n\nThere are multiple ways to deal with it:\n\n1. Branch driven: Have branches for your GitOps repo where you push first to development, do some testing, merge it then to staging and if everything works fine in staging, you merge it to production.\n\n2. Use overlays and Kustomize to control the context of where your changes synced based on the CI process/pipeline used.	projects/knowledge/interview/argo/030-youve-three-clusters-dev-staging-and-prod-whenever.txt
argo/8299366d176f	argo	medium	argo, application, workflows	"Print detailed information on the app called ""some-app"""	`argocd app get some-app`\n\nUnder the hood: shows sync status, health, source repo, target cluster/namespace, and live status of every managed resource (Deployments, Services, ConfigMaps).\n\nRemember: an ArgoCD Application CRD defines: source (Git repo + path + revision), destination (cluster + namespace), and sync policy. It's the fundamental GitOps unit.	projects/knowledge/interview/argo/022-print-detailed-information-on-the-app-called-some-.txt
argo/851081a56e8c	argo	medium	argo, rollouts, application	How to manually promote to new app version?	`kubectl argo rollouts promote SOME-APP`\n\nUnder the hood: advances a paused canary or blue-green rollout to the next step. Use --full to skip all remaining steps and complete immediately.\n\nGotcha: promoting a rollout that is not currently paused has no effect.\n\nRemember: promote = 'advance to next step.' Use --full to skip all remaining canary steps and go straight to 100%.	projects/knowledge/interview/argo/050-how-to-manually-promote-to-new-app-version.txt
argo/92afc93bf05c	argo	medium	argo, sync, workflows	What will be the result of setting timeout.reconciliation: 0s?	sync functionality will be disabled.\n\nGotcha: with reconciliation disabled, ArgoCD never detects drift automatically. You must trigger syncs manually via UI or CLI. Consider a short interval (30s) instead of disabling entirely.\n\nGotcha: 0s disables automatic sync detection entirely. Use this only if you rely exclusively on Git webhooks for sync triggers.	projects/knowledge/interview/argo/026-what-will-be-the-result-of-setting-timeoutreconcil.txt
argo/9d271d7c9dba	argo	medium	argo, application, workflows	True or False? When ArgoCD tracks Helm chart the chart is no longer an Helm application and it's a ArgoCD app	True. Trying to execute commands like `helm ls` will fail because helm metadata doesn't exist anymore and the application is tracked as ArgoCD app.\n\nGotcha: once ArgoCD manages a Helm chart, helm ls won't show it. ArgoCD renders the chart and manages the raw manifests. No Helm release metadata is stored.	projects/knowledge/interview/argo/039-true-or-false-when-argocd-tracks-helm-chart-the-ch.txt
argo/9df650848ed2	argo	easy	argo, rollouts, application	How to list the rollouts of a given application?	`kubectl argo rollouts get rollout SOME-APP`\n\nUnder the hood: shows a tree-style visualization with revision history, active/preview ReplicaSets, pod status, and current step progress.\n\nRemember: Argo Rollouts replaces Deployments with a Rollout CRD that supports canary, blue-green, and progressive delivery with automated analysis and rollback.\n\nRemember: an ArgoCD Application CRD defines: source (Git repo + path + revision), destination (cluster + namespace), and sync policy. It's the fundamental GitOps unit.	projects/knowledge/interview/argo/047-how-to-list-the-rollouts-of-a-given-application.txt
argo/a5e110808a4d	argo	medium	argo, workflows, cd, events	Describe an example of workflow where ArgoCD is used	1. A developer submitted change to an application repository\n2. Jenkins pipeline is triggered to run CI on the change\n3. If the Jenkins Pipeline completed successfully, build an image out of the new code\n4. Push to image to a registry\n5. Update K8S manifest file(s) in a separate app config repository\n6. ArgoCD tracks changes in the app config repository. Since there was a change in the repository, it will apply the changes from the repo\n\nRemember: typical GitOps workflow: developer pushes code -> CI builds image -> CI updates manifest repo -> ArgoCD detects change -> ArgoCD syncs cluster. Clean separation of concerns.\n\nRemember: ArgoCD Application YAML has spec.source (where to get manifests) and spec.destination (where to deploy). Each section maps to a Git repo and a Kubernetes cluster/namespace.	projects/knowledge/interview/argo/003-describe-an-example-of-workflow-where-argocd-is-us.txt
argo/a700be564851	argo	medium	argo, cd, application, project	"Can you provide some use cases for using ""App of Apps Patterns""?"	* Cluster Preparation: You would like to deploy multiple applications at once to bootstrap a Kubernetes cluster\n\n* Multiple environments: If deploying many versions of the same application, but with minor changes. For example, several test deployments to test different features\n\n* Multiple clusters: when the same application needs to be deployed across multiple K8s clusters connected to ArgoCD\n\nRemember: App of Apps = 'one parent Application that manages child Applications.' Bootstrap an entire cluster with one ArgoCD Application pointing to a repo of Application manifests.	projects/knowledge/interview/argo/028-can-you-provide-some-use-cases-for-using-app-of-ap.txt
argo/aac015ab466d	argo	hard	argo, sync, workflows	Is it possible to change default sync period of ArgoCD?	Yes, it is possible by adding the following to the argocd-cm (ConfigMap):\n\n```\ndata:\n  timeout.reconciliation: 300s\n```\n\nThe value can be any number of seconds you would like to set.\n\nRemember: ArgoCD sync states: Synced (cluster matches Git), OutOfSync (drift detected), Unknown (cannot determine). Use argocd app sync APP_NAME to force reconciliation.	projects/knowledge/interview/argo/025-is-it-possible-to-change-default-sync-period-of-ar.txt
argo/ac3f1657b68f	argo	medium	argo, rollouts, workflows	What support is provided in ArgoCD for Helm?	ArgoCD is able to track packaged Helm chart in a sense where it will monitor for new versions.\n\nGotcha: ArgoCD renders Helm charts server-side. helm ls won't show ArgoCD-managed releases. Use argocd app get instead.	projects/knowledge/interview/argo/038-what-support-is-provided-in-argocd-for-helm.txt
argo/af11494ea3a2	argo	hard	argo, sync, gitops, application	What is auto-pruning in container registries and why is it important?	If enabled, auto-pruning will remove resources when files or content is removed from a tracked Git repository.\n\nIf disabled, ArgoCD will not remove anything, even when content or files are removed.\n\nGotcha: without auto-prune, deleting a manifest from Git leaves the resource orphaned in the cluster. Enable spec.syncPolicy.automated.prune: true to clean up automatically.	projects/knowledge/interview/argo/036-explain-auto-pruning.txt
argo/b1731eff68ea	argo	hard	argo, sync, gitops, project	Nate, one of the engineers in your organization, asked whether it's possible if ArgoCD didn't sync for changes done manually to the cluster. What would be your answer?	The answer is yes, it's possible. You can configure ArgoCD to sync to desired state when changes done manually and instead do something like sending alerts.\n\nRemember: ArgoCD sync states: Synced (cluster matches Git), OutOfSync (drift detected), Unknown (cannot determine). Use argocd app sync APP_NAME to force reconciliation.	projects/knowledge/interview/argo/008-nate-one-of-the-engineers-in-your-organization-ask.txt
argo/b1b27e2d9556	argo	hard	argo, rollouts, sync, gitops	Explain manual syncs vs. automatic syncs	Automatic syncs means that once ArgoCD detected a change or a new version of your app in Git, it will apply the changes so the current/actual state can be equal to desired state.\n\nWith manual syncs, ArgoCD will identify there is a difference, but will do nothing to correct it.\n\nRemember: auto-sync = 'GitOps autopilot.' Manual sync = 'GitOps with a seatbelt.' Most teams start manual and graduate to auto after building confidence.	projects/knowledge/interview/argo/035-explain-manual-syncs-vs-automatic-syncs.txt
argo/b2c12c54d18d	argo	medium	argo, rollouts, application	How do you monitor a rollout?	`kubectl argo rollouts get rollout SOME-APP --watch`\n\nUnder the hood: shows a tree-style visualization with revision history, active/preview ReplicaSets, pod status, and current step progress.\n\nRemember: Argo Rollouts replaces Deployments with a Rollout CRD that supports canary, blue-green, and progressive delivery with automated analysis and rollback.	projects/knowledge/interview/argo/051-how-do-you-monitor-a-rollout.txt
argo/b41a7bc07818	argo	medium	argo, cd, sync, application	"Explain what is an ""Application"" in regards to ArgoCD"	It's a custom resource definitions which responsible for the deployment and synchronization of application resources to a Kubernetes cluster.\n\nRemember: Application CRD = source (Git repo + path) + destination (cluster + namespace) + sync policy. It's the fundamental unit of ArgoCD.	projects/knowledge/interview/argo/012-explain-what-is-an-application-in-regards-to-argoc.txt
argo/b71935726b2e	argo	hard	argo, cd, workflows	There have been a lot of CI/CD systems before ArgoCD (Jenkins, Teamcity, CircleCI, etc.) What added value has ArgoCD brought?	Simply said, ArgoCD is CD, not CI. We still need CI systems. Secondly, ArgoCD is running on Kubernetes, it's part of its ecosystem, as opposed to some other CI/CD systems. Finally, ArgoCD was built specifically for Kubernetes, not other platforms and systems.\n\nEasier to explain the need for ArgoCD by direct comparison to another system that can do CD. Let's use Jenkins for this.\n\nWith Jenkins, you need make sure to install k8s related tools and set access for commands like kubectl.\	projects/knowledge/interview/argo/002-there-been-a-lot-of-cicd-systems-before-argocd-jen.txt
argo/c326a7c31f92	argo	easy	argo, project, workflows	How to list all the clusters ArgoCD manage?	`argocd cluster list`\n\nUnder the hood: the in-cluster (where ArgoCD runs) always appears as default. Each added cluster is stored as a Secret with connection details and TLS certificates.\n\nRemember: ArgoCD follows the GitOps principle: Git is the single source of truth. All cluster changes go through Git commits, providing an audit trail and easy rollback via git revert.	projects/knowledge/interview/argo/024-how-to-list-all-the-clusters-argocd-manage.txt
argo/c7bd697f39fd	argo	hard	argo, application, project	How ArgoCD makes access management in the cluster easier?	Instead of creating Kubernetes resources, you can use Git to manage who is allowed to push code, to review it, merge it, etc - either human users or 3rd party systems and services. There is no need to use ClusterRole or User resources in Kubernetes hence the management of access is much more simplified.\n\nRemember: ArgoCD follows the GitOps principle: Git is the single source of truth. All cluster changes go through Git commits, providing an audit trail and easy rollback via git revert.	projects/knowledge/interview/argo/013-how-argocd-makes-access-management-in-the-cluster-.txt
argo/c887f86587e8	argo	easy	argo, workflows, cd	True or False? An ingress is considered healthy if status.loadBalancer.ingress list includes at least one value	True. An ingress resource is healthy when status.loadBalancer.ingress has at least one entry, meaning the cloud provider has assigned an IP or hostname to serve traffic.\n\nRemember: ArgoCD follows the GitOps principle: Git is the single source of truth. All cluster changes go through Git commits, providing an audit trail and easy rollback via git revert.	projects/knowledge/interview/argo/033-true-or-false-an-ingress-is-considered-healthy-if-.txt
argo/db8f1218740f	argo	hard	argo, sync, gitops, application	Describe shortly what ArgoCD does every sync period	"1. Gathers list of all the apps to sync (those that are marked with ""auto-sync"")\n2. Gets Git state for each repository\n3. Performs comparison between the repository Git state and the Kubernetes cluster state\n  1. If states are different, the application marked as ""out-of-sync"" and further action might be taken (based on the configuration)\n  2. If states are equal, the application marked as ""synced""\n\nRemember: ArgoCD sync states: Synced (cluster matches Git), OutOfSync (drift detected), Unknown (cannot determine). Use argocd app sync APP_NAME to force reconciliation.\n\nRemember: ArgoCD Application YAML has spec.source (where to get manifests) and spec.destination (where to deploy). Each section maps to a Git repo and a Kubernetes cluster/namespace."	projects/knowledge/interview/argo/018-describe-shortly-what-argocd-does-every-sync-perio.txt
argo/dd4c804f6ca6	argo	easy	argo, application, workflows	How do you list all applications managed by Argo CD?	`argocd app list`\n\nSee also: argocd app list -o json | jq for scripting. Filter by project with -p PROJECT.\n\nUnder the hood: queries Application CRDs in the argocd namespace.\n\nRemember: an ArgoCD Application CRD defines: source (Git repo + path + revision), destination (cluster + namespace), and sync policy. It's the fundamental GitOps unit.	projects/knowledge/interview/argo/021-list-all-argocd-apps.txt
argo/dea2ffbd8cd7	argo	hard	argo, cd, gitops, application	"What ""GitOps Repository"" means in regards to ArgoCD?"	It's the repository that holds app configuration, the one updated most of the time by CI/CD processes or DevOps, SRE engineers. In regards to ArgoCD it's the repository ArgoCD tracks for changes and apply them when they are detected.\n\nRemember: GitOps repo = 'desired state repo.' CI builds images and updates this repo. ArgoCD watches it and syncs the cluster. Separation of concerns: code repo vs. config repo.	projects/knowledge/interview/argo/005-what-gitops-repository-means-in-regards-to-argocd.txt
argo/e44b6233b8b9	argo	hard	argo, sync, gitops, project	Sorina, one of the engineers in your team, made manual changes to the cluster that override some of the configuration in a repo traced by ArgoCD. What will happen?	Once Sorina made the modifications, ArgoCD will detect the state diverged and will sync the changes from the GitOps repository, overwriting the manual changes done by Sorina.\n\nRemember: an ArgoCD Application CRD defines: source (Git repo + path + revision), destination (cluster + namespace), and sync policy. It's the fundamental GitOps unit.	projects/knowledge/interview/argo/007-sorina-one-of-the-engineers-in-your-team-made-manu.txt
argo/f23eeba21338	argo	easy	argo, cd, gitops, application	What is Argo CD and how does it enable GitOps for Kubernetes?	"[ArgoCD](https://argo-cd.readthedocs.io/en/stable): ""Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes.""\n\nAs to why Argo CD, they provide the following explanation: ""Application definitions, configurations, and environments should be declarative and version controlled. Application deployment and lifecycle management should be automated, auditable, and easy to understand.""\n\nRemember: ArgoCD = 'Git is the truth, cluster follows.' It continuously reconciles cluster state with a Git repo.\n\nName origin: from Greek mythology — the Argo was Jason's ship. ArgoCD 'navigates' your deployments to their destination."	projects/knowledge/interview/argo/001-what-is-argo-cd.txt
argo/f4075e1b4538	argo	easy	argo, sync, workflows	True or False? ArgoCD sync period is 3 hours	False. ArgoCD sync period is 3 minutes as of today (and not hours).\n\nUnder the hood: configurable via timeout.reconciliation in argocd-cm ConfigMap (seconds). Set up Git webhooks for instant sync on push.\n\nRemember: default sync = 3 minutes. For faster sync, configure Git webhooks to trigger ArgoCD immediately on push.\n\nGotcha: lowering the sync period increases API server load. Webhooks are the scalable solution.	projects/knowledge/interview/argo/017-true-or-false-argocd-sync-period-is-3-hours.txt
argo/fbedb1fdef18	argo	hard	argo, cd, rollouts, application	Explain the following configuration	It's an Analysis resource that fetches response status from Prometheus (monitoring instance). If it's more than 0.90 the rollout will continue, if it's less than 0.90 a rollback will be performed meaning the canary deployment failed.\n\nRemember: ArgoCD follows the GitOps principle: Git is the single source of truth. All cluster changes go through Git commits, providing an audit trail and easy rollback via git revert.	projects/knowledge/interview/argo/045-explain-the-following-configuration-yaml-apiversio.txt

<!-- wiki:related:start -->
---

## Wiki Navigation

### Related Content

- [GitOps](../../../../library/topics/gitops/index.md) (Topic Pack, L1) — GitOps
- [GitOps & ArgoCD Drills](../../../../library/drills/gitops_argocd_drills.md) (Drill, L2) — GitOps
- Gitops Flashcards *(CLI)* (flashcard_deck, L1) — GitOps
- [Interview: Config Drift Detected](../../../../library/interview-scenarios/07-config-drift-detected.md) (Scenario, L2) — GitOps
- [Interview: GitOps Drift Detected](../../../../library/interview-scenarios/16-gitops-drift-detected.md) (Scenario, L2) — GitOps
- Lab: GitOps Sync and Drift *(CLI)* (Lab, L2) — GitOps
- [Runbook: ArgoCD Out of Sync](../../../../library/runbooks/cicd/argocd_out_of_sync.md) (Runbook, L2) — GitOps
- [Runbook: Deploy Rollback](../../../../library/runbooks/cicd/deploy-rollback.md) (Runbook, L1) — GitOps
- [Skillcheck: GitOps](../../../../library/skillchecks/gitops.skillcheck.md) (Assessment, L2) — GitOps
- [Track: Helm & Release Ops](../../../../library/curriculum/tracks/helm_and_release_ops.md) (Reference, L1) — GitOps

<!-- wiki:related:end -->
