290 lines
No EOL
7.2 KiB
HCL
290 lines
No EOL
7.2 KiB
HCL
region = "eu01"
|
||
service_account_token = ""
|
||
project_id = ""
|
||
organization_id = "03a34540-3c1a-4794-b2c6-7111ecf824ef"
|
||
service_account_key_path = "/Users/schlenz/sa-key-dd5fa2c9-1651-4da7-8404-9ac4fe9bc3d5.json"
|
||
|
||
security_groups = {
|
||
# ssh_ingress_group = {
|
||
# name = "ssh-ingress-group"
|
||
# description = "ALLOW SSH ingress"
|
||
# rules = [
|
||
# { description = "SSH RULE 1"
|
||
# direction = "ingress"
|
||
# ether_type = "IPv4"
|
||
# ip_range = "0.0.0.0/0"
|
||
# protocol = {
|
||
# name = "tcp"
|
||
# }
|
||
# port_range = {
|
||
# min = 22
|
||
# max = 22
|
||
# }
|
||
# },
|
||
# ]
|
||
# },
|
||
|
||
# web_traffic_group = {
|
||
# name = "web-traffic-group"
|
||
# description = "ALLOW WEB TRAFFIC ingress"
|
||
# rules = [
|
||
# { description = "ALLOW ALL 80"
|
||
# direction = "ingress"
|
||
# ether_type = "IPv4"
|
||
# ip_range = "0.0.0.0/0"
|
||
# protocol = {
|
||
# name = "tcp"
|
||
# }
|
||
# port_range = {
|
||
# min = 80
|
||
# max = 80
|
||
# }
|
||
# },
|
||
# { description = "ALLOW ALL 443"
|
||
# direction = "ingress"
|
||
# ether_type = "IPv4"
|
||
# ip_range = "0.0.0.0/0"
|
||
# protocol = {
|
||
# name = "tcp"
|
||
# }
|
||
# port_range = {
|
||
# min = 443
|
||
# max = 443
|
||
# }
|
||
# },
|
||
# ]
|
||
# },
|
||
}
|
||
|
||
postgres_instances = {
|
||
# dev = {
|
||
# name = "pg-test-instance"
|
||
# version = 17
|
||
# flavor = {
|
||
# cpu = 2,
|
||
# ram = 4
|
||
# }
|
||
# storage = {
|
||
# class = "premium-perf6-stackit",
|
||
# size = 20
|
||
# }
|
||
# replicas = 1
|
||
# acl = ["0.0.0.0/0"]
|
||
# backup_schedule = "00 00 * * *"
|
||
|
||
# users = [
|
||
# { username = "adminusr",
|
||
# roles = ["login", "createdb"]
|
||
# },
|
||
# { username = "testusr",
|
||
# roles = ["login"]
|
||
# }
|
||
# ]
|
||
|
||
# databases = [
|
||
# {
|
||
# name = "testdb",
|
||
# owner = "admin"
|
||
# }
|
||
# ]
|
||
# }
|
||
}
|
||
|
||
networks = {
|
||
# wan_network = {
|
||
# name = "wan_network"
|
||
# ipv4_nameservers = ["1.1.1.1", "8.8.8.8"]
|
||
# ipv4_prefix_length = 24
|
||
# ipv4_prefix = "10.219.0.0/24"
|
||
# routed = true
|
||
# }
|
||
# lan_network1 = {
|
||
# name = "lan_network1"
|
||
# ipv4_prefix_length = 24
|
||
# ipv4_prefix = "10.220.1.0/24"
|
||
# routed = true
|
||
# nics = {
|
||
# p2_lan1 = {
|
||
# nic_name = "P2LAN1"
|
||
# nic_ipv4 = "10.220.1.32"
|
||
# nic_security = true
|
||
# nic_security_group_names = ["ssh-ingress-group"]
|
||
# }
|
||
# }
|
||
# }
|
||
# lan_network2 = {
|
||
# name = "lan_network2"
|
||
# ipv4_prefix_length = 24
|
||
# ipv4_prefix = "10.221.0.0/24"
|
||
# routed = true
|
||
# }
|
||
# lan_network3 = {
|
||
# name = "lan_network3"
|
||
# ipv4_nameservers = ["1.1.1.1", "8.8.8.8"]
|
||
# ipv4_prefix_length = 24
|
||
# ipv4_prefix = "10.223.3.0/24"
|
||
# routed = true
|
||
# }
|
||
# wan = {
|
||
# name = "MGMT"
|
||
# ipv4_nameservers = ["1.1.1.1", "8.8.8.8"]
|
||
# ipv4_prefix_length = 24
|
||
# nic_ipv4 = "10.224.0.254"
|
||
# }
|
||
|
||
# db = {
|
||
# name = "db-net"
|
||
# nic_ipv4 = "10.0.0.126"
|
||
# nic_security = true
|
||
# }
|
||
}
|
||
|
||
observability_instances = {
|
||
test = {
|
||
# Required
|
||
name = "test-observability"
|
||
plan_name = "Observability-Large-EU01"
|
||
|
||
# Optional instance settings
|
||
acl = ["192.168.100.10/32", "203.0.113.5/32"]
|
||
metrics_retention_days = 30
|
||
metrics_retention_days_5m_downsampling = 10
|
||
metrics_retention_days_1h_downsampling = 5
|
||
# parameters = {
|
||
# "custom_param" = "value"
|
||
# }
|
||
|
||
# Credentials
|
||
create_credentials = true
|
||
credentials_count = 2
|
||
|
||
# alert‑groups
|
||
alertgroups = {
|
||
test_group = {
|
||
name = "example-alert-group"
|
||
interval = "60s"
|
||
rules = [
|
||
{
|
||
alert = "example-alert-name"
|
||
expression = "kube_node_status_condition{condition=\"Ready\", status=\"false\"} > 0"
|
||
for = "60s"
|
||
labels = {
|
||
severity = "critical"
|
||
}
|
||
annotations = {
|
||
summary = "example summary"
|
||
description = "example description"
|
||
}
|
||
},
|
||
{
|
||
alert = "example-alert-name-2"
|
||
expression = "kube_node_status_condition{condition=\"Ready\", status=\"false\"} > 0"
|
||
for = "1m"
|
||
labels = {
|
||
severity = "critical"
|
||
}
|
||
annotations = {
|
||
summary = "example summary"
|
||
description = "example description"
|
||
}
|
||
},
|
||
]
|
||
}
|
||
}
|
||
|
||
# log‑alert‑groups
|
||
logalertgroups = {
|
||
example_log = {
|
||
name = "example-log-alert-group"
|
||
interval = "60m"
|
||
rules = [
|
||
{
|
||
alert = "example-log-alert-name"
|
||
expression = "sum(rate({namespace=\"example\", pod=\"logger\"} |= \"Simulated error message\" [1m])) > 0"
|
||
for = "60s"
|
||
labels = {
|
||
severity = "critical"
|
||
}
|
||
annotations = {
|
||
summary = "example summary"
|
||
description = "example description"
|
||
}
|
||
},
|
||
{
|
||
alert = "example-log-alert-name-2"
|
||
expression = "sum(rate({namespace=\"example\", pod=\"logger\"} |= \"Another error message\" [1m])) > 0"
|
||
for = "60s"
|
||
labels = {
|
||
severity = "critical"
|
||
}
|
||
annotations = {
|
||
summary = "example summary"
|
||
description = "example description"
|
||
}
|
||
},
|
||
]
|
||
}
|
||
}
|
||
|
||
# scrapeconfigs
|
||
scrapeconfigs = {
|
||
example_job = {
|
||
name = "example-job"
|
||
metrics_path = "/my-metrics"
|
||
saml2 = {
|
||
enable_url_parameters = true
|
||
}
|
||
targets = [
|
||
{
|
||
urls = ["url1", "urls2"]
|
||
labels = {
|
||
"url1" = "dev"
|
||
}
|
||
}
|
||
]
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
ske_clusters = {
|
||
# dev = {
|
||
# name = "dev-cluster"
|
||
# kubernetes_version_min = "1.31"
|
||
# node_pools = [
|
||
# { name = "default"
|
||
# machine_type = "c2.1"
|
||
# availability_zones = ["eu01-1", "eu01-2"]
|
||
# volume_size = 40
|
||
# minimum = 1
|
||
# maximum = 3
|
||
# }
|
||
# ]
|
||
# }
|
||
|
||
# staging = {
|
||
# name = "staging-cluster"
|
||
# kubernetes_version_min = "1.31"
|
||
# node_pools = [
|
||
# { name = "general"
|
||
# machine_type = "c2.2"
|
||
# availability_zones = ["eu03-1", "eu03-2"]
|
||
# volume_size = 80
|
||
# minimum = 2
|
||
# maximum = 4
|
||
# }
|
||
# ]
|
||
# }
|
||
# }
|
||
|
||
# observability_instances = {
|
||
# starter = {
|
||
# name = "Observability-1"
|
||
# plan_name = "Observability-Starter-EU01"
|
||
# }
|
||
|
||
# prod = {
|
||
# name = "Observability-2"
|
||
# plan_name = "Observability-Large-EU01"
|
||
# }
|
||
} |