Skip to content

Commit

Permalink
feat(argocd-image-updater): Support extra K8s manifests (argoproj#2429)
Browse files Browse the repository at this point in the history
* feat(argocd-image-updater): Support extra K8s manifests

Signed-off-by: yu-croco <[email protected]>

* chore(argocd-image-updater): add CI for extraObjects

Signed-off-by: yu-croco <[email protected]>

---------

Signed-off-by: yu-croco <[email protected]>
  • Loading branch information
yu-croco authored Jan 18, 2024
1 parent d5b942a commit e37093f
Show file tree
Hide file tree
Showing 5 changed files with 55 additions and 5 deletions.
8 changes: 3 additions & 5 deletions charts/argocd-image-updater/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ apiVersion: v2
name: argocd-image-updater
description: A Helm chart for Argo CD Image Updater, a tool to automatically update the container images of Kubernetes workloads which are managed by Argo CD
type: application
version: 0.9.2
version: 0.9.3
appVersion: v0.12.2
home: https://github.com/argoproj-labs/argocd-image-updater
icon: https://argocd-image-updater.readthedocs.io/en/stable/assets/logo.png
Expand All @@ -18,7 +18,5 @@ annotations:
fingerprint: 2B8F22F57260EFA67BE1C5824B11F800CD9D2252
url: https://argoproj.github.io/argo-helm/pgp_keys.asc
artifacthub.io/changes: |
- kind: fixed
description: Update outdated link on README
- kind: changed
description: Refactor README
- kind: added
description: Support extra K8s manifests
1 change: 1 addition & 0 deletions charts/argocd-image-updater/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@ The `config.registries` value can be used exactly as it looks in the documentati
| config.sshConfig | object | `{}` | Argo CD Image Updater ssh client parameter configuration. |
| extraArgs | list | `[]` | Extra arguments for argocd-image-updater not defined in `config.argocd`. If a flag contains both key and value, they need to be split to a new entry |
| extraEnv | list | `[]` | Extra environment variables for argocd-image-updater |
| extraObjects | list | `[]` | Extra K8s manifests to deploy for argocd-image-updater |
| fullnameOverride | string | `""` | Global fullname (argocd-image-updater.fullname in _helpers.tpl) override |
| image.pullPolicy | string | `"Always"` | Default image pull policy |
| image.repository | string | `"quay.io/argoprojlabs/argocd-image-updater"` | Default image repository |
Expand Down
14 changes: 14 additions & 0 deletions charts/argocd-image-updater/ci/enable-extra-objects-values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Test with extraObjects enabled
# Do not deploy the CRDs as they are already present from the previous test
installCRDs: false

extraObjects:
- apiVersion: v1
kind: Secret
metadata:
name: datadog
type: Opaque
data:
address: aHR0cHM6Ly9hcGkuZGF0YWRvZ2hxLmNvbQo= # https://api.datadoghq.com
api-key: dGVzdC1hcGkta2V5Cg== # test-api-key
app-key: dGVzdC1hcHAta2V5Cg== # test-app-key
8 changes: 8 additions & 0 deletions charts/argocd-image-updater/templates/extra-manifests.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{{ range .Values.extraObjects }}
---
{{ if typeIs "string" . }}
{{- tpl . $ }}
{{- else }}
{{- tpl (toYaml .) $ }}
{{- end }}
{{ end }}
29 changes: 29 additions & 0 deletions charts/argocd-image-updater/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,35 @@ extraEnv: []
# - name: AWS_REGION
# value: "us-west-1"

# -- Extra K8s manifests to deploy for argocd-image-updater
## Note: Supports use of custom Helm templates
extraObjects: []
# - apiVersion: secrets-store.csi.x-k8s.io/v1
# kind: SecretProviderClass
# metadata:
# name: argocd-image-updater-secrets-store
# spec:
# provider: aws
# parameters:
# objects: |
# - objectName: "argocd-image-updater"
# objectType: "secretsmanager"
# jmesPath:
# - path: "client_id"
# objectAlias: "client_id"
# - path: "client_secret"
# objectAlias: "client_secret"
# secretObjects:
# - data:
# - key: client_id
# objectName: client_id
# - key: client_secret
# objectName: client_secret
# secretName: argocd-image-updater-secrets-store
# type: Opaque
# labels:
# app.kubernetes.io/part-of: argocd

# -- Init containers to add to the image updater pod
initContainers: []
# - name: download-tools
Expand Down

0 comments on commit e37093f

Please sign in to comment.