feat(argocd-image-updater): Support extra K8s manifests (#2429)

* feat(argocd-image-updater): Support extra K8s manifests

Signed-off-by: yu-croco <yu.croco@gmail.com>

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

Signed-off-by: yu-croco <yu.croco@gmail.com>

---------

Signed-off-by: yu-croco <yu.croco@gmail.com>
pull/2415/head^2 argocd-image-updater-0.9.3
Aikawa 2024-01-18 15:21:37 +09:00 committed by GitHub
parent d5b942a873
commit e37093f273
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 55 additions and 5 deletions

View File

@ -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
@ -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

View File

@ -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 |

View File

@ -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

View File

@ -0,0 +1,8 @@
{{ range .Values.extraObjects }}
---
{{ if typeIs "string" . }}
{{- tpl . $ }}
{{- else }}
{{- tpl (toYaml .) $ }}
{{- end }}
{{ end }}

View File

@ -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