# Test Topology Templates # Predefined cluster topologies for testing [kubernetes_3node] name = "Kubernetes 3-node HA Cluster" description = "1 control plane + 2 workers with etcd, kubernetes, and cilium" cluster_type = "kubernetes" [[kubernetes_3node.nodes]] name = "cp-01" role = "controlplane" taskservs = ["etcd", "kubernetes", "containerd"] [kubernetes_3node.nodes.resources] cpu_millicores = 2000 memory_mb = 4096 [[kubernetes_3node.nodes]] name = "worker-01" role = "worker" taskservs = ["kubernetes", "containerd", "cilium"] [kubernetes_3node.nodes.resources] cpu_millicores = 2000 memory_mb = 2048 [[kubernetes_3node.nodes]] name = "worker-02" role = "worker" taskservs = ["kubernetes", "containerd", "cilium"] [kubernetes_3node.nodes.resources] cpu_millicores = 2000 memory_mb = 2048 [kubernetes_3node.nodes.environment] [kubernetes_3node.network] name = "k8s-test-net" subnet = "172.20.0.0/16" dns_enabled = true dns_servers = [] [[kubernetes_3node.shared_volumes]] name = "etcd-data" mount_path = "/var/lib/etcd" read_only = false [etcd_cluster] name = "etcd 3-member cluster" description = "Distributed etcd cluster for testing" cluster_type = "etcd" [[etcd_cluster.nodes]] name = "etcd-01" role = "etcd-member" taskservs = ["etcd"] [etcd_cluster.nodes.resources] cpu_millicores = 1000 memory_mb = 1024 [etcd_cluster.nodes.environment] ETCD_INITIAL_CLUSTER = "etcd-01=http://etcd-01:2380,etcd-02=http://etcd-02:2380,etcd-03=http://etcd-03:2380" [[etcd_cluster.nodes]] name = "etcd-02" role = "etcd-member" taskservs = ["etcd"] [etcd_cluster.nodes.resources] cpu_millicores = 1000 memory_mb = 1024 [etcd_cluster.nodes.environment] ETCD_INITIAL_CLUSTER = "etcd-01=http://etcd-01:2380,etcd-02=http://etcd-02:2380,etcd-03=http://etcd-03:2380" [[etcd_cluster.nodes]] name = "etcd-03" role = "etcd-member" taskservs = ["etcd"] [etcd_cluster.nodes.resources] cpu_millicores = 1000 memory_mb = 1024 [etcd_cluster.nodes.environment] ETCD_INITIAL_CLUSTER = "etcd-01=http://etcd-01:2380,etcd-02=http://etcd-02:2380,etcd-03=http://etcd-03:2380" [etcd_cluster.network] name = "etcd-test-net" subnet = "172.21.0.0/16" dns_enabled = true dns_servers = [] [[etcd_cluster.shared_volumes]] name = "etcd-data" mount_path = "/var/lib/etcd" read_only = false [kubernetes_single] name = "Single-node Kubernetes" description = "All-in-one Kubernetes node for quick testing" cluster_type = "kubernetes" [[kubernetes_single.nodes]] name = "k8s-aio" role = "controlplane" taskservs = ["etcd", "kubernetes", "containerd", "cilium"] [kubernetes_single.nodes.resources] cpu_millicores = 4000 memory_mb = 8192 [kubernetes_single.nodes.environment] [kubernetes_single.network] name = "k8s-single-net" subnet = "172.22.0.0/16" dns_enabled = true dns_servers = [] [containerd_test] name = "Containerd Test Environment" description = "Standalone containerd for testing" cluster_type = "containerd" [[containerd_test.nodes]] name = "containerd-01" role = "runtime" taskservs = ["containerd"] [containerd_test.nodes.resources] cpu_millicores = 1000 memory_mb = 2048 [containerd_test.nodes.environment] [containerd_test.network] name = "containerd-net" subnet = "172.23.0.0/16" dns_enabled = true dns_servers = [] [postgres_redis] name = "Database Stack Test" description = "PostgreSQL + Redis for application testing" cluster_type = "databases" [[postgres_redis.nodes]] name = "postgres-01" role = "database" taskservs = ["postgres"] [postgres_redis.nodes.resources] cpu_millicores = 2000 memory_mb = 4096 [postgres_redis.nodes.environment] POSTGRES_PASSWORD = "test123" POSTGRES_DB = "testdb" [[postgres_redis.nodes]] name = "redis-01" role = "cache" taskservs = ["redis"] [postgres_redis.nodes.resources] cpu_millicores = 1000 memory_mb = 1024 [postgres_redis.nodes.environment] [postgres_redis.network] name = "db-test-net" subnet = "172.24.0.0/16" dns_enabled = true dns_servers = []