Use local paths when possible, some AI cleanup

This commit is contained in:
Tanishq Dubey 2025-05-16 21:20:39 -04:00
parent 4f6365d453
commit 2f6d3c9bb2
No known key found for this signature in database
GPG Key ID: CFC1931B84DFC3F9
7 changed files with 21 additions and 25 deletions

View File

@ -44,7 +44,7 @@ const (
clusterUIDKey = "/kat/config/cluster_uid" clusterUIDKey = "/kat/config/cluster_uid"
clusterConfigKey = "/kat/config/cluster_config" // Stores the JSON of pb.ClusterConfigurationSpec clusterConfigKey = "/kat/config/cluster_config" // Stores the JSON of pb.ClusterConfigurationSpec
defaultNodeName = "kat-node" defaultNodeName = "kat-node"
leaderCertCN = "leader.kat.cluster.local" // Common Name for leader certificate leaderCertCN = "leader.kat.cluster.local" // Common Name for leader certificate
) )
func init() { func init() {
@ -75,11 +75,11 @@ func runInit(cmd *cobra.Command, args []string) {
pkiDir := pki.GetPKIPathFromClusterConfig(parsedClusterConfig.Spec.BackupPath) pkiDir := pki.GetPKIPathFromClusterConfig(parsedClusterConfig.Spec.BackupPath)
caKeyPath := filepath.Join(pkiDir, "ca.key") caKeyPath := filepath.Join(pkiDir, "ca.key")
caCertPath := filepath.Join(pkiDir, "ca.crt") caCertPath := filepath.Join(pkiDir, "ca.crt")
// Check if CA already exists // Check if CA already exists
_, caKeyErr := os.Stat(caKeyPath) _, caKeyErr := os.Stat(caKeyPath)
_, caCertErr := os.Stat(caCertPath) _, caCertErr := os.Stat(caCertPath)
if os.IsNotExist(caKeyErr) || os.IsNotExist(caCertErr) { if os.IsNotExist(caKeyErr) || os.IsNotExist(caCertErr) {
log.Printf("CA key or certificate not found. Generating new CA in %s", pkiDir) log.Printf("CA key or certificate not found. Generating new CA in %s", pkiDir)
if err := pki.GenerateCA(pkiDir, caKeyPath, caCertPath); err != nil { if err := pki.GenerateCA(pkiDir, caKeyPath, caCertPath); err != nil {
@ -158,23 +158,23 @@ func runInit(cmd *cobra.Command, args []string) {
} else { } else {
log.Printf("Cluster UID already exists in etcd. Skipping storage.") log.Printf("Cluster UID already exists in etcd. Skipping storage.")
} }
// Generate leader's server certificate for mTLS // Generate leader's server certificate for mTLS
leaderKeyPath := filepath.Join(pkiDir, "leader.key") leaderKeyPath := filepath.Join(pkiDir, "leader.key")
leaderCSRPath := filepath.Join(pkiDir, "leader.csr") leaderCSRPath := filepath.Join(pkiDir, "leader.csr")
leaderCertPath := filepath.Join(pkiDir, "leader.crt") leaderCertPath := filepath.Join(pkiDir, "leader.crt")
// Check if leader cert already exists // Check if leader cert already exists
_, leaderCertErr := os.Stat(leaderCertPath) _, leaderCertErr := os.Stat(leaderCertPath)
if os.IsNotExist(leaderCertErr) { if os.IsNotExist(leaderCertErr) {
log.Println("Generating leader server certificate for mTLS") log.Println("Generating leader server certificate for mTLS")
// Generate key and CSR for leader // Generate key and CSR for leader
if err := pki.GenerateCertificateRequest(leaderCertCN, leaderKeyPath, leaderCSRPath); err != nil { if err := pki.GenerateCertificateRequest(leaderCertCN, leaderKeyPath, leaderCSRPath); err != nil {
log.Printf("Failed to generate leader key and CSR: %v", err) log.Printf("Failed to generate leader key and CSR: %v", err)
} else { } else {
// Read the CSR file // Read the CSR file
csrData, err := os.ReadFile(leaderCSRPath) _, err := os.ReadFile(leaderCSRPath)
if err != nil { if err != nil {
log.Printf("Failed to read leader CSR file: %v", err) log.Printf("Failed to read leader CSR file: %v", err)
} else { } else {

View File

@ -3,8 +3,8 @@ kind: ClusterConfiguration
metadata: metadata:
name: my-kat-cluster name: my-kat-cluster
spec: spec:
clusterCIDR: "10.100.0.0/16" cluster_CIDR: "10.100.0.0/16"
serviceCIDR: "10.200.0.0/16" service_CIDR: "10.200.0.0/16"
nodeSubnetBits: 7 # Results in /23 node subnets (e.g., 10.100.0.0/23, 10.100.2.0/23) nodeSubnetBits: 7 # Results in /23 node subnets (e.g., 10.100.0.0/23, 10.100.2.0/23)
clusterDomain: "kat.example.local" # Overriding default clusterDomain: "kat.example.local" # Overriding default
apiPort: 9115 apiPort: 9115
@ -15,4 +15,4 @@ spec:
backupPath: "/opt/kat/backups" # Overriding default backupPath: "/opt/kat/backups" # Overriding default
backupIntervalMinutes: 60 backupIntervalMinutes: 60
agentTickSeconds: 10 agentTickSeconds: 10
nodeLossTimeoutSeconds: 45 nodeLossTimeoutSeconds: 45

View File

@ -201,8 +201,8 @@ func TestValidateClusterConfiguration_InvalidValues(t *testing.T) {
ApiPort: 10251, ApiPort: 10251,
EtcdPeerPort: 2380, EtcdPeerPort: 2380,
EtcdClientPort: 2379, EtcdClientPort: 2379,
VolumeBasePath: "/var/lib/kat/volumes", VolumeBasePath: "~/.kat/volumes",
BackupPath: "/var/lib/kat/backups", BackupPath: "~/.kat/backups",
BackupIntervalMinutes: 30, BackupIntervalMinutes: 30,
AgentTickSeconds: 15, AgentTickSeconds: 15,
NodeLossTimeoutSeconds: 60, NodeLossTimeoutSeconds: 60,

View File

@ -11,13 +11,13 @@ const (
DefaultApiPort = 9115 DefaultApiPort = 9115
DefaultEtcdPeerPort = 2380 DefaultEtcdPeerPort = 2380
DefaultEtcdClientPort = 2379 DefaultEtcdClientPort = 2379
DefaultVolumeBasePath = "/var/lib/kat/volumes" DefaultVolumeBasePath = "~/.kat/volumes"
DefaultBackupPath = "/var/lib/kat/backups" DefaultBackupPath = "~/.kat/backups"
DefaultBackupIntervalMins = 30 DefaultBackupIntervalMins = 30
DefaultAgentTickSeconds = 15 DefaultAgentTickSeconds = 15
DefaultNodeLossTimeoutSec = 60 // DefaultNodeLossTimeoutSeconds = DefaultAgentTickSeconds * 4 (example logic) 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) 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. // 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: // 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. // e.g. /16 -> 16 host bits. If nodeSubnetBits = 7, then node subnet is / (16+7) = /23.
) )

View File

@ -1,15 +1,11 @@
package pki package pki
import ( import (
"crypto/rand"
"crypto/rsa" "crypto/rsa"
"crypto/x509" "crypto/x509"
"crypto/x509/pkix"
"encoding/pem" "encoding/pem"
"fmt" "fmt"
"net"
"os" "os"
"time"
) )
// ParseCSRFromBytes parses a PEM-encoded CSR from bytes // ParseCSRFromBytes parses a PEM-encoded CSR from bytes

View File

@ -87,7 +87,7 @@ func TestSignCertificateRequest(t *testing.T) {
// Sign CSR // Sign CSR
certPath := filepath.Join(tempDir, "node.crt") certPath := filepath.Join(tempDir, "node.crt")
err = SignCertificateRequest(caKeyPath, caCertPath, csrData, certPath, 30) // 30 days validity err = SignCertificateRequest(caKeyPath, caCertPath, string(csrData), certPath, 30) // 30 days validity
if err != nil { if err != nil {
t.Fatalf("SignCertificateRequest failed: %v", err) t.Fatalf("SignCertificateRequest failed: %v", err)
} }

View File

@ -51,8 +51,8 @@ spec:
apiPort: 9115 apiPort: 9115
etcdPeerPort: 2380 etcdPeerPort: 2380
etcdClientPort: 2379 etcdClientPort: 2379
volumeBasePath: "/var/lib/kat/volumes" volumeBasePath: "~/.kat/volumes"
backupPath: "/var/lib/kat/backups" backupPath: "~/.kat/backups"
backupIntervalMinutes: 30 backupIntervalMinutes: 30
agentTickSeconds: 15 agentTickSeconds: 15
nodeLossTimeoutSeconds: 60 nodeLossTimeoutSeconds: 60