This commit is contained in:
Ubuntu
2025-12-05 15:40:39 +01:00
parent 2b1842fc75
commit 3004a30caf
8 changed files with 303 additions and 76 deletions

View File

@@ -0,0 +1,40 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: argocd-notifications-cm
namespace: argocd
labels:
app.kubernetes.io/component: notifications-controller
app.kubernetes.io/instance: argocd
app.kubernetes.io/managed-by: manual
app.kubernetes.io/name: argocd-notifications-controller
app.kubernetes.io/part-of: argocd
data:
context: |
argocdUrl: https://argocd-dev.allarddcs.nl
service.email.smtp: |
host: mail.allarddcs.nl
port: 587
from: argocd@allarddcs.nl
username: argocd@allarddcs.nl
password: Argocd01@
starttls: true
template.app-sync-failed: |
email:
subject: Failed to sync application {{.app.metadata.name}}.
message: |
The sync of {{.app.metadata.name}} failed at {{.app.status.operationState.finishedAt}}.
Error: {{.app.status.operationState.message}}
More details: {{.context.argocdUrl}}/applications/{{.app.metadata.name}}?operation=true
trigger.on-sync-failed: |
- description: Application syncing has failed
send: [app-sync-failed]
when: app.status.operationState != nil and app.status.operationState.phase in ['Error','Failed']
subscriptions: |
- recipients:
- admin@allarddcs.nl
triggers:

View File

@@ -12,11 +12,6 @@ spec:
services: services:
- name: argocd-server - name: argocd-server
port: 443 port: 443
- match: HostSNI(`argocd-dev.allarddcs.nl`) && Headers(`Content-Type`, `application/grpc`)
priority: 11
services:
- name: argocd-server
port: 443
tls: tls:
passthrough: true passthrough: true

123
dev/argocd/values.old Normal file
View File

@@ -0,0 +1,123 @@
ingress:
server:
enabled: true
ingressClassName: traefik
hosts:
- host: argocd-dev.allarddcs.nl
paths:
- "/"
tls:
- hosts:
- argocd-dev.allarddcs.nl
secretName: argocd-tls-cert
configs:
secret:
extra:
argocdServerAdminPassword: "$2a$10$CYBSxU6gqSBKP4knIdKDm.pF4TQXmJwUh860yXQEsHFy43Z2fuenK"
params:
# disable insecure (HTTP)
server.insecure: "false"
resource.customizations: |
rbac.authorization.k8s.io/ClusterRole:
ignoreDifferences: |
jsonPointers:
- /metadata/annotations/argocd.argoproj.io~1tracking-id
rbac.authorization.k8s.io/ClusterRoleBinding:
ignoreDifferences: |
jsonPointers:
- /metadata/annotations/argocd.argoproj.io~1tracking-id
server:
tls:
enabled: true
# name of the TLS secret (created via cert-manager)
secretName: argocd-tls-cert
repoServer:
extraArgs:
- --parallelismlimit=1
readinessProbe:
initialDelaySeconds: 10
periodSeconds: 5
timeoutSeconds: 2
failureThreshold: 10
livenessProbe:
initialDelaySeconds: 10
periodSeconds: 10
timeoutSeconds: 2
failureThreshold: 10
notifications:
enabled: true
name: notifications-controller
context:
argocdUrl: https://argocd-dev.allarddcs.nl
secret:
create: true
name: argocd-notifications-secret
items:
email-username: "argocd@allarddcs.nl"
email-password: 'Argocd01@'
cm:
create: true
extra:
service.email: |
host: mail.allarddcs.nl
port: 587
from: $email-username
username: $email-username
password: $email-password
starttls: true
templates:
template.app-sync-failed: |
email:
subject: Failed to sync application {{.app.metadata.name}}.
message: |
{{if eq .serviceType "slack"}}:exclamation:{{end}} The sync operation of application {{.app.metadata.name}} has failed at {{.app.status.operationState.finishedAt}} with the following error: {{.app.status.operationState.message}}
Sync operation details are available at: {{.context.argocdUrl}}/applications/{{.app.metadata.name}}?operation=true .
slack:
attachments: |-
[{
"title": "{{ .app.metadata.name}}",
"title_link":"{{.context.argocdUrl}}/applications/{{.app.metadata.name}}",
"color": "#E96D76",
"fields": [
{
"title": "Sync Status",
"value": "{{.app.status.sync.status}}",
"short": true
},
{
"title": "Repository",
"value": "{{.app.spec.source.repoURL}}",
"short": true
}
{{range $index, $c := .app.status.conditions}}
{{if not $index}},{{end}}
{{if $index}},{{end}}
{
"title": "{{$c.type}}",
"value": "{{$c.message}}",
"short": true
}
{{end}}
]
}]
triggers:
trigger.on-sync-failed: |
- description: Application syncing has failed
send: [app-sync-failed]
when: app.status.operationState != nil and app.status.operationState.phase in ['Error','Failed']
subscriptions:
- recipients:
- admin@allarddcs.nl
triggers:
- on-sync-failed

95
dev/argocd/values.old2 Normal file
View File

@@ -0,0 +1,95 @@
ingress:
server:
enabled: true
ingressClassName: traefik
hosts:
- host: argocd-dev.allarddcs.nl
paths:
- "/"
tls:
- hosts:
- argocd-dev.allarddcs.nl
secretName: argocd-tls-cert
configs:
secret:
extra:
argocdServerAdminPassword: "$2a$10$CYBSxU6gqSBKP4knIdKDm.pF4TQXmJwUh860yXQEsHFy43Z2fuenK"
params:
# disable insecure (HTTP)
server.insecure: "false"
resource.customizations: |
rbac.authorization.k8s.io/ClusterRole:
ignoreDifferences: |
jsonPointers:
- /metadata/annotations/argocd.argoproj.io~1tracking-id
rbac.authorization.k8s.io/ClusterRoleBinding:
ignoreDifferences: |
jsonPointers:
- /metadata/annotations/argocd.argoproj.io~1tracking-id
server:
tls:
enabled: true
# name of the TLS secret (created via cert-manager)
secretName: argocd-tls-cert
repoServer:
extraArgs:
- --parallelismlimit=1
readinessProbe:
initialDelaySeconds: 10
periodSeconds: 5
timeoutSeconds: 2
failureThreshold: 10
livenessProbe:
initialDelaySeconds: 10
periodSeconds: 10
timeoutSeconds: 2
failureThreshold: 10
notifications:
enabled: true
context:
argocdUrl: https://argocd-dev.allarddcs.nl
cm:
create: true
extra:
service.email: |
host: mail.allarddcs.nl
port: 587
from: $email-username
username: $email-username
password: $email-password
starttls: true
secret:
create: true
name: argocd-notifications-secret
items:
email-username: "argocd@allarddcs.nl"
email-password: "Argocd01@"
templates:
app-sync-failed: |
email:
subject: Failed to sync application {{.app.metadata.name}}.
message: |
The sync operation of application {{.app.metadata.name}} has failed at {{.app.status.operationState.finishedAt}} with the following error: {{.app.status.operationState.message}}
More details: {{.context.argocdUrl}}/applications/{{.app.metadata.name}}?operation=true
triggers:
on-sync-failed: |
- description: Application syncing has failed
send: [app-sync-failed]
when: app.status.operationState != nil and app.status.operationState.phase in ['Error','Failed']
subscriptions:
- recipients:
- admin@allarddcs.nl
triggers:
- on-sync-failed

View File

@@ -1,3 +1,6 @@
global:
domain: argocd-dev.allarddcs.nl
ingress: ingress:
server: server:
enabled: true enabled: true
@@ -11,57 +14,6 @@ ingress:
- argocd-dev.allarddcs.nl - argocd-dev.allarddcs.nl
secretName: argocd-tls-cert secretName: argocd-tls-cert
configs:
params:
# disable insecure (HTTP)
server.insecure: "false"
configs:
resource.customizations: |
rbac.authorization.k8s.io/ClusterRole:
ignoreDifferences: |
jsonPointers:
- /metadata/annotations/argocd.argoproj.io~1tracking-id
rbac.authorization.k8s.io/ClusterRoleBinding:
ignoreDifferences: |
jsonPointers:
- /metadata/annotations/argocd.argoproj.io~1tracking-id
server:
tls:
enabled: true
# name of the TLS secret (created via cert-manager)
secretName: argocd-tls-cert
repoServer:
extraArgs:
- --parallelismlimit=1
readinessProbe:
initialDelaySeconds: 10
periodSeconds: 5
timeoutSeconds: 2
failureThreshold: 10
livenessProbe:
initialDelaySeconds: 10
periodSeconds: 10
timeoutSeconds: 2
failureThreshold: 10
ingress:
server:
enabled: true
ingressClassName: traefik
hosts:
- host: argocd-dev.allarddcs.nl
paths:
- "/"
tls:
- hosts:
- argocd-dev.allarddcs.nl
secretName: argocd-tls-cert
configs:
params: params:
server.insecure: "false" server.insecure: "false"
@@ -83,44 +35,66 @@ server:
repoServer: repoServer:
extraArgs: extraArgs:
- --parallelismlimit=1 - --parallelismlimit=1
readinessProbe: readinessProbe:
initialDelaySeconds: 10 initialDelaySeconds: 10
periodSeconds: 5 periodSeconds: 5
timeoutSeconds: 2 timeoutSeconds: 2
failureThreshold: 10 failureThreshold: 10
livenessProbe: livenessProbe:
initialDelaySeconds: 10 initialDelaySeconds: 10
periodSeconds: 10 periodSeconds: 10
timeoutSeconds: 2 timeoutSeconds: 2
failureThreshold: 10 failureThreshold: 10
# ---------------- Notifications ----------------
notifications: notifications:
enabled: true enabled: true
name: notifications-controller
# Context available in templates
context: context:
argocdUrl: https://argocd-dev.allarddcs.nl argocdUrl: "https://argocd-dev.allarddcs.nl"
config: # Secret for SMTP credentials
# SMTP email service secret:
create: true
name: argocd-notifications-secret
items:
email-username: "argocd@allarddcs.nl"
email-password: "Argocd01@"
# ConfigMap used by notifications-controller
cm:
create: false
extra:
service.email.smtp: | service.email.smtp: |
username: argocd@allarddcs.nl host: mail.allarddcs.nl
password: Argocd01@
host: smtp.allarddcs.nl
port: 587 port: 587
from: argocd@allarddcs.nl from: argocd@allarddcs.nl
username: argocd@allarddcs.nl
password: Argocd01@
starttls: true
# Optional template for sync failure # Templates
template.app-sync-failed: | templates:
subject: ArgoCD: Application {{.app.metadata.name}} sync failed app-sync-failed: |
body: | email:
Application {{.app.metadata.name}} failed to sync. subject: Failed to sync application {{.app.metadata.name}}.
Status: {{.app.status.sync.status}} message: |
Health: {{.app.status.health.status}} The sync of {{.app.metadata.name}} failed at {{.app.status.operationState.finishedAt}}.
Error: {{.app.status.operationState.message}}
More details: {{.context.argocdUrl}}/applications/{{.app.metadata.name}}?operation=true
# Global subscription for all apps # Triggers
triggers:
on-sync-failed: |
- description: Application syncing has failed
send: [app-sync-failed]
when: app.status.operationState != nil and app.status.operationState.phase in ['Error','Failed']
# Subscriptions
subscriptions: subscriptions:
- recipients: - recipients:
- admin@allarddcs.nl - admin@allarddcs.nl
triggers: triggers:
- app-sync-failed - on-sync-failed