@@ -48,7 +48,7 @@ const (
|
|||||||
// SSHAuthPrivateKey is the key of the passphrase for SecretTypeSSHAuth secrets
|
// SSHAuthPrivateKey is the key of the passphrase for SecretTypeSSHAuth secrets
|
||||||
SSHAuthPassphraseKey = "passphrase"
|
SSHAuthPassphraseKey = "passphrase"
|
||||||
// SSHAuthPrivateKey is the key of the privatekey for SecretTypeSSHAuth secrets
|
// SSHAuthPrivateKey is the key of the privatekey for SecretTypeSSHAuth secrets
|
||||||
SSHAuthPrivateKey = "privatekey"
|
SSHAuthPrivateKey = "private_key"
|
||||||
|
|
||||||
// SecretTypeSecretText contains data.
|
// SecretTypeSecretText contains data.
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -239,8 +239,8 @@ func (c *Controller) syncHandler(key string) error {
|
|||||||
}
|
}
|
||||||
// Check secret config exists, otherwise we will create it.
|
// Check secret config exists, otherwise we will create it.
|
||||||
// if secret exists, update config
|
// if secret exists, update config
|
||||||
_, err := c.devopsClient.CreateCredentialInProject(nsName, copySecret)
|
_, err := c.devopsClient.GetCredentialInProject(nsName, copySecret.Name)
|
||||||
if err != nil {
|
if err == nil {
|
||||||
if _, ok := copySecret.Annotations[devopsv1alpha3.CredentialAutoSyncAnnoKey]; ok {
|
if _, ok := copySecret.Annotations[devopsv1alpha3.CredentialAutoSyncAnnoKey]; ok {
|
||||||
_, err := c.devopsClient.UpdateCredentialInProject(nsName, copySecret)
|
_, err := c.devopsClient.UpdateCredentialInProject(nsName, copySecret)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -248,8 +248,13 @@ func (c *Controller) syncHandler(key string) error {
|
|||||||
return err
|
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 {
|
} else {
|
||||||
// Finalizers processing logic
|
// Finalizers processing logic
|
||||||
if sliceutil.HasString(copySecret.ObjectMeta.Finalizers, devopsv1alpha3.CredentialFinalizerName) {
|
if sliceutil.HasString(copySecret.ObjectMeta.Finalizers, devopsv1alpha3.CredentialFinalizerName) {
|
||||||
|
|||||||
@@ -274,6 +274,7 @@ func (d devopsOperator) ListPipelineObj(projectName string, limit, offset int) (
|
|||||||
//credentialobj in crd
|
//credentialobj in crd
|
||||||
func (d devopsOperator) CreateCredentialObj(projectName string, secret *v1.Secret) (*v1.Secret, error) {
|
func (d devopsOperator) CreateCredentialObj(projectName string, secret *v1.Secret) (*v1.Secret, error) {
|
||||||
projectObj, err := d.ksInformers.Devops().V1alpha3().DevOpsProjects().Lister().Get(projectName)
|
projectObj, err := d.ksInformers.Devops().V1alpha3().DevOpsProjects().Lister().Get(projectName)
|
||||||
|
secret.Annotations[devopsv1alpha3.CredentialAutoSyncAnnoKey] = "true"
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -67,9 +67,9 @@ func TestNewSshCredential(t *testing.T) {
|
|||||||
Namespace: "test",
|
Namespace: "test",
|
||||||
},
|
},
|
||||||
Data: map[string][]byte{
|
Data: map[string][]byte{
|
||||||
"username": []byte(username),
|
"username": []byte(username),
|
||||||
"passphrase": []byte(passphrase),
|
"passphrase": []byte(passphrase),
|
||||||
"privatekey": []byte(privatekey),
|
"private_key": []byte(privatekey),
|
||||||
},
|
},
|
||||||
Type: "credential.devops.kubesphere.io/ssh-auth",
|
Type: "credential.devops.kubesphere.io/ssh-auth",
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user