ArgoCD Block
Installiert ArgoCD.
Patch 3.5.5 (Block 0.17.6)
Chart bleibt 10.4.0. App-Images sind v3.5.5 (global.image.tag plus Vault sidecar / copy-util).
10.4.0 / 10.4.3 / 10.5.0 pinnt Chart-seitig 3.5.1 bzw. 3.5.2. Offizielles Chart-Pairing für 3.5.5 ist 10.10.3+ (10.10.5 weiterhin appVersion v3.5.5, nicht 3.6). Kein Sprung 10.4.0 → 10.10.x nur für den Patch — gleiche Linie wie 0.17.4.
Watch
- Images
quay.io/argoproj/argocd:v3.5.5brauchen Registry-Zugang. Vivavis: erst testen, wenn Egress steht. - 3.5.5: OCI-Tag-Cache, Hydrator lock-ref Retry, Repo-Server CMP Leak, symlink untar check.
app_versionist 3.5.5; Chart bleibt 10.4.0.
Not in this step
Kein Argo CD 3.6. Kein Helm-Chart 10.10.x. Kein argocd install als Teil dieses Releases.
Release notes: https://github.com/argoproj/argo-cd/releases/tag/v3.5.5
Endpoint-Monitoring
Bei ingress.enabled: true (oder gateway.enabled: true) schreibt der Block die Polycrate-Operator-Annotations auf das Ingress bzw. die HTTPRoute. Default an.
| Key | Default | Bedeutung |
|---|---|---|
ingress.endpoint_monitor.enabled |
true |
false lässt die Annotations weg |
Probe: GET /healthz, erwarteter Status 200. polycrate_k8sapp_name ist der Block-Name.
changelog
x.x.xmoved toCHANGELOG.poly0.8.11fix: config.ingress.whitelisted_ips kann nun konfiguriert werden0.8.10fix: adjusted env vars for helm0.8.9fix: adjusted base image for vault sidecar0.8.8fix: ajdusted security contexts and tool-download version for regpo-server to make vault-plugin work0.8.7fix: migrated to ayedo Cloud Artifact Mirror; migrated tok8s/librarybased Helm install; fixed missingtpm-dirvolume mount in app controller; addedblock.labelsto helm chart values; bumped helm chart version to 7.1.100.8.6chore: addedblock.kindstanza0.8.5Fix:metrics: truefür alle Komponenten; Bump Chart to 7.1.6; VMServiceScrape + Grafana Dashboard konfigurierbar0.8.4Fix: BREAKING CHANGE:- Alte installationen verwenden Redis ohne passwort, hier sollte Redis mit passwort neu installiert werden.
- Redis Passwort
block.config.redis.passwordmuss angegeben werden, wennblock.config.redis.auth.enabledtrue ist. Ansonsten lässt sich argocd nicht aktualisieren. 0.8.3Fix: Image Updater Fixes:- Registries können nun hinzugefügt werden
- Aktuell kann ein Secret für eine Registry hinzugefügt werden
- Änderungen im Install, wegen Immutable Field Error
0.8.2Fix: Typo0.8.1Fix:bitnami_resource_presetvoncontrolleraufsmall(vorhernano) gesetzt wegen OOM0.8.0Feat: Chart auf 7.0.25 aktualisiert.block.config.redis.auth.enabledist im default auffalse.0.7.0Feat: Chart auf 7.0.20 aktualisiert,resourcessind nun konfigurierbar0.6.0Feat: Chart auf 6.0.0 aktualisiert0.5.0Feat:redisundexternal_redisist nun konfigurierbar, Chart auf 5.0.0 aktualisiert0.4.0Feat: ApplicationSet ist nun aktivierbar0.3.0Feat: Added Argo CD Image Updater0.2.2Fix: OIDC Scopes konfigurierbar gemacht0.2.1Fix: Ein Fehler/var/run/argocd/addregistry.sh: 5: [: helm: unexpected operatorimaddregistry.shwurde behoebn.0.2.0Feat: Lokale Benutzer, rbac-cm wird immer angelegt- Es können zusätzliche Benutzer angelegt werden
block.config.user. Siehe BeispielMit ingress und zusätzlicher Benutzer. Der ingress muss eingerichtet werden, damit die Benutzer hinterlegt werden können. - Die ConfigMap
rbac-cmwird jetzt immer angelegt. Zuvor wurde diese nur angelegt, wenn oidc aktiviert wurde. 0.1.7Fix:rbacals leere Liste definiert0.1.6Fix:argocd-vault-plugin. grep Filter des "addregistry" Scripts korrigiert.0.1.5Fix: ArgoCD Helm Chart wurde von4.7.14auf4.8.1aktualisiert. Ein Fehler wurde imargocd-vault-pluginbehoben, bei dem es nicht möglich war eine neue App zu erstellen, wenn eine "dependency" in der Chart.yaml einen Login benötigte.0.1.4Fix: Man kann über das EnvironmentHELM_ARGSdem Plugin mehrerevalues.yamlmitgeben. Siehe: with-additional-helm-arguments. In der0.1.3fehlt der Fix aus0.1.2, dieser ist in der0.1.4wieder integriert.0.1.3Fix:exclusionshinzugefügt0.1.2Fix:envsubstwelches imargocd-vault-pluginverwendet wird, ersetzt nur noch Werte in dervalues.yamlwelche mit$ARGOCD_ beginnen.0.1.1Fix: Dasargocd-vault-plugininstalliert jetzt zusätzlich envsubst zum ersetzen von "Variablen" in einer Datei.- In ArgoCD können dem
Pluginjetzt über die UIEnvironmentVariablen mitgegeben werden (Bsp. TAG=1.2.3). (Beispiel) Wird in einer ArgoCDAppeinrefreshausgeführt, werden alle vorkommen mit$ARGOCD_ENV_TAGdurch1.2.3ersetzt (environments werden automatisch mit einem präfixARGOCD_ENV_versehen). 0.1.0feat: Neues Pluginargocd-vault-pluginBei der installatio dieses Plugins, wird das vorhandenerbacaktualisiert (secrets und configMaps werden hinzugefügt.apieintrag wird geleert). Berechtigungen desrepoServers wurden vonrunAsUser: 65534aufrunAsUser: 999angepasst. ArgoCD Helm Chart wurde von4.6.1auf4.7.14aktualisiert.0.0.10fix an error with incorrect permissions on "sources" in RBAC config0.0.9enable multiple clusters0.0.8bump to chart 4.6.10.0.7added readme0.0.6added oidc groups (rbac)
actions
install
Installiert ArgoCD
Installation mit Ingress und Exclusion für Cilium
blocks:
- name: argocd
from: cargo.ayedo.cloud/ayedo/k8s/argo-cd
kubeconfig:
from: k8s
config:
chart:
auth:
enabled: true
username: *mirror_registry_auth_user
password: *mirror_registry_auth_password
registry: *mirror_registry_url
admin_password: PaSsWoRdHeRe
main_config:
exclusions: |
- apiGroups:
- cilium.io
kinds:
- CiliumIdentity
clusters:
- "*"
redis:
enabled: true
password: "secret here"
auth:
enabled: true
ingress:
enabled: true
host: argocd.example.com
tls:
enabled: true
issuer: letsencrypt-production
Mit ingress und OIDC
blocks:
- name: argocd
from: cargo.ayedo.cloud/ayedo/k8s/argo-cd
kubeconfig:
from: k8s
config:
chart:
auth:
enabled: true
username: *mirror_registry_auth_user
password: *mirror_registry_auth_password
registry: *mirror_registry_url
admin_password: PaSsWoRdHeRe
ingress:
enabled: true
host: argocd.example.com
tls:
enabled: true
issuer: letsencrypt-production
redis:
enabled: true
password: "secret here"
auth:
enabled: true
oidc:
enabled: true
name: "argocd"
issuer: "https://auth.example.com/application/o/argocd/"
client_id: "argocd_client_id"
client_secret: "MySeCrEt-123456789"
admin_group: "ArgoCD Admins"
rbac:
- group: "admin"
role: "admin"
project: "*"
clusters:
- "*"
- group: "dev"
role: "dev"
project: "*-dev"
clusters:
- "*"
Mit ingress und zusätzlicher Benutzer
blocks:
- name: argocd
from: cargo.ayedo.cloud/ayedo/k8s/argo-cd
kubeconfig:
from: k8s
config:
chart:
auth:
enabled: true
username: *mirror_registry_auth_user
password: *mirror_registry_auth_password
registry: *mirror_registry_url
admin_password: PaSsWoRdHeRe
users: # Ingress muss eingerichtet werden, ansonsten werden keine Benutzer angelegt.
- name: franz
password: deinpassword
access: "apiKey,login"
role: dev # Rolle muss in ConfigMap argocd-rbac-cm existieren
generate_token: true # Erzeugt einen Token für diesen nutzer. In "users[].access" muss apiKey enthalten sein. Den
- name: bernd
password: deinbrot
access: "login"
role: admin # Rolle wird im Standard ausgeliefert.
generate_token: false
- name: stefan
password: ichguckenur
access: "login"
role: readonly # Rolle wird im Standard ausgeliefert.
generate_token: false
ingress:
enabled: true
host: argocd.example.com
tls:
enabled: true
issuer: letsencrypt-production
redis:
enabled: true
password: "secret here"
auth:
enabled: true
oidc:
enabled: true
name: "argocd"
issuer: "https://auth.example.com/application/o/argocd/"
client_id: "argocd_client_id"
client_secret: "MySeCrEt-123456789"
admin_group: "ArgoCD Admins"
rbac:
- group: "admin"
role: "admin"
project: "*"
- group: "dev"
role: "dev"
project: "*-dev"
Mit argocd-vault plugin
Voraussetzung ist, dass eine Hashicorp Vault installation vorhanden ist. Siehe Block Hashicorp Vault
Es können verschiedene Typen unter
config.plugins.vault.auth.typeangegeben werden. Die Verfügbaren optionen können derBlock.polyentnommen werden. Dokumentation siehe: argocd-vault-plugin backends
Beim anlegen einer neuen App, muss am ende der Auswahl der "Dropdown" von
DirectoryzuPlugingeändert werden und das Pluginargocd-vault-plugin-helmausgewählt werden.
Man kann über das Environment HELM_ARGS dem Plugin mehrere values.yaml mitgeben. Siehe: with-additional-helm-arguments
- name: argocd
from: cargo.ayedo.cloud/ayedo/k8s/argo-cd:0.1.0
kubeconfig:
from: k8s
config:
chart:
auth:
enabled: true
username: *mirror_registry_auth_user
password: *mirror_registry_auth_password
registry: *mirror_registry_url
admin_password: PaSsWoRdHeRe
plugins:
vault:
enabled: true
url: "https://vault.example.com"
auth:
type: "token"
vault:
token: "hvs.tokenHere"
ingress:
enabled: true
host: argocd.example.com
tls:
enabled: true
issuer: letsencrypt-production
redis:
enabled: true
password: "secret here"
auth:
enabled: true
uninstall
uninstall ArgoCD