apiVersion: apps/v1 kind: Deployment metadata: name: cluster-health-api namespace: cluster-health labels: app.kubernetes.io/name: cluster-health-api app.kubernetes.io/instance: cluster-health-api spec: replicas: 2 selector: matchLabels: app.kubernetes.io/name: cluster-health-api app.kubernetes.io/instance: cluster-health-api template: metadata: labels: app.kubernetes.io/name: cluster-health-api app.kubernetes.io/instance: cluster-health-api spec: runtimeClassName: gvisor automountServiceAccountToken: false imagePullSecrets: - name: quay-cluster-pull securityContext: runAsNonRoot: true runAsUser: 65532 runAsGroup: 65532 seccompProfile: type: RuntimeDefault containers: - name: api image: registry.quorate.internal/quorate/cluster-health-api@sha256:ac076a500fe75f72cb32e702e6721060b1abb5d32232ce65f480f0351ba5c44d ports: - name: http containerPort: 8080 env: - name: LISTEN value: 0.0.0.0:8080 - name: METRICS_URL value: http://vmselect-main.victoriametrics.svc.cluster.local:8481/select/0/prometheus - name: PAGE_ORIGIN value: https://quorate.dev - name: REFRESH_SECS value: "60" - name: GROUPS value: >- [["Nodes","label_keep(last_over_time(node_health_day[1d] offset -10m), \"node\")"],["Public services","label_keep(last_over_time(public_health_day[1d] offset -10m), \"name\")"]] resources: requests: cpu: 10m memory: 32Mi limits: memory: 128Mi securityContext: allowPrivilegeEscalation: false readOnlyRootFilesystem: true capabilities: drop: [ALL] readinessProbe: httpGet: path: /health port: http