# m12p5 T4 overlay — SINGLE replication group (no `shards:`). # # T4 is REPLICA elasticity + idle-readiness (scale the voter set 3→5→3), NOT # sharding (that is m12p4/T5). A single group RF=all is the faithful T4 shape: # it mirrors the in-process exit gate `mp_scale_3_5_3_under_load_zero_loss` and # uses the well-proven m11p5 seed-join path (the sharded-cluster *replica* # scale-up — 5 replicas per group — is an untested path outside m12p5's scope). # # Strategic-merge replaces the base ConfigMap's `cluster-topology.yaml` value: # identical to k8s/cluster/topology-configmap.yaml MINUS the `shards:` block, so # every pod runs ONE group binding gRPC 9601 (the extra 9602/9603 containerPorts # in the StatefulSet are simply unbound — harmless). apiVersion: v1 kind: ConfigMap metadata: name: tidaldb-cluster-topology namespace: tidaldb-cluster data: cluster-topology.yaml: | regions: - name: tidaldb-0 grpc_addr: tidaldb-0.tidaldb-peers.tidaldb-cluster.svc.cluster.local:9601 grpc_bind: 0.0.0.0:9601 http_addr: tidaldb-0.tidaldb-peers.tidaldb-cluster.svc.cluster.local:9500 metrics_addr: 0.0.0.0:9091 grpc_tls: &grpc_tls ca_cert: /etc/tidaldb/tls/ca.crt server_cert: /etc/tidaldb/tls/tls.crt server_key: /etc/tidaldb/tls/tls.key client_cert: /etc/tidaldb/tls/tls.crt client_key: /etc/tidaldb/tls/tls.key - name: tidaldb-1 grpc_addr: tidaldb-1.tidaldb-peers.tidaldb-cluster.svc.cluster.local:9601 grpc_bind: 0.0.0.0:9601 http_addr: tidaldb-1.tidaldb-peers.tidaldb-cluster.svc.cluster.local:9500 metrics_addr: 0.0.0.0:9091 grpc_tls: *grpc_tls - name: tidaldb-2 grpc_addr: tidaldb-2.tidaldb-peers.tidaldb-cluster.svc.cluster.local:9601 grpc_bind: 0.0.0.0:9601 http_addr: tidaldb-2.tidaldb-peers.tidaldb-cluster.svc.cluster.local:9500 metrics_addr: 0.0.0.0:9091 grpc_tls: *grpc_tls leader: tidaldb-0 replication: ack: quorum reseed_self_restart: true election: heartbeat_interval_ms: 300 election_timeout_min_ms: 1500 election_timeout_max_ms: 3000 leader_lease_ms: 900 auto_election: true