diff --git a/e2e/k8sworkload.yaml b/e2e/k8sworkload.yaml index 764ec7e4..c95d7f77 100644 --- a/e2e/k8sworkload.yaml +++ b/e2e/k8sworkload.yaml @@ -141,12 +141,12 @@ spec: --- apiVersion: v1 data: - privatekey: | + ssh-privatekey: | LS0tLS1CRUdJTiBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0KYjNCbGJuTnphQzFyWlhrdGRqRUFBQUFBQkc1dmJtVUFBQUFFYm05dVpRQUFBQUFBQUFBQkFBQUFNd0FBQUF0emMyZ3RaVwpReU5UVXhPUUFBQUNEVVJreDk5dWF3MUtkZHJhWmNMcEI1a2ZNcld3dlV6MmZQT29BckxjcHo5UUFBQUpDK2owK1N2bzlQCmtnQUFBQXR6YzJndFpXUXlOVFV4T1FBQUFDRFVSa3g5OXVhdzFLZGRyYVpjTHBCNWtmTXJXd3ZVejJmUE9vQXJMY3B6OVEKQUFBRURjUWdkaDJ6MnIvNmJscTB6aUoxbDZzNklBWDhDKzlRSGZBSDkzMWNITk85UkdUSDMyNXJEVXAxMnRwbHd1a0htUgo4eXRiQzlUUFo4ODZnQ3N0eW5QMUFBQUFEV0p2YkdsaGJrQjFZblZ1ZEhVPQotLS0tLUVORCBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0K kind: Secret metadata: name: host-publickey-key -type: Opaque +type: kubernetes.io/ssh-auth --- apiVersion: sshpiper.com/v1beta1 kind: Pipe diff --git a/plugin/kubernetes/kubernetes.go b/plugin/kubernetes/kubernetes.go index 6e5ab42b..89d2646c 100644 --- a/plugin/kubernetes/kubernetes.go +++ b/plugin/kubernetes/kubernetes.go @@ -169,16 +169,13 @@ func (p *plugin) createUpstream(conn libplugin.ConnMetadata, pipe *piperv1beta1. } anno := pipe.GetAnnotations() - k := anno["privatekey_field_name"] - if k == "" { - k = "privatekey" - } - - data := secret.Data[k] - if data != nil { - u.Auth = libplugin.CreatePrivateKeyAuth(data) - p.cache.Set(conn.UniqueID(), pipe, gocache.DefaultExpiration) - return u, nil + for _, k := range []string{"ssh-privatekey", "privatekey", anno["privatekey_field_name"]} { + data := secret.Data[k] + if data != nil { + u.Auth = libplugin.CreatePrivateKeyAuth(data) + p.cache.Set(conn.UniqueID(), pipe, gocache.DefaultExpiration) + return u, nil + } } return nil, fmt.Errorf("no password or private key found") diff --git a/plugin/kubernetes/sample.yaml b/plugin/kubernetes/sample.yaml index 52786e6a..679c5379 100644 --- a/plugin/kubernetes/sample.yaml +++ b/plugin/kubernetes/sample.yaml @@ -142,19 +142,19 @@ spec: --- apiVersion: v1 data: - privatekey: | + ssh-privatekey: | LS0tLS1CRUdJTiBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0KYjNCbGJuTnphQzFyWlhrdGRqRUFBQUFBQkc1dmJtVUFBQUFFYm05dVpRQUFBQUFBQUFBQkFBQUFNd0FBQUF0emMyZ3RaVwpReU5UVXhPUUFBQUNEVVJreDk5dWF3MUtkZHJhWmNMcEI1a2ZNcld3dlV6MmZQT29BckxjcHo5UUFBQUpDK2owK1N2bzlQCmtnQUFBQXR6YzJndFpXUXlOVFV4T1FBQUFDRFVSa3g5OXVhdzFLZGRyYVpjTHBCNWtmTXJXd3ZVejJmUE9vQXJMY3B6OVEKQUFBRURjUWdkaDJ6MnIvNmJscTB6aUoxbDZzNklBWDhDKzlRSGZBSDkzMWNITk85UkdUSDMyNXJEVXAxMnRwbHd1a0htUgo4eXRiQzlUUFo4ODZnQ3N0eW5QMUFBQUFEV0p2YkdsaGJrQjFZblZ1ZEhVPQotLS0tLUVORCBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0K kind: Secret metadata: name: host-publickey-key -type: Opaque +type: kubernetes.io/ssh-auth --- apiVersion: sshpiper.com/v1beta1 kind: Pipe metadata: name: pipe-publickey annotations: - privatekey_field_name: privatekey # this is optional, default is privatekey + privatekey_field_name: ssh-privatekey # this is optional, default is ssh-privatekey spec: from: - username: ".*" # catch all