---
title: "ArgoCD: GitOps Automation with Kubernetes"
description: "Test your knowledge of ArgoCD fundamentals with this quiz covering GitOps principles, application deployment, sync policies, health status, ApplicationSets, and continuous delivery best practices for Kubernetes."
author: "Mohammad Abu Mattar"
canonical: https://mkabumattar.com/quizzes/post/argocd-gitops-automation-quiz
---

# ArgoCD: GitOps Automation with Kubernetes

Welcome to the ArgoCD Basics Quiz! This quiz is designed to test your understanding of fundamental ArgoCD concepts, GitOps principles, and continuous delivery best practices for Kubernetes. Each question is multiple-choice, and you'll find hints to help you along the way. Good luck!

## Questions

### 1. What is the primary architectural pattern used by ArgoCD?

- Imperative Configuration
- GitOps
- Eventual Consistency
- Immutable Infrastructure

**Hint:** It involves using Git as the single source of truth.

### 2. What does the "OutOfSync" status mean in ArgoCD?

- The Git repository is currently unreachable
- The cluster state differs from the Git state
- The target namespace does not exist in the cluster
- The application health probe has failed

**Hint:** Compare the Git repository to the live cluster.

### 3. Which ArgoCD component compares running applications against the Git source?

- Argo API Server
- Application Controller
- Argo Repo Server
- Redis Cache Layer

**Hint:** It is the "brain" of the operation.

### 4. What is the purpose of an ArgoCD "Project" (AppProject)?

- To store and version the application code
- To define RBAC and resource limits for apps
- To provide high-availability for the web UI
- To automate the merging of Git branches

**Hint:** It provides a logical grouping for multiple applications.

### 5. What does the "SelfHeal" sync policy do?

- Restarts failing pods automatically
- Reverts manual cluster changes to match Git
- Removes resources no longer defined in Git
- Updates the Git source with cluster changes

**Hint:** It reacts when someone manually changes a resource in the cluster.

### 6. Which command is used to log into ArgoCD via the CLI?

- `argocd auth --server`
- `argocd login <address>`
- `argocd connect --url`
- `kubectl login argocd`

**Hint:** You need the server address.

### 7. What is an "App-of-Apps" pattern?

- Nesting multiple ArgoCD controllers
- A root application that deploys other apps
- A cluster with multiple control planes
- A hierarchical namespace management strategy

**Hint:** One Application resource to rule them all.

### 8. What is the purpose of the "Prune" option in a Sync Policy?

- To delete stale Git repository branches
- To delete cluster resources removed from Git
- To compress the local Redis cache storage
- To rotate logs within the API server pods

**Hint:** Cleaning up the "garbage".

### 9. How does ArgoCD handle sensitive data like passwords?

- Encrypting values in the local database
- Integrating with external Secret Managers
- Masking all YAML values in the web UI
- Storing values in the Application spec

**Hint:** It doesn't store secrets itself.

### 10. Which CRD is the core object for defining a deployment in ArgoCD?

- `Deployment`
- `Application`
- `ArgoConfig`
- `SyncTask`

**Hint:** It shares a name with a common software term.

### 11. What is the "Refresh" action in the ArgoCD UI?

- A rollout restart of the application pods
- An immediate comparison of Git vs Cluster
- A hard reset of the local ArgoCD database
- An update of the web browser interface

**Hint:** Checking Git for updates.

### 12. What happens if a sync fails with a "Hook" error?

- The Git repository access is revoked
- A lifecycle job failed during the sync
- The user login session has expired
- The cluster has run out of IP addresses

**Hint:** ArgoCD supports Resource Hooks like PreSync and PostSync.

### 13. What is the purpose of "ApplicationSets"?

- To group applications for resource billing
- To automate app creation at massive scale
- To delete multiple applications in a batch
- To create backups of the Argo configuration

**Hint:** Automating the creation of many Applications.

### 14. Which port does the ArgoCD API server use by default for HTTPS?

- `80`
- `443`
- `8080`
- `22`

**Hint:** Standard HTTPS port.

### 15. What is "Helm" in the context of ArgoCD?

- A network-level firewall for Git traffic
- A tool for rendering charts via ArgoCD
- The underlying database for storing apps
- A system for monitoring CPU performance

**Hint:** A supported tool for manifest templating.

### 16. What does the "Automatic Sync" policy do?

- It triggers a rolling reboot of nodes
- It deploys Git changes without manual clicks
- It sends email alerts to the DevOps team
- It merges code changes into the main branch

**Hint:** No human interaction needed.

### 17. What is the "Health Status" of an application in ArgoCD?

- The hardware health of the physical node
- The operational state of the live resources
- The security score of the Git repository
- The latency of the API server response

**Hint:** It tells you if the pods are actually running correctly.

### 18. Which command lists the applications managed by ArgoCD?

- `argocd get applications`
- `argocd app list`
- `kubectl show apps`
- `argocd info --all`

**Hint:** Think "list".

### 19. What is the "Manifest" in ArgoCD?

- A list of administrators with access
- The desired state defined in YAML or JSON
- A file containing all historical logs
- A certificate for encrypted traffic

**Hint:** The YAML file.

### 20. What is a "Sync Wave"?

- A fluctuation in the network bandwidth
- An annotation to control resource order
- A method for accelerating pod deletion
- A specific visualization in the dashboard

**Hint:** Controlling the order of resource creation.

### 21. What is the "History" tab used for in the ArgoCD UI?

- To review the history of Git commits
- To view past syncs and perform rollbacks
- To track the history of cluster node reboots
- To audit the changes to user passwords

**Hint:** Looking into the past.

### 22. What is a "Destination" in an ArgoCD Application?

- The URL of the source Git repository
- The target cluster and namespace for deployment
- The email address used for alert routing
- The local file path on the Argo server

**Hint:** Where the code goes.

### 23. What is the purpose of the "argocd-cm" ConfigMap?

- Storing encrypted user credentials
- Defining global settings and UI themes
- Managing the list of all connected clusters
- Executing automated database migrations

**Hint:** Central configuration.

### 24. What does "Degraded" status usually imply?

- The Git repository is currently empty
- Active resources are failing in the cluster
- The web UI is experiencing high latency
- The administrator has been logged out

**Hint:** The resources are there, but they aren't working.

### 25. What is "Kustomize" in ArgoCD?

- A way to modify the ArgoCD UI colors
- A tool for template-free YAML customization
- A security scanner for container images
- A plugin for managing GitHub Actions

**Hint:** Another supported manifest tool.

### 26. What is the "Source" in an ArgoCD Application?

- The destination Kubernetes cluster endpoint
- The Git URL, branch, and directory path
- The Docker registry containing the images
- The local workspace of the developer

**Hint:** Where the code comes from.

### 27. What happens if you delete an ArgoCD Application resource?

- The source Git repository is deleted
- Cluster resources are also deleted by default
- The entire Kubernetes cluster is reset
- Only the ArgoCD database record is removed

**Hint:** Cascading deletion.

### 28. What is the purpose of the "argocd-rbac-cm" ConfigMap?

- To manage encrypted network traffic
- To define user and group permissions
- To store cluster connection parameters
- To assign specific labels to worker nodes

**Hint:** Role Based Access Control.

### 29. How can you trigger a sync without waiting for the poll?

- By restarting the API server pods
- By configuring a Git Webhook
- By adding more CPU to the controller
- By clearing the local browser cookies

**Hint:** GitHub/GitLab can "push" a notification to Argo.

### 30. What is "Argo Rollouts"?

- A tool for backing up ArgoCD data
- An extension for Canary and Blue-Green deploys
- A command to list all cluster namespaces
- A mobile application for monitoring pods

**Hint:** Advanced deployment strategies.
