--- # yaml-language-server: $schema=https://raw.githubusercontent.com/bjw-s/helm-charts/main/charts/other/app-template/schemas/helmrelease-helm-v2beta2.schema.json apiVersion: helm.toolkit.fluxcd.io/v2 kind: HelmRelease metadata: name: gatus spec: interval: 30m chart: spec: chart: app-template version: 3.1.0 sourceRef: kind: HelmRepository name: bjw-s namespace: flux-system install: remediation: retries: 3 upgrade: cleanupOnFail: true remediation: strategy: rollback retries: 3 values: controllers: gatus: annotations: reloader.stakater.com/auto: "true" initContainers: init-config: image: repository: ghcr.io/kiwigrid/k8s-sidecar tag: 1.27.1@sha256:df71eab1466c67b84e46fa9cd2d84738372377971d44dbb8699ab4483278c839 env: FOLDER: /config LABEL: gatus.io/enabled NAMESPACE: ALL RESOURCE: both UNIQUE_FILENAMES: true METHOD: WATCH restartPolicy: Always resources: &resources requests: cpu: 10m limits: memory: 256Mi containers: app: image: repository: ghcr.io/twin/gatus tag: v5.10.0@sha256:658a9cb993ff0b16832947dab8de885b2e2a66037330b839310fa3f39d5c00f4 env: TZ: America/Chicago GATUS_CONFIG_PATH: /config GATUS_DELAY_START_SECONDS: 5 CUSTOM_WEB_PORT: &port 80 envFrom: - secretRef: name: gatus-secret probes: liveness: &probes enabled: true custom: true spec: httpGet: path: /health port: *port initialDelaySeconds: 0 periodSeconds: 10 timeoutSeconds: 1 failureThreshold: 3 readiness: *probes securityContext: allowPrivilegeEscalation: false readOnlyRootFilesystem: true capabilities: { drop: ["ALL"] } resources: *resources pod: dnsConfig: options: - { name: ndots, value: "1" } securityContext: runAsUser: 568 runAsGroup: 568 runAsNonRoot: true fsGroup: 568 fsGroupChangePolicy: OnRootMismatch service: app: controller: gatus ports: http: port: *port serviceMonitor: app: serviceName: gatus endpoints: - port: http scheme: http path: /metrics interval: 1m scrapeTimeout: 10s ingress: app: className: external-nginx annotations: external-dns.alpha.kubernetes.io/cloudflare-proxied: "true" external-dns.alpha.kubernetes.io/target: external.hsn.dev hosts: - host: &host status.hsn.dev paths: - path: / service: identifier: app port: http tls: - hosts: [*host] serviceAccount: create: true name: gatus persistence: config: type: emptyDir config-file: type: configMap name: gatus-configmap globalMounts: - path: /config/config.yaml subPath: config.yaml readOnly: true