From 72a2fa9a24ef31949a9e0d743acb7e124422bf12 Mon Sep 17 00:00:00 2001 From: Max Jonas Werner Date: Wed, 1 Jun 2022 15:10:02 +0200 Subject: [PATCH] use `data` field in Secrets there are some bugs in stringData, and it's better to just use data Signed-off-by: Max Jonas Werner --- cmd/flux/bootstrap_git.go | 4 +- cmd/flux/create_secret.go | 2 +- cmd/flux/create_secret_git.go | 2 +- cmd/flux/create_source_bucket.go | 8 +- cmd/flux/create_source_git.go | 6 +- cmd/flux/create_source_helm.go | 2 +- .../git/git-ssh-secret-password.yaml | 21 ++--- .../create_secret/git/git-ssh-secret.yaml | 18 +--- .../create_secret/git/secret-git-basic.yaml | 6 +- .../create_secret/helm/secret-helm.yaml | 6 +- .../create_secret/tls/secret-tls.yaml | 89 +------------------ internal/bootstrap/bootstrap.go | 2 +- internal/bootstrap/bootstrap_provider.go | 6 +- pkg/manifestgen/sourcesecret/sourcesecret.go | 20 ++--- 14 files changed, 44 insertions(+), 148 deletions(-) diff --git a/cmd/flux/bootstrap_git.go b/cmd/flux/bootstrap_git.go index f3005107..b4c03348 100644 --- a/cmd/flux/bootstrap_git.go +++ b/cmd/flux/bootstrap_git.go @@ -285,12 +285,12 @@ func transportForURL(u *url.URL) (transport.AuthMethod, error) { } func promptPublicKey(ctx context.Context, secret corev1.Secret, _ sourcesecret.Options) error { - ppk, ok := secret.StringData[sourcesecret.PublicKeySecretKey] + ppk, ok := secret.Data[sourcesecret.PublicKeySecretKey] if !ok { return nil } - logger.Successf("public key: %s", strings.TrimSpace(ppk)) + logger.Successf("public key: %s", strings.TrimSpace(string(ppk))) if !gitArgs.silent { prompt := promptui.Prompt{ diff --git a/cmd/flux/create_secret.go b/cmd/flux/create_secret.go index 9aad039c..51c349d3 100644 --- a/cmd/flux/create_secret.go +++ b/cmd/flux/create_secret.go @@ -55,7 +55,7 @@ func upsertSecret(ctx context.Context, kubeClient client.Client, secret corev1.S return err } - existing.StringData = secret.StringData + existing.Data = secret.Data if err := kubeClient.Update(ctx, &existing); err != nil { return err } diff --git a/cmd/flux/create_secret_git.go b/cmd/flux/create_secret_git.go index 054c8a98..f648d85b 100644 --- a/cmd/flux/create_secret_git.go +++ b/cmd/flux/create_secret_git.go @@ -167,7 +167,7 @@ func createSecretGitCmdRun(cmd *cobra.Command, args []string) error { return err } - if ppk, ok := s.StringData[sourcesecret.PublicKeySecretKey]; ok { + if ppk, ok := s.Data[sourcesecret.PublicKeySecretKey]; ok { logger.Generatef("deploy key: %s", ppk) } diff --git a/cmd/flux/create_source_bucket.go b/cmd/flux/create_source_bucket.go index e528deed..1bb116fa 100644 --- a/cmd/flux/create_source_bucket.go +++ b/cmd/flux/create_source_bucket.go @@ -177,15 +177,15 @@ func createSourceBucketCmdRun(cmd *cobra.Command, args []string) error { Namespace: *kubeconfigArgs.Namespace, Labels: sourceLabels, }, - StringData: map[string]string{}, + Data: map[string][]byte{}, } if sourceBucketArgs.accessKey != "" && sourceBucketArgs.secretKey != "" { - secret.StringData["accesskey"] = sourceBucketArgs.accessKey - secret.StringData["secretkey"] = sourceBucketArgs.secretKey + secret.Data["accesskey"] = []byte(sourceBucketArgs.accessKey) + secret.Data["secretkey"] = []byte(sourceBucketArgs.secretKey) } - if len(secret.StringData) > 0 { + if len(secret.Data) > 0 { logger.Actionf("applying secret with the bucket credentials") if err := upsertSecret(ctx, kubeClient, secret); err != nil { return err diff --git a/cmd/flux/create_source_git.go b/cmd/flux/create_source_git.go index 9dba83ef..ee5d8b00 100644 --- a/cmd/flux/create_source_git.go +++ b/cmd/flux/create_source_git.go @@ -281,11 +281,11 @@ func createSourceGitCmdRun(cmd *cobra.Command, args []string) error { if err = yaml.Unmarshal([]byte(secret.Content), &s); err != nil { return err } - if len(s.StringData) > 0 { - if hk, ok := s.StringData[sourcesecret.KnownHostsSecretKey]; ok { + if len(s.Data) > 0 { + if hk, ok := s.Data[sourcesecret.KnownHostsSecretKey]; ok { logger.Successf("collected public key from SSH server:\n%s", hk) } - if ppk, ok := s.StringData[sourcesecret.PublicKeySecretKey]; ok { + if ppk, ok := s.Data[sourcesecret.PublicKeySecretKey]; ok { logger.Generatef("deploy key: %s", ppk) if !sourceGitArgs.silent { prompt := promptui.Prompt{ diff --git a/cmd/flux/create_source_helm.go b/cmd/flux/create_source_helm.go index d294aace..85faf51a 100644 --- a/cmd/flux/create_source_helm.go +++ b/cmd/flux/create_source_helm.go @@ -170,7 +170,7 @@ func createSourceHelmCmdRun(cmd *cobra.Command, args []string) error { if err = yaml.Unmarshal([]byte(secret.Content), &s); err != nil { return err } - if len(s.StringData) > 0 { + if len(s.Data) > 0 { logger.Actionf("applying secret with repository credentials") if err := upsertSecret(ctx, kubeClient, s); err != nil { return err diff --git a/cmd/flux/testdata/create_secret/git/git-ssh-secret-password.yaml b/cmd/flux/testdata/create_secret/git/git-ssh-secret-password.yaml index 4c9121a3..dd5e888d 100644 --- a/cmd/flux/testdata/create_secret/git/git-ssh-secret-password.yaml +++ b/cmd/flux/testdata/create_secret/git/git-ssh-secret-password.yaml @@ -1,23 +1,12 @@ --- apiVersion: v1 +data: + identity: LS0tLS1CRUdJTiBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0KYjNCbGJuTnphQzFyWlhrdGRqRUFBQUFBQ21GbGN6STFOaTFqZEhJQUFBQUdZbU55ZVhCMEFBQUFHQUFBQUJBOWk3aFo3bQpVQlB4RjdHdVVzd1ppWEFBQUFFQUFBQUFFQUFBQm9BQUFBRTJWalpITmhMWE5vWVRJdGJtbHpkSEF5TlRZQUFBQUlibWx6CmRIQXlOVFlBQUFCQkJPT0FRZmh3eWxnNldoSlJYaGEySzFkSlk1QkcxMm5zUzdZeUZsS1BBb3ZPQUM4ZDhyVE96ampEV3UKa0cyNEpWUnJYb1dVTjZlV1d2eER2TWQ1cFpUMXdBQUFEQWVwWVpQR1RRbkg2Z2VuaFUreTlhRDFHRk84QnNPRElsbHhFcQpUOG4yZUxBbVBXWUx2NEhoZ3RtYnF0c09tVEU5c1ZNNXluWWovZEFYMVNyZW9HZW9NRVZGSXQxY1l0V2d5dUpjY0VpSzR0CjFKUUxGTE1LbkJSVFkreUlkRDZnWDd0TFJSTC9qcXpNUjRYWkY1L1lmNDhsdlU0aCtsanVPaXRXSDNlYTkxNDJpemwyV2sKZVhBZmVvZXpKYURudFpVVUVZdktNSTVVNmlXVm5pK2M3dk9jSkZUWmdCZVY0aTU0dWEwNnRZNW1FL21XQVJsZGlTRHRKRwp5R0VPYW5rRG5mCi0tLS0tRU5EIE9QRU5TU0ggUFJJVkFURSBLRVktLS0tLQo= + identity.pub: ZWNkc2Etc2hhMi1uaXN0cDI1NiBBQUFBRTJWalpITmhMWE5vWVRJdGJtbHpkSEF5TlRZQUFBQUlibWx6ZEhBeU5UWUFBQUJCQk9PQVFmaHd5bGc2V2hKUlhoYTJLMWRKWTVCRzEybnNTN1l5RmxLUEFvdk9BQzhkOHJUT3pqakRXdWtHMjRKVlJyWG9XVU42ZVdXdnhEdk1kNXBaVDF3PQo= + known_hosts: Z2l0aHViLmNvbSBlY2RzYS1zaGEyLW5pc3RwMjU2IEFBQUFFMlZqWkhOaExYTm9ZVEl0Ym1semRIQXlOVFlBQUFBSWJtbHpkSEF5TlRZQUFBQkJCRW1LU0VOalFFZXpPbXhrWk15N29wS2d3RkI5bmt0NVlScllNak51RzVOODd1UmdnNkNMcmJvNXdBZFQveTZ2MG1LVjBVMncwV1oyWUIvKytUcG9ja2c9 + password: cGFzc3dvcmQ= kind: Secret metadata: name: podinfo-auth namespace: my-namespace -stringData: - identity: | - -----BEGIN OPENSSH PRIVATE KEY----- - b3BlbnNzaC1rZXktdjEAAAAACmFlczI1Ni1jdHIAAAAGYmNyeXB0AAAAGAAAABA9i7hZ7m - UBPxF7GuUswZiXAAAAEAAAAAEAAABoAAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlz - dHAyNTYAAABBBOOAQfhwylg6WhJRXha2K1dJY5BG12nsS7YyFlKPAovOAC8d8rTOzjjDWu - kG24JVRrXoWUN6eWWvxDvMd5pZT1wAAADAepYZPGTQnH6genhU+y9aD1GFO8BsODIllxEq - T8n2eLAmPWYLv4HhgtmbqtsOmTE9sVM5ynYj/dAX1SreoGeoMEVFIt1cYtWgyuJccEiK4t - 1JQLFLMKnBRTY+yIdD6gX7tLRRL/jqzMR4XZF5/Yf48lvU4h+ljuOitWH3ea9142izl2Wk - eXAfeoezJaDntZUUEYvKMI5U6iWVni+c7vOcJFTZgBeV4i54ua06tY5mE/mWARldiSDtJG - yGEOankDnf - -----END OPENSSH PRIVATE KEY----- - identity.pub: | - ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBOOAQfhwylg6WhJRXha2K1dJY5BG12nsS7YyFlKPAovOAC8d8rTOzjjDWukG24JVRrXoWUN6eWWvxDvMd5pZT1w= - known_hosts: github.com ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEmKSENjQEezOmxkZMy7opKgwFB9nkt5YRrYMjNuG5N87uRgg6CLrbo5wAdT/y6v0mKV0U2w0WZ2YB/++Tpockg= - password: password diff --git a/cmd/flux/testdata/create_secret/git/git-ssh-secret.yaml b/cmd/flux/testdata/create_secret/git/git-ssh-secret.yaml index caa7383e..c7fccc78 100644 --- a/cmd/flux/testdata/create_secret/git/git-ssh-secret.yaml +++ b/cmd/flux/testdata/create_secret/git/git-ssh-secret.yaml @@ -1,21 +1,11 @@ --- apiVersion: v1 +data: + identity: LS0tLS1CRUdJTiBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0KYjNCbGJuTnphQzFyWlhrdGRqRUFBQUFBQkc1dmJtVUFBQUFFYm05dVpRQUFBQUFBQUFBQkFBQUFhQUFBQUJObFkyUnpZUwoxemFHRXlMVzVwYzNSd01qVTJBQUFBQ0c1cGMzUndNalUyQUFBQVFRVHVpdStnR3dMSXU5RTVKNHZSc2hvSUJIU2NLeDRZCmY5b25pV01zTEZIWHE1cDlHSi9lYjlDcjNqZ05BQ25HT0lHT3Fsd0JRdlA1ckNKdWFKMHBDUktVQUFBQXVORTFHdHZSTlIKcmJBQUFBRTJWalpITmhMWE5vWVRJdGJtbHpkSEF5TlRZQUFBQUlibWx6ZEhBeU5UWUFBQUJCQk82Szc2QWJBc2k3MFRrbgppOUd5R2dnRWRKd3JIaGgvMmllSll5d3NVZGVybW4wWW45NXYwS3ZlT0EwQUtjWTRnWTZxWEFGQzgvbXNJbTVvblNrSkVwClFBQUFBaEFQYU82UGlOKzEyMzhLTXJIZzM0TTdYZGZ0R3lwdDIvVUtFejJMMlBmNDB5QUFBQUgzTnZiWFJ2WTJocGIyNTUKWld0M1pYSmxRRk52YlhSdlkyaHBjeTFOUWxBPQotLS0tLUVORCBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0K + identity.pub: ZWNkc2Etc2hhMi1uaXN0cDI1NiBBQUFBRTJWalpITmhMWE5vWVRJdGJtbHpkSEF5TlRZQUFBQUlibWx6ZEhBeU5UWUFBQUJCQk82Szc2QWJBc2k3MFRrbmk5R3lHZ2dFZEp3ckhoaC8yaWVKWXl3c1VkZXJtbjBZbjk1djBLdmVPQTBBS2NZNGdZNnFYQUZDOC9tc0ltNW9uU2tKRXBRPQo= + known_hosts: Z2l0aHViLmNvbSBlY2RzYS1zaGEyLW5pc3RwMjU2IEFBQUFFMlZqWkhOaExYTm9ZVEl0Ym1semRIQXlOVFlBQUFBSWJtbHpkSEF5TlRZQUFBQkJCRW1LU0VOalFFZXpPbXhrWk15N29wS2d3RkI5bmt0NVlScllNak51RzVOODd1UmdnNkNMcmJvNXdBZFQveTZ2MG1LVjBVMncwV1oyWUIvKytUcG9ja2c9 kind: Secret metadata: name: podinfo-auth namespace: my-namespace -stringData: - identity: | - -----BEGIN OPENSSH PRIVATE KEY----- - b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAaAAAABNlY2RzYS - 1zaGEyLW5pc3RwMjU2AAAACG5pc3RwMjU2AAAAQQTuiu+gGwLIu9E5J4vRshoIBHScKx4Y - f9oniWMsLFHXq5p9GJ/eb9Cr3jgNACnGOIGOqlwBQvP5rCJuaJ0pCRKUAAAAuNE1GtvRNR - rbAAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBO6K76AbAsi70Tkn - i9GyGggEdJwrHhh/2ieJYywsUdermn0Yn95v0KveOA0AKcY4gY6qXAFC8/msIm5onSkJEp - QAAAAhAPaO6PiN+1238KMrHg34M7XdftGypt2/UKEz2L2Pf40yAAAAH3NvbXRvY2hpb255 - ZWt3ZXJlQFNvbXRvY2hpcy1NQlA= - -----END OPENSSH PRIVATE KEY----- - identity.pub: | - ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBO6K76AbAsi70Tkni9GyGggEdJwrHhh/2ieJYywsUdermn0Yn95v0KveOA0AKcY4gY6qXAFC8/msIm5onSkJEpQ= - known_hosts: github.com ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEmKSENjQEezOmxkZMy7opKgwFB9nkt5YRrYMjNuG5N87uRgg6CLrbo5wAdT/y6v0mKV0U2w0WZ2YB/++Tpockg= diff --git a/cmd/flux/testdata/create_secret/git/secret-git-basic.yaml b/cmd/flux/testdata/create_secret/git/secret-git-basic.yaml index 12237792..688f4bed 100644 --- a/cmd/flux/testdata/create_secret/git/secret-git-basic.yaml +++ b/cmd/flux/testdata/create_secret/git/secret-git-basic.yaml @@ -1,10 +1,10 @@ --- apiVersion: v1 +data: + password: bXktcGFzc3dvcmQ= + username: bXktdXNlcm5hbWU= kind: Secret metadata: name: podinfo-auth namespace: my-namespace -stringData: - password: my-password - username: my-username diff --git a/cmd/flux/testdata/create_secret/helm/secret-helm.yaml b/cmd/flux/testdata/create_secret/helm/secret-helm.yaml index d32339b9..2b49f8f8 100644 --- a/cmd/flux/testdata/create_secret/helm/secret-helm.yaml +++ b/cmd/flux/testdata/create_secret/helm/secret-helm.yaml @@ -1,10 +1,10 @@ --- apiVersion: v1 +data: + password: bXktcGFzc3dvcmQ= + username: bXktdXNlcm5hbWU= kind: Secret metadata: name: helm-secret namespace: my-namespace -stringData: - password: my-password - username: my-username diff --git a/cmd/flux/testdata/create_secret/tls/secret-tls.yaml b/cmd/flux/testdata/create_secret/tls/secret-tls.yaml index 359af2b7..51270c13 100644 --- a/cmd/flux/testdata/create_secret/tls/secret-tls.yaml +++ b/cmd/flux/testdata/create_secret/tls/secret-tls.yaml @@ -1,92 +1,9 @@ --- apiVersion: v1 +data: + certFile: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZhekNDQTFPZ0F3SUJBZ0lVVDg0amVPL25jT3JxSStGWTA1RnpiZzhFZDdNd0RRWUpLb1pJaHZjTkFRRUwKQlFBd1JURUxNQWtHQTFVRUJoTUNRVlV4RXpBUkJnTlZCQWdNQ2xOdmJXVXRVM1JoZEdVeElUQWZCZ05WQkFvTQpHRWx1ZEdWeWJtVjBJRmRwWkdkcGRITWdVSFI1SUV4MFpEQWVGdzB5TVRBNE1EZ3hORFF5TXpWYUZ3MHlNakE0Ck1EZ3hORFF5TXpWYU1FVXhDekFKQmdOVkJBWVRBa0ZWTVJNd0VRWURWUVFJREFwVGIyMWxMVk4wWVhSbE1TRXcKSHdZRFZRUUtEQmhKYm5SbGNtNWxkQ0JYYVdSbmFYUnpJRkIwZVNCTWRHUXdnZ0lpTUEwR0NTcUdTSWIzRFFFQgpBUVVBQTRJQ0R3QXdnZ0lLQW9JQ0FRRG4vclBzWjc0b3lwaXdDekxseDU3enBsVGlDaS9XTFNGK01tTEd1VHZNCkVRblYrT05EMnpGZ3ZESVYvdkZzM2Jya2Q2ckxWSTROY2RnU2o0WUtVTENNd3dPbDQ1aFFQZENURVBKdlVoQ20KTStGdVEwY3ptRUVKU2padGRMRnoxQjdRQi9KZW1ObmJmaWd4TTltbGc1OEFsQmhWSnFuOHE2NHdkL2tDL1cvSwpKVExKdUJpVmYxMlppUG9QZk80V1N4QXFEM29wWjhnZGJtSzBLWVFBaEtqRXRvNlpyWUdpc2Z3VTFndDNsOE03CnNDSlNwRWtPa3B1UWdKOEQreHpKUzM2VlhCSlFNTVA5bkFQcHMreC9yR0ZwbHNQTXNYRUZGaXd2UjErRkpad3oKbGcyc0o5MWJMR1pRN3ZuNzRNZnNHcnhwaUp3bGxSVGhKeVQ3QzlWMHNqYjV0clQybEVxWmxQMmRSU0pZdDdhSgoxY3JFY2RHU2w2UklLZ3hTVjZIazhkaC9aYVRqclR3YUt4VmtQbzJJZUVYeTV4clI3RHlvbk9RNlllczBLT0NtCkpCNXlIa0ZsSVZFbkxtL0haWEV0bTNiUEhzRmdUWnVJbnlCQ09NWHBVRVN1VlpJdzhZSytWZDZBRXhHUFB3WjQKbjVJL3NDRHhXSUk5b3dJajNMZUx6ZFVHNkpvcm9haGhHbW84cmdwYkpwUG5TK1ZncnlRL3JhVVFqcUR6REN1RQo5dktYS0JsU1VxSzZIOUErTk1jMG1tZTdNOC9HWDdUN2V3RkdVQi94c2RyY080eVhqcUhuQWUweUxmOGVwRGpDCmhoNzZiWXF3d2luVnJtZmNOY1J4RlZKWlcyejBnR2Rna09rT0xhVlZiOWdnUFYyU05BSGJONEErU3QvaVJZUjUKYXdJREFRQUJvMU13VVRBZEJnTlZIUTRFRmdRVXpNYUNxVk0zMEVaRmZUZU5VSUo1Zk5QQWhhUXdId1lEVlIwagpCQmd3Rm9BVXpNYUNxVk0zMEVaRmZUZU5VSUo1Zk5QQWhhUXdEd1lEVlIwVEFRSC9CQVV3QXdFQi96QU5CZ2txCmhraUc5dzBCQVFzRkFBT0NBZ0VBVm1rMXJYdFZrWVIxVnMyVmEveHJVYUdYbEZ6bmhQVS9GZnQ0NGtpRWtrTHAKbUxWZWxXeUFxdlhZaW9xc3Nad3VablRqR3owRFFQcXpKanF3dUd5NENId1BMbWhDdGZIcGxyYldvOGEwaXZZQwpjTDIwS2Zac0c5NDFzaVVoN0xHQmpUc3E2bVdCZjJ5dGxGbWcvZmc5M1NnbXFjRVVBVWNkcHMwSnBaRDhsZ1dCClpNc3RmcjZFM2phRXVzM09zdkRENmhKTllaNWNsSjUreW5Mb1daOTlBOUpDMFU0NmhtSVpwUmpiZFN2YXNLcEQKWHJYVGRwenlML0RvM3puWEUveWZvSHY0Ly9SajJDcFBISkxZUkNJenZ1ZjFtbzFmV2Q1M0ZqSHZyYlV2YUhGegpDR3VaUk9kNGRDNFJ4NW5adzJvZ0lZdko4bTZIcElEa0wzcEJOU1FKdElzdkFZRVFjb3RKb2E1RC9lOWZ1MldyCitvZzM3b0NZNE9YelZpRUJRdnl4S0Q0Y2FqTmNvMWZnR0tFYUZST0FEd3IzSmNlR0k3QW5xNVcreGRVdkFHTk0KUXVHZUN1ZXFOeXJKMENiUTF6RWh3Z3BrL1ZZZkIwdTltMGJqTWVsbFJsS01kb2pieStGRENKdEFKZXN4OW5vNApTUVh5eCthTkhoajNxUmV5c2pHTndadkJrMUlITDA0SEFUK29nTmlZaFRsMUovWU9ONE1CNVVONlkyUHhQNnVHCkt2SkdQaWd4NGZBd2ZSL2Q3OG81bmd3b0g5bSs4RlVnOCtxbGxKOFhnSWJsL1ZYS1RrM0c0Y2VPbTRlQm1yZWwKRHdXdUJoRUxTanRYV1BXaE1sa2llYmdlakRiQWVhcjUzTGlhMkNjNDN6eC9LdWhNSEJUbEtZL3ZZNEYyWWlJPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg== + keyFile: LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUpSQUlCQURBTkJna3Foa2lHOXcwQkFRRUZBQVNDQ1M0d2dna3FBZ0VBQW9JQ0FRRG4vclBzWjc0b3lwaXcKQ3pMbHg1N3pwbFRpQ2kvV0xTRitNbUxHdVR2TUVRblYrT05EMnpGZ3ZESVYvdkZzM2Jya2Q2ckxWSTROY2RnUwpqNFlLVUxDTXd3T2w0NWhRUGRDVEVQSnZVaENtTStGdVEwY3ptRUVKU2padGRMRnoxQjdRQi9KZW1ObmJmaWd4Ck05bWxnNThBbEJoVkpxbjhxNjR3ZC9rQy9XL0tKVExKdUJpVmYxMlppUG9QZk80V1N4QXFEM29wWjhnZGJtSzAKS1lRQWhLakV0bzZacllHaXNmd1UxZ3QzbDhNN3NDSlNwRWtPa3B1UWdKOEQreHpKUzM2VlhCSlFNTVA5bkFQcApzK3gvckdGcGxzUE1zWEVGRml3dlIxK0ZKWnd6bGcyc0o5MWJMR1pRN3ZuNzRNZnNHcnhwaUp3bGxSVGhKeVQ3CkM5VjBzamI1dHJUMmxFcVpsUDJkUlNKWXQ3YUoxY3JFY2RHU2w2UklLZ3hTVjZIazhkaC9aYVRqclR3YUt4VmsKUG8ySWVFWHk1eHJSN0R5b25PUTZZZXMwS09DbUpCNXlIa0ZsSVZFbkxtL0haWEV0bTNiUEhzRmdUWnVJbnlCQwpPTVhwVUVTdVZaSXc4WUsrVmQ2QUV4R1BQd1o0bjVJL3NDRHhXSUk5b3dJajNMZUx6ZFVHNkpvcm9haGhHbW84CnJncGJKcFBuUytWZ3J5US9yYVVRanFEekRDdUU5dktYS0JsU1VxSzZIOUErTk1jMG1tZTdNOC9HWDdUN2V3RkcKVUIveHNkcmNPNHlYanFIbkFlMHlMZjhlcERqQ2hoNzZiWXF3d2luVnJtZmNOY1J4RlZKWlcyejBnR2Rna09rTwpMYVZWYjlnZ1BWMlNOQUhiTjRBK1N0L2lSWVI1YXdJREFRQUJBb0lDQVFDVHh1aXhRL3diVzhJYkVXY2dleUhECkxrYVBuZEdPNmp5VmVGNzNHdkwrTURSRnVqNTU4TnZwTkxmcXp2VFdWZjlBblFHTWQ1WHM5b0dlZ1JIdTdDc3AKM3VjcCttb0JZdjdEVDE0K2p0WFFLT2dHSnBEcVNxZlMxUlVLYi9UQlJYTkRMR3kwMlVTY3ppV29BZEUzM3ptZgpVcmFWTndXOHoxY3J4S0EzeVZ3Mk5hKytVcWhHUWxWTEFiZlh1Y3FuSkxWdE5XS3BrVlFsZXpVZ2NmbUZvdnNtCkl1dCs5TWpJNi9zWkFxZFhUTEt1Q0tvMFhqV3pOS3duUmVjRTBDWXNDd3pjODBNdkZZRWl3UWkxQzBrd29vdUMKaU9pOE1LTS9qRG9rKzUvYTNuUTdYKy9obzVzYkFwTkNKcGZTWEFLOVlPSjNqdTkzK1JqTnV2T1JmcDQvc1czVwpPR1h3NlgzMFltN1dTLzdvWXV3RUlMeXFkeU5PdktVN2ErMTdkL1cvWUE2ME5PZEE0aUpJM2FUZllGTUQzbDE0CkRhK0Qvd2tUbEVOM1llN0dOMjFBOUFzWndXV2lUOUc1Rk94V1dWdjduVFBHK0l4NWV3ZWhRV3QvM0R4aFNpelIKaW5NQml6TDV4cHd4OUxSV0huWFgyNzdsQ2hZbVBGQUFNWElObDFoblg2czBFWTlwU0RITjBJZGRpYkprTktCRAptMUNOMzdycXhvWFF6NHpvQXlKR2ZRVmtha3FlMTZheXFJOXl1UXdPNkFVa1pjRDVEWVFkejlRWU9UbllyUWM2CjZoYUMzRDBGbXFnMXM0dis2Z3B4WkEvcVRyaTBnVmwvdi9OTjRNazIvcVd0SzMzaW1PZWRnRCs1TFhoWmRCZ0oKTXFuNTNBRXJHL0FUNjIyanZTYjVVUUtDQVFFQS9EVEdMaDBDdDk3UENtK2MrUHhSRnlpZWFITkpMV0VOS3l4cApIb1dHSGZwMkJ2dDJWcGhvaTdHcFJDTS95dGE0dkNaZ1ptZVdUUTB5Qmc2aVBWUFJBNkhvNWhxaDlPa1VZVm9oCnByTDNKc0lVMjBqVHV0WWpvMmFlZk80cVhuSmZra1h4Tk8yRkVsVUhEVHd0V2RsR0pRS3ZsVUp3VHY2eE8xOXYKYlFRa2haU3ByaTZnSXBpNU5rbTJTR0V0RG9mUkorRjZUaGJRaWJFYXRMNkRSMDBkaDM5TVlReit0WlA1b2x6bgprWDViSEVCV0I3Z3krWXhUR0Y4RmRsQ1NRVEJCdE5TS3NBdjNDeGo0cUVIbStmdTA5dm5INmZPWktlblQyblhECjVRRS9ScGdRekxWMVR1bUNqcUx6cXdwN2JiekgrNG1qc1hwRjNLSEJad25oTW5ESVJ3S0NBUUVBNjN3WXpqQnkKbm8wR0JCejBoT1dyT3dRL0FqVUhmaTQ3bzNYdmw0UkJqWmNsTTE3MUhLSDdvTUNuUXZWS1ROcThqdmFrQ1pqYwpVSTZpK0g0UjZhb2tpRlMyeEdiQzJIM1psU01GTndoYjJ4VXMvQzROcjdKU09XWkJ0RHk1UUJzcFVzcDI2ZjdtCjlWTlZSekNtbnhXVjliZS8xVHhIRHpEaHNsTmxMNVRNZWpiTW9yV25ydE5HNDFLV3dHdHd2djJnQXByMzg5NGoKZUpOT2gwV0dmc01rWFVNNis0djRXY0NHcmRWOENyNk52dTk2WlplMlBXdTJkQU50QWZueHFvZ1hYQ29GRTZyMQp2aWU3aEZTZkoyUVIvdkViYW5FRDRwWUdUdEdZUDFvc2VTY3gwdTBoTGhHTEdjY1ZCVU5abFJib3g0cklPRUxJCnY5TUx1aU9MNFlYN3ZRS0NBUUFHek1sM0h0TWU4QVAzRFJGWGFUNHFlSzdrdEE4S0NTN1l0aWJUYXRnMTRMWGoKOUUyNWdmeDNuNytubGFlM3FWaHJ3a0VoSWJQY3VmbGFUblN6WUpvbkZldDRvTWt6R0VHemFrRzBBK2xFQTBHYQpzL2o1ZGFLYVdqNzFzVm8xRjdKWitFYkxuWWZUK2JUcDkzQmxsc1VjWkZrbGxoZi9HVURnRCsrcUtjMXVTSmJXCm1tMDQ0Wk5FMG5IMnU2QUNYMGtWWVMveUFRMTRXTzBXYUhpVHFKR2VRS0Zua0hraG5pN0I0TzFoYjkyM0Fra1AKaGpqaG41WHg5MFhuYmI2endVQlVSdExDY21BanpYV08yOUFGZDNMbW9jOXhFRjlWMFBja1ViNkpZeUk0bmdyOQo2ZnFTdVJzTEMzdTBaZUQwRVgzMjJ6d3RvZFZXWUlvZFpCZk5TMXNyQW9JQkFRQ2pUVVBHZVVLRFFUalMwV0dnClo4VC9BRXJSdFFTbE5GcVhXTW4yUVBsVXYyUkU0NjBIVmkyeHBPaFpQdEZ2eXFESVk3SU9GYnR6QWZkeWE3cncKVjlWTjFiR0pNZG9kVitqenkzMXFWSm1lckdpdDJTSVVuWXozMFRudlM4MEw3OG9RWitkZkRpNE1JdVlZb0Z4cwpKZ1FBaXBTMXd6OWtBWG9DdUdLTFJKMG9nNmdWamZQakFSRS93NTVYZ2lxRnlFeVdnZkZCWk9Na1VzTTZlN1J4Clk5SnIrcHVFcGVSc0dWOU1YYWZQcTZXUXEzSXQwYS9IbUZMRzBUbGZEWDNSek42bVExMlI3aFRNOGJEUWEvNlMKeW9yUVNWUEIxTzNrekRWRG80WDVLUWQrWFBmb1ZobVVZUVlkc2ptWmxNTWk2T2cwdU1Gd2dwL0VwdzZTM3VPNgpXYmZoQW9JQkFRQ09wNGlJYzg3R3l4V0w4dTZIckphcW1GbHFrZm91MGhJK3k5aDZGZnpzQllVNnkzK2dSWWRGCndyMlM5RVVBYjgwa0VRMXYwcHQ5NDE3Tk9HYzFwbVlqS0NabURaN3FlR0NHazJQUjBVNTkreEpldFhCV1doYnEKNUp4Y3dkUllvSHlybUMvTElOeHp6cVlPUWJRZXZiVzB6Y0Vza2VLZkpzT3RqOVdKdDZVOUIxWVpiRThwdTJRVgp4anZiK1lla0QyUituL3VtVjZlaWFHZkRhdStFV3VkWVZUcVkwbVI3eTloVGlGUi9LbnFTc3kyQlVqbGpwYWNTClhCUU80aWc3dlk4KzErTDN3MnhwVE45NS9yWEF2QjRCYk8vRExlYTlBcmlrZVBvU0orYlZUajBZd3JLQmdoZXAKa092YnZWQU5ycHN1bmxTQWNwWG0xcWtWK0creFBueUoKLS0tLS1FTkQgUFJJVkFURSBLRVktLS0tLQo= kind: Secret metadata: name: certs namespace: my-namespace -stringData: - certFile: | - -----BEGIN CERTIFICATE----- - MIIFazCCA1OgAwIBAgIUT84jeO/ncOrqI+FY05Fzbg8Ed7MwDQYJKoZIhvcNAQEL - BQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM - GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAeFw0yMTA4MDgxNDQyMzVaFw0yMjA4 - MDgxNDQyMzVaMEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEw - HwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwggIiMA0GCSqGSIb3DQEB - AQUAA4ICDwAwggIKAoICAQDn/rPsZ74oypiwCzLlx57zplTiCi/WLSF+MmLGuTvM - EQnV+OND2zFgvDIV/vFs3brkd6rLVI4NcdgSj4YKULCMwwOl45hQPdCTEPJvUhCm - M+FuQ0czmEEJSjZtdLFz1B7QB/JemNnbfigxM9mlg58AlBhVJqn8q64wd/kC/W/K - JTLJuBiVf12ZiPoPfO4WSxAqD3opZ8gdbmK0KYQAhKjEto6ZrYGisfwU1gt3l8M7 - sCJSpEkOkpuQgJ8D+xzJS36VXBJQMMP9nAPps+x/rGFplsPMsXEFFiwvR1+FJZwz - lg2sJ91bLGZQ7vn74MfsGrxpiJwllRThJyT7C9V0sjb5trT2lEqZlP2dRSJYt7aJ - 1crEcdGSl6RIKgxSV6Hk8dh/ZaTjrTwaKxVkPo2IeEXy5xrR7DyonOQ6Yes0KOCm - JB5yHkFlIVEnLm/HZXEtm3bPHsFgTZuInyBCOMXpUESuVZIw8YK+Vd6AExGPPwZ4 - n5I/sCDxWII9owIj3LeLzdUG6JoroahhGmo8rgpbJpPnS+VgryQ/raUQjqDzDCuE - 9vKXKBlSUqK6H9A+NMc0mme7M8/GX7T7ewFGUB/xsdrcO4yXjqHnAe0yLf8epDjC - hh76bYqwwinVrmfcNcRxFVJZW2z0gGdgkOkOLaVVb9ggPV2SNAHbN4A+St/iRYR5 - awIDAQABo1MwUTAdBgNVHQ4EFgQUzMaCqVM30EZFfTeNUIJ5fNPAhaQwHwYDVR0j - BBgwFoAUzMaCqVM30EZFfTeNUIJ5fNPAhaQwDwYDVR0TAQH/BAUwAwEB/zANBgkq - hkiG9w0BAQsFAAOCAgEAVmk1rXtVkYR1Vs2Va/xrUaGXlFznhPU/Fft44kiEkkLp - mLVelWyAqvXYioqssZwuZnTjGz0DQPqzJjqwuGy4CHwPLmhCtfHplrbWo8a0ivYC - cL20KfZsG941siUh7LGBjTsq6mWBf2ytlFmg/fg93SgmqcEUAUcdps0JpZD8lgWB - ZMstfr6E3jaEus3OsvDD6hJNYZ5clJ5+ynLoWZ99A9JC0U46hmIZpRjbdSvasKpD - XrXTdpzyL/Do3znXE/yfoHv4//Rj2CpPHJLYRCIzvuf1mo1fWd53FjHvrbUvaHFz - CGuZROd4dC4Rx5nZw2ogIYvJ8m6HpIDkL3pBNSQJtIsvAYEQcotJoa5D/e9fu2Wr - +og37oCY4OXzViEBQvyxKD4cajNco1fgGKEaFROADwr3JceGI7Anq5W+xdUvAGNM - QuGeCueqNyrJ0CbQ1zEhwgpk/VYfB0u9m0bjMellRlKMdojby+FDCJtAJesx9no4 - SQXyx+aNHhj3qReysjGNwZvBk1IHL04HAT+ogNiYhTl1J/YON4MB5UN6Y2PxP6uG - KvJGPigx4fAwfR/d78o5ngwoH9m+8FUg8+qllJ8XgIbl/VXKTk3G4ceOm4eBmrel - DwWuBhELSjtXWPWhMlkiebgejDbAear53Lia2Cc43zx/KuhMHBTlKY/vY4F2YiI= - -----END CERTIFICATE----- - keyFile: | - -----BEGIN PRIVATE KEY----- - MIIJRAIBADANBgkqhkiG9w0BAQEFAASCCS4wggkqAgEAAoICAQDn/rPsZ74oypiw - CzLlx57zplTiCi/WLSF+MmLGuTvMEQnV+OND2zFgvDIV/vFs3brkd6rLVI4NcdgS - j4YKULCMwwOl45hQPdCTEPJvUhCmM+FuQ0czmEEJSjZtdLFz1B7QB/JemNnbfigx - M9mlg58AlBhVJqn8q64wd/kC/W/KJTLJuBiVf12ZiPoPfO4WSxAqD3opZ8gdbmK0 - KYQAhKjEto6ZrYGisfwU1gt3l8M7sCJSpEkOkpuQgJ8D+xzJS36VXBJQMMP9nAPp - s+x/rGFplsPMsXEFFiwvR1+FJZwzlg2sJ91bLGZQ7vn74MfsGrxpiJwllRThJyT7 - C9V0sjb5trT2lEqZlP2dRSJYt7aJ1crEcdGSl6RIKgxSV6Hk8dh/ZaTjrTwaKxVk - Po2IeEXy5xrR7DyonOQ6Yes0KOCmJB5yHkFlIVEnLm/HZXEtm3bPHsFgTZuInyBC - OMXpUESuVZIw8YK+Vd6AExGPPwZ4n5I/sCDxWII9owIj3LeLzdUG6JoroahhGmo8 - rgpbJpPnS+VgryQ/raUQjqDzDCuE9vKXKBlSUqK6H9A+NMc0mme7M8/GX7T7ewFG - UB/xsdrcO4yXjqHnAe0yLf8epDjChh76bYqwwinVrmfcNcRxFVJZW2z0gGdgkOkO - LaVVb9ggPV2SNAHbN4A+St/iRYR5awIDAQABAoICAQCTxuixQ/wbW8IbEWcgeyHD - LkaPndGO6jyVeF73GvL+MDRFuj558NvpNLfqzvTWVf9AnQGMd5Xs9oGegRHu7Csp - 3ucp+moBYv7DT14+jtXQKOgGJpDqSqfS1RUKb/TBRXNDLGy02UScziWoAdE33zmf - UraVNwW8z1crxKA3yVw2Na++UqhGQlVLAbfXucqnJLVtNWKpkVQlezUgcfmFovsm - Iut+9MjI6/sZAqdXTLKuCKo0XjWzNKwnRecE0CYsCwzc80MvFYEiwQi1C0kwoouC - iOi8MKM/jDok+5/a3nQ7X+/ho5sbApNCJpfSXAK9YOJ3ju93+RjNuvORfp4/sW3W - OGXw6X30Ym7WS/7oYuwEILyqdyNOvKU7a+17d/W/YA60NOdA4iJI3aTfYFMD3l14 - Da+D/wkTlEN3Ye7GN21A9AsZwWWiT9G5FOxWWVv7nTPG+Ix5ewehQWt/3DxhSizR - inMBizL5xpwx9LRWHnXX277lChYmPFAAMXINl1hnX6s0EY9pSDHN0IddibJkNKBD - m1CN37rqxoXQz4zoAyJGfQVkakqe16ayqI9yuQwO6AUkZcD5DYQdz9QYOTnYrQc6 - 6haC3D0Fmqg1s4v+6gpxZA/qTri0gVl/v/NN4Mk2/qWtK33imOedgD+5LXhZdBgJ - Mqn53AErG/AT622jvSb5UQKCAQEA/DTGLh0Ct97PCm+c+PxRFyieaHNJLWENKyxp - HoWGHfp2Bvt2Vphoi7GpRCM/yta4vCZgZmeWTQ0yBg6iPVPRA6Ho5hqh9OkUYVoh - prL3JsIU20jTutYjo2aefO4qXnJfkkXxNO2FElUHDTwtWdlGJQKvlUJwTv6xO19v - bQQkhZSpri6gIpi5Nkm2SGEtDofRJ+F6ThbQibEatL6DR00dh39MYQz+tZP5olzn - kX5bHEBWB7gy+YxTGF8FdlCSQTBBtNSKsAv3Cxj4qEHm+fu09vnH6fOZKenT2nXD - 5QE/RpgQzLV1TumCjqLzqwp7bbzH+4mjsXpF3KHBZwnhMnDIRwKCAQEA63wYzjBy - no0GBBz0hOWrOwQ/AjUHfi47o3Xvl4RBjZclM171HKH7oMCnQvVKTNq8jvakCZjc - UI6i+H4R6aokiFS2xGbC2H3ZlSMFNwhb2xUs/C4Nr7JSOWZBtDy5QBspUsp26f7m - 9VNVRzCmnxWV9be/1TxHDzDhslNlL5TMejbMorWnrtNG41KWwGtwvv2gApr3894j - eJNOh0WGfsMkXUM6+4v4WcCGrdV8Cr6Nvu96ZZe2PWu2dANtAfnxqogXXCoFE6r1 - vie7hFSfJ2QR/vEbanED4pYGTtGYP1oseScx0u0hLhGLGccVBUNZlRbox4rIOELI - v9MLuiOL4YX7vQKCAQAGzMl3HtMe8AP3DRFXaT4qeK7ktA8KCS7YtibTatg14LXj - 9E25gfx3n7+nlae3qVhrwkEhIbPcuflaTnSzYJonFet4oMkzGEGzakG0A+lEA0Ga - s/j5daKaWj71sVo1F7JZ+EbLnYfT+bTp93BllsUcZFkllhf/GUDgD++qKc1uSJbW - mm044ZNE0nH2u6ACX0kVYS/yAQ14WO0WaHiTqJGeQKFnkHkhni7B4O1hb923AkkP - hjjhn5Xx90Xnbb6zwUBURtLCcmAjzXWO29AFd3Lmoc9xEF9V0PckUb6JYyI4ngr9 - 6fqSuRsLC3u0ZeD0EX322zwtodVWYIodZBfNS1srAoIBAQCjTUPGeUKDQTjS0WGg - Z8T/AErRtQSlNFqXWMn2QPlUv2RE460HVi2xpOhZPtFvyqDIY7IOFbtzAfdya7rw - V9VN1bGJMdodV+jzy31qVJmerGit2SIUnYz30TnvS80L78oQZ+dfDi4MIuYYoFxs - JgQAipS1wz9kAXoCuGKLRJ0og6gVjfPjARE/w55XgiqFyEyWgfFBZOMkUsM6e7Rx - Y9Jr+puEpeRsGV9MXafPq6WQq3It0a/HmFLG0TlfDX3RzN6mQ12R7hTM8bDQa/6S - yorQSVPB1O3kzDVDo4X5KQd+XPfoVhmUYQYdsjmZlMMi6Og0uMFwgp/Epw6S3uO6 - WbfhAoIBAQCOp4iIc87GyxWL8u6HrJaqmFlqkfou0hI+y9h6FfzsBYU6y3+gRYdF - wr2S9EUAb80kEQ1v0pt9417NOGc1pmYjKCZmDZ7qeGCGk2PR0U59+xJetXBWWhbq - 5JxcwdRYoHyrmC/LINxzzqYOQbQevbW0zcEskeKfJsOtj9WJt6U9B1YZbE8pu2QV - xjvb+YekD2R+n/umV6eiaGfDau+EWudYVTqY0mR7y9hTiFR/KnqSsy2BUjljpacS - XBQO4ig7vY8+1+L3w2xpTN95/rXAvB4BbO/DLea9ArikePoSJ+bVTj0YwrKBghep - kOvbvVANrpsunlSAcpXm1qkV+G+xPnyJ - -----END PRIVATE KEY----- diff --git a/internal/bootstrap/bootstrap.go b/internal/bootstrap/bootstrap.go index d3b79ed6..d2c31809 100644 --- a/internal/bootstrap/bootstrap.go +++ b/internal/bootstrap/bootstrap.go @@ -146,7 +146,7 @@ func reconcileSecret(ctx context.Context, kube client.Client, secret corev1.Secr } return err } - existing.StringData = secret.StringData + existing.Data = secret.Data return kube.Update(ctx, &existing) } diff --git a/internal/bootstrap/bootstrap_provider.go b/internal/bootstrap/bootstrap_provider.go index 5d57d4e9..3d8b0e38 100644 --- a/internal/bootstrap/bootstrap_provider.go +++ b/internal/bootstrap/bootstrap_provider.go @@ -241,14 +241,14 @@ func (b *GitProviderBootstrapper) reconcileDeployKey(ctx context.Context, secret return errors.New("repository is required") } - ppk, ok := secret.StringData[sourcesecret.PublicKeySecretKey] + ppk, ok := secret.Data[sourcesecret.PublicKeySecretKey] if !ok { return nil } - b.logger.Successf("public key: %s", strings.TrimSpace(ppk)) + b.logger.Successf("public key: %s", strings.TrimSpace(string(ppk))) name := deployKeyName(options.Namespace, b.branch, options.Name, options.TargetPath) - deployKeyInfo := newDeployKeyInfo(name, ppk, b.readWriteKey) + deployKeyInfo := newDeployKeyInfo(name, string(ppk), b.readWriteKey) _, changed, err := b.repository.DeployKeys().Reconcile(ctx, deployKeyInfo) if err != nil { diff --git a/pkg/manifestgen/sourcesecret/sourcesecret.go b/pkg/manifestgen/sourcesecret/sourcesecret.go index 53806328..8dc0b85f 100644 --- a/pkg/manifestgen/sourcesecret/sourcesecret.go +++ b/pkg/manifestgen/sourcesecret/sourcesecret.go @@ -99,29 +99,29 @@ func buildSecret(keypair *ssh.KeyPair, hostKey, caFile, certFile, keyFile []byte Namespace: options.Namespace, } secret.Labels = options.Labels - secret.StringData = map[string]string{} + secret.Data = map[string][]byte{} if options.Username != "" && options.Password != "" { - secret.StringData[UsernameSecretKey] = options.Username - secret.StringData[PasswordSecretKey] = options.Password + secret.Data[UsernameSecretKey] = []byte(options.Username) + secret.Data[PasswordSecretKey] = []byte(options.Password) } if caFile != nil { - secret.StringData[CAFileSecretKey] = string(caFile) + secret.Data[CAFileSecretKey] = caFile } if certFile != nil && keyFile != nil { - secret.StringData[CertFileSecretKey] = string(certFile) - secret.StringData[KeyFileSecretKey] = string(keyFile) + secret.Data[CertFileSecretKey] = certFile + secret.Data[KeyFileSecretKey] = keyFile } if keypair != nil && hostKey != nil { - secret.StringData[PrivateKeySecretKey] = string(keypair.PrivateKey) - secret.StringData[PublicKeySecretKey] = string(keypair.PublicKey) - secret.StringData[KnownHostsSecretKey] = string(hostKey) + secret.Data[PrivateKeySecretKey] = keypair.PrivateKey + secret.Data[PublicKeySecretKey] = keypair.PublicKey + secret.Data[KnownHostsSecretKey] = hostKey // set password if present if options.Password != "" { - secret.StringData[PasswordSecretKey] = string(options.Password) + secret.Data[PasswordSecretKey] = []byte(options.Password) } }