
Identify the prerequisites for learning Argo CD, including Kubernetes, containers, Git-based source control, and YAML manifests, and templating with Helm, Kustomize, and Jsonnet.
Discover how GitOps applies DevOps best practices by versioning infrastructure and configuration in Git, enabling automated validation, review via pull requests, and reproducible deployments with push and pull models.
Explore the Argo CD architecture, including the Argosy server, ripple server, and application controller, running as pods in a Kubernetes cluster, and how they reconcile manifests with state.
Retrieve the initial admin password stored as a secret in the Argo CD namespace, decode it from base64, and log in via the web UI or CLI.
Learn to access the seed ArgoCD server by exposing the CD server: convert the service to a load balancer, use an Argo resource, or enable Kubernetes port forward.
Install the Argo CD CLI, log into the server, and manage applications, repos, clusters, and projects from the command line.
Define Argo CD applications as Kubernetes resources defined by a source manifest and destination cluster, created declaratively with YAML, referencing repo URL, revision, path, and project via CLI or UI.
practice creating an application declaratively with yaml in argo cd, deploying a git manifest to a local cluster. sync resources and verify deployment via ui and kubectl.
Create an application using CLI by logging in, providing manifest source, repo URL, revision, path, and destination cluster and namespace; then sync to deploy resources and verify them.
Discover helm options in Argo CD, including release name, values files, and parameter overrides from files or block text for charts from git or helm repositories, target revision support.
Deploy a Helm chart from a repository into a local cluster and sync the Argo CD app, then update the release name, resync, and prune old resources.
Configure the directory of files in Argo CD using YAML or JSON, enable recursive deployment to all subdirectories, and set external variables and top-level arguments.
Demonstrate using directory options by toggling the recursive setting from false to true to discover all subdirectories, then deploy the manifests from a GitHub path to a local Kubernetes cluster.
Explore Argo CD's kustomize options to add a name prefix or suffix, override images, and apply common labels and annotations across all resources, plus set a customize version.
Explore kustomize options by defining and deploying a customized application, then update the definition to apply a staging prefix and common labels, and verify results in the UI.
Explore using multiple sources for an Argo CD application, combining git and helm resources from different repositories into one deployment. Learn to declare sources and manage precedence.
Explore why Argo CD projects are essential for logical grouping of applications, apply access restrictions, manage Git repos and destination clusters and namespaces, and enforce policies with project rules.
Create an Argo CD project that restricts destinations to a local cluster and specific namespaces, verify denial for disallowed namespaces, then update and sync the application to deploy.
Define project roles and policies to grant specific access to project applications, using CLI, web UI, or declarative definitions, and generate a JWT token for use with the project.
Practice setting up an Argo CD project with a role granting sync permission to all applications, generate a token via CLI, and verify deletion is denied without delete permissions.
Register private repos with authentication, using http credentials or access tokens, or private keys, and GitHub app credentials; store as Kubernetes secrets via declarative config or web user interface.
Demonstrates adding a private SSH repository to Argo CD by creating a repository secret with a private key, then deploying and syncing an application from that repo.
Register private helm repos in argo cd using declarative secrets, the cli, or the ui; include url, name, authentication details like username, password, and certificate.
Define credential templates to reuse credentials across all repositories in an organization; configure the secret type label to hypocrites and use declarative, cli, or web ui methods.
Define and add a credential template declaratively to BCD and ABCD, deploy an application from a private repository as a source of manifests, and sync in the RB CD namespace.
Explore automated syncing in Argo CD, which compares the git repository with the cluster and auto applies changes when out of sync, configurable via declarative policy, CLI, or web UI.
Define an application declaratively and enable automated sync via a sync policy. Apply the app and verify auto sync in the web UI, with replicas updating automatically.
Practice selective sync in Argo CD by declaring the application and enabling the apply out of sync only option, so only changed manifests are deployed and verified against git changes.
Create two applications from the same manifests in the same cluster and namespace to observe the shared resources warning. Enable fail on shared resources to prevent conflicting syncs.
Practice replacing resources in Argo CD by declaratively defining apps, enabling resource-level and application-level replace options, applying manifests, and verifying replacements in the UI during sync.
Explore Argo CD tracking strategies for manifests and Helm charts, including commits, tags, branches, symbolic references, and semantic versioning with exact versions, ranges, or latest versions.
Track git tags in Argo CD by creating a versioned tag and mapping it to an application's target provision, then synchronize via the web UI to verify a stable deployment.
Practice tracking a specific git commit SHA in Argo CD by creating an application with a fixed target revision, deploying it, and validating synchronization via the web UI.
Track and deploy a helm chart by always selecting the latest minor or patch version of major version one, using a target revision range for real-time syncing in Argo CD.
Practice diffing customization in Argo CD by ignoring deployment replica differences. Apply manifests and verify the app stays in sync as replicas change in get report and live cluster.
Explore diffing customization in Argo CD with an Istio case, deploy a chart, identify out-of-sync resources caused by mutating webhook configurations, and apply ignored differences to achieve in-sync status.
Explore Argo CD sync phases: pre sync, sink, and post sync. Learn how resource health triggers the next phase, and how hooks and delete policies enable selective execution and cleanup.
Demonstrate Argo CD resource hooks across precinct, sink, and posting phases, applying annotation hooks and deletion policies to manage resource lifecycles, including skips and failures.
Learn to control Argo CD deployments with waves to order manifests. Set wave values, default zero, and rely on health status to sequence sync, post-sync, and pausing if available.
Explore deploying manifests in Argo CD using sync waves and sink phases, coordinating database jobs, backend replica set and service, frontend resources, and a maintenance page workflow across waves.
Argo CD is one of the top GitOps continues delivery tools for Kubernetes in Cloud Native ecosystem nowadays.
Argo CD implements GitOps Pull Model where it track any changes in source repos and sync/deploy the changes automatically into the destination clusters.
Why Argo CD
Application definitions, configurations, and environments should be declarative and version controlled. Application deployment and lifecycle management should be automated, auditable, and easy to understand.
Git as the source of truth for your applications.
Developer and DevOps engineer will update the Git code only.
It will keep your Kubernetes destination clusters in sync with Git.
we can achieve easy rollback.
More security : Grant access to Kubernetes cluster to ArgoCD only and avoid granting CI systems or humans.
Disaster recovery solution : You easily deploy the same applications to any Kubernetes cluster.
What this course contains
We will explore all required topics to learn Argo CD for end users.
We will practice and learn by examples.
There will be GitHub repos for all practices written declaratively using Yaml.
There will be Interactive (browser based) practices
Quizzes to test your knowledge by the end of each section.
To get a successful and effective learning, spend more time on practicing, learn by doing.
Enjoy the journey and have fun.
Mohammad Abusaa