Compare commits

..

1 commit

Author SHA1 Message Date
d1b371e74b Update all stable non-major dependencies
All checks were successful
/ Ansible Lint (push) Successful in 2m53s
/ Ansible Lint (pull_request) Successful in 2m55s
2026-01-28 14:45:52 +00:00
12 changed files with 18 additions and 120 deletions

View file

@ -1,5 +1,5 @@
# renovate: datasource=github-releases depName=netbox packageName=netbox-community/netbox # renovate: datasource=github-releases depName=netbox packageName=netbox-community/netbox
netbox__version: "v4.5.0" netbox__version: "v4.5.1"
netbox__config: "{{ lookup('ansible.builtin.template', 'resources/chaosknoten/netbox/netbox/configuration.py.j2') }}" netbox__config: "{{ lookup('ansible.builtin.template', 'resources/chaosknoten/netbox/netbox/configuration.py.j2') }}"
netbox__custom_pipeline_oidc_group_and_role_mapping: true netbox__custom_pipeline_oidc_group_and_role_mapping: true

View file

@ -1,7 +1,6 @@
ansible_pull__age_private_key: ENC[AES256_GCM,data:u0tluAG5YmXTs71/F6RjuTITCrEoJco0K7+o/F7An4OMdOAwJVBvvMCnEaYsKhLhdesnMIoA24oz2j22lKRFgZUNtkF08ZwH9gw=,iv:oqTTeOi8l6ig4vvqOKict5bqxjmiBW+kwlZhbozoCSU=,tag:ZL2wuIczCHguGJIhbY0NuQ==,type:str] ansible_pull__age_private_key: ENC[AES256_GCM,data:u0tluAG5YmXTs71/F6RjuTITCrEoJco0K7+o/F7An4OMdOAwJVBvvMCnEaYsKhLhdesnMIoA24oz2j22lKRFgZUNtkF08ZwH9gw=,iv:oqTTeOi8l6ig4vvqOKict5bqxjmiBW+kwlZhbozoCSU=,tag:ZL2wuIczCHguGJIhbY0NuQ==,type:str]
secret__gatus_db_password: ENC[AES256_GCM,data:fwtdWmXVTA7odBsKnlxH7mKKGtplAt/rQqscFBAxbDky6DNqgk6PP2OsqbIEpnpzs9Yn7Kd2VAxzfJfK,iv:ox/Lm+LlxxRcssOPc++nRp6nVa2DF3/46eEsGzTOBmA=,tag:i1e71Gm01ojHr5pGy0S9rA==,type:str] secret__gatus_db_password: ENC[AES256_GCM,data:fwtdWmXVTA7odBsKnlxH7mKKGtplAt/rQqscFBAxbDky6DNqgk6PP2OsqbIEpnpzs9Yn7Kd2VAxzfJfK,iv:ox/Lm+LlxxRcssOPc++nRp6nVa2DF3/46eEsGzTOBmA=,tag:i1e71Gm01ojHr5pGy0S9rA==,type:str]
secret__gatus_matrix_access_token: ENC[AES256_GCM,data:adNtFvg2LXwRiNE7mvTZNO1hXxN3qasWZrDEQOGk5mYEVH0t9pglNrM=,iv:30xXR31qmrywLP3M34u6YgsyQY348zVvt9RM4/bGhtY=,tag:vhgpON0IdQ+FS4uQ/0TpsQ==,type:str] secret__gatus_matrix_access_token: ENC[AES256_GCM,data:adNtFvg2LXwRiNE7mvTZNO1hXxN3qasWZrDEQOGk5mYEVH0t9pglNrM=,iv:30xXR31qmrywLP3M34u6YgsyQY348zVvt9RM4/bGhtY=,tag:vhgpON0IdQ+FS4uQ/0TpsQ==,type:str]
secret__gatus_acme_dns_update_test_x_api_key: ENC[AES256_GCM,data:rBMHvYT7g+o6Rc+edjikYT2jn4wKnkOJWOMf5Ys1zjKpsRCKEF0PZA==,iv:Tp4ELKMfhxtwaJljW4sMCVgW3KCTL89NfW2/LQTmO1Y=,tag:YMbvE0xgLTYCFXche/mvFA==,type:str]
sops: sops:
age: age:
- recipient: age1yl9ts8k6ceymaxjs72r5puetes5mtuzxuger7qgme9qkagfrm9hqzxx9qr - recipient: age1yl9ts8k6ceymaxjs72r5puetes5mtuzxuger7qgme9qkagfrm9hqzxx9qr
@ -13,8 +12,8 @@ sops:
RFl1MnI1K0h2MUhvYk40d2JjbDRaUmMKNlPo1s06hVdxAamKhJy4HhNDX8PKQlq2 RFl1MnI1K0h2MUhvYk40d2JjbDRaUmMKNlPo1s06hVdxAamKhJy4HhNDX8PKQlq2
13PjdTJub64fydGEJng5NigcnNcPo7goGLz5QV7vE+6bO0gNZxBmmw== 13PjdTJub64fydGEJng5NigcnNcPo7goGLz5QV7vE+6bO0gNZxBmmw==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
lastmodified: "2026-02-01T21:17:51Z" lastmodified: "2026-01-18T18:40:32Z"
mac: ENC[AES256_GCM,data:YO5RoJnkjZeouYJa3ui/cRGLcpSzbs1Ou4D+XU9fZ6ZEc8snmLoN/e8vK91+9qigQECOc/WHHaln4ghYs6wNH+xje4ImCYL92p1RbMPvT8OoS3qu+pTF3sUfQfV/Rju61njNHA7XNAmGCxSiJQxgq2o92aoEB7qKs+AwCFEmTpE=,iv:QrRkSv4novqk3+YCnfFW59df1mvcGONTDO3zCUyXUME=,tag:oBy402SSczs3qyHhBpQqnw==,type:str] mac: ENC[AES256_GCM,data:7bP0fmn6TJKA8zLuXE8F47sHn1qqX33z/078KkCJx5yRSKBGyLnTeKNha8EODEBkMG0eXQ2BEQDPfNB892R5OW69xCInCa0+sEPONd3YELMvFVoM7/+avDi94X/tdJKCHVPnF/kpqnGhKlwikKlCFLIcbkfEAHJgDlze32C0QKU=,iv:1Q5dsJP2FToAYDJYWXJufHuIlXGfj93NaBWHfZ5rhHk=,tag:dFNYdMJOwUwr6/zwlRollg==,type:str]
pgp: pgp:
- created_at: "2026-01-15T21:23:56Z" - created_at: "2026-01-15T21:23:56Z"
enc: |- enc: |-

View file

@ -77,10 +77,6 @@ server {
proxy_pass http://127.0.0.1:8080/update; proxy_pass http://127.0.0.1:8080/update;
} }
location = /health { # no auth by proxy required
proxy_pass http://127.0.0.1:8080/health;
}
location @oauth2_signin { location @oauth2_signin {
return 302 /oauth2/sign_in?rd=$scheme://$host$request_uri; return 302 /oauth2/sign_in?rd=$scheme://$host$request_uri;
} }

View file

@ -32,7 +32,7 @@ services:
- alertmanager_data:/alertmanager - alertmanager_data:/alertmanager
grafana: grafana:
image: docker.io/grafana/grafana:12.3.1 image: docker.io/grafana/grafana:12.3.2
container_name: grafana container_name: grafana
ports: ports:
- 3000:3000 - 3000:3000

View file

@ -1,7 +1,7 @@
--- ---
services: services:
ntfy: ntfy:
image: docker.io/binwiederhier/ntfy:v2.15.0 image: docker.io/binwiederhier/ntfy:v2.16.0
container_name: ntfy container_name: ntfy
command: command:
- serve - serve

View file

@ -33,7 +33,7 @@ services:
- pretalx_net - pretalx_net
pretalx: pretalx:
image: docker.io/pretalx/standalone:v2025.1.0 image: docker.io/pretalx/standalone:v2025.2.2
entrypoint: gunicorn entrypoint: gunicorn
command: command:
- "pretalx.wsgi" - "pretalx.wsgi"
@ -78,7 +78,7 @@ services:
- pretalx_net - pretalx_net
celery: celery:
image: docker.io/pretalx/standalone:v2025.1.0 image: docker.io/pretalx/standalone:v2025.2.2
command: command:
- taskworker - taskworker
restart: unless-stopped restart: unless-stopped

View file

@ -25,7 +25,6 @@ services:
- "POSTGRES_USER=gatus" - "POSTGRES_USER=gatus"
- "POSTGRES_PASSWORD={{ secret__gatus_db_password }}" - "POSTGRES_PASSWORD={{ secret__gatus_db_password }}"
- "MATRIX_ACCESS_TOKEN={{ secret__gatus_matrix_access_token }}" - "MATRIX_ACCESS_TOKEN={{ secret__gatus_matrix_access_token }}"
- "ACME_DNS_UPDATE_TEST_X_API_KEY={{ secret__gatus_acme_dns_update_test_x_api_key }}"
volumes: volumes:
- ./configs:/config - ./configs:/config
networks: networks:

View file

@ -5,8 +5,7 @@ easterhegg-websites-defaults: &easterhegg_websites_defaults
group: Websites group: Websites
interval: 5m interval: 5m
alerts: alerts:
# - type: matrix - type: matrix
- type: custom
failure-threshold: 3 failure-threshold: 3
success-threshold: 1 success-threshold: 1
minimum-reminder-interval: "12h" minimum-reminder-interval: "12h"
@ -16,8 +15,7 @@ easterhegg-websites-redirects-defaults: &easterhegg_websites_redirects_defaults
group: Websites (Redirects) group: Websites (Redirects)
interval: 15m interval: 15m
alerts: alerts:
# - type: matrix - type: matrix
- type: custom
failure-threshold: 3 failure-threshold: 3
success-threshold: 1 success-threshold: 1
minimum-reminder-interval: "24h" minimum-reminder-interval: "24h"

View file

@ -18,21 +18,10 @@ ui:
default-sort-by: group default-sort-by: group
alerting: alerting:
# matrix: matrix:
# server-url: "https://matrix.nekover.se" server-url: "https://matrix.nekover.se"
# access-token: "${MATRIX_ACCESS_TOKEN}" access-token: "${MATRIX_ACCESS_TOKEN}"
# internal-room-id: "!jG755onbGAH-lZsZo8SRKtlsncSMvq7nzPhwCi5CgdQ" internal-room-id: "!jG755onbGAH-lZsZo8SRKtlsncSMvq7nzPhwCi5CgdQ"
custom:
url: "https://matrix.nekover.se/_matrix/client/v3/rooms/%21jG755onbGAH-lZsZo8SRKtlsncSMvq7nzPhwCi5CgdQ/send/m.room.message"
method: "POST"
body: |
{
"msgtype": "m.text",
"body": "[ALERT_TRIGGERED_OR_RESOLVED]: [ENDPOINT_GROUP] - [ENDPOINT_NAME] - [ALERT_DESCRIPTION] - [RESULT_ERRORS]"
}
headers:
Authorization: "Bearer ${MATRIX_ACCESS_TOKEN}"
# A bit more than the default 5 concurrent checks should be fine. # A bit more than the default 5 concurrent checks should be fine.
concurrency: 15 concurrency: 15

View file

@ -3,60 +3,13 @@ services-chaosknoten-defaults: &services_chaosknoten_defaults
group: Services (Chaosknoten) group: Services (Chaosknoten)
interval: 1m interval: 1m
alerts: alerts:
# - type: matrix - type: matrix
- type: custom
failure-threshold: 5 failure-threshold: 5
success-threshold: 2 success-threshold: 2
minimum-reminder-interval: "6h" minimum-reminder-interval: "6h"
send-on-resolved: true send-on-resolved: true
endpoints: endpoints:
- name: ACME DNS (main page/login)
url: "https://acmedns.hamburg.ccc.de"
<<: *services_chaosknoten_defaults
conditions:
- "[STATUS] == 200"
- "[CERTIFICATE_EXPIRATION] > 48h"
- "[BODY] == pat(*OAuth2 Proxy*)"
- name: ACME DNS (health endpoint)
url: "https://acmedns.hamburg.ccc.de/health"
<<: *services_chaosknoten_defaults
conditions:
- "[STATUS] == 200"
- "[CERTIFICATE_EXPIRATION] > 48h"
- name: ACME DNS (update endpoint)
url: "https://acmedns.hamburg.ccc.de/update"
<<: *services_chaosknoten_defaults
method: POST
# acme-dns validates that the value for the txt is 43 characters long.
# https://github.com/joohoi/acme-dns/blob/b7a0a8a7bcef39f6158dd596fe716594a170d362/validation.go#L34-L41
body: |
{
"subdomain": "c621ef99-3da9-4ef6-a152-3a82b9b720f8",
"txt": "________________gatus_test_________________"
}
headers:
X-Api-User: "b897048a-1526-42aa-bc24-e4dfd654b722"
X-Api-Key: "${ACME_DNS_UPDATE_TEST_X_API_KEY}"
conditions:
- "[STATUS] == 200"
- "[CERTIFICATE_EXPIRATION] > 48h"
- "[BODY].txt == ________________gatus_test_________________"
- name: ACME DNS (DNS)
url: "acmedns.hosts.hamburg.ccc.de"
<<: *services_chaosknoten_defaults
dns:
query-name: "c621ef99-3da9-4ef6-a152-3a82b9b720f8.auth.acmedns.hamburg.ccc.de"
query-type: "TXT"
conditions:
- "[DNS_RCODE] == NOERROR"
# error: query type is not supported yet
# apparently TXT records aren't supported yet.
# - "[BODY] == ________________gatus_test_________________"
- name: CCCHH ID/Keycloak (main page/account console) - name: CCCHH ID/Keycloak (main page/account console)
url: "https://id.hamburg.ccc.de/" url: "https://id.hamburg.ccc.de/"
<<: *services_chaosknoten_defaults <<: *services_chaosknoten_defaults

View file

@ -3,8 +3,7 @@ sites-defaults: &sites_defaults
group: Sites group: Sites
interval: 1m interval: 1m
alerts: alerts:
# - type: matrix - type: matrix
- type: custom
failure-threshold: 5 failure-threshold: 5
success-threshold: 2 success-threshold: 2
minimum-reminder-interval: "6h" minimum-reminder-interval: "6h"

View file

@ -5,8 +5,7 @@ websites-defaults: &websites_defaults
group: Websites group: Websites
interval: 1m interval: 1m
alerts: alerts:
# - type: matrix - type: matrix
- type: custom
failure-threshold: 5 failure-threshold: 5
success-threshold: 2 success-threshold: 2
minimum-reminder-interval: "6h" minimum-reminder-interval: "6h"
@ -16,8 +15,7 @@ websites-staging-defaults: &websites_staging_defaults
group: Websites (Staging) group: Websites (Staging)
interval: 5m interval: 5m
alerts: alerts:
# - type: matrix - type: matrix
- type: custom
failure-threshold: 3 failure-threshold: 3
success-threshold: 1 success-threshold: 1
minimum-reminder-interval: "24h" minimum-reminder-interval: "24h"
@ -27,8 +25,7 @@ websites-redirects-defaults: &websites_redirects_defaults
group: Websites (Redirects) group: Websites (Redirects)
interval: 5m interval: 5m
alerts: alerts:
# - type: matrix - type: matrix
- type: custom
failure-threshold: 3 failure-threshold: 3
success-threshold: 1 success-threshold: 1
minimum-reminder-interval: "24h" minimum-reminder-interval: "24h"
@ -52,14 +49,6 @@ endpoints:
- "[CERTIFICATE_EXPIRATION] > 48h" - "[CERTIFICATE_EXPIRATION] > 48h"
- "[BODY] == pat(*Cat Ears Operation Center*)" - "[BODY] == pat(*Cat Ears Operation Center*)"
- name: cpu.ccc.de
url: "https://cpu.ccc.de"
<<: *websites_defaults
conditions:
- "[STATUS] == 200"
- "[CERTIFICATE_EXPIRATION] > 48h"
- "[BODY] == pat(*cpu.ccc.de | aus den Dezentralen*)"
- name: cryptoparty-hamburg.de - name: cryptoparty-hamburg.de
url: "https://cryptoparty-hamburg.de" url: "https://cryptoparty-hamburg.de"
<<: *websites_defaults <<: *websites_defaults
@ -110,14 +99,6 @@ endpoints:
- "[CERTIFICATE_EXPIRATION] > 48h" - "[CERTIFICATE_EXPIRATION] > 48h"
- "[BODY] == pat(*Wir sind der Chaos Computer Club der Hansestadt Hamburg.*)" - "[BODY] == pat(*Wir sind der Chaos Computer Club der Hansestadt Hamburg.*)"
- name: spaceapi.ccc.de
url: "https://spaceapi.ccc.de"
<<: *websites_defaults
conditions:
- "[STATUS] == 200"
- "[CERTIFICATE_EXPIRATION] > 48h"
- "[BODY] == pat(*Kein Javascript, keine Kekse.*)"
# Websites (Staging) # Websites (Staging)
- name: staging.c3cat.de - name: staging.c3cat.de
url: "https://staging.c3cat.de" url: "https://staging.c3cat.de"
@ -176,22 +157,6 @@ endpoints:
- "[CERTIFICATE_EXPIRATION] > 48h" - "[CERTIFICATE_EXPIRATION] > 48h"
- "[BODY] == pat(*Digitale Selbstverteidigung in Hamburg*)" - "[BODY] == pat(*Digitale Selbstverteidigung in Hamburg*)"
- name: local.ccc.de
url: "https://local.ccc.de"
<<: *websites_redirects_defaults
conditions:
- "[STATUS] == 200"
- "[CERTIFICATE_EXPIRATION] > 48h"
- "[BODY] == pat(*cpu.ccc.de | aus den Dezentralen*)"
- name: lokal.ccc.de
url: "https://lokal.ccc.de"
<<: *websites_redirects_defaults
conditions:
- "[STATUS] == 200"
- "[CERTIFICATE_EXPIRATION] > 48h"
- "[BODY] == pat(*cpu.ccc.de | aus den Dezentralen*)"
- name: staging.cryptoparty.hamburg.ccc.de - name: staging.cryptoparty.hamburg.ccc.de
url: "https://staging.cryptoparty.hamburg.ccc.de" url: "https://staging.cryptoparty.hamburg.ccc.de"
<<: *websites_redirects_defaults <<: *websites_redirects_defaults