--- gatus_svc: domain: status.serguzim.me port: 8080 gatus_external_endpoints_backups: "{{ vault_hosts | vault_hosts_backup_to_gatus() }}" gatus_endpoints_hosts: "{{ opentofu.hosts | hosts_to_gatus() }}" gatus_endpoints_services: "{{ all_services | services_to_gatus() }}" gatus_federation_tester: "https://federationtester.matrix.org/api/report?server_name=msrg.cc" gatus_endpoints_other: - name: matrix-federation url: "{{ gatus_federation_tester }}" group: 9-external interval: 5m conditions: - '[STATUS] == 200' - '[BODY].FederationOK == true' ui: hide-url: true alerts: - type: ntfy send-on-resolved: true - type: email send-on-resolved: true - name: healthchecks-io url: "{{ opentofu.healthchecksio.status.ping_url }}" group: 9-external interval: 5m conditions: - '[STATUS] == 200' ui: hide-url: true gatus_yml: storage: type: sqlite path: /data/data.db connectivity: checker: target: 1.1.1.1:53 interval: 60s security: oidc: issuer-url: "{{ opentofu.authentik_data.gatus.base_url }}/" redirect-url: "https://{{ gatus_svc.domain }}/authorization-code/callback" client-id: "{{ opentofu.authentik_data.gatus.client_id }}" client-secret: "{{ opentofu.authentik_data.gatus.client_secret }}" scopes: ["openid"] ui: buttons: - name: Matrix Federation Tester link: "{{ gatus_federation_tester }}" alerting: email: "{{ vault_gatus.alerting.email }}" ntfy: "{{ vault_gatus.alerting.ntfy }}" external-endpoints: "{{ gatus_external_endpoints_backups }}" endpoints: "{{ gatus_endpoints_hosts | union(gatus_endpoints_services) | union(gatus_endpoints_other) }}" gatus_compose: watchtower: true image: twinproduction/gatus volumes: - ./config.yaml:/config/config.yaml - data:/data file: volumes: data: