From 92cd47db1fe6d19f4fe28ddb6cefaecab8dab761 Mon Sep 17 00:00:00 2001 From: John Gardiner Myers Date: Sun, 12 Jul 2020 16:23:19 -0700 Subject: [PATCH] Rename the service account key --- nodeup/pkg/model/kubelet_test.go | 2 +- nodeup/pkg/model/secrets.go | 2 +- pkg/model/pki.go | 3 +-- upup/pkg/fi/vfs_castore.go | 8 ++++++++ 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/nodeup/pkg/model/kubelet_test.go b/nodeup/pkg/model/kubelet_test.go index 06cc956f9e..7dbe2b297c 100644 --- a/nodeup/pkg/model/kubelet_test.go +++ b/nodeup/pkg/model/kubelet_test.go @@ -283,7 +283,7 @@ func RunGoldenTest(t *testing.T, basedir string, key string, builder func(*Nodeu "kube-controller-manager": mustParsePrivateKey(dummyKey), "kube-proxy": mustParsePrivateKey(dummyKey), "kube-scheduler": mustParsePrivateKey(dummyKey), - "master": mustParsePrivateKey(dummyKey), + "service-account": mustParsePrivateKey(dummyKey), } keystore.certs = map[string]*pki.Certificate{ "ca": mustParseCertificate(dummyCertificate), diff --git a/nodeup/pkg/model/secrets.go b/nodeup/pkg/model/secrets.go index 3c46014efa..856a368f8c 100644 --- a/nodeup/pkg/model/secrets.go +++ b/nodeup/pkg/model/secrets.go @@ -146,7 +146,7 @@ func (b *SecretBuilder) Build(c *fi.ModelBuilderContext) error { } } - if err := b.BuildPrivateKeyTask(c, "master", "service-account.key", nil); err != nil { + if err := b.BuildPrivateKeyTask(c, "service-account", "service-account.key", nil); err != nil { return err } diff --git a/pkg/model/pki.go b/pkg/model/pki.go index bfa5c5cdaf..63823e2b45 100644 --- a/pkg/model/pki.go +++ b/pkg/model/pki.go @@ -163,8 +163,7 @@ func (b *PKIModelBuilder) Build(c *fi.ModelBuilderContext) error { { serviceAccount := &fitasks.Keypair{ // We only need the private key, but it's easier to create a certificate as well. - // The strange name is because Kops prior to 1.19 used the api-server TLS key for this. - Name: fi.String("master"), + Name: fi.String("service-account"), Lifecycle: b.Lifecycle, Subject: "cn=service-account", Type: "ca", diff --git a/upup/pkg/fi/vfs_castore.go b/upup/pkg/fi/vfs_castore.go index 7d16c9b6f5..61b82642f1 100644 --- a/upup/pkg/fi/vfs_castore.go +++ b/upup/pkg/fi/vfs_castore.go @@ -256,6 +256,14 @@ func (c *VFSCAStore) loadOneCertificate(p vfs.Path) (*pki.Certificate, error) { func (c *VFSCAStore) FindKeypair(id string) (*pki.Certificate, *pki.PrivateKey, bool, error) { cert, legacyFormat, err := c.findCert(id) + + if os.IsNotExist(err) && id == "service-account" { + // The strange name is because Kops prior to 1.19 used the api-server TLS key for this. + id = "master" + cert, _, err = c.findCert(id) + legacyFormat = true + } + if err != nil { return nil, nil, false, err }