fix crendential sync

Signed-off-by: shaowenchen <mail@chenshaowen.com>
This commit is contained in:
shaowenchen
2020-08-28 16:28:14 +08:00
parent f5b3491d7f
commit 2dcabb0bdb
4 changed files with 13 additions and 7 deletions

View File

@@ -48,7 +48,7 @@ const (
// SSHAuthPrivateKey is the key of the passphrase for SecretTypeSSHAuth secrets
SSHAuthPassphraseKey = "passphrase"
// SSHAuthPrivateKey is the key of the privatekey for SecretTypeSSHAuth secrets
SSHAuthPrivateKey = "privatekey"
SSHAuthPrivateKey = "private_key"
// SecretTypeSecretText contains data.
//

View File

@@ -239,8 +239,8 @@ func (c *Controller) syncHandler(key string) error {
}
// Check secret config exists, otherwise we will create it.
// if secret exists, update config
_, err := c.devopsClient.CreateCredentialInProject(nsName, copySecret)
if err != nil {
_, err := c.devopsClient.GetCredentialInProject(nsName, copySecret.Name)
if err == nil {
if _, ok := copySecret.Annotations[devopsv1alpha3.CredentialAutoSyncAnnoKey]; ok {
_, err := c.devopsClient.UpdateCredentialInProject(nsName, copySecret)
if err != nil {
@@ -248,8 +248,13 @@ func (c *Controller) syncHandler(key string) error {
return err
}
}
} else {
_, err = c.devopsClient.CreateCredentialInProject(nsName, copySecret)
if err != nil {
klog.V(8).Info(err, fmt.Sprintf("failed to create secret %s ", key))
return err
}
}
} else {
// Finalizers processing logic
if sliceutil.HasString(copySecret.ObjectMeta.Finalizers, devopsv1alpha3.CredentialFinalizerName) {

View File

@@ -274,6 +274,7 @@ func (d devopsOperator) ListPipelineObj(projectName string, limit, offset int) (
//credentialobj in crd
func (d devopsOperator) CreateCredentialObj(projectName string, secret *v1.Secret) (*v1.Secret, error) {
projectObj, err := d.ksInformers.Devops().V1alpha3().DevOpsProjects().Lister().Get(projectName)
secret.Annotations[devopsv1alpha3.CredentialAutoSyncAnnoKey] = "true"
if err != nil {
return nil, err
}

View File

@@ -67,9 +67,9 @@ func TestNewSshCredential(t *testing.T) {
Namespace: "test",
},
Data: map[string][]byte{
"username": []byte(username),
"passphrase": []byte(passphrase),
"privatekey": []byte(privatekey),
"username": []byte(username),
"passphrase": []byte(passphrase),
"private_key": []byte(privatekey),
},
Type: "credential.devops.kubesphere.io/ssh-auth",
}