mirror of
https://github.com/usual2970/certimate.git
synced 2025-10-04 13:34:52 +00:00
feat: configure k8s secret type
This commit is contained in:
@@ -221,6 +221,7 @@ func createDeployer(target string, accessConfig string, deployConfig map[string]
|
||||
KubeConfig: access.KubeConfig,
|
||||
Namespace: maps.GetValueOrDefaultAsString(deployConfig, "namespace", "default"),
|
||||
SecretName: maps.GetValueAsString(deployConfig, "secretName"),
|
||||
SecretType: maps.GetValueOrDefaultAsString(deployConfig, "secretType", "kubernetes.io/tls"),
|
||||
SecretDataKeyForCrt: maps.GetValueOrDefaultAsString(deployConfig, "secretDataKeyForCrt", "tls.crt"),
|
||||
SecretDataKeyForKey: maps.GetValueOrDefaultAsString(deployConfig, "secretDataKeyForKey", "tls.key"),
|
||||
}, logger)
|
||||
|
@@ -20,13 +20,15 @@ import (
|
||||
type K8sSecretDeployerConfig struct {
|
||||
// kubeconfig 文件内容。
|
||||
KubeConfig string `json:"kubeConfig,omitempty"`
|
||||
// K8s 命名空间。
|
||||
// Kubernetes 命名空间。
|
||||
Namespace string `json:"namespace,omitempty"`
|
||||
// K8s Secret 名称。
|
||||
// Kubernetes Secret 名称。
|
||||
SecretName string `json:"secretName"`
|
||||
// K8s Secret 中用于存放证书的 Key。
|
||||
// Kubernetes Secret 类型。
|
||||
SecretType string `json:"secretType"`
|
||||
// Kubernetes Secret 中用于存放证书的 Key。
|
||||
SecretDataKeyForCrt string `json:"secretDataKeyForCrt,omitempty"`
|
||||
// K8s Secret 中用于存放私钥的 Key。
|
||||
// Kubernetes Secret 中用于存放私钥的 Key。
|
||||
SecretDataKeyForKey string `json:"secretDataKeyForKey,omitempty"`
|
||||
}
|
||||
|
||||
@@ -102,7 +104,7 @@ func (d *K8sSecretDeployer) Deploy(ctx context.Context, certPem string, privkeyP
|
||||
Name: d.config.SecretName,
|
||||
Annotations: secretAnnotations,
|
||||
},
|
||||
Type: k8sCore.SecretType("kubernetes.io/tls"),
|
||||
Type: k8sCore.SecretType(d.config.SecretType),
|
||||
}
|
||||
secretPayload.Data = make(map[string][]byte)
|
||||
secretPayload.Data[d.config.SecretDataKeyForCrt] = []byte(certPem)
|
||||
@@ -118,7 +120,7 @@ func (d *K8sSecretDeployer) Deploy(ctx context.Context, certPem string, privkeyP
|
||||
}
|
||||
|
||||
// 更新 Secret 实例
|
||||
secretPayload.Type = k8sCore.SecretType("kubernetes.io/tls")
|
||||
secretPayload.Type = k8sCore.SecretType(d.config.SecretType)
|
||||
if secretPayload.ObjectMeta.Annotations == nil {
|
||||
secretPayload.ObjectMeta.Annotations = secretAnnotations
|
||||
} else {
|
||||
|
Reference in New Issue
Block a user