// Command eks-konnectivity-cert mints, then reuses, a K3s-CA-signed serving // certificate for the on-node konnectivity-server; the implementation is in // agents/eks/konnectivitycert. // // Usage: // // eks-konnectivity-cert -dir /var/lib/spinifex-eks/konnectivity \ // -ca-cert /var/lib/rancher/k3s/server/tls/server-ca.crt \ // -ca-key /var/lib/rancher/k3s/server/tls/server-ca.key \ // -cn konnectivity-server -sans 10.32.100.4,203.0.113.9,eks-toc.example // // Writes /tls.crt and /tls.key; prints the two paths (tab-separated). package main import ( "context" "flag" "log/slog" "os" _ "github.com/mulgadc/bluebottle/pkg/fipsboot" "github.com/mulgadc/spinifex/spinifex/agents/eks/konnectivitycert" ) func main() { cfg := konnectivitycert.Config{Out: os.Stdout} flag.StringVar(&cfg.Dir, "dir", "", "directory to cache tls.crt/tls.key in") flag.StringVar(&cfg.CACert, "ca-cert", "", "PEM path of the signing (K3s server) CA cert") flag.StringVar(&cfg.CAKey, "ca-key", "", "PEM path of the signing CA private key") flag.StringVar(&cfg.CN, "cn", "konnectivity-server", "certificate common name") flag.StringVar(&cfg.SANs, "sans", "", "comma-separated SANs (IP or DNS)") flag.Parse() if err := konnectivitycert.Run(context.Background(), cfg); err != nil { slog.Error("eks-konnectivity-cert: " + err.Error()) os.Exit(1) } }