diff --git a/apps/k8s01/gitlab-runner/hcloud-exporter.yaml b/apps/k8s01/gitlab-runner/hcloud-exporter.yaml new file mode 100644 index 0000000000000000000000000000000000000000..5dd40fa050a652feea8d525efe072c406d7eb35f --- /dev/null +++ b/apps/k8s01/gitlab-runner/hcloud-exporter.yaml @@ -0,0 +1,75 @@ +apiVersion: source.toolkit.fluxcd.io/v1beta1 +kind: HelmRepository +metadata: + name: hcloud-exporter + namespace: gitlab-runner +spec: + interval: 30m + url: https://promhippie.github.io/charts +--- +apiVersion: helm.toolkit.fluxcd.io/v2beta1 +kind: HelmRelease +metadata: + name: hcloud-exporter + namespace: gitlab-runner +spec: + serviceAccountName: flux-reconciler + timeout: 15m + releaseName: hcloud-exporter + chart: + spec: + chart: hcloud-exporter + sourceRef: + kind: HelmRepository + name: hcloud-exporter + namespace: gitlab-runner + version: 2.1.1 + interval: 5m + install: + remediation: + retries: -1 + upgrade: + remediation: + retries: -1 + values: + collector: + floatingIps: false + loadBalancers: false + serverMetrics: false + volumes: true + config: + existingSecret: hcloud-dynfw-conf + tokenKey: HCLOUD_TOKEN + serviceMonitor: + enabled: true + prometheusRule: + enabled: true + rules: + - alert: HcloudCIProjectOver115ServerMinutes + annotations: + description: There are servers active for almost 2 hours consecutively. This is probobably due toe imporper cleanup of CI instances. + summary: There are servers active for almost 2 hours consecutively. + expr: sum_over_time(sum(hcloud_server_created_timestamp * 0 + 1)[2h:1m]) >= 115 + for: 5m + labels: + severity: critical +--- +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: allow-from-monitoring-to-hcloud-exporter +spec: + policyTypes: + - Ingress + ingress: + - from: + - namespaceSelector: + matchLabels: + monitoring.shivering-isles.com/network-access-required: "true" + podSelector: + matchLabels: + app.kubernetes.io/name: prometheus + podSelector: + matchLabels: + app.kubernetes.io/name: hcloud-exporter + app.kubernetes.io/instance: hcloud-exporter diff --git a/apps/k8s01/gitlab-runner/kustomization.yaml b/apps/k8s01/gitlab-runner/kustomization.yaml index 78eb7a5a0a2319cec54613fdd484ad7141a823d8..013e0f2e9de5dc9d46be1fec16fdfafc2b4533e7 100644 --- a/apps/k8s01/gitlab-runner/kustomization.yaml +++ b/apps/k8s01/gitlab-runner/kustomization.yaml @@ -8,4 +8,5 @@ resources: - hetzner-runner-secrets.yaml - hcloud-dynfw.yaml - hcloud-dynfw-secrets.yaml + - hcloud-exporter.yaml - resourcequota.yaml