// File: internal/config/types.go
package config

// For Phase 0, we will primarily use the generated protobuf types
// (e.g., *v1alpha1.ClusterConfiguration) directly.
// This file can hold auxiliary types or constants related to config parsing if needed later.

const (
	DefaultClusterDomain      = "kat.cluster.local"
	DefaultAgentPort          = 9116
	DefaultApiPort            = 9115
	DefaultEtcdPeerPort       = 2380
	DefaultEtcdClientPort     = 2379
	DefaultVolumeBasePath     = "~/.kat/volumes"
	DefaultBackupPath         = "~/.kat/backups"
	DefaultBackupIntervalMins = 30
	DefaultAgentTickSeconds   = 15
	DefaultNodeLossTimeoutSec = 60 // DefaultNodeLossTimeoutSeconds = DefaultAgentTickSeconds * 4 (example logic)
	DefaultNodeSubnetBits     = 7  // yields /23 from /16, or /31 from /24 etc. (5 bits for /29, 7 for /25)
	// RFC says 7 for /23 from /16. This means 2^(32-16-7) = 2^9 = 512 IPs per node subnet.
	// If nodeSubnetBits means bits for the node portion *within* the host part of clusterCIDR:
	// e.g. /16 -> 16 host bits. If nodeSubnetBits = 7, then node subnet is / (16+7) = /23.
)