my-homelab-configs/bootstrap/platform/variables.tf

167 lines
4.2 KiB
HCL

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 = {}
}