monitoring: add testing dashboard and switch postmark apikey

This commit is contained in:
Brad Stein 2026-01-18 09:21:33 -03:00
parent d7812623cd
commit 1fb3d179ef
26 changed files with 67 additions and 587 deletions

View File

@ -1111,50 +1111,6 @@ def build_overview():
)
)
panels.append(
{
"id": 34,
"type": "row",
"title": "Glue + Automation",
"gridPos": {"h": 1, "w": 24, "x": 0, "y": 25},
"collapsed": False,
"panels": [],
}
)
panels.append(
stat_panel(
35,
"Glue Jobs Stale",
GLUE_STALE_COUNT,
{"h": 6, "w": 8, "x": 0, "y": 26},
unit="none",
thresholds=count_thresholds,
links=link_to("atlas-glue"),
)
)
panels.append(
stat_panel(
36,
"Glue Jobs Missing Success",
GLUE_MISSING_COUNT,
{"h": 6, "w": 8, "x": 8, "y": 26},
unit="none",
thresholds=count_thresholds,
links=link_to("atlas-glue"),
)
)
panels.append(
stat_panel(
37,
"Glue Jobs Suspended",
GLUE_SUSPENDED_COUNT,
{"h": 6, "w": 8, "x": 16, "y": 26},
unit="none",
thresholds=count_thresholds,
links=link_to("atlas-glue"),
)
)
worker_filter = f"{WORKER_REGEX}"
panels.append(
timeseries_panel(
@ -2195,7 +2151,7 @@ def build_mail_dashboard():
}
def build_glue_dashboard():
def build_testing_dashboard():
panels = []
sort_desc = [{"id": "labelsToFields", "options": {}}, {"id": "sortBy", "options": {"fields": ["Value"], "order": "desc"}}]
@ -2274,8 +2230,8 @@ def build_glue_dashboard():
)
return {
"uid": "atlas-glue",
"title": "Atlas Glue",
"uid": "atlas-testing",
"title": "Atlas Testing",
"folderUid": PRIVATE_FOLDER,
"editable": True,
"panels": panels,
@ -2283,7 +2239,7 @@ def build_glue_dashboard():
"annotations": {"list": []},
"schemaVersion": 39,
"style": "dark",
"tags": ["atlas", "glue"],
"tags": ["atlas", "testing"],
}
@ -2380,9 +2336,9 @@ DASHBOARDS = {
"builder": build_mail_dashboard,
"configmap": ROOT / "services" / "monitoring" / "grafana-dashboard-mail.yaml",
},
"atlas-glue": {
"builder": build_glue_dashboard,
"configmap": ROOT / "services" / "monitoring" / "grafana-dashboard-glue.yaml",
"atlas-testing": {
"builder": build_testing_dashboard,
"configmap": ROOT / "services" / "monitoring" / "grafana-dashboard-testing.yaml",
},
"atlas-gpu": {
"builder": build_gpu_dashboard,

View File

@ -38,8 +38,8 @@ spec:
export SMTP_PORT="587"
export SMTP_STARTTLS="true"
export SMTP_USE_TLS="false"
export SMTP_USERNAME="{{ index .Data.data "relay-username" }}"
export SMTP_PASSWORD="{{ index .Data.data "relay-password" }}"
export SMTP_USERNAME="{{ index .Data.data "apikey" }}"
export SMTP_PASSWORD="{{ index .Data.data "apikey" }}"
export SMTP_FROM="no-reply-portal@bstein.dev"
{{ end }}
spec:

View File

@ -38,8 +38,8 @@ spec:
export STATIC_CRON_TOKEN="$(cat /vault/secrets/firefly-cron-token)"
{{ end }}
{{ with secret "kv/data/atlas/shared/postmark-relay" }}
export MAIL_USERNAME="{{ index .Data.data "relay-username" }}"
export MAIL_PASSWORD="{{ index .Data.data "relay-password" }}"
export MAIL_USERNAME="{{ index .Data.data "apikey" }}"
export MAIL_PASSWORD="{{ index .Data.data "apikey" }}"
{{ end }}
vault.hashicorp.com/agent-inject-secret-firefly-db-password: "kv/data/atlas/finance/firefly-db"
vault.hashicorp.com/agent-inject-template-firefly-db-password: |

View File

@ -45,8 +45,8 @@ spec:
export LDAP_BIND_PASSWORD="${LDAP_ADMIN_PASSWORD}"
{{ end }}
{{ with secret "kv/data/atlas/shared/postmark-relay" }}
export KEYCLOAK_SMTP_USER="{{ index .Data.data "relay-username" }}"
export KEYCLOAK_SMTP_PASSWORD="{{ index .Data.data "relay-password" }}"
export KEYCLOAK_SMTP_USER="{{ index .Data.data "apikey" }}"
export KEYCLOAK_SMTP_PASSWORD="{{ index .Data.data "apikey" }}"
{{ end }}
spec:
serviceAccountName: sso-vault

View File

@ -34,8 +34,8 @@ spec:
export LDAP_BIND_PASSWORD="${LDAP_ADMIN_PASSWORD}"
{{ end }}
{{ with secret "kv/data/atlas/shared/postmark-relay" }}
export KEYCLOAK_SMTP_USER="{{ index .Data.data "relay-username" }}"
export KEYCLOAK_SMTP_PASSWORD="{{ index .Data.data "relay-password" }}"
export KEYCLOAK_SMTP_USER="{{ index .Data.data "apikey" }}"
export KEYCLOAK_SMTP_PASSWORD="{{ index .Data.data "apikey" }}"
{{ end }}
spec:
affinity:

View File

@ -34,8 +34,8 @@ spec:
export LDAP_BIND_PASSWORD="${LDAP_ADMIN_PASSWORD}"
{{ end }}
{{ with secret "kv/data/atlas/shared/postmark-relay" }}
export KEYCLOAK_SMTP_USER="{{ index .Data.data "relay-username" }}"
export KEYCLOAK_SMTP_PASSWORD="{{ index .Data.data "relay-password" }}"
export KEYCLOAK_SMTP_USER="{{ index .Data.data "apikey" }}"
export KEYCLOAK_SMTP_PASSWORD="{{ index .Data.data "apikey" }}"
{{ end }}
spec:
restartPolicy: Never

View File

@ -34,8 +34,8 @@ spec:
export LDAP_BIND_PASSWORD="${LDAP_ADMIN_PASSWORD}"
{{ end }}
{{ with secret "kv/data/atlas/shared/postmark-relay" }}
export KEYCLOAK_SMTP_USER="{{ index .Data.data "relay-username" }}"
export KEYCLOAK_SMTP_PASSWORD="{{ index .Data.data "relay-password" }}"
export KEYCLOAK_SMTP_USER="{{ index .Data.data "apikey" }}"
export KEYCLOAK_SMTP_PASSWORD="{{ index .Data.data "apikey" }}"
{{ end }}
spec:
restartPolicy: Never

View File

@ -34,8 +34,8 @@ spec:
export LDAP_BIND_PASSWORD="${LDAP_ADMIN_PASSWORD}"
{{ end }}
{{ with secret "kv/data/atlas/shared/postmark-relay" }}
export KEYCLOAK_SMTP_USER="{{ index .Data.data "relay-username" }}"
export KEYCLOAK_SMTP_PASSWORD="{{ index .Data.data "relay-password" }}"
export KEYCLOAK_SMTP_USER="{{ index .Data.data "apikey" }}"
export KEYCLOAK_SMTP_PASSWORD="{{ index .Data.data "apikey" }}"
{{ end }}
spec:
restartPolicy: Never

View File

@ -34,8 +34,8 @@ spec:
export LDAP_BIND_PASSWORD="${LDAP_ADMIN_PASSWORD}"
{{ end }}
{{ with secret "kv/data/atlas/shared/postmark-relay" }}
export KEYCLOAK_SMTP_USER="{{ index .Data.data "relay-username" }}"
export KEYCLOAK_SMTP_PASSWORD="{{ index .Data.data "relay-password" }}"
export KEYCLOAK_SMTP_USER="{{ index .Data.data "apikey" }}"
export KEYCLOAK_SMTP_PASSWORD="{{ index .Data.data "apikey" }}"
{{ end }}
spec:
restartPolicy: Never

View File

@ -35,8 +35,8 @@ spec:
export LDAP_BIND_PASSWORD="${LDAP_ADMIN_PASSWORD}"
{{ end }}
{{ with secret "kv/data/atlas/shared/postmark-relay" }}
export KEYCLOAK_SMTP_USER="{{ index .Data.data "relay-username" }}"
export KEYCLOAK_SMTP_PASSWORD="{{ index .Data.data "relay-password" }}"
export KEYCLOAK_SMTP_USER="{{ index .Data.data "apikey" }}"
export KEYCLOAK_SMTP_PASSWORD="{{ index .Data.data "apikey" }}"
{{ end }}
spec:
restartPolicy: Never

View File

@ -34,8 +34,8 @@ spec:
export LDAP_BIND_PASSWORD="${LDAP_ADMIN_PASSWORD}"
{{ end }}
{{ with secret "kv/data/atlas/shared/postmark-relay" }}
export KEYCLOAK_SMTP_USER="{{ index .Data.data "relay-username" }}"
export KEYCLOAK_SMTP_PASSWORD="{{ index .Data.data "relay-password" }}"
export KEYCLOAK_SMTP_USER="{{ index .Data.data "apikey" }}"
export KEYCLOAK_SMTP_PASSWORD="{{ index .Data.data "apikey" }}"
{{ end }}
spec:
affinity:

View File

@ -34,8 +34,8 @@ spec:
export LDAP_BIND_PASSWORD="${LDAP_ADMIN_PASSWORD}"
{{ end }}
{{ with secret "kv/data/atlas/shared/postmark-relay" }}
export KEYCLOAK_SMTP_USER="{{ index .Data.data "relay-username" }}"
export KEYCLOAK_SMTP_PASSWORD="{{ index .Data.data "relay-password" }}"
export KEYCLOAK_SMTP_USER="{{ index .Data.data "apikey" }}"
export KEYCLOAK_SMTP_PASSWORD="{{ index .Data.data "apikey" }}"
{{ end }}
spec:
affinity:

View File

@ -335,8 +335,8 @@ spec:
export INITIAL_ADMIN_PW="{{ .Data.data.password }}"
{{ end }}
{{ with secret "kv/data/atlas/shared/postmark-relay" }}
export RELAYUSER="{{ index .Data.data "relay-username" }}"
export RELAYPASSWORD="{{ index .Data.data "relay-password" }}"
export RELAYUSER="{{ index .Data.data "apikey" }}"
export RELAYPASSWORD="{{ index .Data.data "apikey" }}"
{{ end }}
spec:
serviceAccountName: mailu-vault-sync
@ -397,8 +397,8 @@ spec:
export INITIAL_ADMIN_PW="{{ .Data.data.password }}"
{{ end }}
{{ with secret "kv/data/atlas/shared/postmark-relay" }}
export RELAYUSER="{{ index .Data.data "relay-username" }}"
export RELAYPASSWORD="{{ index .Data.data "relay-password" }}"
export RELAYUSER="{{ index .Data.data "apikey" }}"
export RELAYPASSWORD="{{ index .Data.data "apikey" }}"
{{ end }}
spec:
serviceAccountName: mailu-vault-sync
@ -459,8 +459,8 @@ spec:
export INITIAL_ADMIN_PW="{{ .Data.data.password }}"
{{ end }}
{{ with secret "kv/data/atlas/shared/postmark-relay" }}
export RELAYUSER="{{ index .Data.data "relay-username" }}"
export RELAYPASSWORD="{{ index .Data.data "relay-password" }}"
export RELAYUSER="{{ index .Data.data "apikey" }}"
export RELAYPASSWORD="{{ index .Data.data "apikey" }}"
{{ end }}
spec:
serviceAccountName: mailu-vault-sync
@ -521,8 +521,8 @@ spec:
export INITIAL_ADMIN_PW="{{ .Data.data.password }}"
{{ end }}
{{ with secret "kv/data/atlas/shared/postmark-relay" }}
export RELAYUSER="{{ index .Data.data "relay-username" }}"
export RELAYPASSWORD="{{ index .Data.data "relay-password" }}"
export RELAYUSER="{{ index .Data.data "apikey" }}"
export RELAYPASSWORD="{{ index .Data.data "apikey" }}"
{{ end }}
spec:
serviceAccountName: mailu-vault-sync
@ -583,8 +583,8 @@ spec:
export INITIAL_ADMIN_PW="{{ .Data.data.password }}"
{{ end }}
{{ with secret "kv/data/atlas/shared/postmark-relay" }}
export RELAYUSER="{{ index .Data.data "relay-username" }}"
export RELAYPASSWORD="{{ index .Data.data "relay-password" }}"
export RELAYUSER="{{ index .Data.data "apikey" }}"
export RELAYPASSWORD="{{ index .Data.data "apikey" }}"
{{ end }}
spec:
serviceAccountName: mailu-vault-sync
@ -645,8 +645,8 @@ spec:
export INITIAL_ADMIN_PW="{{ .Data.data.password }}"
{{ end }}
{{ with secret "kv/data/atlas/shared/postmark-relay" }}
export RELAYUSER="{{ index .Data.data "relay-username" }}"
export RELAYPASSWORD="{{ index .Data.data "relay-password" }}"
export RELAYUSER="{{ index .Data.data "apikey" }}"
export RELAYPASSWORD="{{ index .Data.data "apikey" }}"
{{ end }}
spec:
serviceAccountName: mailu-vault-sync

View File

@ -1601,244 +1601,6 @@
],
"description": "Shares are normalized within the selected filter. Switching scope changes the denominator."
},
{
"id": 34,
"type": "row",
"title": "Glue + Automation",
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 25
},
"collapsed": false,
"panels": []
},
{
"id": 35,
"type": "stat",
"title": "Glue Jobs Stale",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
"h": 6,
"w": 8,
"x": 0,
"y": 26
},
"targets": [
{
"expr": "(sum((((time() - kube_cronjob_status_last_successful_time{label_atlas_bstein_dev_glue=\"true\"}) > bool 129600) unless on(namespace,cronjob) kube_cronjob_spec_suspend{label_atlas_bstein_dev_glue=\"true\"} == 1)) + count(((kube_cronjob_labels{label_atlas_bstein_dev_glue=\"true\"} unless kube_cronjob_status_last_successful_time{label_atlas_bstein_dev_glue=\"true\"}) unless on(namespace,cronjob) kube_cronjob_spec_suspend{label_atlas_bstein_dev_glue=\"true\"} == 1)))",
"refId": "A"
}
],
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "yellow",
"value": 1
},
{
"color": "orange",
"value": 2
},
{
"color": "red",
"value": 3
}
]
},
"unit": "none",
"custom": {
"displayMode": "auto"
}
},
"overrides": []
},
"options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "center",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"textMode": "value"
},
"links": [
{
"title": "Open atlas-glue dashboard",
"url": "/d/atlas-glue",
"targetBlank": true
}
]
},
{
"id": 36,
"type": "stat",
"title": "Glue Jobs Missing Success",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
"h": 6,
"w": 8,
"x": 8,
"y": 26
},
"targets": [
{
"expr": "count(((kube_cronjob_labels{label_atlas_bstein_dev_glue=\"true\"} unless kube_cronjob_status_last_successful_time{label_atlas_bstein_dev_glue=\"true\"}) unless on(namespace,cronjob) kube_cronjob_spec_suspend{label_atlas_bstein_dev_glue=\"true\"} == 1))",
"refId": "A"
}
],
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "yellow",
"value": 1
},
{
"color": "orange",
"value": 2
},
{
"color": "red",
"value": 3
}
]
},
"unit": "none",
"custom": {
"displayMode": "auto"
}
},
"overrides": []
},
"options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "center",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"textMode": "value"
},
"links": [
{
"title": "Open atlas-glue dashboard",
"url": "/d/atlas-glue",
"targetBlank": true
}
]
},
{
"id": 37,
"type": "stat",
"title": "Glue Jobs Suspended",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
"h": 6,
"w": 8,
"x": 16,
"y": 26
},
"targets": [
{
"expr": "sum(kube_cronjob_spec_suspend{label_atlas_bstein_dev_glue=\"true\"} == 1)",
"refId": "A"
}
],
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "yellow",
"value": 1
},
{
"color": "orange",
"value": 2
},
{
"color": "red",
"value": 3
}
]
},
"unit": "none",
"custom": {
"displayMode": "auto"
}
},
"overrides": []
},
"options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "center",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"textMode": "value"
},
"links": [
{
"title": "Open atlas-glue dashboard",
"url": "/d/atlas-glue",
"targetBlank": true
}
]
},
{
"id": 14,
"type": "timeseries",

View File

@ -1,6 +1,6 @@
{
"uid": "atlas-glue",
"title": "Atlas Glue",
"uid": "atlas-testing",
"title": "Atlas Testing",
"folderUid": "atlas-internal",
"editable": true,
"panels": [
@ -334,6 +334,6 @@
"style": "dark",
"tags": [
"atlas",
"glue"
"testing"
]
}

View File

@ -1610,244 +1610,6 @@ data:
],
"description": "Shares are normalized within the selected filter. Switching scope changes the denominator."
},
{
"id": 34,
"type": "row",
"title": "Glue + Automation",
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 25
},
"collapsed": false,
"panels": []
},
{
"id": 35,
"type": "stat",
"title": "Glue Jobs Stale",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
"h": 6,
"w": 8,
"x": 0,
"y": 26
},
"targets": [
{
"expr": "(sum((((time() - kube_cronjob_status_last_successful_time{label_atlas_bstein_dev_glue=\"true\"}) > bool 129600) unless on(namespace,cronjob) kube_cronjob_spec_suspend{label_atlas_bstein_dev_glue=\"true\"} == 1)) + count(((kube_cronjob_labels{label_atlas_bstein_dev_glue=\"true\"} unless kube_cronjob_status_last_successful_time{label_atlas_bstein_dev_glue=\"true\"}) unless on(namespace,cronjob) kube_cronjob_spec_suspend{label_atlas_bstein_dev_glue=\"true\"} == 1)))",
"refId": "A"
}
],
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "yellow",
"value": 1
},
{
"color": "orange",
"value": 2
},
{
"color": "red",
"value": 3
}
]
},
"unit": "none",
"custom": {
"displayMode": "auto"
}
},
"overrides": []
},
"options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "center",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"textMode": "value"
},
"links": [
{
"title": "Open atlas-glue dashboard",
"url": "/d/atlas-glue",
"targetBlank": true
}
]
},
{
"id": 36,
"type": "stat",
"title": "Glue Jobs Missing Success",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
"h": 6,
"w": 8,
"x": 8,
"y": 26
},
"targets": [
{
"expr": "count(((kube_cronjob_labels{label_atlas_bstein_dev_glue=\"true\"} unless kube_cronjob_status_last_successful_time{label_atlas_bstein_dev_glue=\"true\"}) unless on(namespace,cronjob) kube_cronjob_spec_suspend{label_atlas_bstein_dev_glue=\"true\"} == 1))",
"refId": "A"
}
],
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "yellow",
"value": 1
},
{
"color": "orange",
"value": 2
},
{
"color": "red",
"value": 3
}
]
},
"unit": "none",
"custom": {
"displayMode": "auto"
}
},
"overrides": []
},
"options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "center",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"textMode": "value"
},
"links": [
{
"title": "Open atlas-glue dashboard",
"url": "/d/atlas-glue",
"targetBlank": true
}
]
},
{
"id": 37,
"type": "stat",
"title": "Glue Jobs Suspended",
"datasource": {
"type": "prometheus",
"uid": "atlas-vm"
},
"gridPos": {
"h": 6,
"w": 8,
"x": 16,
"y": 26
},
"targets": [
{
"expr": "sum(kube_cronjob_spec_suspend{label_atlas_bstein_dev_glue=\"true\"} == 1)",
"refId": "A"
}
],
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "yellow",
"value": 1
},
{
"color": "orange",
"value": 2
},
{
"color": "red",
"value": 3
}
]
},
"unit": "none",
"custom": {
"displayMode": "auto"
}
},
"overrides": []
},
"options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "center",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"textMode": "value"
},
"links": [
{
"title": "Open atlas-glue dashboard",
"url": "/d/atlas-glue",
"targetBlank": true
}
]
},
{
"id": 14,
"type": "timeseries",

View File

@ -1,15 +1,15 @@
# services/monitoring/grafana-dashboard-glue.yaml
# services/monitoring/grafana-dashboard-testing.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: grafana-dashboard-glue
name: grafana-dashboard-testing
labels:
grafana_dashboard: "1"
data:
atlas-glue.json: |
atlas-testing.json: |
{
"uid": "atlas-glue",
"title": "Atlas Glue",
"uid": "atlas-testing",
"title": "Atlas Testing",
"folderUid": "atlas-internal",
"editable": true,
"panels": [
@ -343,6 +343,6 @@ data:
"style": "dark",
"tags": [
"atlas",
"glue"
"testing"
]
}

View File

@ -273,8 +273,8 @@ spec:
export GF_SECURITY_ADMIN_PASSWORD="{{ index .Data.data "admin-password" }}"
{{ end }}
{{ with secret "kv/data/atlas/shared/postmark-relay" }}
export GF_SMTP_USER="{{ index .Data.data "relay-username" }}"
export GF_SMTP_PASSWORD="{{ index .Data.data "relay-password" }}"
export GF_SMTP_USER="{{ index .Data.data "apikey" }}"
export GF_SMTP_PASSWORD="{{ index .Data.data "apikey" }}"
{{ end }}
persistence:
enabled: true

View File

@ -14,7 +14,7 @@ resources:
- grafana-dashboard-network.yaml
- grafana-dashboard-gpu.yaml
- grafana-dashboard-mail.yaml
- grafana-dashboard-glue.yaml
- grafana-dashboard-testing.yaml
- dcgm-exporter.yaml
- jetson-tegrastats-exporter.yaml
- postmark-exporter-service.yaml

View File

@ -21,8 +21,8 @@ spec:
vault.hashicorp.com/agent-inject-secret-postmark-env: "kv/data/atlas/monitoring/postmark-exporter"
vault.hashicorp.com/agent-inject-template-postmark-env: |
{{- with secret "kv/data/atlas/monitoring/postmark-exporter" -}}
export POSTMARK_SERVER_TOKEN="{{ index .Data.data "relay-username" }}"
export POSTMARK_SERVER_TOKEN_FALLBACK="{{ index .Data.data "relay-password" }}"
export POSTMARK_SERVER_TOKEN="{{ index .Data.data "apikey" }}"
export POSTMARK_SERVER_TOKEN_FALLBACK="{{ index .Data.data "apikey" }}"
{{- if index .Data.data "sending-limit" }}
export POSTMARK_SENDING_LIMIT="{{ index .Data.data "sending-limit" }}"
{{- end }}

View File

@ -37,8 +37,8 @@ spec:
export OIDC_CLIENT_SECRET="{{ index .Data.data "client-secret" }}"
{{ end }}
{{ with secret "kv/data/atlas/shared/postmark-relay" }}
export SMTP_NAME="{{ index .Data.data "relay-username" }}"
export SMTP_PASSWORD="{{ index .Data.data "relay-password" }}"
export SMTP_NAME="{{ index .Data.data "apikey" }}"
export SMTP_PASSWORD="{{ index .Data.data "apikey" }}"
{{ end }}
{{ with secret "kv/data/atlas/shared/keycloak-admin" }}
export KC_ADMIN_USER="{{ .Data.data.username }}"

View File

@ -37,8 +37,8 @@ spec:
export OIDC_CLIENT_SECRET="{{ index .Data.data "client-secret" }}"
{{ end }}
{{ with secret "kv/data/atlas/shared/postmark-relay" }}
export SMTP_NAME="{{ index .Data.data "relay-username" }}"
export SMTP_PASSWORD="{{ index .Data.data "relay-password" }}"
export SMTP_NAME="{{ index .Data.data "apikey" }}"
export SMTP_PASSWORD="{{ index .Data.data "apikey" }}"
{{ end }}
{{ with secret "kv/data/atlas/shared/keycloak-admin" }}
export KC_ADMIN_USER="{{ .Data.data.username }}"

View File

@ -33,8 +33,8 @@ spec:
export OIDC_CLIENT_SECRET="{{ index .Data.data "client-secret" }}"
{{ end }}
{{ with secret "kv/data/atlas/shared/postmark-relay" }}
export SMTP_NAME="{{ index .Data.data "relay-username" }}"
export SMTP_PASSWORD="{{ index .Data.data "relay-password" }}"
export SMTP_NAME="{{ index .Data.data "apikey" }}"
export SMTP_PASSWORD="{{ index .Data.data "apikey" }}"
{{ end }}
{{ with secret "kv/data/atlas/shared/keycloak-admin" }}
export KC_ADMIN_USER="{{ .Data.data.username }}"

View File

@ -45,8 +45,8 @@ spec:
{{ end }}
export SMTP_FROM_EMAIL="no-reply-outline@bstein.dev"
{{ with secret "kv/data/atlas/shared/postmark-relay" }}
export SMTP_USERNAME="{{ index .Data.data "relay-username" }}"
export SMTP_PASSWORD="{{ index .Data.data "relay-password" }}"
export SMTP_USERNAME="{{ index .Data.data "apikey" }}"
export SMTP_PASSWORD="{{ index .Data.data "apikey" }}"
{{ end }}
spec:
serviceAccountName: outline-vault

View File

@ -48,8 +48,8 @@ spec:
{{ end }}
export SMTP_FROM="no-reply-planka@bstein.dev"
{{ with secret "kv/data/atlas/shared/postmark-relay" }}
export SMTP_USER="{{ index .Data.data "relay-username" }}"
export SMTP_PASSWORD="{{ index .Data.data "relay-password" }}"
export SMTP_USER="{{ index .Data.data "apikey" }}"
export SMTP_PASSWORD="{{ index .Data.data "apikey" }}"
{{ end }}
spec:
serviceAccountName: planka-vault

View File

@ -30,8 +30,8 @@ spec:
export ADMIN_TOKEN="{{ .Data.data.ADMIN_TOKEN }}"
{{ end }}
{{ with secret "kv/data/atlas/shared/postmark-relay" }}
export SMTP_USERNAME="{{ index .Data.data "relay-username" }}"
export SMTP_PASSWORD="{{ index .Data.data "relay-password" }}"
export SMTP_USERNAME="{{ index .Data.data "apikey" }}"
export SMTP_PASSWORD="{{ index .Data.data "apikey" }}"
{{ end }}
spec:
serviceAccountName: vaultwarden-vault