variable "kubeconfig_path" { type = string default = "/home/jv/.kube/config" } variable "pod_network_cidr" { type = string default = "10.244.0.0/16" } variable "calico_node_address_autodetection_cidrs" { type = list(string) default = ["192.168.100.0/24"] } variable "calico_operator_node_name" { type = string default = "debian" } variable "gitops_repo_url" { type = string default = "ssh://jv@192.168.100.68/home/jv/git-server/my-homelab-configs.git" } variable "gitops_ssh_key_path" { type = string default = "/home/jv/.ssh/id_ed25519" } variable "calico" { type = object({ repository = string version = string namespace = string }) default = { repository = "https://docs.tigera.io/calico/charts" version = "v3.32.0" namespace = "tigera-operator" } } variable "openebs" { type = object({ repository = string version = string namespace = string retain_storage_class = string base_path = string }) default = { repository = "https://openebs.github.io/openebs" version = "4.3.3" namespace = "openebs" retain_storage_class = "openebs-hostpath-retain" base_path = "/var/openebs/local" } } variable "argocd" { type = object({ repository = string version = string namespace = string repo_secret_name = string }) default = { repository = "https://argoproj.github.io/argo-helm" version = "8.5.8" namespace = "argocd" repo_secret_name = "homelab-configs-repo" } } variable "observability" { type = object({ namespace = string prometheus = object({ repository = string chart = string version = string retention = string storage_size = string alertmanager_storage_size = string grafana_storage_size = string remote_write_mimir_enabled = bool }) loki = object({ repository = string chart = string version = string storage_size = string retention_period = string }) promtail = object({ repository = string chart = string version = string }) mimir = object({ repository = string chart = string version = string minio_storage_size = string alertmanager_storage_size = string ingester_storage_size = string store_gateway_storage_size = string compactor_storage_size = string }) }) default = { namespace = "monitoring" prometheus = { repository = "https://prometheus-community.github.io/helm-charts" chart = "kube-prometheus-stack" version = "85.3.3" retention = "7d" storage_size = "15Gi" alertmanager_storage_size = "1Gi" grafana_storage_size = "2Gi" remote_write_mimir_enabled = true } loki = { repository = "https://grafana.github.io/helm-charts" chart = "loki" version = "7.0.0" storage_size = "10Gi" retention_period = "168h" } promtail = { repository = "https://grafana.github.io/helm-charts" chart = "promtail" version = "6.17.1" } mimir = { repository = "https://grafana.github.io/helm-charts" chart = "mimir-distributed" version = "5.8.0" minio_storage_size = "10Gi" alertmanager_storage_size = "1Gi" ingester_storage_size = "4Gi" store_gateway_storage_size = "4Gi" compactor_storage_size = "4Gi" } } } variable "extra_helm_releases" { type = map(object({ repository = string chart = string version = string namespace = string create_namespace = bool timeout = number values_yaml = string set_values = map(string) })) default = {} }