google-slo-generator
heureka/google-slo-generator/kubernetes
For running slo-generator on GCP inside of GKE
terraform-kubernetes-google-slo-generator An extremely opinionated module, that deploys [omni-slo-generator][omni-slo-gnerator] based on Google's [SLO generator][slo-generator] into GKE. Assumptions made Prometheus backend is a mimir cluster Mimir is running in monitoring namespace and has a nginx pod mimir-nginx for proxying (as mimir helm chart does it) This can be overridden variable prometheus-backend-url You want to keep the default policies as shown in slo-exporter's examples (1h, 12h, 7d, 28d) You are using ingress nginx controller (this is configurable) GKE cluster has [workload identity][workload identity] enabled You are running prometheus operator (monitoring.coreos.com/v1 in your cluster) Diagram !Diagram Note*: Ingress is deployed optionally, if you want to run your job inside
| Name | Type | Description | Default |
|---|---|---|---|
| storage-project | string | ID of the project which will be used for buckets etc. | required |
| gke-project | string | ID of the project which contains the GKE cluster in which the generator is going | required |
| namespace | string | kubernetes namespace where to deploy slo generator | required |
| bucket-name | string | name of the GCS bucket which SLOs will be read from | required |
| api-limits | map(string) | limits for the api in kubernetes | {
"cpu": "200m",
"memory": "200Mi"
} |
| ingress-class-name | string | ingress class to use for an ingress resource | "nginx" |
| bucket-location | string | location for the GCS bucket which SLOs will be read from | "EU" |
| image | string | slo-generator image to use | "ghcr.io/heureka/omni-slo-generator" |
| image-tag | string | slo-generator image tag to use | "releases-1.0.1" |
| prometheus-backend-orgid-header | string | URL for the prometheus backend to read metrics from | "" |
| scrape_interval_seconds | number | Interval to sleep between computations of scraped metrics | 30 |
| generator-version | string | omni-slo-generator version to use | "1.0.1" |
| api-requests | map(string) | requests for the api in kubernetes | {
"cpu": "200m",
"memory": "200Mi"
} |
| prometheus-backend-url | string | URL for the prometheus backend to read metrics from | "http://mimir-nginx.monitoring:8888/prom |
| servicemonitor-label | map(string) | Special label for ServiceMonitor resource, in case your prometheus has `serviceM | {} |
| ingress-host | string | host at which the api should be available outside of kubernetes | "" |