commit 433030918955e901d6a042f981cddf1bdb9ab3c4
parent 854bcef3dbc534ca80cb65eec7bb17c14e36ddf6
Author: MTRNord <mtrnord1@gmail.com>
Date: Mon, 7 Oct 2024 01:02:48 +0200
add sync from pagerduty to cachet
Diffstat:
5 files changed, 127 insertions(+), 2 deletions(-)
diff --git a/apps/2024_cluster/secrets/cachet_sync.yaml b/apps/2024_cluster/secrets/cachet_sync.yaml
@@ -0,0 +1,31 @@
+apiVersion: v1
+kind: Secret
+metadata:
+ name: cachet-sync
+ namespace: cachet
+type: Opaque
+stringData:
+ cachet-url: ENC[AES256_GCM,data:7d/HTlzedmVwlQRtzHF5EjHrGe9fYXQmLyV99zJPSkG4aAVR1b8=,iv:LfqaH+qZ4/a60E8l1S8xsfamtwO5sYpvzmVPP+BzZ+w=,tag:ifVXgK+uL1TLgeMW3Wa/OA==,type:str]
+ webhook-secret: ENC[AES256_GCM,data:ubpbTDeay9T61rVTzEtVg3FuPx4K1DQTwjdyLMadXcRHLO8FFN+KQGuYGQeKWlLuTejlzvIA5kCsKEuogkfLmA==,iv:45fkrLxzwDsj7oCL+x4AxG0fLXkmeZWK+YxSYH16Q0A=,tag:RxCilqNW0+nfY5NA9uRbeA==,type:str]
+ cachet-key: ENC[AES256_GCM,data:MMIr0GziYvgMakX9HVj9Y0ITrbc=,iv:JvFWIg17DGyn6UYwXN/l2YvrH2wJS6GtCruO8mySFEI=,tag:2OtRuFv3syUNwO/hUhD4jQ==,type:str]
+ pagerduty-key: ENC[AES256_GCM,data:KB+cPawwE/wQWYt4sTRFHh6vyo0=,iv:ub30sI38pQkT8RVTzq66FqBy8LEqvX6RkOvwY9Sfv9g=,tag:NOL39Vfz7YMNLNIQS8fYsA==,type:str]
+sops:
+ kms: []
+ gcp_kms: []
+ azure_kv: []
+ hc_vault: []
+ age:
+ - recipient: age1esjyg2qfy49awv0ptkzvpk425adczjr38m37w2mmcahzc4p8n54sll2nzh
+ enc: |
+ -----BEGIN AGE ENCRYPTED FILE-----
+ YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA2N1BCYmV5ckwyWEJqeU85
+ cGNMbnRsdk80M0thYzUyZWk4cHRhVVBQdnlZCjRHcm0vNHR2WXlIRnRPL1JOak5q
+ SlZhbUtIY0pQdS9heTdMU2tTbk1YQVkKLS0tIEJ2U2ZjR1VsMkRNQUJRQlYwMTJL
+ RVpsRS9Jb3Y1bXdCYUwrbDN2Sys2LzQKtojkGExGRat8krgT9Ia/pTNiLOtcOiWH
+ qVkYrM/0FdhOAaJqxxnWU7pc6UyWt63PyxdPPdA+PNU0LufYd5PZ9Q==
+ -----END AGE ENCRYPTED FILE-----
+ lastmodified: "2024-10-06T23:00:40Z"
+ mac: ENC[AES256_GCM,data:hL92uZ45BmNw2EodmNrjalVH9aNQwqL+1aPgzGG+zs0AO8KQb1QZIgxYg1BWbuIAPZLMPg6ZkSVcnYWJas0jdk8tahJV8DrHCMrCHkZTypPZtvAEEuKibm8iHIL2Ysd3RElWDMRYIk7Q8/arr9UQtbl9nHhLWVHsv8QeGm1M7Xw=,iv:SmD6mnfV4yD+/qvk3+xNzQPvaITkIZXfjTWcXsLMSxM=,tag:JozXPWq0DgD/JUjizWHAkw==,type:str]
+ pgp: []
+ encrypted_regex: ^(admin_password|extraCommands|key|clickhouseDatabaseURL|databaseURL|client_id|client_secret|secret_key_base|otp_secret|private_key|public_key|primaryKey|deterministicKey|keyDerivationSalt|token|clientId|secretKey|installationId|installationKey|uriOverride|adminToken.value|password.value|sql_password|erlangCookie|AUTHENTICATION_PASSWORD|ROOM_API_SECRET_KEY|adminPassword|configPassword|adminUser|configUser|MAIL_PASSWORD|APP_KEY|api_key|api_secret|keys|livekit_key|livekit_secret|secret_key|admin_pass|admin_email|mariadbPassword|mariadbRootPassword|privateKey|data|stringData|PASSWD|password|pass|postgresPassword|postgresqlPassword|redminePassword|smtpPassword|registration_shared_secret|shared_secret|secret|admin_token|integrationKey|rootPassword)$
+ version: 3.8.1
diff --git a/apps/2024_cluster/secrets/kustomization.yaml b/apps/2024_cluster/secrets/kustomization.yaml
@@ -11,3 +11,4 @@ resources:
- zertrixt-runner.yaml
- coder.yaml
- mas_config.yaml
+ - cachet_sync.yaml
diff --git a/apps/base/cachet/kustomization.yaml b/apps/base/cachet/kustomization.yaml
@@ -4,3 +4,4 @@ namespace: cachet
resources:
- repository.yaml
- release.yaml
+ - sync_deployment.yaml
diff --git a/apps/base/cachet/sync_deployment.yaml b/apps/base/cachet/sync_deployment.yaml
@@ -0,0 +1,90 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: pagerduty_cachet
+ namespace: cachet
+spec:
+ selector:
+ matchLabels:
+ app: pagerduty_cachet
+ template:
+ metadata:
+ labels:
+ app: pagerduty_cachet
+ spec:
+ containers:
+ - name: pagerduty_cachet
+ image: ghcr.io/mtrnord/pagerduty_cachet:latest
+ imagePullPolicy: Always
+ env:
+ - name: CACHET_URL
+ valueFrom:
+ secretKeyRef:
+ name: cachet-sync
+ key: cachet-url
+ - name: WEBHOOK_SECRET
+ valueFrom:
+ secretKeyRef:
+ name: cachet-sync
+ key: webhook-secret
+ - name: CACHET_KEY
+ valueFrom:
+ secretKeyRef:
+ name: cachet-sync
+ key: cachet-key
+ - name: PAGERDUTY_KEY
+ valueFrom:
+ secretKeyRef:
+ name: cachet-sync
+ key: pagerduty-key
+ ports:
+ - containerPort: 8080
+ name: http
+ protocol: TCP
+ livenessProbe:
+ httpGet:
+ path: /healthz
+ port: appservice
+ scheme: HTTP
+ initialDelaySeconds: 15
+ periodSeconds: 10
+ startupProbe:
+ httpGet:
+ path: /healthz
+ port: appservice
+ initialDelaySeconds: 15
+ failureThreshold: 30
+ periodSeconds: 10
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: pagerduty_cachet
+ namespace: cachet
+spec:
+ selector:
+ app: pagerduty_cachet
+ ports:
+ - port: 80
+ targetPort: 8080
+ protocol: TCP
+---
+apiVersion: networking.k8s.io/v1
+kind: Ingress
+metadata:
+ name: pagerduty_cachet
+ namespace: cachet
+ annotations:
+ cert-manager.io/cluster-issuer: letsencrypt-dns
+ external-dns.alpha.kubernetes.io/hostname: midnightthoughts.space
+spec:
+ rules:
+ - host: webhook.status.midnightthoughts.space
+ http:
+ paths: /
+ pathType: Prefix
+ backend:
+ service:
+ name: pagerduty_cachet
+ port:
+ number: 80
diff --git a/apps/base/victoria-metrics-k8s-stack/release.yaml b/apps/base/victoria-metrics-k8s-stack/release.yaml
@@ -93,7 +93,8 @@ spec:
execErrState: Error
for: 5m
annotations:
- description: Depending on the rate limit, cert-manager may be unable to generate certificates for up to a week.
+ description: Depending on the rate limit, cert-manager may be unable to generate certificates
+ for up to a week.
summary: Cert manager hitting LetsEncrypt rate limits.
labels: {}
isPaused: false
@@ -1269,7 +1270,8 @@ spec:
auth_url: https://auth.midnightthoughts.space/application/o/authorize/
token_url: https://auth.midnightthoughts.space/application/o/token/
api_url: https://auth.midnightthoughts.space/application/o/userinfo/
- role_attribute_path: contains(groups, 'Grafana Admins') && 'Admin' || contains(groups, 'Grafana Editors') && 'Editor' || 'Viewer'
+ role_attribute_path: contains(groups, 'Grafana Admins') && 'Admin' || contains(groups, 'Grafana Editors')
+ && 'Editor' || 'Viewer'
imageRenderer:
enabled: true
kubeProxy: