From bfe34614968d75ebdddd1f1ba30d3715e0dc00ea Mon Sep 17 00:00:00 2001 From: auricom Date: Sat, 17 Apr 2021 18:50:12 +0200 Subject: [PATCH] feat: kasten.io k10 --- cluster/apps/kasten-io/k10/helm-release.yaml | 59 +++++++++++++++++++ cluster/apps/kasten-io/k10/kustomization.yaml | 6 ++ .../apps/kasten-io/k10/prometheus-rule.yaml | 22 +++++++ .../apps/kasten-io/k10/service-monitor.yaml | 23 ++++++++ cluster/apps/kasten-io/kustomization.yaml | 4 ++ cluster/apps/kustomization.yaml | 1 + cluster/core/namespaces/kasten-io.yaml | 5 ++ cluster/core/namespaces/kustomization.yaml | 1 + 8 files changed, 121 insertions(+) create mode 100644 cluster/apps/kasten-io/k10/helm-release.yaml create mode 100644 cluster/apps/kasten-io/k10/kustomization.yaml create mode 100644 cluster/apps/kasten-io/k10/prometheus-rule.yaml create mode 100644 cluster/apps/kasten-io/k10/service-monitor.yaml create mode 100644 cluster/apps/kasten-io/kustomization.yaml create mode 100644 cluster/core/namespaces/kasten-io.yaml diff --git a/cluster/apps/kasten-io/k10/helm-release.yaml b/cluster/apps/kasten-io/k10/helm-release.yaml new file mode 100644 index 000000000..b1190c55a --- /dev/null +++ b/cluster/apps/kasten-io/k10/helm-release.yaml @@ -0,0 +1,59 @@ +--- +apiVersion: helm.toolkit.fluxcd.io/v2beta1 +kind: HelmRelease +metadata: + name: k10 + namespace: kasten-io +spec: + releaseName: k10 + interval: 5m + chart: + spec: + # renovate: registryUrl=https://charts.kasten.io/ + chart: k10 + version: 3.0.12 + sourceRef: + kind: HelmRepository + name: kasten-charts + namespace: flux-system + interval: 5m + values: + eula: + accept: true + company: "${SECRET_CLUSTER_DOMAIN_CERT}" + email: "${SECRET_CLUSTER_DOMAIN_EMAIL}" + global: + persistence: + storageClass: longhorn + auth: + tokenAuth: + enabled: true + prometheus: + enabled: true + server: + persistentVolume: + enabled: false + clusterName: k3s + ingress: + create: true + class: "nginx" + host: "k10.${SECRET_CLUSTER_DOMAIN}" + annotations: + kubernetes.io/ingress.class: "nginx" + nginx.ingress.kubernetes.io/app-root: /k10 + urlPath: k10 + hosts: + - "k10.${SECRET_CLUSTER_DOMAIN}" + tls: + enabled: true + secretName: "${SECRET_CLUSTER_DOMAIN_CERT}-tls" + postRenderers: + - kustomize: + patchesJson6902: + - target: + kind: Ingress + name: k10-ingress + patch: + - op: replace + path: /spec/rules/0/http/paths/0/path + value: / diff --git a/cluster/apps/kasten-io/k10/kustomization.yaml b/cluster/apps/kasten-io/k10/kustomization.yaml new file mode 100644 index 000000000..50e1ec45d --- /dev/null +++ b/cluster/apps/kasten-io/k10/kustomization.yaml @@ -0,0 +1,6 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - helm-release.yaml + - prometheus-rule.yaml + - service-monitor.yaml diff --git a/cluster/apps/kasten-io/k10/prometheus-rule.yaml b/cluster/apps/kasten-io/k10/prometheus-rule.yaml new file mode 100644 index 000000000..73a2439b5 --- /dev/null +++ b/cluster/apps/kasten-io/k10/prometheus-rule.yaml @@ -0,0 +1,22 @@ +--- +apiVersion: monitoring.coreos.com/v1 +kind: PrometheusRule +metadata: + labels: + prometheus: k8s + role: alert-rules + name: kasten-io + namespace: kasten-io +spec: + groups: + - name: kasten.rules + rules: + - alert: JobsFailing + annotations: + description: Jobs failure + summary: |- + "{{ $labels.app }} jobs amount of errors for the last 10 mins {{ $value }} for {{ $labels.policy }} policy" + expr: increase(catalog_actions_count{status="failed"}[10m]) > 0 + for: 1m + labels: + severity: critical diff --git a/cluster/apps/kasten-io/k10/service-monitor.yaml b/cluster/apps/kasten-io/k10/service-monitor.yaml new file mode 100644 index 000000000..bff6cf864 --- /dev/null +++ b/cluster/apps/kasten-io/k10/service-monitor.yaml @@ -0,0 +1,23 @@ +--- +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: k10 + namespace: kasten-io +spec: + namespaceSelector: + matchNames: + - kasten-io + selector: + matchLabels: + app: prometheus + endpoints: + - port: http + scheme: http + path: /k10/prometheus/federate + honorLabels: true + interval: 15s + params: + "match[]": + - '{__name__=~"jobs.*"}' + - '{__name__=~"catalog.*"}' diff --git a/cluster/apps/kasten-io/kustomization.yaml b/cluster/apps/kasten-io/kustomization.yaml new file mode 100644 index 000000000..8ece812ab --- /dev/null +++ b/cluster/apps/kasten-io/kustomization.yaml @@ -0,0 +1,4 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - k10 diff --git a/cluster/apps/kustomization.yaml b/cluster/apps/kustomization.yaml index 018ae2067..8a880cd9d 100644 --- a/cluster/apps/kustomization.yaml +++ b/cluster/apps/kustomization.yaml @@ -4,6 +4,7 @@ resources: - data - development - home + - kasten-io - media - monitoring - networking diff --git a/cluster/core/namespaces/kasten-io.yaml b/cluster/core/namespaces/kasten-io.yaml new file mode 100644 index 000000000..c017e3bbb --- /dev/null +++ b/cluster/core/namespaces/kasten-io.yaml @@ -0,0 +1,5 @@ +--- +apiVersion: v1 +kind: Namespace +metadata: + name: kasten-io diff --git a/cluster/core/namespaces/kustomization.yaml b/cluster/core/namespaces/kustomization.yaml index db9ca4006..f517d2b6f 100644 --- a/cluster/core/namespaces/kustomization.yaml +++ b/cluster/core/namespaces/kustomization.yaml @@ -7,6 +7,7 @@ resources: - development.yaml - flux-system.yaml - home.yaml + - kasten-io.yaml - kube-system.yaml - longhorn-system.yaml - media.yaml