google-slo-generator

heureka/google-slo-generator/kubernetes

Terraform Module HCL KUBERNETES

For running slo-generator on GCP inside of GKE

Install
module "google-slo-generator" {
source = "heureka/google-slo-generator/kubernetes"
version = "2.0.5"
}
plain text: /constructs/tfmod-heureka-google-slo-generator-kubernetes/install.txt
⭐ Source on GitHub 📦 Registry page
README

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

Inputs (16)
NameTypeDescriptionDefault
storage-projectstringID of the project which will be used for buckets etc. required
gke-projectstringID of the project which contains the GKE cluster in which the generator is going required
namespacestringkubernetes namespace where to deploy slo generator required
bucket-namestringname of the GCS bucket which SLOs will be read from required
api-limitsmap(string)limits for the api in kubernetes{ "cpu": "200m", "memory": "200Mi" }
ingress-class-namestringingress class to use for an ingress resource"nginx"
bucket-locationstringlocation for the GCS bucket which SLOs will be read from"EU"
imagestringslo-generator image to use"ghcr.io/heureka/omni-slo-generator"
image-tagstringslo-generator image tag to use"releases-1.0.1"
prometheus-backend-orgid-headerstringURL for the prometheus backend to read metrics from""
scrape_interval_secondsnumberInterval to sleep between computations of scraped metrics30
generator-versionstringomni-slo-generator version to use"1.0.1"
api-requestsmap(string)requests for the api in kubernetes{ "cpu": "200m", "memory": "200Mi" }
prometheus-backend-urlstringURL for the prometheus backend to read metrics from"http://mimir-nginx.monitoring:8888/prom
servicemonitor-labelmap(string)Special label for ServiceMonitor resource, in case your prometheus has `serviceM{}
ingress-hoststringhost at which the api should be available outside of kubernetes""
Resources (10)
google_service_accountgoogle_service_account_iam_bindinggoogle_storage_bucketgoogle_storage_bucket_iam_memberkubernetes_config_mapkubernetes_deploymentkubernetes_ingress_v1kubernetes_manifestkubernetes_servicekubernetes_service_account
Details
FrameworkTerraform Module
LanguageHCL
Version2.0.5
Cloud KUBERNETES
★ Stars1
Forks0
Total downloads37.0k
Inputs16
Resources10
LicenseMIT
Namespaceheureka
Updated