Skip to content

Commit 27f5740

Browse files
committed
Added the headers and maintained consistency
Signed-off-by: Aryan Shah <[email protected]>
1 parent 14a11a5 commit 27f5740

File tree

9 files changed

+30
-11
lines changed

9 files changed

+30
-11
lines changed

content/challenges/11111111-1111-1111-1111-111111111111/configure-argo-cd-image-updater-challenge/content/argo-cd-image-updater-binary/_index.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,12 @@ description: ""
55
weight: 7
66
---
77

8+
### Testing Image Updates with argocd-image-updater
9+
810
The **argocd-image-updater** binary and specifically the **test** subcommand provides a variety of test options, including testing registry access, multi-arch images, semver constrains, update strategies, and credentials before configuring annotations on your Argo CD applications. It is available in the **argocd-image-updater** pod or you can install it locally. Here are the **argocd-image-updater** test command options:
911

1012

11-
```
13+
``` bash
1214
Flags:
1315

1416
--allow-tags string only consider tags in registry that satisfy the match function

content/challenges/11111111-1111-1111-1111-111111111111/configure-argo-cd-image-updater-challenge/content/conclusions/_index.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ description: ""
55
weight: 10
66
---
77

8+
### Conclusions
9+
810
The Argo CD Image Updater is a powerful tool that enhances the continuous delivery process in Kubernetes environments. Automating the process of updating container images not only streamlines deployments but also reduces the risk of human error associated with manual updates.
911

1012
Moreover, its flexibility allows developers to tailor the update policies to suit their specific workflows, ensuring that only the necessary updates are applied. This ultimately leads to improved application reliability and performance.

content/challenges/11111111-1111-1111-1111-111111111111/configure-argo-cd-image-updater-challenge/content/configuration-and-setup/_index.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@ description: ""
55
weight: 3
66
---
77

8+
### Setting Up Argo CD Image Updater
9+
10+
811
In this example implementation, we are using the official [argocd-image-updater](https://github.com/argoproj/argo-helm/tree/main/charts/argocd-image-updater) Helm chart. It is deployed as an **argocd** application in the same cluster and namespace as Argo CD:
912

1013
```yaml

content/challenges/11111111-1111-1111-1111-111111111111/configure-argo-cd-image-updater-challenge/content/enabling-service-account/_index.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
---
2-
id: "enabling-service-account-and-RBAC-creation"
3-
title: 'Enabling the Service Account and RBAC Creation'
2+
id: "service-account-and-RBAC"
3+
title: 'Service Account and RBAC'
44
description: ""
55
weight: 5
66
---
77

8+
### Enabling the Service Account and RBAC Creation
9+
810
```yaml
911
rbac:
1012
# -- Enable RBAC creation
@@ -26,7 +28,7 @@ serviceAccount:
2628
2729
- **ServiceAccount** provides the necessary identity for ArgoCD Image Updater to authenticate and interact with the Kubernetes API to perform updates on deployment manifests or Helm charts (e.g., changing container image tags).
2830
29-
- **rbac** ensures that ArgoCD Image Updater is granted only the permissions it needs, helping to secure your cluster by restricting its access and reducing the attack surface.
31+
- **RBAC** ensures that ArgoCD Image Updater is granted only the permissions it needs, helping to secure your cluster by restricting its access and reducing the attack surface.
3032
3133
---
3234

content/challenges/11111111-1111-1111-1111-111111111111/configure-argo-cd-image-updater-challenge/content/log-level/_index.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ description: ""
55
weight: 6
66
---
77

8+
### Configuring Log Levels in Argo CD Image Updater
9+
810
```yaml
911
# -- Argo CD Image Update log level
1012
logLevel: "debug"

content/challenges/11111111-1111-1111-1111-111111111111/configure-argo-cd-image-updater-challenge/content/overview/_index.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
---
2-
id: "Overview"
3-
title: 'Overview'
2+
id: "introduction"
3+
title: 'Introduction'
44
description: ""
55
weight: 1
66
---
77

8+
### Overview
9+
810
This challenge provides a walkthrough on automating Kubernetes deployments by integrating Argo CD Image Updater with Helm. It details the setup process, including configuring container registries like Amazon ECR and GitHub Container Registry, and emphasizes the importance of proper authentication and role-based access control (RBAC) to ensure secure and efficient operations. It also explores various update strategies—such as semantic versioning (semver), latest, digest, and name—demonstrating how to annotate Argo CD applications to enable these strategies effectively.
911

1012
### Understanding Argo CD Image Updater

content/challenges/11111111-1111-1111-1111-111111111111/configure-argo-cd-image-updater-challenge/content/registires/_index.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ description: ""
55
weight: 4
66
---
77

8+
### Configuring the container registries
9+
810
Let's configure the container registries that we are using. Argo CD Image Updater supports the majority of container registries (public and private), that implement Docker registry v2 API and has been tested against registries such as Docker Hub, Docker Registry v2 reference implementation (on-premise), Red Had Quay, Jfrog Artifactory, Github Container Registry, GitHub Packages Registry, GitLab Container Registry, and Google Container Registry.
911

1012
In the following examples, we will configure two of the most widely used container registries – Amazon Elastic Container Registry (ECR) and GitHub Container Registry (GHCR). In our case, we are working with private registries to ensure secure storage and access control for container images.
@@ -39,7 +41,7 @@ authScripts:
3941
The script is executed by the pod and is responsible for obtaining the ECR authorization token. We use a role attached to our EKS node group, which includes the AWS-managed policy **AmazonEC2ContainerRegistryReadOnly**. This policy permits the **GetAuthorizationToken** API call:
4042
4143
42-
```
44+
```bash
4345
{
4446
"Version": "2012-10-17",
4547
"Statement": [

content/challenges/11111111-1111-1111-1111-111111111111/configure-argo-cd-image-updater-challenge/content/update-methods/_index.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ description: ""
55
weight: 8
66
---
77

8+
### Propagating New Image Versions in Argo CD
9+
810
Argo CD Image Updater supports two write-back methods for propagating new image versions to Argo CD.
911

1012
- **argocd**:

content/challenges/11111111-1111-1111-1111-111111111111/configure-argo-cd-image-updater-challenge/content/update-strategies/_index.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ description: ""
55
weight: 9
66
---
77

8+
### Update Strategies in Argo CD Image Updater
9+
810
An update strategy specifies how Argo CD Image Updater identifies new image versions for updates. It supports various strategies for tracking and updating configured images. Each image can have its update strategy, with the default being the semver strategy.
911

1012
The currently supported update strategies are:
@@ -23,7 +25,7 @@ In the examples below we show how to annotate our **argocd** applications to ena
2325
argocd-image-updater.argoproj.io/image-list: "<image_alias>=<some/image>"
2426
```
2527

26-
## semver update strategy:
28+
### semver update strategy:
2729

2830
This is the default update strategy. Via the semver strategy, Argo CD Image Updater operates with images tagged in the semantic versioning format. Tags should include semver-compatible identifiers in the structure X.Y.Z, where X, Y, and Z are whole numbers. An optional prefix of “v” (for example, vX.Y.Z) can be used, and both formats are considered equivalent. In this first example, each annotation is specifically explained because we are using some of the annotations for the semver update strategy in all examples.
2931

@@ -72,7 +74,7 @@ sampleapp:
7274
pullPolicy: "Always"
7375
```
7476
75-
## latest upadte strategy:
77+
### latest upadte strategy:
7678
7779
Argo CD Image Updater can update the image with the most recent build date, even if the tag is arbitrary (like a Git commit SHA or random string). It focuses on the build date, not when the image was tagged or pushed to the registry. If multiple tags share the same build date, the updater sorts the tags in descending lexical order and selects the last one.
7880
@@ -115,7 +117,7 @@ sampleapp:
115117
```
116118
117119
118-
## digest update strategy:
120+
### digest update strategy:
119121
120122
This update strategy monitors a specified tag in the registry for any changes and updates the image when a difference from the previous state is detected using the image SHA digest. The tag must be defined as a version constraint in the image list. It’s ideal for tracking mutable tags like the **latest** or environment-specific tags (e.g., **dev**, **stage**, **prod**) generated by a CI system.
121123
@@ -150,7 +152,7 @@ deployment:
150152
pullPolicy: "Always"
151153
```
152154
153-
## name update strategy:
155+
### name update strategy:
154156
155157
This updated strategy sorts image tags lexically in descending order and selects the last tag for updating. It’s useful for tracking images using calver versioning (e.g., YYYY-MM-DD) or similar tags. By default, all tags in the repository are considered, but you can configure it to limit which tags are eligible for updates.
156158

0 commit comments

Comments
 (0)