Skip to content

Commit

Permalink
Introduce --enable-cert-rotation option to karmadactl register command
Browse files Browse the repository at this point in the history
Signed-off-by: lonelyCZ <531187475@qq.com>
  • Loading branch information
lonelyCZ committed Oct 27, 2022
1 parent 0826fca commit 241f722
Showing 1 changed file with 13 additions and 1 deletion.
14 changes: 13 additions & 1 deletion pkg/karmadactl/register.go
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,8 @@ func NewCmdRegister(parentCommand string) *cobra.Command {
flags.StringVar(&opts.ClusterNamespace, "cluster-namespace", options.DefaultKarmadaClusterNamespace, "Namespace in the control plane where member cluster secrets are stored.")
flags.StringVar(&opts.ClusterProvider, "cluster-provider", "", "Provider of the joining cluster. The Karmada scheduler can use this information to spread workloads across providers for higher availability.")
flags.StringVar(&opts.ClusterRegion, "cluster-region", "", "The region of the joining cluster. The Karmada scheduler can use this information to spread workloads across regions for higher availability.")
flags.StringVar(&opts.CACertPath, "ca-cert-path", CACertPath, "The path to the SSL certificate authority used to secure comunications between member cluster and karmada-control-plane.")
flags.BoolVar(&opts.EnableCertRotation, "enable-cert-rotation", false, "Enable means controller would rotate certificate for karmada-agent when the certificate is about to expire.")
flags.StringVar(&opts.CACertPath, "ca-cert-path", CACertPath, "The path to the SSL certificate authority used to secure communications between member cluster and karmada-control-plane.")
flags.StringVar(&opts.BootstrapToken.Token, "token", "", "For token-based discovery, the token used to validate cluster information fetched from the API server.")
flags.StringSliceVar(&opts.BootstrapToken.CACertHashes, "discovery-token-ca-cert-hash", []string{}, "For token-based discovery, validate that the root CA public key matches this hash (format: \"<type>:<value>\").")
flags.BoolVar(&opts.BootstrapToken.UnsafeSkipCAVerification, "discovery-token-unsafe-skip-ca-verification", false, "For token-based discovery, allow joining without --discovery-token-ca-cert-hash pinning.")
Expand Down Expand Up @@ -204,6 +205,9 @@ type CommandRegisterOption struct {
// ClusterRegion represents the region of the cluster locate in.
ClusterRegion string

// EnableCertRotation indicates if enable certificate rotation for karmada-agent.
EnableCertRotation bool

// CACertPath is the path to the SSL certificate authority used to
// secure comunications between member cluster and karmada-control-plane.
// Defaults to "/etc/karmada/pki/ca.crt".
Expand Down Expand Up @@ -646,6 +650,13 @@ func (o *CommandRegisterOption) makeKarmadaAgentDeployment() *appsv1.Deployment
},
}

var controllers []string
if o.EnableCertRotation {
controllers = []string{"*", "certRotation"}
} else {
controllers = []string{"*"}
}

podSpec := corev1.PodSpec{
ServiceAccountName: KarmadaAgentServiceAccountName,
Containers: []corev1.Container{
Expand All @@ -659,6 +670,7 @@ func (o *CommandRegisterOption) makeKarmadaAgentDeployment() *appsv1.Deployment
fmt.Sprintf("--cluster-api-endpoint=%s", o.memberClusterEndpoint),
fmt.Sprintf("--cluster-provider=%s", o.ClusterProvider),
fmt.Sprintf("--cluster-region=%s", o.ClusterRegion),
fmt.Sprintf("--controllers=%s", strings.Join(controllers, ",")),
"--cluster-status-update-frequency=10s",
"--bind-address=0.0.0.0",
"--secure-port=10357",
Expand Down

0 comments on commit 241f722

Please sign in to comment.