diff --git a/cmd/kops-controller/pkg/server/server.go b/cmd/kops-controller/pkg/server/server.go index 56598d692257e..58ae01e323dfd 100644 --- a/cmd/kops-controller/pkg/server/server.go +++ b/cmd/kops-controller/pkg/server/server.go @@ -36,6 +36,8 @@ import ( "k8s.io/apimachinery/pkg/util/sets" "k8s.io/klog/v2" "k8s.io/kops/cmd/kops-controller/pkg/config" + "k8s.io/kops/pkg/apis/kops" + "k8s.io/kops/pkg/apis/kops/model" "k8s.io/kops/pkg/apis/nodeup" "k8s.io/kops/pkg/bootstrap" "k8s.io/kops/pkg/pki" @@ -61,6 +63,9 @@ type Server struct { // uncachedClient is an uncached client for the kube apiserver uncachedClient client.Client + + // challengeClient performs our callback-challenge into the node + challengeClient *bootstrap.ChallengeClient } var _ manager.LeaderElectionRunnable = &Server{} @@ -94,6 +99,17 @@ func NewServer(opt *config.Options, verifier bootstrap.Verifier, uncachedClient } s.secretStore = secrets.NewVFSSecretStore(nil, p) + s.keystore, s.keypairIDs, err = newKeystore(opt.Server.CABasePath, opt.Server.SigningCAs) + if err != nil { + return nil, err + } + + challengeClient, err := bootstrap.NewChallengeClient(s.keystore) + if err != nil { + return nil, err + } + s.challengeClient = challengeClient + r := http.NewServeMux() r.Handle("/bootstrap", http.HandlerFunc(s.bootstrap)) server.Handler = recovery(r) @@ -106,12 +122,6 @@ func (s *Server) NeedLeaderElection() bool { } func (s *Server) Start(ctx context.Context) error { - var err error - s.keystore, s.keypairIDs, err = newKeystore(s.opt.Server.CABasePath, s.opt.Server.SigningCAs) - if err != nil { - return err - } - go func() { <-ctx.Done() @@ -198,6 +208,17 @@ func (s *Server) bootstrap(w http.ResponseWriter, r *http.Request) { return } + if model.UseChallengeCallback(kops.CloudProviderID(s.opt.Cloud)) { + if err := s.challengeClient.DoCallbackChallenge(ctx, s.opt.ClusterName, id.ChallengeEndpoint, req); err != nil { + klog.Infof("bootstrap %s callback challenge failed: %v", r.RemoteAddr, err) + w.WriteHeader(http.StatusBadRequest) + _, _ = w.Write([]byte("callback failed")) + return + } + + klog.Infof("performed successful callback challenge with %s; identified as %s", id.ChallengeEndpoint, id.NodeName) + } + resp := &nodeup.BootstrapResponse{ Certs: map[string]string{}, } diff --git a/go.mod b/go.mod index 152d43f8c4892..7bbf7e1ea26d9 100644 --- a/go.mod +++ b/go.mod @@ -54,6 +54,8 @@ require ( golang.org/x/sync v0.1.0 golang.org/x/sys v0.6.0 google.golang.org/api v0.112.0 + google.golang.org/grpc v1.53.0 + google.golang.org/protobuf v1.28.1 gopkg.in/gcfg.v1 v1.2.3 gopkg.in/inf.v0 v0.9.1 gopkg.in/square/go-jose.v2 v2.6.0 @@ -213,8 +215,6 @@ require ( gomodules.xyz/jsonpatch/v2 v2.2.0 // indirect google.golang.org/appengine v1.6.7 // indirect google.golang.org/genproto v0.0.0-20230303212802-e74f57abe488 // indirect - google.golang.org/grpc v1.53.0 // indirect - google.golang.org/protobuf v1.28.1 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/nodeup/pkg/model/bootstrap_client.go b/nodeup/pkg/model/bootstrap_client.go index bd8325f1db3c6..a3f1a9a18f717 100644 --- a/nodeup/pkg/model/bootstrap_client.go +++ b/nodeup/pkg/model/bootstrap_client.go @@ -49,7 +49,7 @@ func (b BootstrapClientBuilder) Build(c *fi.NodeupModelBuilderContext) error { var authenticator bootstrap.Authenticator var resolver resolver.Resolver - switch b.BootConfig.CloudProvider { + switch b.CloudProvider() { case kops.CloudProviderAWS: a, err := awsup.NewAWSAuthenticator(b.Cloud.Region()) if err != nil { @@ -81,7 +81,7 @@ func (b BootstrapClientBuilder) Build(c *fi.NodeupModelBuilderContext) error { authenticator = a default: - return fmt.Errorf("unsupported cloud provider for authenticator %q", b.BootConfig.CloudProvider) + return fmt.Errorf("unsupported cloud provider for authenticator %q", b.CloudProvider()) } baseURL := url.URL{ @@ -102,6 +102,8 @@ func (b BootstrapClientBuilder) Build(c *fi.NodeupModelBuilderContext) error { Certs: b.bootstrapCerts, KeypairIDs: b.bootstrapKeypairIDs, } + bootstrapClientTask.UseChallengeCallback = b.UseChallengeCallback(b.CloudProvider()) + bootstrapClientTask.ClusterName = b.NodeupConfig.ClusterName for _, cert := range b.bootstrapCerts { cert.Cert.Task = bootstrapClientTask diff --git a/nodeup/pkg/model/cloudconfig.go b/nodeup/pkg/model/cloudconfig.go index 5e57c9033717b..eb6e1fd7e4bc8 100644 --- a/nodeup/pkg/model/cloudconfig.go +++ b/nodeup/pkg/model/cloudconfig.go @@ -90,7 +90,7 @@ func (b *CloudConfigBuilder) build(c *fi.NodeupModelBuilderContext, inTree bool) // Add cloud config file if needed var lines []string - cloudProvider := b.BootConfig.CloudProvider + cloudProvider := b.CloudProvider() var config string requireGlobal := true diff --git a/nodeup/pkg/model/context.go b/nodeup/pkg/model/context.go index 7e3cb06f5c504..86013dde62234 100644 --- a/nodeup/pkg/model/context.go +++ b/nodeup/pkg/model/context.go @@ -396,6 +396,11 @@ func (c *NodeupModelContext) UseKopsControllerForNodeBootstrap() bool { return model.UseKopsControllerForNodeBootstrap(c.Cluster) } +// UseChallengeCallback is true if we should use a callback challenge during node provisioning with kops-controller. +func (c *NodeupModelContext) UseChallengeCallback(cloudProvider kops.CloudProviderID) bool { + return model.UseChallengeCallback(cloudProvider) +} + // UsesSecondaryIP checks if the CNI in use attaches secondary interfaces to the host. func (c *NodeupModelContext) UsesSecondaryIP() bool { return (c.NodeupConfig.Networking.CNI != nil && c.NodeupConfig.Networking.CNI.UsesSecondaryIP) || @@ -630,14 +635,19 @@ func (c *NodeupModelContext) InstallNvidiaRuntime() bool { c.GPUVendor == architectures.GPUVendorNvidia } +// CloudProvider returns the cloud provider we are running on +func (c *NodeupModelContext) CloudProvider() kops.CloudProviderID { + return c.BootConfig.CloudProvider +} + // RunningOnGCE returns true if we are running on GCE func (c *NodeupModelContext) RunningOnGCE() bool { - return c.BootConfig.CloudProvider == kops.CloudProviderGCE + return c.CloudProvider() == kops.CloudProviderGCE } // RunningOnAzure returns true if we are running on Azure func (c *NodeupModelContext) RunningOnAzure() bool { - return c.BootConfig.CloudProvider == kops.CloudProviderAzure + return c.CloudProvider() == kops.CloudProviderAzure } // GetMetadataLocalIP returns the local IP address read from metadata diff --git a/nodeup/pkg/model/kube_apiserver.go b/nodeup/pkg/model/kube_apiserver.go index c18cc3b2467de..6fca49245dd8e 100644 --- a/nodeup/pkg/model/kube_apiserver.go +++ b/nodeup/pkg/model/kube_apiserver.go @@ -67,7 +67,7 @@ func (b *KubeAPIServerBuilder) Build(c *fi.NodeupModelBuilderContext) error { kubeAPIServer = *b.NodeupConfig.APIServerConfig.KubeAPIServer } - if b.BootConfig.CloudProvider == kops.CloudProviderHetzner { + if b.CloudProvider() == kops.CloudProviderHetzner { localIP, err := b.GetMetadataLocalIP() if err != nil { return err @@ -419,7 +419,7 @@ func (b *KubeAPIServerBuilder) writeServerCertificate(c *fi.NodeupModelBuilderCo // We also want to be able to reference it locally via https://127.0.0.1 alternateNames = append(alternateNames, "127.0.0.1") - if b.BootConfig.CloudProvider == kops.CloudProviderHetzner { + if b.CloudProvider() == kops.CloudProviderHetzner { localIP, err := b.GetMetadataLocalIP() if err != nil { return err @@ -428,7 +428,7 @@ func (b *KubeAPIServerBuilder) writeServerCertificate(c *fi.NodeupModelBuilderCo alternateNames = append(alternateNames, localIP) } } - if b.BootConfig.CloudProvider == kops.CloudProviderOpenstack { + if b.CloudProvider() == kops.CloudProviderOpenstack { instanceAddress, err := getInstanceAddress() if err != nil { return err diff --git a/nodeup/pkg/model/kubelet.go b/nodeup/pkg/model/kubelet.go index a5734f07a5aa3..2fa6424d81618 100644 --- a/nodeup/pkg/model/kubelet.go +++ b/nodeup/pkg/model/kubelet.go @@ -737,7 +737,7 @@ func (b *KubeletBuilder) buildKubeletServingCertificate(c *fi.NodeupModelBuilder } func (b *KubeletBuilder) kubeletNames() ([]string, error) { - if b.BootConfig.CloudProvider != kops.CloudProviderAWS { + if b.CloudProvider() != kops.CloudProviderAWS { name, err := os.Hostname() if err != nil { return nil, err diff --git a/nodeup/pkg/model/ntp.go b/nodeup/pkg/model/ntp.go index f2beef677bfbd..024355f049f0b 100644 --- a/nodeup/pkg/model/ntp.go +++ b/nodeup/pkg/model/ntp.go @@ -50,7 +50,7 @@ func (b *NTPBuilder) Build(c *fi.NodeupModelBuilderContext) error { } var ntpHost string - switch b.BootConfig.CloudProvider { + switch b.CloudProvider() { case kops.CloudProviderAWS: ntpHost = "169.254.169.123" case kops.CloudProviderGCE: diff --git a/nodeup/pkg/model/prefix.go b/nodeup/pkg/model/prefix.go index 4626bde17a885..de796341cfc72 100644 --- a/nodeup/pkg/model/prefix.go +++ b/nodeup/pkg/model/prefix.go @@ -34,7 +34,7 @@ func (b *PrefixBuilder) Build(c *fi.NodeupModelBuilderContext) error { if !b.IsKopsControllerIPAM() { return nil } - switch b.BootConfig.CloudProvider { + switch b.CloudProvider() { case kops.CloudProviderAWS: c.AddTask(&nodetasks.Prefix{ Name: "prefix", @@ -42,7 +42,7 @@ func (b *PrefixBuilder) Build(c *fi.NodeupModelBuilderContext) error { case kops.CloudProviderGCE: // Prefix is assigned by GCE default: - return fmt.Errorf("kOps IPAM controller not supported on cloud %q", b.BootConfig.CloudProvider) + return fmt.Errorf("kOps IPAM controller not supported on cloud %q", b.CloudProvider()) } return nil } diff --git a/nodeup/pkg/model/protokube.go b/nodeup/pkg/model/protokube.go index 931bb0083c7ab..d9a3f753ec29e 100644 --- a/nodeup/pkg/model/protokube.go +++ b/nodeup/pkg/model/protokube.go @@ -176,7 +176,7 @@ type ProtokubeFlags struct { func (t *ProtokubeBuilder) ProtokubeFlags() (*ProtokubeFlags, error) { f := &ProtokubeFlags{ Channels: t.NodeupConfig.Channels, - Cloud: fi.PtrTo(string(t.BootConfig.CloudProvider)), + Cloud: fi.PtrTo(string(t.CloudProvider())), Containerized: fi.PtrTo(false), LogLevel: fi.PtrTo(int32(4)), Master: b(t.IsMaster), @@ -273,7 +273,7 @@ func (t *ProtokubeBuilder) buildEnvFile() (*nodetasks.File, error) { } } - if t.BootConfig.CloudProvider == kops.CloudProviderDO && os.Getenv("DIGITALOCEAN_ACCESS_TOKEN") != "" { + if t.CloudProvider() == kops.CloudProviderDO && os.Getenv("DIGITALOCEAN_ACCESS_TOKEN") != "" { envVars["DIGITALOCEAN_ACCESS_TOKEN"] = os.Getenv("DIGITALOCEAN_ACCESS_TOKEN") } @@ -294,7 +294,7 @@ func (t *ProtokubeBuilder) buildEnvFile() (*nodetasks.File, error) { envVars["AZURE_STORAGE_ACCOUNT"] = os.Getenv("AZURE_STORAGE_ACCOUNT") } - if t.BootConfig.CloudProvider == kops.CloudProviderScaleway { + if t.CloudProvider() == kops.CloudProviderScaleway { if os.Getenv("SCW_PROFILE") != "" || os.Getenv("SCW_SECRET_KEY") != "" { profile, err := scaleway.CreateValidScalewayProfile() if err != nil { diff --git a/nodeup/pkg/model/sysctls.go b/nodeup/pkg/model/sysctls.go index 203d3985d921e..660f265c476a6 100644 --- a/nodeup/pkg/model/sysctls.go +++ b/nodeup/pkg/model/sysctls.go @@ -125,7 +125,7 @@ func (b *SysctlBuilder) Build(c *fi.NodeupModelBuilderContext) error { ) } - if b.BootConfig.CloudProvider == kops.CloudProviderAWS { + if b.CloudProvider() == kops.CloudProviderAWS { sysctls = append(sysctls, "# AWS settings", "", diff --git a/nodeup/pkg/model/warm_pool.go b/nodeup/pkg/model/warm_pool.go index f9f446203eda5..71b14a770790c 100644 --- a/nodeup/pkg/model/warm_pool.go +++ b/nodeup/pkg/model/warm_pool.go @@ -30,7 +30,7 @@ var _ fi.NodeupModelBuilder = &WarmPoolBuilder{} func (b *WarmPoolBuilder) Build(c *fi.NodeupModelBuilderContext) error { // Check if the cloud provider is AWS - if b.BootConfig.CloudProvider != kops.CloudProviderAWS { + if b.CloudProvider() != kops.CloudProviderAWS { return nil } diff --git a/pkg/apis/kops/model/features.go b/pkg/apis/kops/model/features.go index eb0db99b95c5f..0711201515588 100644 --- a/pkg/apis/kops/model/features.go +++ b/pkg/apis/kops/model/features.go @@ -36,6 +36,16 @@ func UseKopsControllerForNodeBootstrap(cluster *kops.Cluster) bool { } } +// UseChallengeCallback is true if we should use a callback challenge during node provisioning with kops-controller. +func UseChallengeCallback(cloudProvider kops.CloudProviderID) bool { + switch cloudProvider { + case kops.CloudProviderHetzner: + return true + default: + return false + } +} + // UseKopsControllerForNodeConfig checks if nodeup should use kops-controller to get nodeup.Config. func UseKopsControllerForNodeConfig(cluster *kops.Cluster) bool { switch cluster.Spec.GetCloudProvider() { diff --git a/pkg/apis/nodeup/bootstrap.go b/pkg/apis/nodeup/bootstrap.go index 78018e6460445..695ed4c670d51 100644 --- a/pkg/apis/nodeup/bootstrap.go +++ b/pkg/apis/nodeup/bootstrap.go @@ -30,6 +30,17 @@ type BootstrapRequest struct { // IncludeNodeConfig controls whether the cluster & instance group configuration should be returned. // This allows for nodes without access to the kops state store. IncludeNodeConfig bool `json:"includeNodeConfig"` + + // Challenge is for a callback challenge. + Challenge *ChallengeRequest `json:"challenge,omitempty"` +} + +// ChallengeRequest describes the callback challenge. +type ChallengeRequest struct { + Endpoint string `json:"endpoint,omitempty"` + ServerCA []byte `json:"ca,omitempty"` + ChallengeID string `json:"challengeID,omitempty"` + ChallengeSecret []byte `json:"challengeSecret,omitempty"` } // BootstrapResponse is a response to a BootstrapRequest. diff --git a/pkg/apis/nodeup/config.go b/pkg/apis/nodeup/config.go index 38343bf10843c..4fa1cd174f969 100644 --- a/pkg/apis/nodeup/config.go +++ b/pkg/apis/nodeup/config.go @@ -127,6 +127,8 @@ type BootConfig struct { // APIServerIPs is the API server IP addresses. // This field is used for adding an alias for api.internal. in /etc/hosts, when Topology.DNS.Type == DNSTypeNone. APIServerIPs []string `json:",omitempty"` + // ClusterName is the name of the cluster. + ClusterName string `json:",omitempty"` // InstanceGroupName is the name of the instance group. InstanceGroupName string `json:",omitempty"` // InstanceGroupRole is the instance group role. @@ -200,6 +202,7 @@ func NewConfig(cluster *kops.Cluster, instanceGroup *kops.InstanceGroup) (*Confi bootConfig := BootConfig{ CloudProvider: cluster.Spec.GetCloudProvider(), + ClusterName: cluster.ObjectMeta.Name, InstanceGroupName: instanceGroup.ObjectMeta.Name, InstanceGroupRole: role, } diff --git a/pkg/bootstrap/authenticate.go b/pkg/bootstrap/authenticate.go index a7b21b8ee5cde..8f17648ab477a 100644 --- a/pkg/bootstrap/authenticate.go +++ b/pkg/bootstrap/authenticate.go @@ -39,6 +39,12 @@ type VerifyResult struct { // CertificateNames is the alternate names the node is authorized to use for certificates. CertificateNames []string + + // ChallengeEndpoint is a valid endpoints to which we should issue a challenge request, + // corresponding to the node the request identified as. + // This should be sourced from e.g. the cloud, and acts as a cross-check + // that this is the correct instance. + ChallengeEndpoint string } // Verifier verifies authentication credentials for requests. diff --git a/pkg/bootstrap/challenge.go b/pkg/bootstrap/challenge.go new file mode 100644 index 0000000000000..194b03dd44d02 --- /dev/null +++ b/pkg/bootstrap/challenge.go @@ -0,0 +1,101 @@ +/* +Copyright 2023 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package bootstrap + +import ( + cryptorand "crypto/rand" + "crypto/tls" + "crypto/x509" + "crypto/x509/pkix" + "fmt" + "math/big" + "time" + + "k8s.io/klog/v2" + "k8s.io/kops/pkg/pki" +) + +func randomBytes(length int) []byte { + b := make([]byte, length) + if _, err := cryptorand.Read(b); err != nil { + klog.Fatalf("failed to read from crypto/rand: %v", err) + } + return b +} + +func challengeKopsControllerSubject(clusterName string) pkix.Name { + // Note: keep in sync with subjectsMatch if you add (additional) fields here + return pkix.Name{ + CommonName: "kops-controller." + clusterName, + } +} + +func subjectsMatch(l, r pkix.Name) bool { + // We need to check all the fields in challengeKopsControllerSubject + return l.CommonName == r.CommonName +} + +func challengeServerHostName(clusterName string) string { + return "challenge-server." + clusterName +} + +func BuildChallengeServerCertificate(clusterName string) (*tls.Certificate, error) { + serverName := challengeServerHostName(clusterName) + + privateKey, err := pki.GeneratePrivateKey() + if err != nil { + return nil, fmt.Errorf("generating ecdsa key: %w", err) + } + + keyUsage := x509.KeyUsageDigitalSignature | x509.KeyUsageKeyEncipherment + + now := time.Now() + notBefore := now.Add(-15 * time.Minute) + notAfter := notBefore.Add(time.Hour) + + template := x509.Certificate{ + SerialNumber: big.NewInt(1), + Subject: pkix.Name{ + CommonName: serverName, + }, + NotBefore: notBefore, + NotAfter: notAfter, + + KeyUsage: keyUsage, + ExtKeyUsage: []x509.ExtKeyUsage{x509.ExtKeyUsageServerAuth}, + BasicConstraintsValid: true, + } + + template.DNSNames = append(template.DNSNames, serverName) + + der, err := x509.CreateCertificate(cryptorand.Reader, &template, &template, privateKey.Key.Public(), privateKey.Key) + if err != nil { + return nil, fmt.Errorf("failed to create certificate: %w", err) + } + + parsed, err := x509.ParseCertificate(der) + if err != nil { + return nil, fmt.Errorf("failed to parse certificate: %w", err) + } + tlsCertificate := &tls.Certificate{ + PrivateKey: privateKey.Key, + Certificate: [][]byte{parsed.Raw}, + Leaf: parsed, + } + + return tlsCertificate, nil +} diff --git a/pkg/bootstrap/challenge_client.go b/pkg/bootstrap/challenge_client.go new file mode 100644 index 0000000000000..4e0c3e68251eb --- /dev/null +++ b/pkg/bootstrap/challenge_client.go @@ -0,0 +1,128 @@ +/* +Copyright 2023 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package bootstrap + +import ( + "context" + "crypto/subtle" + "crypto/tls" + "crypto/x509" + "fmt" + "time" + + "google.golang.org/grpc" + "google.golang.org/grpc/credentials" + "k8s.io/kops/pkg/apis/nodeup" + "k8s.io/kops/pkg/pki" + pb "k8s.io/kops/proto/kops/bootstrap/v1" + "k8s.io/kops/upup/pkg/fi" +) + +type ChallengeClient struct { + keystore pki.Keystore +} + +func NewChallengeClient(keystore pki.Keystore) (*ChallengeClient, error) { + return &ChallengeClient{ + keystore: keystore, + }, nil +} + +func (c *ChallengeClient) getClientCertificate(ctx context.Context, clusterName string) (*tls.Certificate, error) { + subject := challengeKopsControllerSubject(clusterName) + + certificate, privateKey, _, err := pki.IssueCert(ctx, &pki.IssueCertRequest{ + Validity: 1 * time.Hour, + Signer: fi.CertificateIDCA, + Type: "client", + Subject: subject, + }, c.keystore) + if err != nil { + return nil, fmt.Errorf("error creating certificate: %w", err) + } + + // TODO: Caching and rotation + clientCertificate := &tls.Certificate{ + PrivateKey: privateKey.Key, + Certificate: [][]byte{certificate.Certificate.Raw}, + Leaf: certificate.Certificate, + } + return clientCertificate, nil +} + +func (c *ChallengeClient) DoCallbackChallenge(ctx context.Context, clusterName string, targetEndpoint string, bootstrapRequest *nodeup.BootstrapRequest) error { + challenge := bootstrapRequest.Challenge + + if challenge == nil { + return fmt.Errorf("challenge not set") + } + if challenge.ChallengeID == "" { + return fmt.Errorf("challenge.id not set") + } + if len(challenge.ChallengeSecret) == 0 { + return fmt.Errorf("challenge.secret not set") + } + if challenge.Endpoint == "" { + return fmt.Errorf("challenge.endpoint not set") + } + if len(challenge.ServerCA) == 0 { + return fmt.Errorf("challenge.ca not set") + } + + clientCertificate, err := c.getClientCertificate(ctx, clusterName) + if err != nil { + return err + } + + serverCAs := x509.NewCertPool() + if !serverCAs.AppendCertsFromPEM(challenge.ServerCA) { + return fmt.Errorf("error loading certificate pool") + } + + serverName := challengeServerHostName(clusterName) + tlsConfig := &tls.Config{ + RootCAs: serverCAs, + Certificates: []tls.Certificate{*clientCertificate}, + ServerName: serverName, + } + + kospControllerNonce := randomBytes(16) + req := &pb.ChallengeRequest{ + ChallengeId: challenge.ChallengeID, + ChallengeRandom: kospControllerNonce, + } + + expectedChallengeResponse := buildChallengeResponse(challenge.ChallengeSecret, kospControllerNonce) + + var opts []grpc.DialOption + opts = append(opts, grpc.WithTransportCredentials(credentials.NewTLS(tlsConfig))) + conn, err := grpc.DialContext(ctx, targetEndpoint, opts...) + if err != nil { + return fmt.Errorf("error dialing target %q: %w", targetEndpoint, err) + } + client := pb.NewCallbackServiceClient(conn) + + response, err := client.Challenge(ctx, req) + if err != nil { + return fmt.Errorf("error from callback challenge: %w", err) + } + + if subtle.ConstantTimeCompare(response.GetChallengeResponse(), expectedChallengeResponse) != 1 { + return fmt.Errorf("callback challenge returned wrong result") + } + return nil +} diff --git a/pkg/bootstrap/challenge_server.go b/pkg/bootstrap/challenge_server.go new file mode 100644 index 0000000000000..7c1edc0ba74b4 --- /dev/null +++ b/pkg/bootstrap/challenge_server.go @@ -0,0 +1,217 @@ +/* +Copyright 2023 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package bootstrap + +import ( + "bytes" + "context" + "crypto/sha256" + "crypto/tls" + "crypto/x509" + "crypto/x509/pkix" + "encoding/hex" + "encoding/pem" + "fmt" + "net" + "sync" + + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/credentials" + "google.golang.org/grpc/peer" + "google.golang.org/grpc/status" + + "k8s.io/klog/v2" + "k8s.io/kops/pkg/apis/nodeup" + pb "k8s.io/kops/proto/kops/bootstrap/v1" +) + +type ChallengeServer struct { + tlsConfig *tls.Config + servingCA []byte + + mutex sync.Mutex + challenges map[string]*Challenge + + RequiredSubject pkix.Name + + pb.UnimplementedCallbackServiceServer +} + +func NewChallengeServer(clusterName string, caBundle []byte) (*ChallengeServer, error) { + serverCertificate, err := BuildChallengeServerCertificate(clusterName) + if err != nil { + return nil, err + } + tlsConfig := &tls.Config{ + Certificates: []tls.Certificate{*serverCertificate}, + } + + var servingCA bytes.Buffer + for _, cert := range serverCertificate.Certificate { + if err := pem.Encode(&servingCA, &pem.Block{Type: "CERTIFICATE", Bytes: cert}); err != nil { + return nil, err + } + } + + clientCAs := x509.NewCertPool() + if !clientCAs.AppendCertsFromPEM(caBundle) { + return nil, fmt.Errorf("unable to build client-cert CA pools") + } + tlsConfig.ClientCAs = clientCAs + tlsConfig.ClientAuth = tls.RequireAndVerifyClientCert + + return &ChallengeServer{ + RequiredSubject: challengeKopsControllerSubject(clusterName), + tlsConfig: tlsConfig, + servingCA: servingCA.Bytes(), + }, nil +} + +type Challenge struct { + ChallengeID string + ChallengeSecret []byte +} + +func (s *ChallengeServer) createChallenge() *Challenge { + c := &Challenge{} + c.ChallengeID = hex.EncodeToString(randomBytes(16)) + c.ChallengeSecret = randomBytes(16) + + s.mutex.Lock() + defer s.mutex.Unlock() + if s.challenges == nil { + s.challenges = make(map[string]*Challenge) + } + s.challenges[c.ChallengeID] = c + return c +} + +type ChallengeListener struct { + endpoint string + server *ChallengeServer + grpcServer *grpc.Server +} + +func (s *ChallengeListener) CreateChallenge() *nodeup.ChallengeRequest { + challenge := s.server.createChallenge() + + return &nodeup.ChallengeRequest{ + Endpoint: s.Endpoint(), + ChallengeID: challenge.ChallengeID, + ChallengeSecret: challenge.ChallengeSecret, + ServerCA: s.server.servingCA, + } +} + +func (s *ChallengeListener) Stop() { + s.grpcServer.Stop() +} + +func (s *ChallengeListener) Endpoint() string { + return s.endpoint +} + +func (s *ChallengeServer) NewListener(ctx context.Context, listen string) (*ChallengeListener, error) { + var opts []grpc.ServerOption + + opts = append(opts, grpc.Creds(credentials.NewTLS(s.tlsConfig))) + grpcServer := grpc.NewServer(opts...) + pb.RegisterCallbackServiceServer(grpcServer, s) + + lis, err := net.Listen("tcp", listen) + if err != nil { + return nil, fmt.Errorf("error listening on %q: %w", listen, err) + } + + grpcListener := &ChallengeListener{ + server: s, + grpcServer: grpcServer, + endpoint: lis.Addr().String(), + } + + go func() { + klog.Infof("starting node-challenge listener on %v", lis.Addr()) + if err := grpcServer.Serve(lis); err != nil { + lis.Close() + + klog.Warningf("error serving GRPC: %v", err) + } + }() + + return grpcListener, nil +} + +// Answers challenges to cross-check bootstrap requests. +func (s *ChallengeServer) Challenge(ctx context.Context, req *pb.ChallengeRequest) (*pb.ChallengeResponse, error) { + klog.Infof("got node-challenge request") + // Explicitly authenticate the username for safety + peerInfo, ok := peer.FromContext(ctx) + if !ok { + klog.Warningf("no peer in context") + return nil, status.Error(codes.Unauthenticated, "peer was nil") + } + + tlsInfo, ok := peerInfo.AuthInfo.(credentials.TLSInfo) + if !ok { + klog.Warningf("peer.AuthInfo was of unexpected type %T", peerInfo.AuthInfo) + return nil, status.Error(codes.Unauthenticated, "unexpected peer transport credentials") + } + + if len(tlsInfo.State.VerifiedChains) == 0 || len(tlsInfo.State.VerifiedChains[0]) == 0 { + klog.Warningf("no VerifiedChains in TLSInfo") + return nil, status.Error(codes.Unauthenticated, "verified chains were empty") + } + + if got, want := tlsInfo.State.VerifiedChains[0][0].Subject, s.RequiredSubject; !subjectsMatch(got, want) { + klog.Warningf("certificate subjects did not match expected; got %q, want %q", got, want) + return nil, status.Error(codes.Unauthenticated, "certificate subjects did not match") + } + + s.mutex.Lock() + defer s.mutex.Unlock() + + key := req.ChallengeId + if key == "" { + return nil, status.Errorf(codes.InvalidArgument, "challenge_id is required") + } + + challenge := s.challenges[key] + if challenge == nil { + return nil, status.Errorf(codes.NotFound, "challenge was not found") + } + // Prevent replay attacks + delete(s.challenges, key) + + hash := buildChallengeResponse(challenge.ChallengeSecret, req.GetChallengeRandom()) + response := &pb.ChallengeResponse{ + ChallengeResponse: hash, + } + + return response, nil +} + +func buildChallengeResponse(nodeNonce []byte, kopsControllerNonde []byte) []byte { + // Arguably this is overkill because the TLS handshake is stronger and everything is encrypted. + hasher := sha256.New() + hasher.Sum(nodeNonce) + hasher.Sum(kopsControllerNonde) + + hash := hasher.Sum(nil) + + return hash +} diff --git a/pkg/wellknownports/wellknownports.go b/pkg/wellknownports/wellknownports.go index d76b33a83e04f..5d43a0038e27f 100644 --- a/pkg/wellknownports/wellknownports.go +++ b/pkg/wellknownports/wellknownports.go @@ -20,6 +20,9 @@ const ( // KubeAPIServer is the port where kube-apiserver listens. KubeAPIServer = 443 + // NodeupChallenge is the port where nodeup listens for challenges. + NodeupChallenge = 3987 + // KopsControllerPort is the port where kops-controller listens. KopsControllerPort = 3988 diff --git a/proto/buf.gen.yaml b/proto/buf.gen.yaml new file mode 100644 index 0000000000000..44e4a08e4116b --- /dev/null +++ b/proto/buf.gen.yaml @@ -0,0 +1,8 @@ +version: v1 +plugins: + - plugin: go + out: . + opt: paths=source_relative + - plugin: go-grpc + out: . + opt: paths=source_relative diff --git a/proto/buf.yaml b/proto/buf.yaml new file mode 100644 index 0000000000000..a72e41b565456 --- /dev/null +++ b/proto/buf.yaml @@ -0,0 +1,7 @@ +version: v1 +breaking: + use: + - FILE +lint: + use: + - DEFAULT \ No newline at end of file diff --git a/proto/kops/bootstrap/v1/bootstrap.pb.go b/proto/kops/bootstrap/v1/bootstrap.pb.go new file mode 100644 index 0000000000000..afd7e0d0e1ee5 --- /dev/null +++ b/proto/kops/bootstrap/v1/bootstrap.pb.go @@ -0,0 +1,253 @@ +/* +Copyright The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.0 +// protoc (unknown) +// source: kops/bootstrap/v1/bootstrap.proto + +package v1 + +import ( + reflect "reflect" + sync "sync" + + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type ChallengeRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // challenge_id is a random value (nonce) that the node generated and passed in its bootstrap request. + ChallengeId string `protobuf:"bytes,1,opt,name=challenge_id,json=challengeId,proto3" json:"challenge_id,omitempty"` + // challenge_random is a random value (nonce) that kops-controller generated, it is hashed into the response. + ChallengeRandom []byte `protobuf:"bytes,2,opt,name=challenge_random,json=challengeRandom,proto3" json:"challenge_random,omitempty"` +} + +func (x *ChallengeRequest) Reset() { + *x = ChallengeRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_kops_bootstrap_v1_bootstrap_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ChallengeRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChallengeRequest) ProtoMessage() {} + +func (x *ChallengeRequest) ProtoReflect() protoreflect.Message { + mi := &file_kops_bootstrap_v1_bootstrap_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ChallengeRequest.ProtoReflect.Descriptor instead. +func (*ChallengeRequest) Descriptor() ([]byte, []int) { + return file_kops_bootstrap_v1_bootstrap_proto_rawDescGZIP(), []int{0} +} + +func (x *ChallengeRequest) GetChallengeId() string { + if x != nil { + return x.ChallengeId + } + return "" +} + +func (x *ChallengeRequest) GetChallengeRandom() []byte { + if x != nil { + return x.ChallengeRandom + } + return nil +} + +type ChallengeResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // challenge_response combines the node nonce with the kops-controller nonce. + // The node nonce is passed in the bootstrap request. + // The kops-controller nonce is challenge_random in the ChallengeRequest. + // challenge_response is expected to be sha256(node-node + kops-controller-nonce) + ChallengeResponse []byte `protobuf:"bytes,1,opt,name=challenge_response,json=challengeResponse,proto3" json:"challenge_response,omitempty"` +} + +func (x *ChallengeResponse) Reset() { + *x = ChallengeResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_kops_bootstrap_v1_bootstrap_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ChallengeResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChallengeResponse) ProtoMessage() {} + +func (x *ChallengeResponse) ProtoReflect() protoreflect.Message { + mi := &file_kops_bootstrap_v1_bootstrap_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ChallengeResponse.ProtoReflect.Descriptor instead. +func (*ChallengeResponse) Descriptor() ([]byte, []int) { + return file_kops_bootstrap_v1_bootstrap_proto_rawDescGZIP(), []int{1} +} + +func (x *ChallengeResponse) GetChallengeResponse() []byte { + if x != nil { + return x.ChallengeResponse + } + return nil +} + +var File_kops_bootstrap_v1_bootstrap_proto protoreflect.FileDescriptor + +var file_kops_bootstrap_v1_bootstrap_proto_rawDesc = []byte{ + 0x0a, 0x21, 0x6b, 0x6f, 0x70, 0x73, 0x2f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, + 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x6b, 0x6f, 0x70, 0x73, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, + 0x72, 0x61, 0x70, 0x2e, 0x76, 0x31, 0x22, 0x60, 0x0a, 0x10, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, + 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, + 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x49, 0x64, 0x12, 0x29, 0x0a, + 0x10, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x61, 0x6e, 0x64, 0x6f, + 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, + 0x67, 0x65, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x22, 0x42, 0x0a, 0x11, 0x43, 0x68, 0x61, 0x6c, + 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, + 0x12, 0x63, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x11, 0x63, 0x68, 0x61, 0x6c, 0x6c, + 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x6b, 0x0a, 0x0f, + 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, + 0x58, 0x0a, 0x09, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x12, 0x23, 0x2e, 0x6b, + 0x6f, 0x70, 0x73, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x24, 0x2e, 0x6b, 0x6f, 0x70, 0x73, 0x2e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, + 0x61, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x6e, 0x67, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x25, 0x5a, 0x23, 0x6b, 0x38, 0x73, + 0x2e, 0x69, 0x6f, 0x2f, 0x6b, 0x6f, 0x70, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6b, + 0x6f, 0x70, 0x73, 0x2f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2f, 0x76, 0x31, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_kops_bootstrap_v1_bootstrap_proto_rawDescOnce sync.Once + file_kops_bootstrap_v1_bootstrap_proto_rawDescData = file_kops_bootstrap_v1_bootstrap_proto_rawDesc +) + +func file_kops_bootstrap_v1_bootstrap_proto_rawDescGZIP() []byte { + file_kops_bootstrap_v1_bootstrap_proto_rawDescOnce.Do(func() { + file_kops_bootstrap_v1_bootstrap_proto_rawDescData = protoimpl.X.CompressGZIP(file_kops_bootstrap_v1_bootstrap_proto_rawDescData) + }) + return file_kops_bootstrap_v1_bootstrap_proto_rawDescData +} + +var file_kops_bootstrap_v1_bootstrap_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_kops_bootstrap_v1_bootstrap_proto_goTypes = []interface{}{ + (*ChallengeRequest)(nil), // 0: kops.bootstrap.v1.ChallengeRequest + (*ChallengeResponse)(nil), // 1: kops.bootstrap.v1.ChallengeResponse +} +var file_kops_bootstrap_v1_bootstrap_proto_depIdxs = []int32{ + 0, // 0: kops.bootstrap.v1.CallbackService.Challenge:input_type -> kops.bootstrap.v1.ChallengeRequest + 1, // 1: kops.bootstrap.v1.CallbackService.Challenge:output_type -> kops.bootstrap.v1.ChallengeResponse + 1, // [1:2] is the sub-list for method output_type + 0, // [0:1] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_kops_bootstrap_v1_bootstrap_proto_init() } +func file_kops_bootstrap_v1_bootstrap_proto_init() { + if File_kops_bootstrap_v1_bootstrap_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_kops_bootstrap_v1_bootstrap_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ChallengeRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_kops_bootstrap_v1_bootstrap_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ChallengeResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_kops_bootstrap_v1_bootstrap_proto_rawDesc, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_kops_bootstrap_v1_bootstrap_proto_goTypes, + DependencyIndexes: file_kops_bootstrap_v1_bootstrap_proto_depIdxs, + MessageInfos: file_kops_bootstrap_v1_bootstrap_proto_msgTypes, + }.Build() + File_kops_bootstrap_v1_bootstrap_proto = out.File + file_kops_bootstrap_v1_bootstrap_proto_rawDesc = nil + file_kops_bootstrap_v1_bootstrap_proto_goTypes = nil + file_kops_bootstrap_v1_bootstrap_proto_depIdxs = nil +} diff --git a/proto/kops/bootstrap/v1/bootstrap.proto b/proto/kops/bootstrap/v1/bootstrap.proto new file mode 100644 index 0000000000000..a8269d55a52a7 --- /dev/null +++ b/proto/kops/bootstrap/v1/bootstrap.proto @@ -0,0 +1,28 @@ +syntax = "proto3"; + +package kops.bootstrap.v1; + +option go_package = "k8s.io/kops/proto/kops/bootstrap/v1"; + +// CallbackService is the service that the node must run during bootstrapping, +// we perform a simple callback from the controller. +service CallbackService { + // Answers challenges to cross-check bootstrap requests. + rpc Challenge(ChallengeRequest) returns (ChallengeResponse) {} +} + +message ChallengeRequest { + // challenge_id is a random value (nonce) that the node generated and passed in its bootstrap request. + string challenge_id = 1; + + // challenge_random is a random value (nonce) that kops-controller generated, it is hashed into the response. + bytes challenge_random = 2; +} + +message ChallengeResponse { + // challenge_response combines the node nonce with the kops-controller nonce. + // The node nonce is passed in the bootstrap request. + // The kops-controller nonce is challenge_random in the ChallengeRequest. + // challenge_response is expected to be sha256(node-node + kops-controller-nonce) + bytes challenge_response = 1; +} diff --git a/proto/kops/bootstrap/v1/bootstrap_grpc.pb.go b/proto/kops/bootstrap/v1/bootstrap_grpc.pb.go new file mode 100644 index 0000000000000..6660c67ab758d --- /dev/null +++ b/proto/kops/bootstrap/v1/bootstrap_grpc.pb.go @@ -0,0 +1,120 @@ +/* +Copyright The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. + +package v1 + +import ( + context "context" + + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +// CallbackServiceClient is the client API for CallbackService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type CallbackServiceClient interface { + // Answers challenges to cross-check bootstrap requests. + Challenge(ctx context.Context, in *ChallengeRequest, opts ...grpc.CallOption) (*ChallengeResponse, error) +} + +type callbackServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewCallbackServiceClient(cc grpc.ClientConnInterface) CallbackServiceClient { + return &callbackServiceClient{cc} +} + +func (c *callbackServiceClient) Challenge(ctx context.Context, in *ChallengeRequest, opts ...grpc.CallOption) (*ChallengeResponse, error) { + out := new(ChallengeResponse) + err := c.cc.Invoke(ctx, "/kops.bootstrap.v1.CallbackService/Challenge", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// CallbackServiceServer is the server API for CallbackService service. +// All implementations must embed UnimplementedCallbackServiceServer +// for forward compatibility +type CallbackServiceServer interface { + // Answers challenges to cross-check bootstrap requests. + Challenge(context.Context, *ChallengeRequest) (*ChallengeResponse, error) + mustEmbedUnimplementedCallbackServiceServer() +} + +// UnimplementedCallbackServiceServer must be embedded to have forward compatible implementations. +type UnimplementedCallbackServiceServer struct { +} + +func (UnimplementedCallbackServiceServer) Challenge(context.Context, *ChallengeRequest) (*ChallengeResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Challenge not implemented") +} +func (UnimplementedCallbackServiceServer) mustEmbedUnimplementedCallbackServiceServer() {} + +// UnsafeCallbackServiceServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to CallbackServiceServer will +// result in compilation errors. +type UnsafeCallbackServiceServer interface { + mustEmbedUnimplementedCallbackServiceServer() +} + +func RegisterCallbackServiceServer(s grpc.ServiceRegistrar, srv CallbackServiceServer) { + s.RegisterService(&CallbackService_ServiceDesc, srv) +} + +func _CallbackService_Challenge_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ChallengeRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CallbackServiceServer).Challenge(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/kops.bootstrap.v1.CallbackService/Challenge", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CallbackServiceServer).Challenge(ctx, req.(*ChallengeRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// CallbackService_ServiceDesc is the grpc.ServiceDesc for CallbackService service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var CallbackService_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "kops.bootstrap.v1.CallbackService", + HandlerType: (*CallbackServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "Challenge", + Handler: _CallbackService_Challenge_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "kops/bootstrap/v1/bootstrap.proto", +} diff --git a/tests/integration/update_cluster/additionalobjects/data/aws_launch_template_master-us-test-1a.masters.additionalobjects.example.com_user_data b/tests/integration/update_cluster/additionalobjects/data/aws_launch_template_master-us-test-1a.masters.additionalobjects.example.com_user_data index db5321fab5b45..b870a76d4884c 100644 --- a/tests/integration/update_cluster/additionalobjects/data/aws_launch_template_master-us-test-1a.masters.additionalobjects.example.com_user_data +++ b/tests/integration/update_cluster/additionalobjects/data/aws_launch_template_master-us-test-1a.masters.additionalobjects.example.com_user_data @@ -261,6 +261,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: additionalobjects.example.com ConfigBase: memfs://tests/additionalobjects.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/additionalobjects/data/aws_launch_template_nodes.additionalobjects.example.com_user_data b/tests/integration/update_cluster/additionalobjects/data/aws_launch_template_nodes.additionalobjects.example.com_user_data index f699687f521b9..f2ab434e05c22 100644 --- a/tests/integration/update_cluster/additionalobjects/data/aws_launch_template_nodes.additionalobjects.example.com_user_data +++ b/tests/integration/update_cluster/additionalobjects/data/aws_launch_template_nodes.additionalobjects.example.com_user_data @@ -151,6 +151,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: additionalobjects.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/apiservernodes/data/aws_launch_template_apiserver.apiservers.minimal.example.com_user_data b/tests/integration/update_cluster/apiservernodes/data/aws_launch_template_apiserver.apiservers.minimal.example.com_user_data index 1a6e1a3a9e86c..bf21a7fe1c168 100644 --- a/tests/integration/update_cluster/apiservernodes/data/aws_launch_template_apiserver.apiservers.minimal.example.com_user_data +++ b/tests/integration/update_cluster/apiservernodes/data/aws_launch_template_apiserver.apiservers.minimal.example.com_user_data @@ -151,6 +151,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal.example.com ConfigBase: memfs://clusters.example.com/minimal.example.com InstanceGroupName: apiserver InstanceGroupRole: APIServer diff --git a/tests/integration/update_cluster/apiservernodes/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data b/tests/integration/update_cluster/apiservernodes/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data index 385c289297460..bcc98037eb033 100644 --- a/tests/integration/update_cluster/apiservernodes/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data +++ b/tests/integration/update_cluster/apiservernodes/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data @@ -256,6 +256,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal.example.com ConfigBase: memfs://clusters.example.com/minimal.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/apiservernodes/data/aws_launch_template_nodes.minimal.example.com_user_data b/tests/integration/update_cluster/apiservernodes/data/aws_launch_template_nodes.minimal.example.com_user_data index c7bd6ece66a96..bce56e2248f9e 100644 --- a/tests/integration/update_cluster/apiservernodes/data/aws_launch_template_nodes.minimal.example.com_user_data +++ b/tests/integration/update_cluster/apiservernodes/data/aws_launch_template_nodes.minimal.example.com_user_data @@ -151,6 +151,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/aws-lb-controller/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data b/tests/integration/update_cluster/aws-lb-controller/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data index a60dd416dfc76..95b782c2b0fb9 100644 --- a/tests/integration/update_cluster/aws-lb-controller/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data +++ b/tests/integration/update_cluster/aws-lb-controller/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data @@ -254,6 +254,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal.example.com ConfigBase: memfs://clusters.example.com/minimal.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/aws-lb-controller/data/aws_launch_template_nodes.minimal.example.com_user_data b/tests/integration/update_cluster/aws-lb-controller/data/aws_launch_template_nodes.minimal.example.com_user_data index a2c4621624f40..5becc6a6d4ca4 100644 --- a/tests/integration/update_cluster/aws-lb-controller/data/aws_launch_template_nodes.minimal.example.com_user_data +++ b/tests/integration/update_cluster/aws-lb-controller/data/aws_launch_template_nodes.minimal.example.com_user_data @@ -150,6 +150,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/bastionadditional_user-data/data/aws_launch_template_master-us-test-1a.masters.bastionuserdata.example.com_user_data b/tests/integration/update_cluster/bastionadditional_user-data/data/aws_launch_template_master-us-test-1a.masters.bastionuserdata.example.com_user_data index 7bc0edd3e4f94..30eacf882872e 100644 --- a/tests/integration/update_cluster/bastionadditional_user-data/data/aws_launch_template_master-us-test-1a.masters.bastionuserdata.example.com_user_data +++ b/tests/integration/update_cluster/bastionadditional_user-data/data/aws_launch_template_master-us-test-1a.masters.bastionuserdata.example.com_user_data @@ -254,6 +254,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: bastionuserdata.example.com ConfigBase: memfs://clusters.example.com/bastionuserdata.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/bastionadditional_user-data/data/aws_launch_template_nodes.bastionuserdata.example.com_user_data b/tests/integration/update_cluster/bastionadditional_user-data/data/aws_launch_template_nodes.bastionuserdata.example.com_user_data index 65f32bc703b22..7719de9f5c3d0 100644 --- a/tests/integration/update_cluster/bastionadditional_user-data/data/aws_launch_template_nodes.bastionuserdata.example.com_user_data +++ b/tests/integration/update_cluster/bastionadditional_user-data/data/aws_launch_template_nodes.bastionuserdata.example.com_user_data @@ -159,6 +159,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: bastionuserdata.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/cluster-autoscaler-priority-expander-custom/data/aws_launch_template_master-us-test-1a.masters.cas-priority-expander-custom.example.com_user_data b/tests/integration/update_cluster/cluster-autoscaler-priority-expander-custom/data/aws_launch_template_master-us-test-1a.masters.cas-priority-expander-custom.example.com_user_data index d143ee60c3c11..bbc0d4cffd71c 100644 --- a/tests/integration/update_cluster/cluster-autoscaler-priority-expander-custom/data/aws_launch_template_master-us-test-1a.masters.cas-priority-expander-custom.example.com_user_data +++ b/tests/integration/update_cluster/cluster-autoscaler-priority-expander-custom/data/aws_launch_template_master-us-test-1a.masters.cas-priority-expander-custom.example.com_user_data @@ -252,6 +252,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: cas-priority-expander-custom.example.com ConfigBase: memfs://clusters.example.com/cas-priority-expander-custom.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/cluster-autoscaler-priority-expander-custom/data/aws_launch_template_nodes-high-priority.cas-priority-expander-custom.example.com_user_data b/tests/integration/update_cluster/cluster-autoscaler-priority-expander-custom/data/aws_launch_template_nodes-high-priority.cas-priority-expander-custom.example.com_user_data index b2cfde00ea1b0..18deca1812108 100644 --- a/tests/integration/update_cluster/cluster-autoscaler-priority-expander-custom/data/aws_launch_template_nodes-high-priority.cas-priority-expander-custom.example.com_user_data +++ b/tests/integration/update_cluster/cluster-autoscaler-priority-expander-custom/data/aws_launch_template_nodes-high-priority.cas-priority-expander-custom.example.com_user_data @@ -149,6 +149,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: cas-priority-expander-custom.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/cluster-autoscaler-priority-expander-custom/data/aws_launch_template_nodes-low-priority.cas-priority-expander-custom.example.com_user_data b/tests/integration/update_cluster/cluster-autoscaler-priority-expander-custom/data/aws_launch_template_nodes-low-priority.cas-priority-expander-custom.example.com_user_data index 08ca1128a9ad7..a75f4841a953e 100644 --- a/tests/integration/update_cluster/cluster-autoscaler-priority-expander-custom/data/aws_launch_template_nodes-low-priority.cas-priority-expander-custom.example.com_user_data +++ b/tests/integration/update_cluster/cluster-autoscaler-priority-expander-custom/data/aws_launch_template_nodes-low-priority.cas-priority-expander-custom.example.com_user_data @@ -149,6 +149,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: cas-priority-expander-custom.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/cluster-autoscaler-priority-expander-custom/data/aws_launch_template_nodes.cas-priority-expander-custom.example.com_user_data b/tests/integration/update_cluster/cluster-autoscaler-priority-expander-custom/data/aws_launch_template_nodes.cas-priority-expander-custom.example.com_user_data index 5974764ce045e..c03a14696b077 100644 --- a/tests/integration/update_cluster/cluster-autoscaler-priority-expander-custom/data/aws_launch_template_nodes.cas-priority-expander-custom.example.com_user_data +++ b/tests/integration/update_cluster/cluster-autoscaler-priority-expander-custom/data/aws_launch_template_nodes.cas-priority-expander-custom.example.com_user_data @@ -149,6 +149,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: cas-priority-expander-custom.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/cluster-autoscaler-priority-expander/data/aws_launch_template_master-us-test-1a.masters.cas-priority-expander.example.com_user_data b/tests/integration/update_cluster/cluster-autoscaler-priority-expander/data/aws_launch_template_master-us-test-1a.masters.cas-priority-expander.example.com_user_data index 5bacbf9413f65..c0feba76e1a7d 100644 --- a/tests/integration/update_cluster/cluster-autoscaler-priority-expander/data/aws_launch_template_master-us-test-1a.masters.cas-priority-expander.example.com_user_data +++ b/tests/integration/update_cluster/cluster-autoscaler-priority-expander/data/aws_launch_template_master-us-test-1a.masters.cas-priority-expander.example.com_user_data @@ -252,6 +252,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: cas-priority-expander.example.com ConfigBase: memfs://clusters.example.com/cas-priority-expander.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/cluster-autoscaler-priority-expander/data/aws_launch_template_nodes-high-priority.cas-priority-expander.example.com_user_data b/tests/integration/update_cluster/cluster-autoscaler-priority-expander/data/aws_launch_template_nodes-high-priority.cas-priority-expander.example.com_user_data index 54b497a8e50e9..bdbcec29c617c 100644 --- a/tests/integration/update_cluster/cluster-autoscaler-priority-expander/data/aws_launch_template_nodes-high-priority.cas-priority-expander.example.com_user_data +++ b/tests/integration/update_cluster/cluster-autoscaler-priority-expander/data/aws_launch_template_nodes-high-priority.cas-priority-expander.example.com_user_data @@ -149,6 +149,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: cas-priority-expander.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/cluster-autoscaler-priority-expander/data/aws_launch_template_nodes-low-priority.cas-priority-expander.example.com_user_data b/tests/integration/update_cluster/cluster-autoscaler-priority-expander/data/aws_launch_template_nodes-low-priority.cas-priority-expander.example.com_user_data index 32b60bf79df72..332d876b328f2 100644 --- a/tests/integration/update_cluster/cluster-autoscaler-priority-expander/data/aws_launch_template_nodes-low-priority.cas-priority-expander.example.com_user_data +++ b/tests/integration/update_cluster/cluster-autoscaler-priority-expander/data/aws_launch_template_nodes-low-priority.cas-priority-expander.example.com_user_data @@ -149,6 +149,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: cas-priority-expander.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/cluster-autoscaler-priority-expander/data/aws_launch_template_nodes.cas-priority-expander.example.com_user_data b/tests/integration/update_cluster/cluster-autoscaler-priority-expander/data/aws_launch_template_nodes.cas-priority-expander.example.com_user_data index 97468bada5e98..ceb78a5561d47 100644 --- a/tests/integration/update_cluster/cluster-autoscaler-priority-expander/data/aws_launch_template_nodes.cas-priority-expander.example.com_user_data +++ b/tests/integration/update_cluster/cluster-autoscaler-priority-expander/data/aws_launch_template_nodes.cas-priority-expander.example.com_user_data @@ -149,6 +149,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: cas-priority-expander.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/complex/data/aws_launch_template_master-us-test-1a.masters.complex.example.com_user_data b/tests/integration/update_cluster/complex/data/aws_launch_template_master-us-test-1a.masters.complex.example.com_user_data index bd523eed09a36..edaf2fa819c28 100644 --- a/tests/integration/update_cluster/complex/data/aws_launch_template_master-us-test-1a.masters.complex.example.com_user_data +++ b/tests/integration/update_cluster/complex/data/aws_launch_template_master-us-test-1a.masters.complex.example.com_user_data @@ -269,6 +269,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: complex.example.com ConfigBase: memfs://clusters.example.com/complex.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/complex/data/aws_launch_template_nodes.complex.example.com_user_data b/tests/integration/update_cluster/complex/data/aws_launch_template_nodes.complex.example.com_user_data index 96b5030ab7714..50a8e6128879e 100644 --- a/tests/integration/update_cluster/complex/data/aws_launch_template_nodes.complex.example.com_user_data +++ b/tests/integration/update_cluster/complex/data/aws_launch_template_nodes.complex.example.com_user_data @@ -159,6 +159,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: complex.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/compress/data/aws_launch_template_master-us-test-1a.masters.compress.example.com_user_data b/tests/integration/update_cluster/compress/data/aws_launch_template_master-us-test-1a.masters.compress.example.com_user_data index 00ce1a4b4bf62..aa6710898f9b7 100644 --- a/tests/integration/update_cluster/compress/data/aws_launch_template_master-us-test-1a.masters.compress.example.com_user_data +++ b/tests/integration/update_cluster/compress/data/aws_launch_template_master-us-test-1a.masters.compress.example.com_user_data @@ -133,7 +133,7 @@ ensure-install-dir echo "H4sIAAAAAAAA/+xWXW/bNhe+968g+qJ3tWQ3afpW6I1qZ4mW2PXkZNmuApo8lrlQpHZIKvF+/UBSsp00GTYMK3pRFGjM88Xz8ZyHYlI7PtFqLapsQEhNFa1gaTXSCiaSGgMmIxYdDEAx3DZWaNWZE+WkHIBlfCKdsYDGR4AWlA2/+mgYD4SsKLtzTQkWlA8zpVuTkQ+jTguq7Q2HRNEaMnJ6NZnezvJ5fnZa3k7z4vLX20/55OJ6sbwtT69O51fF53nnQkhLpQMfjwdRC2iEVhk5St4l70NpQn1zad25FeSLYgnYxoSolPp+gaIVEirgXe8JoUqrba2dyZ3dZGRNpQniRuSOC1AMQs+HxEdEBRZMYlqWcFhTJ200jddMtFM2I2Mvc3ajUfxBfeEzzSEjubynW5P7NAaErITiOecIxmRklIR/A0ICahaoW8EBMwIPFlBR6cev6EpCzmthfJ0L6SqhutTmtAbTUAaXYg1syyQE8aWohS2pqgDD2WcpGOSM+USDaBqrOMTlofxKS8BQwxKYVjwqZ85SK1S1S+YGVhut74LyZyoFf1k91xxKMBYF82GDrASjHTL4yWlLfamW8djRrr6NtY3J0nT89n3o1Dg7Ho3Gjy0/t4AoeD+tNK7L/551fTsgZA3UOoQzaqFbqsmymIkqlpvfLDPyykPkVdAV6goBYtPzm+W1QqiEX80DK1HTCjISNbhN7v5vEqFTj5shbYSJUGzHyduTMGuvkGAXCGtAhB4OV9umL6JQcfzFIhzPtbF+UcLh9OFAJ3V1CS3IjPjSEH53YOwGKAcMgAMeIBKj0qpCqKjV+NT29MEiPQ8/fVbioXf5ZVhCrS0Mg8Xwqd8ZatdEv6cOQfXU/tr41Gt43sVrB4QYYA5hodFm5Pj4KEgO8VsY43z/+wnTRiSia1jCdN34ZibwQOtGghd8EeHHm4vldVn8gxCpbkAJnrbj9Lf7O7OP2BF1sQjrlpHxaJScHHvEpeOQelywT5TdgeJZAO5RIKmJVha1lICzPXt6smLUgt+WSTEtzZ6urKVsMwX/f+l3kgkJy61iC0CheUbG9cj8JZGwmKoPG/P8cBLzHO+V80DHLzSRhVfKIUz8HaV2foN2xPl194rtujfsH5/9gskIagmBamIyB7JdTx9vjzPwmCgnCNy/YFT2Y/BXL9kGuJNxXl+3aLO7+t/V2hFQ9vIryCq/vlMUnrmI2RoLNd/JS61tRtK/g7bpfHmwFOPRgUaH74f+mHjg79+7KaxcVQlVnVPFpeeKvhBo4wtyTpFnpIZa4zahLRXS+30cj0Yz8UZpDmvzSPy6Fwr/1/yAAB/fvX4T+v2FaS99ZPufzNvPIi7WgvoJpC3FVIpV2g0p3Rt8gdhG80KtkXoqoUIBFs+Dp6HOQHaUnESfGVViDcZ2F4Jl6f4bJ607rSeTBrUFZi+8TnafBvtJ9NV0G+Gbt9OZjbNc36szpAx6ijoKDPWMaoLCCkblQnPj4WIGNfWRL74D9TtQv22g/gkAAP//AQAA///KG9Hm7w0AAA==" | base64 -d | gzip -d > conf/cluster_spec.yaml -echo "H4sIAAAAAAAA/1SOQWrDMBBF9zqFLuCY0LoBQTcxpDVp3WASsh7kUeJW0qgayTU+fTFZefv57/FqS7k/RRqHHqOS8MeiJm+G2x4YlXToDKuy1DZzwsgbnMAFixtNrtTkQkRejaLxnMBrfIuUQwtukcDCFpmLhJyKLaxPHVlUsiafItmTBY+ipR5zeIS8A9+VnLaX7vv2vPu5fn1eq3l3buO+q5qX+X5+Ohybg/mtRoBj/jCXV/EPAAD//wEAAP//1eFPetUAAAA=" | base64 -d | gzip -d > conf/kube_env.yaml +echo "H4sIAAAAAAAA/2zO0UrDMBTG8fs8RV6gK0PrIODNAtMyraNs7PqQnmzTJCfmJLP06UV6VfD+/+P7tKMyHBLdbwMmJeGHhXaFM6YOPCppyMeEzCscwUeHK0NeaAr2dtkCo5IevWVV12ZWi7D+V7eBMwSDL4lKnFc8/NmqcJWRc7WGZdSTQyU1hZzIHRwEFB0NWOJ85BX4quS4PvWfl8fN1/nj/dxMm2OXtn3TPk3X48Nu3+7sd3MH2Jc3e3oWvwAAAP//AQAA///JQrb09wAAAA==" | base64 -d | gzip -d > conf/kube_env.yaml download-release echo "== nodeup node config done ==" diff --git a/tests/integration/update_cluster/compress/data/aws_launch_template_nodes.compress.example.com_user_data b/tests/integration/update_cluster/compress/data/aws_launch_template_nodes.compress.example.com_user_data index a2d3202185e8b..4961626ac2162 100644 --- a/tests/integration/update_cluster/compress/data/aws_launch_template_nodes.compress.example.com_user_data +++ b/tests/integration/update_cluster/compress/data/aws_launch_template_nodes.compress.example.com_user_data @@ -133,7 +133,7 @@ ensure-install-dir echo "H4sIAAAAAAAA/2yST2/bMAzF7/4URIHeCttZt2IQeikSrA22DMGyYWfGohWishhQkrd8+0Fu3D9YT4b4e8R70nPnJdulhJ6dqQAGDOhol0TR0dJjjBQNJM1UPeY9eUpFhUHCaZAc73I6GOjRR6oAOqeSjyvlkdRAPMVEg32e/xBJBppyLp5blZFtEdLfRBrQTyTHRLr6vjOwaNv65mPd1ov2FZEBOZj5WHvppkUKuPe0on12joN7wGA96RwdgEbuEkt4QLUGBhpETzWOyL7s3S7adsNXQSz18c34ch5y+cYvSnT76fKKB3T/S+fpG20F0BOmrHSPiWJ5PoDlbr1hp1gi3f3eGbgoOS8mtg4/lWjrs+PCfgUlx+Wyr1Sli24qbYulgWZEbTzvm3NJzYugAvDivtFI3sCHCuAodh16xaWEhBxI1yW2gScbPdWPn2PN0hwxRzLX9c3TzgYD9xTT2ZBSN5looESxGc40FrFKoi59LcyvqMfs00sT82123YFsnh7vmcVDTlb+hHvFjrakLNbAdRvfR0vlxB36rdhYfpdY/QMAAP//AQAA//+ifSCJzQIAAA==" | base64 -d | gzip -d > conf/cluster_spec.yaml -echo "H4sIAAAAAAAA/6yUS4+qSBiG9/4K9ua0iIpg0ouP4mJhgyC3Q+8QAUEuxUVLzfz4ifQkJ5M5mUwmzYLF+6aexZcnLyqb68nqmlt+SroNE9F+gpo6zTMn6W5Jt5kwDAKUdEOe5nE0JP2G+WPCMAzz4/VJioZNBikHF6sYgauM6dgbGEvHAiE45BlQLEGGDZWA2UqyYDqywIHnGMBqyGk1Bx8Xsq1IiHpgSNldLcAbIVJm+hIYrhwM87DyH8fKZz9/GkPIKXR7jk2jUKj5hIUhx3QvAw1e2fNXNkLGooDQOIRUhVD2bVtW6Lw7BXoZV6vypPnPj8A8Gyqlsh3qu+YTn2+xCbYiSTbII8ShQB3QJTBVvHh2rHsRLl0fCDdapAZ56vsysAV+zt+0RWhFXAsZXvvLZkdTn33gbD5CimG65dOlNaMXCyzXctMDEfFDaLaKolIWAVUAIhMZClA5C2X/wFpgb2cS2DJkivZ1WBA0mHsnhSrSjNqqAYYEqUC39vhgL0mhopra4ukXbvxR6lTu9eVsJ8r+etecPfgL8s/LA6uAJJzYRRpydB3sSLrnxBZz4opcObSMIxFyX9uTzImFETJUdt/yXXwfFu60O64E0fKHJ1vRWbxz7/sLn205hND0sU0fHH1//+WNYsq/t+b/WnWrnIjdQxlWP3ffa5VrcL+36lV8m1WGyqvL6PNEEvbgkcfjEkkkoJ+opsc0PYfank7Tnj+cPq5eu7aRWenVTGnXIyQI9s/cCOUci84xLok85e1cZ82F0hLie99o1QeuCA+HwpJhy9dnPO3jwB8Wtnis/9Uq3/bvK8MbroCTxLpaYrOa3wficg6v3tJc0JcY3evyS01RWnsyd+3Psa9aQ5Q0H6KWXoUoXO50KWnbbNUU5bKtDrV7Lv6LVf24ZP1ryn4w52Eg/WY2uzSk/xE39dA1ZZl0b3k9JF0dlW9xU5Eu6fu35B5VpExewWYhCsJsgut+iOo40brmSsyoSjZM3ZyS/u/FoSmTDWM2p2Ty+l3J155uo/68YYDtLp7x5BCHh2CuGR2fcmhNYrFIPU61+zYA3Xvq2xrw++RPAAAA//8BAAD//zgmNPacBQAA" | base64 -d | gzip -d > conf/kube_env.yaml +echo "H4sIAAAAAAAA/6yUS4+ySBiF9/4K9qZbREUw6cVLcbGwQZDbR+8QAUEuxUVLzfz4SdOTfJlMZzKZNAsW56SexZsnB5XN9WR1zS0/Jd2GiWg/QeW1H5LOjKpkw8RNRbqk71+Te1SRMnmNm2qCmjrNMyfpbkm3mTAMApR0Q57mcTQk/Yb5Y8IwDPPy+UmKhk0GKQcXqxiBq4zp2BsYS8cCITjkGVAsQYYNlYDZSrJgOrLAgecYwGrIaTUHHxeyrUiIemBI2V0twBshUmb6EhiuHAzzsPIfx8pnP34ZQ8gpdHuOTaNQqPmEhSHHdC8DDT6z5+9shIxFAaFxCKkKoezbtqzQeXcK9DKuVuVJ85/vgXk2VEplO9R3zQc+32ITbEWSbJBHiEOBOqBLYKp48exY9yJcuj4QbrRIDfLU92VgC/ycv2mL0Iq4FjK89pfNjqY++8DZfIQUw3TLp0trRi8WWK7lpgci4ofQbBVFpSwCqgBEJjIUoHIWyv6BtcDeziSwZcgU7euwIGgw904KVaQZtVUDDAlSgW7t8cFekkJFNbXF0y/c+L3Uqdzry9lOlP31rjl78Bfkn5cHVgFJOLGLNOToOtiRdM+JLebEFblyaBlHIuS+tieZEwsjZKjsvuW7+D4s3Gl3XAmi5Q9PtqKzeOfe9xc+23IIoeljmz44+vb22xvFlL+35v9adauciN1DGVa/dj9rlWtw31v1WfyYVYbKq8vo40QS9uCRx+MSSSSgH6imxzQ9h9qeTtOeP5zer167tpFZ6dVMadcjJAj2z9wI5RyLzjEuiTzl7VxnzYXSEuJ7P2jVO64ID4fCkmHL12c87ePAHxa2eKz/1Srf9u8rwxuugJPEulpis5rfB+JyDq/e0lzQlxjd6/JLTVFaezJ37c+xr1pDlDTvopZehShc7nQpadts1RTlsq0OtXsu/otV/bhk/eeUvTDnYSD9Zja7NKR/iZt66JqyTLrXvB6Sro7K1+8mcbMQBWE2wXU/RHWcaF1zJV8DWjenpP97cWjKZMOYzSmZfP6u5GtPt1F/3jDAdhfPeHKIw0Mw14yOTzm0JrFYpB6n2n0bgO499W0N+G3yJwAAAP//AQAA//8syA67vgUAAA==" | base64 -d | gzip -d > conf/kube_env.yaml download-release echo "== nodeup node config done ==" diff --git a/tests/integration/update_cluster/containerd-custom/data/aws_launch_template_master-us-test-1a.masters.containerd.example.com_user_data b/tests/integration/update_cluster/containerd-custom/data/aws_launch_template_master-us-test-1a.masters.containerd.example.com_user_data index 48b133e044d15..f9ac485fc67e0 100644 --- a/tests/integration/update_cluster/containerd-custom/data/aws_launch_template_master-us-test-1a.masters.containerd.example.com_user_data +++ b/tests/integration/update_cluster/containerd-custom/data/aws_launch_template_master-us-test-1a.masters.containerd.example.com_user_data @@ -254,6 +254,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: containerd.example.com ConfigBase: memfs://clusters.example.com/containerd.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/containerd-custom/data/aws_launch_template_nodes.containerd.example.com_user_data b/tests/integration/update_cluster/containerd-custom/data/aws_launch_template_nodes.containerd.example.com_user_data index 19bc9e2597a17..a8ef983a109b6 100644 --- a/tests/integration/update_cluster/containerd-custom/data/aws_launch_template_nodes.containerd.example.com_user_data +++ b/tests/integration/update_cluster/containerd-custom/data/aws_launch_template_nodes.containerd.example.com_user_data @@ -150,6 +150,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: containerd.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/containerd/data/aws_launch_template_master-us-test-1a.masters.containerd.example.com_user_data b/tests/integration/update_cluster/containerd/data/aws_launch_template_master-us-test-1a.masters.containerd.example.com_user_data index 6d66d8547e1af..f50a14fd354c1 100644 --- a/tests/integration/update_cluster/containerd/data/aws_launch_template_master-us-test-1a.masters.containerd.example.com_user_data +++ b/tests/integration/update_cluster/containerd/data/aws_launch_template_master-us-test-1a.masters.containerd.example.com_user_data @@ -254,6 +254,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: containerd.example.com ConfigBase: memfs://clusters.example.com/containerd.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/containerd/data/aws_launch_template_nodes.containerd.example.com_user_data b/tests/integration/update_cluster/containerd/data/aws_launch_template_nodes.containerd.example.com_user_data index 18b67ebdc5af7..812faa1300b55 100644 --- a/tests/integration/update_cluster/containerd/data/aws_launch_template_nodes.containerd.example.com_user_data +++ b/tests/integration/update_cluster/containerd/data/aws_launch_template_nodes.containerd.example.com_user_data @@ -150,6 +150,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: containerd.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/digit/data/aws_launch_template_master-us-test-1a.masters.123.example.com_user_data b/tests/integration/update_cluster/digit/data/aws_launch_template_master-us-test-1a.masters.123.example.com_user_data index 47d305b57c125..6149135175410 100644 --- a/tests/integration/update_cluster/digit/data/aws_launch_template_master-us-test-1a.masters.123.example.com_user_data +++ b/tests/integration/update_cluster/digit/data/aws_launch_template_master-us-test-1a.masters.123.example.com_user_data @@ -254,6 +254,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: 123.example.com ConfigBase: memfs://clusters.example.com/123.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/digit/data/aws_launch_template_nodes.123.example.com_user_data b/tests/integration/update_cluster/digit/data/aws_launch_template_nodes.123.example.com_user_data index 6a23de1383b30..8103fdcc53159 100644 --- a/tests/integration/update_cluster/digit/data/aws_launch_template_nodes.123.example.com_user_data +++ b/tests/integration/update_cluster/digit/data/aws_launch_template_nodes.123.example.com_user_data @@ -150,6 +150,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: 123.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/docker-custom/data/aws_launch_template_master-us-test-1a.masters.docker.example.com_user_data b/tests/integration/update_cluster/docker-custom/data/aws_launch_template_master-us-test-1a.masters.docker.example.com_user_data index b08e5ffc6bc44..e37be26908da1 100644 --- a/tests/integration/update_cluster/docker-custom/data/aws_launch_template_master-us-test-1a.masters.docker.example.com_user_data +++ b/tests/integration/update_cluster/docker-custom/data/aws_launch_template_master-us-test-1a.masters.docker.example.com_user_data @@ -257,6 +257,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: docker.example.com ConfigBase: memfs://clusters.example.com/docker.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/docker-custom/data/aws_launch_template_nodes.docker.example.com_user_data b/tests/integration/update_cluster/docker-custom/data/aws_launch_template_nodes.docker.example.com_user_data index d333b9b7800b3..5ff4d3fcf090d 100644 --- a/tests/integration/update_cluster/docker-custom/data/aws_launch_template_nodes.docker.example.com_user_data +++ b/tests/integration/update_cluster/docker-custom/data/aws_launch_template_nodes.docker.example.com_user_data @@ -151,6 +151,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: docker.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/existing_iam/data/aws_launch_template_master-us-test-1a.masters.existing-iam.example.com_user_data b/tests/integration/update_cluster/existing_iam/data/aws_launch_template_master-us-test-1a.masters.existing-iam.example.com_user_data index 8eb61c5779363..45a09cbdd068f 100644 --- a/tests/integration/update_cluster/existing_iam/data/aws_launch_template_master-us-test-1a.masters.existing-iam.example.com_user_data +++ b/tests/integration/update_cluster/existing_iam/data/aws_launch_template_master-us-test-1a.masters.existing-iam.example.com_user_data @@ -262,6 +262,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: existing-iam.example.com ConfigBase: memfs://tests/existing-iam.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/existing_iam/data/aws_launch_template_master-us-test-1b.masters.existing-iam.example.com_user_data b/tests/integration/update_cluster/existing_iam/data/aws_launch_template_master-us-test-1b.masters.existing-iam.example.com_user_data index 59fd0bc4f0843..e2c6882d6932f 100644 --- a/tests/integration/update_cluster/existing_iam/data/aws_launch_template_master-us-test-1b.masters.existing-iam.example.com_user_data +++ b/tests/integration/update_cluster/existing_iam/data/aws_launch_template_master-us-test-1b.masters.existing-iam.example.com_user_data @@ -262,6 +262,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: existing-iam.example.com ConfigBase: memfs://tests/existing-iam.example.com InstanceGroupName: master-us-test-1b InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/existing_iam/data/aws_launch_template_master-us-test-1c.masters.existing-iam.example.com_user_data b/tests/integration/update_cluster/existing_iam/data/aws_launch_template_master-us-test-1c.masters.existing-iam.example.com_user_data index 29433f448c737..54a64803a2113 100644 --- a/tests/integration/update_cluster/existing_iam/data/aws_launch_template_master-us-test-1c.masters.existing-iam.example.com_user_data +++ b/tests/integration/update_cluster/existing_iam/data/aws_launch_template_master-us-test-1c.masters.existing-iam.example.com_user_data @@ -262,6 +262,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: existing-iam.example.com ConfigBase: memfs://tests/existing-iam.example.com InstanceGroupName: master-us-test-1c InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/existing_iam/data/aws_launch_template_nodes.existing-iam.example.com_user_data b/tests/integration/update_cluster/existing_iam/data/aws_launch_template_nodes.existing-iam.example.com_user_data index 4419f22807afd..5f56292242c95 100644 --- a/tests/integration/update_cluster/existing_iam/data/aws_launch_template_nodes.existing-iam.example.com_user_data +++ b/tests/integration/update_cluster/existing_iam/data/aws_launch_template_nodes.existing-iam.example.com_user_data @@ -150,6 +150,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: existing-iam.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/existing_sg/data/aws_launch_template_master-us-test-1a.masters.existingsg.example.com_user_data b/tests/integration/update_cluster/existing_sg/data/aws_launch_template_master-us-test-1a.masters.existingsg.example.com_user_data index 9dde82e8e4f74..cf84253be72b2 100644 --- a/tests/integration/update_cluster/existing_sg/data/aws_launch_template_master-us-test-1a.masters.existingsg.example.com_user_data +++ b/tests/integration/update_cluster/existing_sg/data/aws_launch_template_master-us-test-1a.masters.existingsg.example.com_user_data @@ -262,6 +262,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: existingsg.example.com ConfigBase: memfs://clusters.example.com/existingsg.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/existing_sg/data/aws_launch_template_master-us-test-1b.masters.existingsg.example.com_user_data b/tests/integration/update_cluster/existing_sg/data/aws_launch_template_master-us-test-1b.masters.existingsg.example.com_user_data index 7f6e0a9e9885b..628ad44985e67 100644 --- a/tests/integration/update_cluster/existing_sg/data/aws_launch_template_master-us-test-1b.masters.existingsg.example.com_user_data +++ b/tests/integration/update_cluster/existing_sg/data/aws_launch_template_master-us-test-1b.masters.existingsg.example.com_user_data @@ -262,6 +262,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: existingsg.example.com ConfigBase: memfs://clusters.example.com/existingsg.example.com InstanceGroupName: master-us-test-1b InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/existing_sg/data/aws_launch_template_master-us-test-1c.masters.existingsg.example.com_user_data b/tests/integration/update_cluster/existing_sg/data/aws_launch_template_master-us-test-1c.masters.existingsg.example.com_user_data index c00b7f51a715d..6e4875981d4aa 100644 --- a/tests/integration/update_cluster/existing_sg/data/aws_launch_template_master-us-test-1c.masters.existingsg.example.com_user_data +++ b/tests/integration/update_cluster/existing_sg/data/aws_launch_template_master-us-test-1c.masters.existingsg.example.com_user_data @@ -262,6 +262,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: existingsg.example.com ConfigBase: memfs://clusters.example.com/existingsg.example.com InstanceGroupName: master-us-test-1c InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/existing_sg/data/aws_launch_template_nodes.existingsg.example.com_user_data b/tests/integration/update_cluster/existing_sg/data/aws_launch_template_nodes.existingsg.example.com_user_data index f069cd3b84c69..d293014419f88 100644 --- a/tests/integration/update_cluster/existing_sg/data/aws_launch_template_nodes.existingsg.example.com_user_data +++ b/tests/integration/update_cluster/existing_sg/data/aws_launch_template_nodes.existingsg.example.com_user_data @@ -150,6 +150,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: existingsg.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/external_dns/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data b/tests/integration/update_cluster/external_dns/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data index 78ceca75079bf..5d70a8065ee4d 100644 --- a/tests/integration/update_cluster/external_dns/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data +++ b/tests/integration/update_cluster/external_dns/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data @@ -254,6 +254,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal.example.com ConfigBase: memfs://clusters.example.com/minimal.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/external_dns/data/aws_launch_template_nodes.minimal.example.com_user_data b/tests/integration/update_cluster/external_dns/data/aws_launch_template_nodes.minimal.example.com_user_data index a2c4621624f40..5becc6a6d4ca4 100644 --- a/tests/integration/update_cluster/external_dns/data/aws_launch_template_nodes.minimal.example.com_user_data +++ b/tests/integration/update_cluster/external_dns/data/aws_launch_template_nodes.minimal.example.com_user_data @@ -150,6 +150,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/external_dns_irsa/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data b/tests/integration/update_cluster/external_dns_irsa/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data index a60dd416dfc76..95b782c2b0fb9 100644 --- a/tests/integration/update_cluster/external_dns_irsa/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data +++ b/tests/integration/update_cluster/external_dns_irsa/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data @@ -254,6 +254,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal.example.com ConfigBase: memfs://clusters.example.com/minimal.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/external_dns_irsa/data/aws_launch_template_nodes.minimal.example.com_user_data b/tests/integration/update_cluster/external_dns_irsa/data/aws_launch_template_nodes.minimal.example.com_user_data index a2c4621624f40..5becc6a6d4ca4 100644 --- a/tests/integration/update_cluster/external_dns_irsa/data/aws_launch_template_nodes.minimal.example.com_user_data +++ b/tests/integration/update_cluster/external_dns_irsa/data/aws_launch_template_nodes.minimal.example.com_user_data @@ -150,6 +150,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/externallb/data/aws_launch_template_master-us-test-1a.masters.externallb.example.com_user_data b/tests/integration/update_cluster/externallb/data/aws_launch_template_master-us-test-1a.masters.externallb.example.com_user_data index 7ead231d96990..598124375aa9a 100644 --- a/tests/integration/update_cluster/externallb/data/aws_launch_template_master-us-test-1a.masters.externallb.example.com_user_data +++ b/tests/integration/update_cluster/externallb/data/aws_launch_template_master-us-test-1a.masters.externallb.example.com_user_data @@ -254,6 +254,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: externallb.example.com ConfigBase: memfs://clusters.example.com/externallb.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/externallb/data/aws_launch_template_nodes.externallb.example.com_user_data b/tests/integration/update_cluster/externallb/data/aws_launch_template_nodes.externallb.example.com_user_data index ac888f31a2dda..2d282ede96bb3 100644 --- a/tests/integration/update_cluster/externallb/data/aws_launch_template_nodes.externallb.example.com_user_data +++ b/tests/integration/update_cluster/externallb/data/aws_launch_template_nodes.externallb.example.com_user_data @@ -150,6 +150,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: externallb.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/externalpolicies/data/aws_launch_template_master-us-test-1a.masters.externalpolicies.example.com_user_data b/tests/integration/update_cluster/externalpolicies/data/aws_launch_template_master-us-test-1a.masters.externalpolicies.example.com_user_data index 2ae6ac97926ae..a5a990a1ac91c 100644 --- a/tests/integration/update_cluster/externalpolicies/data/aws_launch_template_master-us-test-1a.masters.externalpolicies.example.com_user_data +++ b/tests/integration/update_cluster/externalpolicies/data/aws_launch_template_master-us-test-1a.masters.externalpolicies.example.com_user_data @@ -256,6 +256,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: externalpolicies.example.com ConfigBase: memfs://clusters.example.com/externalpolicies.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/externalpolicies/data/aws_launch_template_nodes.externalpolicies.example.com_user_data b/tests/integration/update_cluster/externalpolicies/data/aws_launch_template_nodes.externalpolicies.example.com_user_data index 842c907b4dd38..0b711582bcdb9 100644 --- a/tests/integration/update_cluster/externalpolicies/data/aws_launch_template_nodes.externalpolicies.example.com_user_data +++ b/tests/integration/update_cluster/externalpolicies/data/aws_launch_template_nodes.externalpolicies.example.com_user_data @@ -150,6 +150,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: externalpolicies.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/ha/data/aws_launch_template_master-us-test-1a.masters.ha.example.com_user_data b/tests/integration/update_cluster/ha/data/aws_launch_template_master-us-test-1a.masters.ha.example.com_user_data index fd3c4e1a71f0a..5231a8c180ffc 100644 --- a/tests/integration/update_cluster/ha/data/aws_launch_template_master-us-test-1a.masters.ha.example.com_user_data +++ b/tests/integration/update_cluster/ha/data/aws_launch_template_master-us-test-1a.masters.ha.example.com_user_data @@ -262,6 +262,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: ha.example.com ConfigBase: memfs://tests/ha.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/ha/data/aws_launch_template_master-us-test-1b.masters.ha.example.com_user_data b/tests/integration/update_cluster/ha/data/aws_launch_template_master-us-test-1b.masters.ha.example.com_user_data index d20f368212597..0313793b63f4f 100644 --- a/tests/integration/update_cluster/ha/data/aws_launch_template_master-us-test-1b.masters.ha.example.com_user_data +++ b/tests/integration/update_cluster/ha/data/aws_launch_template_master-us-test-1b.masters.ha.example.com_user_data @@ -262,6 +262,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: ha.example.com ConfigBase: memfs://tests/ha.example.com InstanceGroupName: master-us-test-1b InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/ha/data/aws_launch_template_master-us-test-1c.masters.ha.example.com_user_data b/tests/integration/update_cluster/ha/data/aws_launch_template_master-us-test-1c.masters.ha.example.com_user_data index a7e4de18bb9d5..1c8d6c8e232fc 100644 --- a/tests/integration/update_cluster/ha/data/aws_launch_template_master-us-test-1c.masters.ha.example.com_user_data +++ b/tests/integration/update_cluster/ha/data/aws_launch_template_master-us-test-1c.masters.ha.example.com_user_data @@ -262,6 +262,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: ha.example.com ConfigBase: memfs://tests/ha.example.com InstanceGroupName: master-us-test-1c InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/ha/data/aws_launch_template_nodes.ha.example.com_user_data b/tests/integration/update_cluster/ha/data/aws_launch_template_nodes.ha.example.com_user_data index 7d3ec5512c8ba..a48573a2b2bd8 100644 --- a/tests/integration/update_cluster/ha/data/aws_launch_template_nodes.ha.example.com_user_data +++ b/tests/integration/update_cluster/ha/data/aws_launch_template_nodes.ha.example.com_user_data @@ -150,6 +150,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: ha.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/ha_gce/data/google_compute_instance_template_master-us-test1-a-ha-gce-example-com_metadata_startup-script b/tests/integration/update_cluster/ha_gce/data/google_compute_instance_template_master-us-test1-a-ha-gce-example-com_metadata_startup-script index f4dc0002c7387..5a710e96269ab 100644 --- a/tests/integration/update_cluster/ha_gce/data/google_compute_instance_template_master-us-test1-a-ha-gce-example-com_metadata_startup-script +++ b/tests/integration/update_cluster/ha_gce/data/google_compute_instance_template_master-us-test1-a-ha-gce-example-com_metadata_startup-script @@ -252,6 +252,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: gce +ClusterName: ha-gce.example.com ConfigBase: memfs://tests/ha-gce.example.com InstanceGroupName: master-us-test1-a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/ha_gce/data/google_compute_instance_template_master-us-test1-b-ha-gce-example-com_metadata_startup-script b/tests/integration/update_cluster/ha_gce/data/google_compute_instance_template_master-us-test1-b-ha-gce-example-com_metadata_startup-script index 9fd907096e57d..0be4b1794a9d0 100644 --- a/tests/integration/update_cluster/ha_gce/data/google_compute_instance_template_master-us-test1-b-ha-gce-example-com_metadata_startup-script +++ b/tests/integration/update_cluster/ha_gce/data/google_compute_instance_template_master-us-test1-b-ha-gce-example-com_metadata_startup-script @@ -252,6 +252,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: gce +ClusterName: ha-gce.example.com ConfigBase: memfs://tests/ha-gce.example.com InstanceGroupName: master-us-test1-b InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/ha_gce/data/google_compute_instance_template_master-us-test1-c-ha-gce-example-com_metadata_startup-script b/tests/integration/update_cluster/ha_gce/data/google_compute_instance_template_master-us-test1-c-ha-gce-example-com_metadata_startup-script index a7d59edba877d..7a0a6cf2024c1 100644 --- a/tests/integration/update_cluster/ha_gce/data/google_compute_instance_template_master-us-test1-c-ha-gce-example-com_metadata_startup-script +++ b/tests/integration/update_cluster/ha_gce/data/google_compute_instance_template_master-us-test1-c-ha-gce-example-com_metadata_startup-script @@ -252,6 +252,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: gce +ClusterName: ha-gce.example.com ConfigBase: memfs://tests/ha-gce.example.com InstanceGroupName: master-us-test1-c InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/ha_gce/data/google_compute_instance_template_nodes-ha-gce-example-com_metadata_startup-script b/tests/integration/update_cluster/ha_gce/data/google_compute_instance_template_nodes-ha-gce-example-com_metadata_startup-script index 75ed52dac0968..9a5ced2149350 100644 --- a/tests/integration/update_cluster/ha_gce/data/google_compute_instance_template_nodes-ha-gce-example-com_metadata_startup-script +++ b/tests/integration/update_cluster/ha_gce/data/google_compute_instance_template_nodes-ha-gce-example-com_metadata_startup-script @@ -147,6 +147,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: gce +ClusterName: ha-gce.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/irsa/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data b/tests/integration/update_cluster/irsa/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data index a60dd416dfc76..95b782c2b0fb9 100644 --- a/tests/integration/update_cluster/irsa/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data +++ b/tests/integration/update_cluster/irsa/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data @@ -254,6 +254,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal.example.com ConfigBase: memfs://clusters.example.com/minimal.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/irsa/data/aws_launch_template_nodes.minimal.example.com_user_data b/tests/integration/update_cluster/irsa/data/aws_launch_template_nodes.minimal.example.com_user_data index a2c4621624f40..5becc6a6d4ca4 100644 --- a/tests/integration/update_cluster/irsa/data/aws_launch_template_nodes.minimal.example.com_user_data +++ b/tests/integration/update_cluster/irsa/data/aws_launch_template_nodes.minimal.example.com_user_data @@ -150,6 +150,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/karpenter/data/aws_launch_template_karpenter-nodes-default.minimal.example.com_user_data b/tests/integration/update_cluster/karpenter/data/aws_launch_template_karpenter-nodes-default.minimal.example.com_user_data index 2ac3cfe0bed01..73e188964357f 100644 --- a/tests/integration/update_cluster/karpenter/data/aws_launch_template_karpenter-nodes-default.minimal.example.com_user_data +++ b/tests/integration/update_cluster/karpenter/data/aws_launch_template_karpenter-nodes-default.minimal.example.com_user_data @@ -150,6 +150,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/karpenter/data/aws_launch_template_karpenter-nodes-single-machinetype.minimal.example.com_user_data b/tests/integration/update_cluster/karpenter/data/aws_launch_template_karpenter-nodes-single-machinetype.minimal.example.com_user_data index 3c13994496f9d..dcc387ecd1781 100644 --- a/tests/integration/update_cluster/karpenter/data/aws_launch_template_karpenter-nodes-single-machinetype.minimal.example.com_user_data +++ b/tests/integration/update_cluster/karpenter/data/aws_launch_template_karpenter-nodes-single-machinetype.minimal.example.com_user_data @@ -150,6 +150,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/karpenter/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data b/tests/integration/update_cluster/karpenter/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data index 8dc2b2c8776ca..f8aa8de0a3e60 100644 --- a/tests/integration/update_cluster/karpenter/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data +++ b/tests/integration/update_cluster/karpenter/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data @@ -254,6 +254,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal.example.com ConfigBase: memfs://clusters.example.com/minimal.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/karpenter/data/aws_launch_template_nodes.minimal.example.com_user_data b/tests/integration/update_cluster/karpenter/data/aws_launch_template_nodes.minimal.example.com_user_data index 1bfe8e6af6b16..3bc07204c4be9 100644 --- a/tests/integration/update_cluster/karpenter/data/aws_launch_template_nodes.minimal.example.com_user_data +++ b/tests/integration/update_cluster/karpenter/data/aws_launch_template_nodes.minimal.example.com_user_data @@ -150,6 +150,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/many-addons-ccm-irsa/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data b/tests/integration/update_cluster/many-addons-ccm-irsa/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data index be25472ddd1ed..ca7d1a6fe57ad 100644 --- a/tests/integration/update_cluster/many-addons-ccm-irsa/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data +++ b/tests/integration/update_cluster/many-addons-ccm-irsa/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data @@ -255,6 +255,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal.example.com ConfigBase: memfs://clusters.example.com/minimal.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/many-addons-ccm-irsa/data/aws_launch_template_nodes.minimal.example.com_user_data b/tests/integration/update_cluster/many-addons-ccm-irsa/data/aws_launch_template_nodes.minimal.example.com_user_data index b3e1a808b9c75..7971c20732ff4 100644 --- a/tests/integration/update_cluster/many-addons-ccm-irsa/data/aws_launch_template_nodes.minimal.example.com_user_data +++ b/tests/integration/update_cluster/many-addons-ccm-irsa/data/aws_launch_template_nodes.minimal.example.com_user_data @@ -150,6 +150,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/many-addons-ccm-irsa23/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data b/tests/integration/update_cluster/many-addons-ccm-irsa23/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data index 9185f5c6dffb5..1628b3cd24fdb 100644 --- a/tests/integration/update_cluster/many-addons-ccm-irsa23/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data +++ b/tests/integration/update_cluster/many-addons-ccm-irsa23/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data @@ -257,6 +257,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal.example.com ConfigBase: memfs://clusters.example.com/minimal.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/many-addons-ccm-irsa23/data/aws_launch_template_nodes.minimal.example.com_user_data b/tests/integration/update_cluster/many-addons-ccm-irsa23/data/aws_launch_template_nodes.minimal.example.com_user_data index 84a23f0ff42cf..11fcedab902c6 100644 --- a/tests/integration/update_cluster/many-addons-ccm-irsa23/data/aws_launch_template_nodes.minimal.example.com_user_data +++ b/tests/integration/update_cluster/many-addons-ccm-irsa23/data/aws_launch_template_nodes.minimal.example.com_user_data @@ -151,6 +151,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/many-addons-ccm-irsa24/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data b/tests/integration/update_cluster/many-addons-ccm-irsa24/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data index 01ccaae1e7eda..2ebdceed79d3e 100644 --- a/tests/integration/update_cluster/many-addons-ccm-irsa24/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data +++ b/tests/integration/update_cluster/many-addons-ccm-irsa24/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data @@ -255,6 +255,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal.example.com ConfigBase: memfs://clusters.example.com/minimal.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/many-addons-ccm-irsa24/data/aws_launch_template_nodes.minimal.example.com_user_data b/tests/integration/update_cluster/many-addons-ccm-irsa24/data/aws_launch_template_nodes.minimal.example.com_user_data index 9492942f5ba5c..7a9de22086e54 100644 --- a/tests/integration/update_cluster/many-addons-ccm-irsa24/data/aws_launch_template_nodes.minimal.example.com_user_data +++ b/tests/integration/update_cluster/many-addons-ccm-irsa24/data/aws_launch_template_nodes.minimal.example.com_user_data @@ -150,6 +150,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/many-addons-ccm-irsa25/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data b/tests/integration/update_cluster/many-addons-ccm-irsa25/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data index 05c9d64969e24..a7d6783f86ddb 100644 --- a/tests/integration/update_cluster/many-addons-ccm-irsa25/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data +++ b/tests/integration/update_cluster/many-addons-ccm-irsa25/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data @@ -255,6 +255,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal.example.com ConfigBase: memfs://clusters.example.com/minimal.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/many-addons-ccm-irsa25/data/aws_launch_template_nodes.minimal.example.com_user_data b/tests/integration/update_cluster/many-addons-ccm-irsa25/data/aws_launch_template_nodes.minimal.example.com_user_data index 1b6b392ce99f7..68259d37c0206 100644 --- a/tests/integration/update_cluster/many-addons-ccm-irsa25/data/aws_launch_template_nodes.minimal.example.com_user_data +++ b/tests/integration/update_cluster/many-addons-ccm-irsa25/data/aws_launch_template_nodes.minimal.example.com_user_data @@ -150,6 +150,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/many-addons-ccm-irsa26/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data b/tests/integration/update_cluster/many-addons-ccm-irsa26/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data index bca62eaca395c..895b6896e4b59 100644 --- a/tests/integration/update_cluster/many-addons-ccm-irsa26/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data +++ b/tests/integration/update_cluster/many-addons-ccm-irsa26/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data @@ -255,6 +255,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal.example.com ConfigBase: memfs://clusters.example.com/minimal.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/many-addons-ccm-irsa26/data/aws_launch_template_nodes.minimal.example.com_user_data b/tests/integration/update_cluster/many-addons-ccm-irsa26/data/aws_launch_template_nodes.minimal.example.com_user_data index 12b78a1b85ae3..447e6b226762e 100644 --- a/tests/integration/update_cluster/many-addons-ccm-irsa26/data/aws_launch_template_nodes.minimal.example.com_user_data +++ b/tests/integration/update_cluster/many-addons-ccm-irsa26/data/aws_launch_template_nodes.minimal.example.com_user_data @@ -150,6 +150,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/many-addons-ccm/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data b/tests/integration/update_cluster/many-addons-ccm/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data index 73d0dae9523ca..d65487bcd2b0b 100644 --- a/tests/integration/update_cluster/many-addons-ccm/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data +++ b/tests/integration/update_cluster/many-addons-ccm/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data @@ -255,6 +255,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal.example.com ConfigBase: memfs://clusters.example.com/minimal.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/many-addons-ccm/data/aws_launch_template_nodes.minimal.example.com_user_data b/tests/integration/update_cluster/many-addons-ccm/data/aws_launch_template_nodes.minimal.example.com_user_data index b3e1a808b9c75..7971c20732ff4 100644 --- a/tests/integration/update_cluster/many-addons-ccm/data/aws_launch_template_nodes.minimal.example.com_user_data +++ b/tests/integration/update_cluster/many-addons-ccm/data/aws_launch_template_nodes.minimal.example.com_user_data @@ -150,6 +150,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/many-addons-gce/data/google_compute_instance_template_master-us-test1-a-minimal-example-com_metadata_startup-script b/tests/integration/update_cluster/many-addons-gce/data/google_compute_instance_template_master-us-test1-a-minimal-example-com_metadata_startup-script index 8d5565427a9d6..2dda357dd88e2 100644 --- a/tests/integration/update_cluster/many-addons-gce/data/google_compute_instance_template_master-us-test1-a-minimal-example-com_metadata_startup-script +++ b/tests/integration/update_cluster/many-addons-gce/data/google_compute_instance_template_master-us-test1-a-minimal-example-com_metadata_startup-script @@ -245,6 +245,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: gce +ClusterName: minimal.example.com ConfigBase: memfs://tests/minimal.example.com InstanceGroupName: master-us-test1-a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/many-addons-gce/data/google_compute_instance_template_nodes-minimal-example-com_metadata_startup-script b/tests/integration/update_cluster/many-addons-gce/data/google_compute_instance_template_nodes-minimal-example-com_metadata_startup-script index 6bed98e26067e..15c48223f6cce 100644 --- a/tests/integration/update_cluster/many-addons-gce/data/google_compute_instance_template_nodes-minimal-example-com_metadata_startup-script +++ b/tests/integration/update_cluster/many-addons-gce/data/google_compute_instance_template_nodes-minimal-example-com_metadata_startup-script @@ -147,6 +147,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: gce +ClusterName: minimal.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/many-addons/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data b/tests/integration/update_cluster/many-addons/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data index 73d0dae9523ca..d65487bcd2b0b 100644 --- a/tests/integration/update_cluster/many-addons/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data +++ b/tests/integration/update_cluster/many-addons/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data @@ -255,6 +255,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal.example.com ConfigBase: memfs://clusters.example.com/minimal.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/many-addons/data/aws_launch_template_nodes.minimal.example.com_user_data b/tests/integration/update_cluster/many-addons/data/aws_launch_template_nodes.minimal.example.com_user_data index b3e1a808b9c75..7971c20732ff4 100644 --- a/tests/integration/update_cluster/many-addons/data/aws_launch_template_nodes.minimal.example.com_user_data +++ b/tests/integration/update_cluster/many-addons/data/aws_launch_template_nodes.minimal.example.com_user_data @@ -150,6 +150,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/minimal-1.23/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data b/tests/integration/update_cluster/minimal-1.23/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data index e7d411c44c911..3411993b216cb 100644 --- a/tests/integration/update_cluster/minimal-1.23/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data +++ b/tests/integration/update_cluster/minimal-1.23/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data @@ -261,6 +261,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal.example.com ConfigBase: memfs://tests/minimal.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/minimal-1.23/data/aws_launch_template_nodes.minimal.example.com_user_data b/tests/integration/update_cluster/minimal-1.23/data/aws_launch_template_nodes.minimal.example.com_user_data index a95e70857c53b..8c80eec5c9368 100644 --- a/tests/integration/update_cluster/minimal-1.23/data/aws_launch_template_nodes.minimal.example.com_user_data +++ b/tests/integration/update_cluster/minimal-1.23/data/aws_launch_template_nodes.minimal.example.com_user_data @@ -151,6 +151,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/minimal-1.24/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data b/tests/integration/update_cluster/minimal-1.24/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data index d60bc3f8da16e..b86667a3714a5 100644 --- a/tests/integration/update_cluster/minimal-1.24/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data +++ b/tests/integration/update_cluster/minimal-1.24/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data @@ -258,6 +258,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal.example.com ConfigBase: memfs://tests/minimal.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/minimal-1.24/data/aws_launch_template_nodes.minimal.example.com_user_data b/tests/integration/update_cluster/minimal-1.24/data/aws_launch_template_nodes.minimal.example.com_user_data index 4c5c3056a0653..2a7db375efc1a 100644 --- a/tests/integration/update_cluster/minimal-1.24/data/aws_launch_template_nodes.minimal.example.com_user_data +++ b/tests/integration/update_cluster/minimal-1.24/data/aws_launch_template_nodes.minimal.example.com_user_data @@ -150,6 +150,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/minimal-1.25/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data b/tests/integration/update_cluster/minimal-1.25/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data index 9d505bef0c99e..99de0bc65c31d 100644 --- a/tests/integration/update_cluster/minimal-1.25/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data +++ b/tests/integration/update_cluster/minimal-1.25/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data @@ -258,6 +258,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal.example.com ConfigBase: memfs://tests/minimal.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/minimal-1.25/data/aws_launch_template_nodes.minimal.example.com_user_data b/tests/integration/update_cluster/minimal-1.25/data/aws_launch_template_nodes.minimal.example.com_user_data index 6124feaedc7b7..23b681309d365 100644 --- a/tests/integration/update_cluster/minimal-1.25/data/aws_launch_template_nodes.minimal.example.com_user_data +++ b/tests/integration/update_cluster/minimal-1.25/data/aws_launch_template_nodes.minimal.example.com_user_data @@ -150,6 +150,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/minimal-1.26/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data b/tests/integration/update_cluster/minimal-1.26/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data index 3868b884e83dd..96b0c03ad9e85 100644 --- a/tests/integration/update_cluster/minimal-1.26/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data +++ b/tests/integration/update_cluster/minimal-1.26/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data @@ -258,6 +258,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal.example.com ConfigBase: memfs://tests/minimal.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/minimal-1.26/data/aws_launch_template_nodes.minimal.example.com_user_data b/tests/integration/update_cluster/minimal-1.26/data/aws_launch_template_nodes.minimal.example.com_user_data index 1b1d62e156786..985778840e0c1 100644 --- a/tests/integration/update_cluster/minimal-1.26/data/aws_launch_template_nodes.minimal.example.com_user_data +++ b/tests/integration/update_cluster/minimal-1.26/data/aws_launch_template_nodes.minimal.example.com_user_data @@ -150,6 +150,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/minimal-dns-none/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data b/tests/integration/update_cluster/minimal-dns-none/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data index 3868b884e83dd..96b0c03ad9e85 100644 --- a/tests/integration/update_cluster/minimal-dns-none/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data +++ b/tests/integration/update_cluster/minimal-dns-none/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data @@ -258,6 +258,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal.example.com ConfigBase: memfs://tests/minimal.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/minimal-dns-none/data/aws_launch_template_nodes.minimal.example.com_user_data b/tests/integration/update_cluster/minimal-dns-none/data/aws_launch_template_nodes.minimal.example.com_user_data index 1b1d62e156786..985778840e0c1 100644 --- a/tests/integration/update_cluster/minimal-dns-none/data/aws_launch_template_nodes.minimal.example.com_user_data +++ b/tests/integration/update_cluster/minimal-dns-none/data/aws_launch_template_nodes.minimal.example.com_user_data @@ -150,6 +150,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/minimal-etcd/data/aws_launch_template_master-us-test-1a.masters.minimal-etcd.example.com_user_data b/tests/integration/update_cluster/minimal-etcd/data/aws_launch_template_master-us-test-1a.masters.minimal-etcd.example.com_user_data index ef88c08d592c5..595deccfa5102 100644 --- a/tests/integration/update_cluster/minimal-etcd/data/aws_launch_template_master-us-test-1a.masters.minimal-etcd.example.com_user_data +++ b/tests/integration/update_cluster/minimal-etcd/data/aws_launch_template_master-us-test-1a.masters.minimal-etcd.example.com_user_data @@ -265,6 +265,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal-etcd.example.com ConfigBase: memfs://clusters.example.com/minimal-etcd.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/minimal-etcd/data/aws_launch_template_nodes.minimal-etcd.example.com_user_data b/tests/integration/update_cluster/minimal-etcd/data/aws_launch_template_nodes.minimal-etcd.example.com_user_data index 0060b3d6c4fd9..59e33215dfeba 100644 --- a/tests/integration/update_cluster/minimal-etcd/data/aws_launch_template_nodes.minimal-etcd.example.com_user_data +++ b/tests/integration/update_cluster/minimal-etcd/data/aws_launch_template_nodes.minimal-etcd.example.com_user_data @@ -150,6 +150,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal-etcd.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/minimal-gp3/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data b/tests/integration/update_cluster/minimal-gp3/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data index 0238ff8732ae7..1f8856c365468 100644 --- a/tests/integration/update_cluster/minimal-gp3/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data +++ b/tests/integration/update_cluster/minimal-gp3/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data @@ -260,6 +260,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal.example.com ConfigBase: memfs://clusters.example.com/minimal.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/minimal-gp3/data/aws_launch_template_nodes.minimal.example.com_user_data b/tests/integration/update_cluster/minimal-gp3/data/aws_launch_template_nodes.minimal.example.com_user_data index a2c4621624f40..5becc6a6d4ca4 100644 --- a/tests/integration/update_cluster/minimal-gp3/data/aws_launch_template_nodes.minimal.example.com_user_data +++ b/tests/integration/update_cluster/minimal-gp3/data/aws_launch_template_nodes.minimal.example.com_user_data @@ -150,6 +150,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/minimal-ipv6-calico/data/aws_launch_template_master-us-test-1a.masters.minimal-ipv6.example.com_user_data b/tests/integration/update_cluster/minimal-ipv6-calico/data/aws_launch_template_master-us-test-1a.masters.minimal-ipv6.example.com_user_data index 8f26c3eed011d..249d5e2e44473 100644 --- a/tests/integration/update_cluster/minimal-ipv6-calico/data/aws_launch_template_master-us-test-1a.masters.minimal-ipv6.example.com_user_data +++ b/tests/integration/update_cluster/minimal-ipv6-calico/data/aws_launch_template_master-us-test-1a.masters.minimal-ipv6.example.com_user_data @@ -256,6 +256,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal-ipv6.example.com ConfigBase: memfs://clusters.example.com/minimal-ipv6.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/minimal-ipv6-calico/data/aws_launch_template_nodes.minimal-ipv6.example.com_user_data b/tests/integration/update_cluster/minimal-ipv6-calico/data/aws_launch_template_nodes.minimal-ipv6.example.com_user_data index d23bc6df894ef..90f9c2abc7ae2 100644 --- a/tests/integration/update_cluster/minimal-ipv6-calico/data/aws_launch_template_nodes.minimal-ipv6.example.com_user_data +++ b/tests/integration/update_cluster/minimal-ipv6-calico/data/aws_launch_template_nodes.minimal-ipv6.example.com_user_data @@ -150,6 +150,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal-ipv6.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/minimal-ipv6-cilium/data/aws_launch_template_master-us-test-1a.masters.minimal-ipv6.example.com_user_data b/tests/integration/update_cluster/minimal-ipv6-cilium/data/aws_launch_template_master-us-test-1a.masters.minimal-ipv6.example.com_user_data index d35bd79ec82d2..4187bf293652e 100644 --- a/tests/integration/update_cluster/minimal-ipv6-cilium/data/aws_launch_template_master-us-test-1a.masters.minimal-ipv6.example.com_user_data +++ b/tests/integration/update_cluster/minimal-ipv6-cilium/data/aws_launch_template_master-us-test-1a.masters.minimal-ipv6.example.com_user_data @@ -256,6 +256,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal-ipv6.example.com ConfigBase: memfs://clusters.example.com/minimal-ipv6.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/minimal-ipv6-cilium/data/aws_launch_template_nodes.minimal-ipv6.example.com_user_data b/tests/integration/update_cluster/minimal-ipv6-cilium/data/aws_launch_template_nodes.minimal-ipv6.example.com_user_data index 0e35a347cfe82..e3949b7abeef3 100644 --- a/tests/integration/update_cluster/minimal-ipv6-cilium/data/aws_launch_template_nodes.minimal-ipv6.example.com_user_data +++ b/tests/integration/update_cluster/minimal-ipv6-cilium/data/aws_launch_template_nodes.minimal-ipv6.example.com_user_data @@ -150,6 +150,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal-ipv6.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/minimal-ipv6-no-subnet-prefix/data/aws_launch_template_master-us-test-1a.masters.minimal-ipv6.example.com_user_data b/tests/integration/update_cluster/minimal-ipv6-no-subnet-prefix/data/aws_launch_template_master-us-test-1a.masters.minimal-ipv6.example.com_user_data index f1c6b58634386..3ab79e15f79b0 100644 --- a/tests/integration/update_cluster/minimal-ipv6-no-subnet-prefix/data/aws_launch_template_master-us-test-1a.masters.minimal-ipv6.example.com_user_data +++ b/tests/integration/update_cluster/minimal-ipv6-no-subnet-prefix/data/aws_launch_template_master-us-test-1a.masters.minimal-ipv6.example.com_user_data @@ -256,6 +256,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal-ipv6.example.com ConfigBase: memfs://clusters.example.com/minimal-ipv6.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/minimal-ipv6-no-subnet-prefix/data/aws_launch_template_nodes.minimal-ipv6.example.com_user_data b/tests/integration/update_cluster/minimal-ipv6-no-subnet-prefix/data/aws_launch_template_nodes.minimal-ipv6.example.com_user_data index 3bf1855b90e09..8edf47b9fcad7 100644 --- a/tests/integration/update_cluster/minimal-ipv6-no-subnet-prefix/data/aws_launch_template_nodes.minimal-ipv6.example.com_user_data +++ b/tests/integration/update_cluster/minimal-ipv6-no-subnet-prefix/data/aws_launch_template_nodes.minimal-ipv6.example.com_user_data @@ -150,6 +150,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal-ipv6.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/minimal-ipv6/data/aws_launch_template_master-us-test-1a.masters.minimal-ipv6.example.com_user_data b/tests/integration/update_cluster/minimal-ipv6/data/aws_launch_template_master-us-test-1a.masters.minimal-ipv6.example.com_user_data index f1c6b58634386..3ab79e15f79b0 100644 --- a/tests/integration/update_cluster/minimal-ipv6/data/aws_launch_template_master-us-test-1a.masters.minimal-ipv6.example.com_user_data +++ b/tests/integration/update_cluster/minimal-ipv6/data/aws_launch_template_master-us-test-1a.masters.minimal-ipv6.example.com_user_data @@ -256,6 +256,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal-ipv6.example.com ConfigBase: memfs://clusters.example.com/minimal-ipv6.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/minimal-ipv6/data/aws_launch_template_nodes.minimal-ipv6.example.com_user_data b/tests/integration/update_cluster/minimal-ipv6/data/aws_launch_template_nodes.minimal-ipv6.example.com_user_data index 3bf1855b90e09..8edf47b9fcad7 100644 --- a/tests/integration/update_cluster/minimal-ipv6/data/aws_launch_template_nodes.minimal-ipv6.example.com_user_data +++ b/tests/integration/update_cluster/minimal-ipv6/data/aws_launch_template_nodes.minimal-ipv6.example.com_user_data @@ -150,6 +150,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal-ipv6.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/minimal-longclustername/data/aws_launch_template_master-us-test-1a.masters.this.is.truly.a.really.really.long.cluster-name.minimal.example.com_user_data b/tests/integration/update_cluster/minimal-longclustername/data/aws_launch_template_master-us-test-1a.masters.this.is.truly.a.really.really.long.cluster-name.minimal.example.com_user_data index fd882bf2b0dc8..fd4d7a2ad121e 100644 --- a/tests/integration/update_cluster/minimal-longclustername/data/aws_launch_template_master-us-test-1a.masters.this.is.truly.a.really.really.long.cluster-name.minimal.example.com_user_data +++ b/tests/integration/update_cluster/minimal-longclustername/data/aws_launch_template_master-us-test-1a.masters.this.is.truly.a.really.really.long.cluster-name.minimal.example.com_user_data @@ -252,6 +252,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: this.is.truly.a.really.really.long.cluster-name.minimal.example.com ConfigBase: memfs://clusters.example.com/this.is.truly.a.really.really.long.cluster-name.minimal.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/minimal-longclustername/data/aws_launch_template_nodes.this.is.truly.a.really.really.long.cluster-name.minimal.example.com_user_data b/tests/integration/update_cluster/minimal-longclustername/data/aws_launch_template_nodes.this.is.truly.a.really.really.long.cluster-name.minimal.example.com_user_data index f1c309a90350c..9263541779b2c 100644 --- a/tests/integration/update_cluster/minimal-longclustername/data/aws_launch_template_nodes.this.is.truly.a.really.really.long.cluster-name.minimal.example.com_user_data +++ b/tests/integration/update_cluster/minimal-longclustername/data/aws_launch_template_nodes.this.is.truly.a.really.really.long.cluster-name.minimal.example.com_user_data @@ -149,6 +149,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: this.is.truly.a.really.really.long.cluster-name.minimal.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/minimal-warmpool/data/aws_launch_template_master-us-test-1a.masters.minimal-warmpool.example.com_user_data b/tests/integration/update_cluster/minimal-warmpool/data/aws_launch_template_master-us-test-1a.masters.minimal-warmpool.example.com_user_data index 2c8f24fbdb749..c84cae0d29123 100644 --- a/tests/integration/update_cluster/minimal-warmpool/data/aws_launch_template_master-us-test-1a.masters.minimal-warmpool.example.com_user_data +++ b/tests/integration/update_cluster/minimal-warmpool/data/aws_launch_template_master-us-test-1a.masters.minimal-warmpool.example.com_user_data @@ -254,6 +254,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal-warmpool.example.com ConfigBase: memfs://clusters.example.com/minimal-warmpool.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/minimal-warmpool/data/aws_launch_template_nodes.minimal-warmpool.example.com_user_data b/tests/integration/update_cluster/minimal-warmpool/data/aws_launch_template_nodes.minimal-warmpool.example.com_user_data index ad198dbdfe559..2029158139942 100644 --- a/tests/integration/update_cluster/minimal-warmpool/data/aws_launch_template_nodes.minimal-warmpool.example.com_user_data +++ b/tests/integration/update_cluster/minimal-warmpool/data/aws_launch_template_nodes.minimal-warmpool.example.com_user_data @@ -150,6 +150,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal-warmpool.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/minimal/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data b/tests/integration/update_cluster/minimal/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data index 71567c770f5c0..3608fa995836c 100644 --- a/tests/integration/update_cluster/minimal/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data +++ b/tests/integration/update_cluster/minimal/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data @@ -247,6 +247,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal.example.com ConfigBase: memfs://clusters.example.com/minimal.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/minimal/data/aws_launch_template_nodes.minimal.example.com_user_data b/tests/integration/update_cluster/minimal/data/aws_launch_template_nodes.minimal.example.com_user_data index 4bccdad42ac27..5e3d9d371df82 100644 --- a/tests/integration/update_cluster/minimal/data/aws_launch_template_nodes.minimal.example.com_user_data +++ b/tests/integration/update_cluster/minimal/data/aws_launch_template_nodes.minimal.example.com_user_data @@ -148,6 +148,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/minimal_gce/data/google_compute_instance_template_master-us-test1-a-minimal-gce-example-com_metadata_startup-script b/tests/integration/update_cluster/minimal_gce/data/google_compute_instance_template_master-us-test1-a-minimal-gce-example-com_metadata_startup-script index 44c70560c54d6..738981bd71b21 100644 --- a/tests/integration/update_cluster/minimal_gce/data/google_compute_instance_template_master-us-test1-a-minimal-gce-example-com_metadata_startup-script +++ b/tests/integration/update_cluster/minimal_gce/data/google_compute_instance_template_master-us-test1-a-minimal-gce-example-com_metadata_startup-script @@ -244,6 +244,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: gce +ClusterName: minimal-gce.example.com ConfigBase: memfs://tests/minimal-gce.example.com InstanceGroupName: master-us-test1-a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/minimal_gce/data/google_compute_instance_template_nodes-minimal-gce-example-com_metadata_startup-script b/tests/integration/update_cluster/minimal_gce/data/google_compute_instance_template_nodes-minimal-gce-example-com_metadata_startup-script index f1070e9559673..1aa72f6590c1c 100644 --- a/tests/integration/update_cluster/minimal_gce/data/google_compute_instance_template_nodes-minimal-gce-example-com_metadata_startup-script +++ b/tests/integration/update_cluster/minimal_gce/data/google_compute_instance_template_nodes-minimal-gce-example-com_metadata_startup-script @@ -147,6 +147,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: gce +ClusterName: minimal-gce.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/minimal_gce_dns-none/data/google_compute_instance_template_master-us-test1-a-minimal-gce-example-com_metadata_startup-script b/tests/integration/update_cluster/minimal_gce_dns-none/data/google_compute_instance_template_master-us-test1-a-minimal-gce-example-com_metadata_startup-script index 44c70560c54d6..738981bd71b21 100644 --- a/tests/integration/update_cluster/minimal_gce_dns-none/data/google_compute_instance_template_master-us-test1-a-minimal-gce-example-com_metadata_startup-script +++ b/tests/integration/update_cluster/minimal_gce_dns-none/data/google_compute_instance_template_master-us-test1-a-minimal-gce-example-com_metadata_startup-script @@ -244,6 +244,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: gce +ClusterName: minimal-gce.example.com ConfigBase: memfs://tests/minimal-gce.example.com InstanceGroupName: master-us-test1-a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/minimal_gce_dns-none/data/google_compute_instance_template_nodes-minimal-gce-example-com_metadata_startup-script b/tests/integration/update_cluster/minimal_gce_dns-none/data/google_compute_instance_template_nodes-minimal-gce-example-com_metadata_startup-script index f1070e9559673..1aa72f6590c1c 100644 --- a/tests/integration/update_cluster/minimal_gce_dns-none/data/google_compute_instance_template_nodes-minimal-gce-example-com_metadata_startup-script +++ b/tests/integration/update_cluster/minimal_gce_dns-none/data/google_compute_instance_template_nodes-minimal-gce-example-com_metadata_startup-script @@ -147,6 +147,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: gce +ClusterName: minimal-gce.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/minimal_gce_ilb/data/google_compute_instance_template_master-us-test1-a-minimal-gce-ilb-example-com_metadata_startup-script b/tests/integration/update_cluster/minimal_gce_ilb/data/google_compute_instance_template_master-us-test1-a-minimal-gce-ilb-example-com_metadata_startup-script index 199366a753e82..1c2ca2e5cb60a 100644 --- a/tests/integration/update_cluster/minimal_gce_ilb/data/google_compute_instance_template_master-us-test1-a-minimal-gce-ilb-example-com_metadata_startup-script +++ b/tests/integration/update_cluster/minimal_gce_ilb/data/google_compute_instance_template_master-us-test1-a-minimal-gce-ilb-example-com_metadata_startup-script @@ -244,6 +244,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: gce +ClusterName: minimal-gce-ilb.example.com ConfigBase: memfs://tests/minimal-gce-ilb.example.com InstanceGroupName: master-us-test1-a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/minimal_gce_ilb/data/google_compute_instance_template_nodes-minimal-gce-ilb-example-com_metadata_startup-script b/tests/integration/update_cluster/minimal_gce_ilb/data/google_compute_instance_template_nodes-minimal-gce-ilb-example-com_metadata_startup-script index 9072a4666a81d..1217dd58b731a 100644 --- a/tests/integration/update_cluster/minimal_gce_ilb/data/google_compute_instance_template_nodes-minimal-gce-ilb-example-com_metadata_startup-script +++ b/tests/integration/update_cluster/minimal_gce_ilb/data/google_compute_instance_template_nodes-minimal-gce-ilb-example-com_metadata_startup-script @@ -147,6 +147,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: gce +ClusterName: minimal-gce-ilb.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/minimal_gce_ilb_longclustername/data/google_compute_instance_template_master-us-test1-a-minimal-gce-with-a-very-very-very-very-very-long-name-example-com_metadata_startup-script b/tests/integration/update_cluster/minimal_gce_ilb_longclustername/data/google_compute_instance_template_master-us-test1-a-minimal-gce-with-a-very-very-very-very-very-long-name-example-com_metadata_startup-script index ebdb2bcc9e921..13e97bd3229f6 100644 --- a/tests/integration/update_cluster/minimal_gce_ilb_longclustername/data/google_compute_instance_template_master-us-test1-a-minimal-gce-with-a-very-very-very-very-very-long-name-example-com_metadata_startup-script +++ b/tests/integration/update_cluster/minimal_gce_ilb_longclustername/data/google_compute_instance_template_master-us-test1-a-minimal-gce-with-a-very-very-very-very-very-long-name-example-com_metadata_startup-script @@ -244,6 +244,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: gce +ClusterName: minimal-gce-with-a-very-very-very-very-very-long-name.example.com ConfigBase: memfs://tests/minimal-gce-with-a-very-very-very-very-very-long-name.example.com InstanceGroupName: master-us-test1-a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/minimal_gce_ilb_longclustername/data/google_compute_instance_template_nodes-minimal-gce-with-a-very-very-very-very-very-long-name-example-com_metadata_startup-script b/tests/integration/update_cluster/minimal_gce_ilb_longclustername/data/google_compute_instance_template_nodes-minimal-gce-with-a-very-very-very-very-very-long-name-example-com_metadata_startup-script index 8d7cd2bb5f820..30f0d6fd44ef0 100644 --- a/tests/integration/update_cluster/minimal_gce_ilb_longclustername/data/google_compute_instance_template_nodes-minimal-gce-with-a-very-very-very-very-very-long-name-example-com_metadata_startup-script +++ b/tests/integration/update_cluster/minimal_gce_ilb_longclustername/data/google_compute_instance_template_nodes-minimal-gce-with-a-very-very-very-very-very-long-name-example-com_metadata_startup-script @@ -147,6 +147,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: gce +ClusterName: minimal-gce-with-a-very-very-very-very-very-long-name.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/minimal_gce_longclustername/data/google_compute_instance_template_master-us-test1-a-minimal-gce-with-a-very-very-very-very-very-long-name-example-com_metadata_startup-script b/tests/integration/update_cluster/minimal_gce_longclustername/data/google_compute_instance_template_master-us-test1-a-minimal-gce-with-a-very-very-very-very-very-long-name-example-com_metadata_startup-script index ebdb2bcc9e921..13e97bd3229f6 100644 --- a/tests/integration/update_cluster/minimal_gce_longclustername/data/google_compute_instance_template_master-us-test1-a-minimal-gce-with-a-very-very-very-very-very-long-name-example-com_metadata_startup-script +++ b/tests/integration/update_cluster/minimal_gce_longclustername/data/google_compute_instance_template_master-us-test1-a-minimal-gce-with-a-very-very-very-very-very-long-name-example-com_metadata_startup-script @@ -244,6 +244,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: gce +ClusterName: minimal-gce-with-a-very-very-very-very-very-long-name.example.com ConfigBase: memfs://tests/minimal-gce-with-a-very-very-very-very-very-long-name.example.com InstanceGroupName: master-us-test1-a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/minimal_gce_longclustername/data/google_compute_instance_template_nodes-minimal-gce-with-a-very-very-very-very-very-long-name-example-com_metadata_startup-script b/tests/integration/update_cluster/minimal_gce_longclustername/data/google_compute_instance_template_nodes-minimal-gce-with-a-very-very-very-very-very-long-name-example-com_metadata_startup-script index 8d7cd2bb5f820..30f0d6fd44ef0 100644 --- a/tests/integration/update_cluster/minimal_gce_longclustername/data/google_compute_instance_template_nodes-minimal-gce-with-a-very-very-very-very-very-long-name-example-com_metadata_startup-script +++ b/tests/integration/update_cluster/minimal_gce_longclustername/data/google_compute_instance_template_nodes-minimal-gce-with-a-very-very-very-very-very-long-name-example-com_metadata_startup-script @@ -147,6 +147,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: gce +ClusterName: minimal-gce-with-a-very-very-very-very-very-long-name.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/minimal_gce_plb/data/google_compute_instance_template_master-us-test1-a-minimal-gce-plb-example-com_metadata_startup-script b/tests/integration/update_cluster/minimal_gce_plb/data/google_compute_instance_template_master-us-test1-a-minimal-gce-plb-example-com_metadata_startup-script index 4df981ec9c8fa..d6df0bf5bfbd5 100644 --- a/tests/integration/update_cluster/minimal_gce_plb/data/google_compute_instance_template_master-us-test1-a-minimal-gce-plb-example-com_metadata_startup-script +++ b/tests/integration/update_cluster/minimal_gce_plb/data/google_compute_instance_template_master-us-test1-a-minimal-gce-plb-example-com_metadata_startup-script @@ -244,6 +244,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: gce +ClusterName: minimal-gce-plb.example.com ConfigBase: memfs://tests/minimal-gce-plb.example.com InstanceGroupName: master-us-test1-a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/minimal_gce_plb/data/google_compute_instance_template_nodes-minimal-gce-plb-example-com_metadata_startup-script b/tests/integration/update_cluster/minimal_gce_plb/data/google_compute_instance_template_nodes-minimal-gce-plb-example-com_metadata_startup-script index d46beb92de115..0381566df7ecc 100644 --- a/tests/integration/update_cluster/minimal_gce_plb/data/google_compute_instance_template_nodes-minimal-gce-plb-example-com_metadata_startup-script +++ b/tests/integration/update_cluster/minimal_gce_plb/data/google_compute_instance_template_nodes-minimal-gce-plb-example-com_metadata_startup-script @@ -147,6 +147,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: gce +ClusterName: minimal-gce-plb.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/minimal_gce_private/data/google_compute_instance_template_master-us-test1-a-minimal-gce-private-example-com_metadata_startup-script b/tests/integration/update_cluster/minimal_gce_private/data/google_compute_instance_template_master-us-test1-a-minimal-gce-private-example-com_metadata_startup-script index fb9e10429594b..749841ddf3254 100644 --- a/tests/integration/update_cluster/minimal_gce_private/data/google_compute_instance_template_master-us-test1-a-minimal-gce-private-example-com_metadata_startup-script +++ b/tests/integration/update_cluster/minimal_gce_private/data/google_compute_instance_template_master-us-test1-a-minimal-gce-private-example-com_metadata_startup-script @@ -244,6 +244,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: gce +ClusterName: minimal-gce-private.example.com ConfigBase: memfs://tests/minimal-gce-private.example.com InstanceGroupName: master-us-test1-a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/minimal_gce_private/data/google_compute_instance_template_nodes-minimal-gce-private-example-com_metadata_startup-script b/tests/integration/update_cluster/minimal_gce_private/data/google_compute_instance_template_nodes-minimal-gce-private-example-com_metadata_startup-script index d5bea506ca87b..1bd56b1b21a14 100644 --- a/tests/integration/update_cluster/minimal_gce_private/data/google_compute_instance_template_nodes-minimal-gce-private-example-com_metadata_startup-script +++ b/tests/integration/update_cluster/minimal_gce_private/data/google_compute_instance_template_nodes-minimal-gce-private-example-com_metadata_startup-script @@ -147,6 +147,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: gce +ClusterName: minimal-gce-private.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/minimal_gossip/data/aws_launch_template_master-us-test-1a.masters.minimal.k8s.local_user_data b/tests/integration/update_cluster/minimal_gossip/data/aws_launch_template_master-us-test-1a.masters.minimal.k8s.local_user_data index 85e1ae6dee912..3c4c3cc7c5ce7 100644 --- a/tests/integration/update_cluster/minimal_gossip/data/aws_launch_template_master-us-test-1a.masters.minimal.k8s.local_user_data +++ b/tests/integration/update_cluster/minimal_gossip/data/aws_launch_template_master-us-test-1a.masters.minimal.k8s.local_user_data @@ -254,6 +254,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal.k8s.local ConfigBase: memfs://clusters.example.com/minimal.k8s.local InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/minimal_gossip/data/aws_launch_template_nodes.minimal.k8s.local_user_data b/tests/integration/update_cluster/minimal_gossip/data/aws_launch_template_nodes.minimal.k8s.local_user_data index c8838e5e74537..8d00b8b28387c 100644 --- a/tests/integration/update_cluster/minimal_gossip/data/aws_launch_template_nodes.minimal.k8s.local_user_data +++ b/tests/integration/update_cluster/minimal_gossip/data/aws_launch_template_nodes.minimal.k8s.local_user_data @@ -150,6 +150,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal.k8s.local ConfigBase: memfs://clusters.example.com/minimal.k8s.local InstanceGroupName: nodes InstanceGroupRole: Node diff --git a/tests/integration/update_cluster/minimal_gossip_irsa/data/aws_launch_template_master-us-test-1a.masters.minimal.k8s.local_user_data b/tests/integration/update_cluster/minimal_gossip_irsa/data/aws_launch_template_master-us-test-1a.masters.minimal.k8s.local_user_data index 14c1922fdff54..d3a4c1789a58c 100644 --- a/tests/integration/update_cluster/minimal_gossip_irsa/data/aws_launch_template_master-us-test-1a.masters.minimal.k8s.local_user_data +++ b/tests/integration/update_cluster/minimal_gossip_irsa/data/aws_launch_template_master-us-test-1a.masters.minimal.k8s.local_user_data @@ -254,6 +254,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal.k8s.local ConfigBase: memfs://clusters.example.com/minimal.k8s.local InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/minimal_gossip_irsa/data/aws_launch_template_nodes.minimal.k8s.local_user_data b/tests/integration/update_cluster/minimal_gossip_irsa/data/aws_launch_template_nodes.minimal.k8s.local_user_data index c8838e5e74537..8d00b8b28387c 100644 --- a/tests/integration/update_cluster/minimal_gossip_irsa/data/aws_launch_template_nodes.minimal.k8s.local_user_data +++ b/tests/integration/update_cluster/minimal_gossip_irsa/data/aws_launch_template_nodes.minimal.k8s.local_user_data @@ -150,6 +150,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal.k8s.local ConfigBase: memfs://clusters.example.com/minimal.k8s.local InstanceGroupName: nodes InstanceGroupRole: Node diff --git a/tests/integration/update_cluster/minimal_hetzner/data/hcloud_server_master-fsn1_user_data b/tests/integration/update_cluster/minimal_hetzner/data/hcloud_server_master-fsn1_user_data index 861fe92a43949..7c002d6b68ef1 100644 --- a/tests/integration/update_cluster/minimal_hetzner/data/hcloud_server_master-fsn1_user_data +++ b/tests/integration/update_cluster/minimal_hetzner/data/hcloud_server_master-fsn1_user_data @@ -243,6 +243,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: hetzner +ClusterName: minimal.example.com ConfigBase: memfs://tests/minimal.example.com InstanceGroupName: master-fsn1 InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/minimal_hetzner/data/hcloud_server_nodes-fsn1_user_data b/tests/integration/update_cluster/minimal_hetzner/data/hcloud_server_nodes-fsn1_user_data index 89a35afaa9730..f802b2f396850 100644 --- a/tests/integration/update_cluster/minimal_hetzner/data/hcloud_server_nodes-fsn1_user_data +++ b/tests/integration/update_cluster/minimal_hetzner/data/hcloud_server_nodes-fsn1_user_data @@ -146,6 +146,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: hetzner +ClusterName: minimal.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/minimal_scaleway/data/scaleway_instance_server_control-plane-fr-par-1_user_data b/tests/integration/update_cluster/minimal_scaleway/data/scaleway_instance_server_control-plane-fr-par-1_user_data index b961a8ed7fff4..0915e82df95ad 100644 --- a/tests/integration/update_cluster/minimal_scaleway/data/scaleway_instance_server_control-plane-fr-par-1_user_data +++ b/tests/integration/update_cluster/minimal_scaleway/data/scaleway_instance_server_control-plane-fr-par-1_user_data @@ -245,6 +245,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: scaleway +ClusterName: scw-minimal.k8s.local ConfigBase: memfs://tests/scw-minimal.k8s.local InstanceGroupName: control-plane-fr-par-1 InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/minimal_scaleway/data/scaleway_instance_server_nodes-fr-par-1_user_data b/tests/integration/update_cluster/minimal_scaleway/data/scaleway_instance_server_nodes-fr-par-1_user_data index e8e05bc58dc54..e7a301180a95c 100644 --- a/tests/integration/update_cluster/minimal_scaleway/data/scaleway_instance_server_nodes-fr-par-1_user_data +++ b/tests/integration/update_cluster/minimal_scaleway/data/scaleway_instance_server_nodes-fr-par-1_user_data @@ -149,6 +149,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: scaleway +ClusterName: scw-minimal.k8s.local ConfigBase: memfs://tests/scw-minimal.k8s.local InstanceGroupName: nodes-fr-par-1 InstanceGroupRole: Node diff --git a/tests/integration/update_cluster/mixed_instances/data/aws_launch_template_master-us-test-1a.masters.mixedinstances.example.com_user_data b/tests/integration/update_cluster/mixed_instances/data/aws_launch_template_master-us-test-1a.masters.mixedinstances.example.com_user_data index 8ee9cf96ff4e9..8e1734bd5885a 100644 --- a/tests/integration/update_cluster/mixed_instances/data/aws_launch_template_master-us-test-1a.masters.mixedinstances.example.com_user_data +++ b/tests/integration/update_cluster/mixed_instances/data/aws_launch_template_master-us-test-1a.masters.mixedinstances.example.com_user_data @@ -262,6 +262,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: mixedinstances.example.com ConfigBase: memfs://clusters.example.com/mixedinstances.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/mixed_instances/data/aws_launch_template_master-us-test-1b.masters.mixedinstances.example.com_user_data b/tests/integration/update_cluster/mixed_instances/data/aws_launch_template_master-us-test-1b.masters.mixedinstances.example.com_user_data index 87c45cc9b4ca4..0578a38c76ca1 100644 --- a/tests/integration/update_cluster/mixed_instances/data/aws_launch_template_master-us-test-1b.masters.mixedinstances.example.com_user_data +++ b/tests/integration/update_cluster/mixed_instances/data/aws_launch_template_master-us-test-1b.masters.mixedinstances.example.com_user_data @@ -262,6 +262,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: mixedinstances.example.com ConfigBase: memfs://clusters.example.com/mixedinstances.example.com InstanceGroupName: master-us-test-1b InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/mixed_instances/data/aws_launch_template_master-us-test-1c.masters.mixedinstances.example.com_user_data b/tests/integration/update_cluster/mixed_instances/data/aws_launch_template_master-us-test-1c.masters.mixedinstances.example.com_user_data index 41112a29d5c2a..df1e995f49b8c 100644 --- a/tests/integration/update_cluster/mixed_instances/data/aws_launch_template_master-us-test-1c.masters.mixedinstances.example.com_user_data +++ b/tests/integration/update_cluster/mixed_instances/data/aws_launch_template_master-us-test-1c.masters.mixedinstances.example.com_user_data @@ -262,6 +262,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: mixedinstances.example.com ConfigBase: memfs://clusters.example.com/mixedinstances.example.com InstanceGroupName: master-us-test-1c InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/mixed_instances/data/aws_launch_template_nodes.mixedinstances.example.com_user_data b/tests/integration/update_cluster/mixed_instances/data/aws_launch_template_nodes.mixedinstances.example.com_user_data index ee276f4f0a8bf..5a7a72207febc 100644 --- a/tests/integration/update_cluster/mixed_instances/data/aws_launch_template_nodes.mixedinstances.example.com_user_data +++ b/tests/integration/update_cluster/mixed_instances/data/aws_launch_template_nodes.mixedinstances.example.com_user_data @@ -150,6 +150,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: mixedinstances.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/mixed_instances_spot/data/aws_launch_template_master-us-test-1a.masters.mixedinstances.example.com_user_data b/tests/integration/update_cluster/mixed_instances_spot/data/aws_launch_template_master-us-test-1a.masters.mixedinstances.example.com_user_data index 8ee9cf96ff4e9..8e1734bd5885a 100644 --- a/tests/integration/update_cluster/mixed_instances_spot/data/aws_launch_template_master-us-test-1a.masters.mixedinstances.example.com_user_data +++ b/tests/integration/update_cluster/mixed_instances_spot/data/aws_launch_template_master-us-test-1a.masters.mixedinstances.example.com_user_data @@ -262,6 +262,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: mixedinstances.example.com ConfigBase: memfs://clusters.example.com/mixedinstances.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/mixed_instances_spot/data/aws_launch_template_master-us-test-1b.masters.mixedinstances.example.com_user_data b/tests/integration/update_cluster/mixed_instances_spot/data/aws_launch_template_master-us-test-1b.masters.mixedinstances.example.com_user_data index 87c45cc9b4ca4..0578a38c76ca1 100644 --- a/tests/integration/update_cluster/mixed_instances_spot/data/aws_launch_template_master-us-test-1b.masters.mixedinstances.example.com_user_data +++ b/tests/integration/update_cluster/mixed_instances_spot/data/aws_launch_template_master-us-test-1b.masters.mixedinstances.example.com_user_data @@ -262,6 +262,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: mixedinstances.example.com ConfigBase: memfs://clusters.example.com/mixedinstances.example.com InstanceGroupName: master-us-test-1b InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/mixed_instances_spot/data/aws_launch_template_master-us-test-1c.masters.mixedinstances.example.com_user_data b/tests/integration/update_cluster/mixed_instances_spot/data/aws_launch_template_master-us-test-1c.masters.mixedinstances.example.com_user_data index 41112a29d5c2a..df1e995f49b8c 100644 --- a/tests/integration/update_cluster/mixed_instances_spot/data/aws_launch_template_master-us-test-1c.masters.mixedinstances.example.com_user_data +++ b/tests/integration/update_cluster/mixed_instances_spot/data/aws_launch_template_master-us-test-1c.masters.mixedinstances.example.com_user_data @@ -262,6 +262,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: mixedinstances.example.com ConfigBase: memfs://clusters.example.com/mixedinstances.example.com InstanceGroupName: master-us-test-1c InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/mixed_instances_spot/data/aws_launch_template_nodes.mixedinstances.example.com_user_data b/tests/integration/update_cluster/mixed_instances_spot/data/aws_launch_template_nodes.mixedinstances.example.com_user_data index ee276f4f0a8bf..5a7a72207febc 100644 --- a/tests/integration/update_cluster/mixed_instances_spot/data/aws_launch_template_nodes.mixedinstances.example.com_user_data +++ b/tests/integration/update_cluster/mixed_instances_spot/data/aws_launch_template_nodes.mixedinstances.example.com_user_data @@ -150,6 +150,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: mixedinstances.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/nth-imds-processor-irsa/data/aws_launch_template_master-us-test-1a.masters.nthimdsprocessor.longclustername.example.com_user_data b/tests/integration/update_cluster/nth-imds-processor-irsa/data/aws_launch_template_master-us-test-1a.masters.nthimdsprocessor.longclustername.example.com_user_data index 469526f0159e2..d00dd01704def 100644 --- a/tests/integration/update_cluster/nth-imds-processor-irsa/data/aws_launch_template_master-us-test-1a.masters.nthimdsprocessor.longclustername.example.com_user_data +++ b/tests/integration/update_cluster/nth-imds-processor-irsa/data/aws_launch_template_master-us-test-1a.masters.nthimdsprocessor.longclustername.example.com_user_data @@ -254,6 +254,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: nthimdsprocessor.longclustername.example.com ConfigBase: memfs://clusters.example.com/nthimdsprocessor.longclustername.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/nth-imds-processor-irsa/data/aws_launch_template_nodes.nthimdsprocessor.longclustername.example.com_user_data b/tests/integration/update_cluster/nth-imds-processor-irsa/data/aws_launch_template_nodes.nthimdsprocessor.longclustername.example.com_user_data index 475cc9bff4b3e..7f6a7578e4c33 100644 --- a/tests/integration/update_cluster/nth-imds-processor-irsa/data/aws_launch_template_nodes.nthimdsprocessor.longclustername.example.com_user_data +++ b/tests/integration/update_cluster/nth-imds-processor-irsa/data/aws_launch_template_nodes.nthimdsprocessor.longclustername.example.com_user_data @@ -150,6 +150,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: nthimdsprocessor.longclustername.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/nth-imds-processor/data/aws_launch_template_master-us-test-1a.masters.nthimdsprocessor.longclustername.example.com_user_data b/tests/integration/update_cluster/nth-imds-processor/data/aws_launch_template_master-us-test-1a.masters.nthimdsprocessor.longclustername.example.com_user_data index ada31c5442914..671fd0aa53558 100644 --- a/tests/integration/update_cluster/nth-imds-processor/data/aws_launch_template_master-us-test-1a.masters.nthimdsprocessor.longclustername.example.com_user_data +++ b/tests/integration/update_cluster/nth-imds-processor/data/aws_launch_template_master-us-test-1a.masters.nthimdsprocessor.longclustername.example.com_user_data @@ -254,6 +254,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: nthimdsprocessor.longclustername.example.com ConfigBase: memfs://clusters.example.com/nthimdsprocessor.longclustername.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/nth-imds-processor/data/aws_launch_template_nodes.nthimdsprocessor.longclustername.example.com_user_data b/tests/integration/update_cluster/nth-imds-processor/data/aws_launch_template_nodes.nthimdsprocessor.longclustername.example.com_user_data index 475cc9bff4b3e..7f6a7578e4c33 100644 --- a/tests/integration/update_cluster/nth-imds-processor/data/aws_launch_template_nodes.nthimdsprocessor.longclustername.example.com_user_data +++ b/tests/integration/update_cluster/nth-imds-processor/data/aws_launch_template_nodes.nthimdsprocessor.longclustername.example.com_user_data @@ -150,6 +150,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: nthimdsprocessor.longclustername.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/nvidia/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data b/tests/integration/update_cluster/nvidia/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data index 4384f315f84fb..63baa55c12236 100644 --- a/tests/integration/update_cluster/nvidia/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data +++ b/tests/integration/update_cluster/nvidia/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data @@ -254,6 +254,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal.example.com ConfigBase: memfs://clusters.example.com/minimal.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/nvidia/data/aws_launch_template_nodes.minimal.example.com_user_data b/tests/integration/update_cluster/nvidia/data/aws_launch_template_nodes.minimal.example.com_user_data index 4bec16de3c026..c877f8473a2ad 100644 --- a/tests/integration/update_cluster/nvidia/data/aws_launch_template_nodes.minimal.example.com_user_data +++ b/tests/integration/update_cluster/nvidia/data/aws_launch_template_nodes.minimal.example.com_user_data @@ -150,6 +150,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/private-shared-ip/data/aws_launch_template_master-us-test-1a.masters.private-shared-ip.example.com_user_data b/tests/integration/update_cluster/private-shared-ip/data/aws_launch_template_master-us-test-1a.masters.private-shared-ip.example.com_user_data index cd987d99e4107..23a68f86dd4c3 100644 --- a/tests/integration/update_cluster/private-shared-ip/data/aws_launch_template_master-us-test-1a.masters.private-shared-ip.example.com_user_data +++ b/tests/integration/update_cluster/private-shared-ip/data/aws_launch_template_master-us-test-1a.masters.private-shared-ip.example.com_user_data @@ -254,6 +254,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: private-shared-ip.example.com ConfigBase: memfs://clusters.example.com/private-shared-ip.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/private-shared-ip/data/aws_launch_template_nodes.private-shared-ip.example.com_user_data b/tests/integration/update_cluster/private-shared-ip/data/aws_launch_template_nodes.private-shared-ip.example.com_user_data index fbc8807e0dbc1..401b86a4074f6 100644 --- a/tests/integration/update_cluster/private-shared-ip/data/aws_launch_template_nodes.private-shared-ip.example.com_user_data +++ b/tests/integration/update_cluster/private-shared-ip/data/aws_launch_template_nodes.private-shared-ip.example.com_user_data @@ -150,6 +150,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: private-shared-ip.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/private-shared-subnet/data/aws_launch_template_master-us-test-1a.masters.private-shared-subnet.example.com_user_data b/tests/integration/update_cluster/private-shared-subnet/data/aws_launch_template_master-us-test-1a.masters.private-shared-subnet.example.com_user_data index 4aedfa26ef9ba..892fb852d9635 100644 --- a/tests/integration/update_cluster/private-shared-subnet/data/aws_launch_template_master-us-test-1a.masters.private-shared-subnet.example.com_user_data +++ b/tests/integration/update_cluster/private-shared-subnet/data/aws_launch_template_master-us-test-1a.masters.private-shared-subnet.example.com_user_data @@ -254,6 +254,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: private-shared-subnet.example.com ConfigBase: memfs://clusters.example.com/private-shared-subnet.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/private-shared-subnet/data/aws_launch_template_nodes.private-shared-subnet.example.com_user_data b/tests/integration/update_cluster/private-shared-subnet/data/aws_launch_template_nodes.private-shared-subnet.example.com_user_data index 2d0943fe733c2..726d290bdf8b5 100644 --- a/tests/integration/update_cluster/private-shared-subnet/data/aws_launch_template_nodes.private-shared-subnet.example.com_user_data +++ b/tests/integration/update_cluster/private-shared-subnet/data/aws_launch_template_nodes.private-shared-subnet.example.com_user_data @@ -150,6 +150,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: private-shared-subnet.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/privatecalico/data/aws_launch_template_master-us-test-1a.masters.privatecalico.example.com_user_data b/tests/integration/update_cluster/privatecalico/data/aws_launch_template_master-us-test-1a.masters.privatecalico.example.com_user_data index c717041807bd6..53a3349aad9c3 100644 --- a/tests/integration/update_cluster/privatecalico/data/aws_launch_template_master-us-test-1a.masters.privatecalico.example.com_user_data +++ b/tests/integration/update_cluster/privatecalico/data/aws_launch_template_master-us-test-1a.masters.privatecalico.example.com_user_data @@ -254,6 +254,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: privatecalico.example.com ConfigBase: memfs://clusters.example.com/privatecalico.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/privatecalico/data/aws_launch_template_nodes.privatecalico.example.com_user_data b/tests/integration/update_cluster/privatecalico/data/aws_launch_template_nodes.privatecalico.example.com_user_data index 26e54e42aa8d7..8e5012c08d457 100644 --- a/tests/integration/update_cluster/privatecalico/data/aws_launch_template_nodes.privatecalico.example.com_user_data +++ b/tests/integration/update_cluster/privatecalico/data/aws_launch_template_nodes.privatecalico.example.com_user_data @@ -150,6 +150,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: privatecalico.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/privatecanal/data/aws_launch_template_master-us-test-1a.masters.privatecanal.example.com_user_data b/tests/integration/update_cluster/privatecanal/data/aws_launch_template_master-us-test-1a.masters.privatecanal.example.com_user_data index aba61856596f0..5f3235ce9f4bb 100644 --- a/tests/integration/update_cluster/privatecanal/data/aws_launch_template_master-us-test-1a.masters.privatecanal.example.com_user_data +++ b/tests/integration/update_cluster/privatecanal/data/aws_launch_template_master-us-test-1a.masters.privatecanal.example.com_user_data @@ -254,6 +254,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: privatecanal.example.com ConfigBase: memfs://clusters.example.com/privatecanal.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/privatecanal/data/aws_launch_template_nodes.privatecanal.example.com_user_data b/tests/integration/update_cluster/privatecanal/data/aws_launch_template_nodes.privatecanal.example.com_user_data index 8c293f4770049..2eec6d266bfe4 100644 --- a/tests/integration/update_cluster/privatecanal/data/aws_launch_template_nodes.privatecanal.example.com_user_data +++ b/tests/integration/update_cluster/privatecanal/data/aws_launch_template_nodes.privatecanal.example.com_user_data @@ -150,6 +150,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: privatecanal.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/privatecilium-eni/data/aws_launch_template_master-us-test-1a.masters.privatecilium.example.com_user_data b/tests/integration/update_cluster/privatecilium-eni/data/aws_launch_template_master-us-test-1a.masters.privatecilium.example.com_user_data index 55914b61a1690..77554d25689ba 100644 --- a/tests/integration/update_cluster/privatecilium-eni/data/aws_launch_template_master-us-test-1a.masters.privatecilium.example.com_user_data +++ b/tests/integration/update_cluster/privatecilium-eni/data/aws_launch_template_master-us-test-1a.masters.privatecilium.example.com_user_data @@ -254,6 +254,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: privatecilium.example.com ConfigBase: memfs://clusters.example.com/privatecilium.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/privatecilium-eni/data/aws_launch_template_nodes.privatecilium.example.com_user_data b/tests/integration/update_cluster/privatecilium-eni/data/aws_launch_template_nodes.privatecilium.example.com_user_data index 90c1256df722c..3a1ae5217fcff 100644 --- a/tests/integration/update_cluster/privatecilium-eni/data/aws_launch_template_nodes.privatecilium.example.com_user_data +++ b/tests/integration/update_cluster/privatecilium-eni/data/aws_launch_template_nodes.privatecilium.example.com_user_data @@ -150,6 +150,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: privatecilium.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/privatecilium/data/aws_launch_template_master-us-test-1a.masters.privatecilium.example.com_user_data b/tests/integration/update_cluster/privatecilium/data/aws_launch_template_master-us-test-1a.masters.privatecilium.example.com_user_data index 879b28f5e5214..5f404069110b3 100644 --- a/tests/integration/update_cluster/privatecilium/data/aws_launch_template_master-us-test-1a.masters.privatecilium.example.com_user_data +++ b/tests/integration/update_cluster/privatecilium/data/aws_launch_template_master-us-test-1a.masters.privatecilium.example.com_user_data @@ -254,6 +254,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: privatecilium.example.com ConfigBase: memfs://clusters.example.com/privatecilium.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/privatecilium/data/aws_launch_template_nodes.privatecilium.example.com_user_data b/tests/integration/update_cluster/privatecilium/data/aws_launch_template_nodes.privatecilium.example.com_user_data index 3e0a09c599dca..1e726dca2ff84 100644 --- a/tests/integration/update_cluster/privatecilium/data/aws_launch_template_nodes.privatecilium.example.com_user_data +++ b/tests/integration/update_cluster/privatecilium/data/aws_launch_template_nodes.privatecilium.example.com_user_data @@ -150,6 +150,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: privatecilium.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/privatecilium2/data/aws_launch_template_master-us-test-1a.masters.privatecilium.example.com_user_data b/tests/integration/update_cluster/privatecilium2/data/aws_launch_template_master-us-test-1a.masters.privatecilium.example.com_user_data index b2e3a1d35ac85..435a011a89977 100644 --- a/tests/integration/update_cluster/privatecilium2/data/aws_launch_template_master-us-test-1a.masters.privatecilium.example.com_user_data +++ b/tests/integration/update_cluster/privatecilium2/data/aws_launch_template_master-us-test-1a.masters.privatecilium.example.com_user_data @@ -254,6 +254,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: privatecilium.example.com ConfigBase: memfs://clusters.example.com/privatecilium.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/privatecilium2/data/aws_launch_template_nodes.privatecilium.example.com_user_data b/tests/integration/update_cluster/privatecilium2/data/aws_launch_template_nodes.privatecilium.example.com_user_data index b8f14365163f5..be03ed7016cd8 100644 --- a/tests/integration/update_cluster/privatecilium2/data/aws_launch_template_nodes.privatecilium.example.com_user_data +++ b/tests/integration/update_cluster/privatecilium2/data/aws_launch_template_nodes.privatecilium.example.com_user_data @@ -150,6 +150,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: privatecilium.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/privateciliumadvanced/data/aws_launch_template_master-us-test-1a.masters.privateciliumadvanced.example.com_user_data b/tests/integration/update_cluster/privateciliumadvanced/data/aws_launch_template_master-us-test-1a.masters.privateciliumadvanced.example.com_user_data index 41f48c7a2f717..30e299bdbb131 100644 --- a/tests/integration/update_cluster/privateciliumadvanced/data/aws_launch_template_master-us-test-1a.masters.privateciliumadvanced.example.com_user_data +++ b/tests/integration/update_cluster/privateciliumadvanced/data/aws_launch_template_master-us-test-1a.masters.privateciliumadvanced.example.com_user_data @@ -261,6 +261,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: privateciliumadvanced.example.com ConfigBase: memfs://clusters.example.com/privateciliumadvanced.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/privateciliumadvanced/data/aws_launch_template_nodes.privateciliumadvanced.example.com_user_data b/tests/integration/update_cluster/privateciliumadvanced/data/aws_launch_template_nodes.privateciliumadvanced.example.com_user_data index 9b2678b7b677e..6241e9cf1b20c 100644 --- a/tests/integration/update_cluster/privateciliumadvanced/data/aws_launch_template_nodes.privateciliumadvanced.example.com_user_data +++ b/tests/integration/update_cluster/privateciliumadvanced/data/aws_launch_template_nodes.privateciliumadvanced.example.com_user_data @@ -150,6 +150,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: privateciliumadvanced.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/privatedns1/data/aws_launch_template_master-us-test-1a.masters.privatedns1.example.com_user_data b/tests/integration/update_cluster/privatedns1/data/aws_launch_template_master-us-test-1a.masters.privatedns1.example.com_user_data index e653e41183068..f9db955589394 100644 --- a/tests/integration/update_cluster/privatedns1/data/aws_launch_template_master-us-test-1a.masters.privatedns1.example.com_user_data +++ b/tests/integration/update_cluster/privatedns1/data/aws_launch_template_master-us-test-1a.masters.privatedns1.example.com_user_data @@ -256,6 +256,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: privatedns1.example.com ConfigBase: memfs://clusters.example.com/privatedns1.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/privatedns1/data/aws_launch_template_nodes.privatedns1.example.com_user_data b/tests/integration/update_cluster/privatedns1/data/aws_launch_template_nodes.privatedns1.example.com_user_data index c94b1dd82dbed..3445e50707bba 100644 --- a/tests/integration/update_cluster/privatedns1/data/aws_launch_template_nodes.privatedns1.example.com_user_data +++ b/tests/integration/update_cluster/privatedns1/data/aws_launch_template_nodes.privatedns1.example.com_user_data @@ -151,6 +151,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: privatedns1.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/privatedns2/data/aws_launch_template_master-us-test-1a.masters.privatedns2.example.com_user_data b/tests/integration/update_cluster/privatedns2/data/aws_launch_template_master-us-test-1a.masters.privatedns2.example.com_user_data index aa9f26b6b7874..aa1001a2bf732 100644 --- a/tests/integration/update_cluster/privatedns2/data/aws_launch_template_master-us-test-1a.masters.privatedns2.example.com_user_data +++ b/tests/integration/update_cluster/privatedns2/data/aws_launch_template_master-us-test-1a.masters.privatedns2.example.com_user_data @@ -254,6 +254,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: privatedns2.example.com ConfigBase: memfs://clusters.example.com/privatedns2.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/privatedns2/data/aws_launch_template_nodes.privatedns2.example.com_user_data b/tests/integration/update_cluster/privatedns2/data/aws_launch_template_nodes.privatedns2.example.com_user_data index 0313e336013cd..15cb9cb48f518 100644 --- a/tests/integration/update_cluster/privatedns2/data/aws_launch_template_nodes.privatedns2.example.com_user_data +++ b/tests/integration/update_cluster/privatedns2/data/aws_launch_template_nodes.privatedns2.example.com_user_data @@ -150,6 +150,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: privatedns2.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/privateflannel/data/aws_launch_template_master-us-test-1a.masters.privateflannel.example.com_user_data b/tests/integration/update_cluster/privateflannel/data/aws_launch_template_master-us-test-1a.masters.privateflannel.example.com_user_data index 60c110576126d..00afabc13a923 100644 --- a/tests/integration/update_cluster/privateflannel/data/aws_launch_template_master-us-test-1a.masters.privateflannel.example.com_user_data +++ b/tests/integration/update_cluster/privateflannel/data/aws_launch_template_master-us-test-1a.masters.privateflannel.example.com_user_data @@ -254,6 +254,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: privateflannel.example.com ConfigBase: memfs://clusters.example.com/privateflannel.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/privateflannel/data/aws_launch_template_nodes.privateflannel.example.com_user_data b/tests/integration/update_cluster/privateflannel/data/aws_launch_template_nodes.privateflannel.example.com_user_data index d9354b84b9968..0972ec32450a1 100644 --- a/tests/integration/update_cluster/privateflannel/data/aws_launch_template_nodes.privateflannel.example.com_user_data +++ b/tests/integration/update_cluster/privateflannel/data/aws_launch_template_nodes.privateflannel.example.com_user_data @@ -150,6 +150,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: privateflannel.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/privatekopeio/data/aws_launch_template_master-us-test-1a.masters.privatekopeio.example.com_user_data b/tests/integration/update_cluster/privatekopeio/data/aws_launch_template_master-us-test-1a.masters.privatekopeio.example.com_user_data index 85b0c7861cb35..7c0593219f8b4 100644 --- a/tests/integration/update_cluster/privatekopeio/data/aws_launch_template_master-us-test-1a.masters.privatekopeio.example.com_user_data +++ b/tests/integration/update_cluster/privatekopeio/data/aws_launch_template_master-us-test-1a.masters.privatekopeio.example.com_user_data @@ -254,6 +254,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: privatekopeio.example.com ConfigBase: memfs://clusters.example.com/privatekopeio.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/privatekopeio/data/aws_launch_template_nodes.privatekopeio.example.com_user_data b/tests/integration/update_cluster/privatekopeio/data/aws_launch_template_nodes.privatekopeio.example.com_user_data index 52ff4ed52120a..52dac3bfec450 100644 --- a/tests/integration/update_cluster/privatekopeio/data/aws_launch_template_nodes.privatekopeio.example.com_user_data +++ b/tests/integration/update_cluster/privatekopeio/data/aws_launch_template_nodes.privatekopeio.example.com_user_data @@ -150,6 +150,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: privatekopeio.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/privateweave/data/aws_launch_template_master-us-test-1a.masters.privateweave.example.com_user_data b/tests/integration/update_cluster/privateweave/data/aws_launch_template_master-us-test-1a.masters.privateweave.example.com_user_data index 5036472851782..1f769b9542cc8 100644 --- a/tests/integration/update_cluster/privateweave/data/aws_launch_template_master-us-test-1a.masters.privateweave.example.com_user_data +++ b/tests/integration/update_cluster/privateweave/data/aws_launch_template_master-us-test-1a.masters.privateweave.example.com_user_data @@ -256,6 +256,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: privateweave.example.com ConfigBase: memfs://clusters.example.com/privateweave.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/privateweave/data/aws_launch_template_nodes.privateweave.example.com_user_data b/tests/integration/update_cluster/privateweave/data/aws_launch_template_nodes.privateweave.example.com_user_data index 9fff8c30b7ee1..343f85c35b574 100644 --- a/tests/integration/update_cluster/privateweave/data/aws_launch_template_nodes.privateweave.example.com_user_data +++ b/tests/integration/update_cluster/privateweave/data/aws_launch_template_nodes.privateweave.example.com_user_data @@ -151,6 +151,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: privateweave.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/public-jwks-apiserver/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data b/tests/integration/update_cluster/public-jwks-apiserver/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data index 5a5cd1f101999..2b15b6a1ee439 100644 --- a/tests/integration/update_cluster/public-jwks-apiserver/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data +++ b/tests/integration/update_cluster/public-jwks-apiserver/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data @@ -255,6 +255,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal.example.com ConfigBase: memfs://clusters.example.com/minimal.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/public-jwks-apiserver/data/aws_launch_template_nodes.minimal.example.com_user_data b/tests/integration/update_cluster/public-jwks-apiserver/data/aws_launch_template_nodes.minimal.example.com_user_data index 2eafb1b1b5bf7..ee58e32b9204a 100644 --- a/tests/integration/update_cluster/public-jwks-apiserver/data/aws_launch_template_nodes.minimal.example.com_user_data +++ b/tests/integration/update_cluster/public-jwks-apiserver/data/aws_launch_template_nodes.minimal.example.com_user_data @@ -150,6 +150,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/shared_subnet/data/aws_launch_template_master-us-test-1a.masters.sharedsubnet.example.com_user_data b/tests/integration/update_cluster/shared_subnet/data/aws_launch_template_master-us-test-1a.masters.sharedsubnet.example.com_user_data index 76fff332eabd2..a6e0115a83c9f 100644 --- a/tests/integration/update_cluster/shared_subnet/data/aws_launch_template_master-us-test-1a.masters.sharedsubnet.example.com_user_data +++ b/tests/integration/update_cluster/shared_subnet/data/aws_launch_template_master-us-test-1a.masters.sharedsubnet.example.com_user_data @@ -254,6 +254,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: sharedsubnet.example.com ConfigBase: memfs://clusters.example.com/sharedsubnet.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/shared_subnet/data/aws_launch_template_nodes.sharedsubnet.example.com_user_data b/tests/integration/update_cluster/shared_subnet/data/aws_launch_template_nodes.sharedsubnet.example.com_user_data index 8d8b65bd3329d..3704ad0a8b1ee 100644 --- a/tests/integration/update_cluster/shared_subnet/data/aws_launch_template_nodes.sharedsubnet.example.com_user_data +++ b/tests/integration/update_cluster/shared_subnet/data/aws_launch_template_nodes.sharedsubnet.example.com_user_data @@ -150,6 +150,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: sharedsubnet.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/shared_vpc/data/aws_launch_template_master-us-test-1a.masters.sharedvpc.example.com_user_data b/tests/integration/update_cluster/shared_vpc/data/aws_launch_template_master-us-test-1a.masters.sharedvpc.example.com_user_data index 8c78693c51103..2043d4bc53f29 100644 --- a/tests/integration/update_cluster/shared_vpc/data/aws_launch_template_master-us-test-1a.masters.sharedvpc.example.com_user_data +++ b/tests/integration/update_cluster/shared_vpc/data/aws_launch_template_master-us-test-1a.masters.sharedvpc.example.com_user_data @@ -254,6 +254,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: sharedvpc.example.com ConfigBase: memfs://clusters.example.com/sharedvpc.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/shared_vpc/data/aws_launch_template_nodes.sharedvpc.example.com_user_data b/tests/integration/update_cluster/shared_vpc/data/aws_launch_template_nodes.sharedvpc.example.com_user_data index a9549dca9f79e..12b789b483011 100644 --- a/tests/integration/update_cluster/shared_vpc/data/aws_launch_template_nodes.sharedvpc.example.com_user_data +++ b/tests/integration/update_cluster/shared_vpc/data/aws_launch_template_nodes.sharedvpc.example.com_user_data @@ -150,6 +150,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: sharedvpc.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/shared_vpc_ipv6/data/aws_launch_template_master-us-test-1a.masters.minimal-ipv6.example.com_user_data b/tests/integration/update_cluster/shared_vpc_ipv6/data/aws_launch_template_master-us-test-1a.masters.minimal-ipv6.example.com_user_data index f1c6b58634386..3ab79e15f79b0 100644 --- a/tests/integration/update_cluster/shared_vpc_ipv6/data/aws_launch_template_master-us-test-1a.masters.minimal-ipv6.example.com_user_data +++ b/tests/integration/update_cluster/shared_vpc_ipv6/data/aws_launch_template_master-us-test-1a.masters.minimal-ipv6.example.com_user_data @@ -256,6 +256,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal-ipv6.example.com ConfigBase: memfs://clusters.example.com/minimal-ipv6.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/shared_vpc_ipv6/data/aws_launch_template_nodes.minimal-ipv6.example.com_user_data b/tests/integration/update_cluster/shared_vpc_ipv6/data/aws_launch_template_nodes.minimal-ipv6.example.com_user_data index 3bf1855b90e09..8edf47b9fcad7 100644 --- a/tests/integration/update_cluster/shared_vpc_ipv6/data/aws_launch_template_nodes.minimal-ipv6.example.com_user_data +++ b/tests/integration/update_cluster/shared_vpc_ipv6/data/aws_launch_template_nodes.minimal-ipv6.example.com_user_data @@ -150,6 +150,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal-ipv6.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/unmanaged/data/aws_launch_template_master-us-test-1a.masters.unmanaged.example.com_user_data b/tests/integration/update_cluster/unmanaged/data/aws_launch_template_master-us-test-1a.masters.unmanaged.example.com_user_data index a0731c17e6fec..a1bbc10211777 100644 --- a/tests/integration/update_cluster/unmanaged/data/aws_launch_template_master-us-test-1a.masters.unmanaged.example.com_user_data +++ b/tests/integration/update_cluster/unmanaged/data/aws_launch_template_master-us-test-1a.masters.unmanaged.example.com_user_data @@ -254,6 +254,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: unmanaged.example.com ConfigBase: memfs://clusters.example.com/unmanaged.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/unmanaged/data/aws_launch_template_nodes.unmanaged.example.com_user_data b/tests/integration/update_cluster/unmanaged/data/aws_launch_template_nodes.unmanaged.example.com_user_data index df2695c348827..d5fa18d062afd 100644 --- a/tests/integration/update_cluster/unmanaged/data/aws_launch_template_nodes.unmanaged.example.com_user_data +++ b/tests/integration/update_cluster/unmanaged/data/aws_launch_template_nodes.unmanaged.example.com_user_data @@ -150,6 +150,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: unmanaged.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/tests/integration/update_cluster/vfs-said/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data b/tests/integration/update_cluster/vfs-said/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data index a60dd416dfc76..95b782c2b0fb9 100644 --- a/tests/integration/update_cluster/vfs-said/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data +++ b/tests/integration/update_cluster/vfs-said/data/aws_launch_template_master-us-test-1a.masters.minimal.example.com_user_data @@ -254,6 +254,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal.example.com ConfigBase: memfs://clusters.example.com/minimal.example.com InstanceGroupName: master-us-test-1a InstanceGroupRole: ControlPlane diff --git a/tests/integration/update_cluster/vfs-said/data/aws_launch_template_nodes.minimal.example.com_user_data b/tests/integration/update_cluster/vfs-said/data/aws_launch_template_nodes.minimal.example.com_user_data index a2c4621624f40..5becc6a6d4ca4 100644 --- a/tests/integration/update_cluster/vfs-said/data/aws_launch_template_nodes.minimal.example.com_user_data +++ b/tests/integration/update_cluster/vfs-said/data/aws_launch_template_nodes.minimal.example.com_user_data @@ -150,6 +150,7 @@ __EOF_CLUSTER_SPEC cat > conf/kube_env.yaml << '__EOF_KUBE_ENV' CloudProvider: aws +ClusterName: minimal.example.com ConfigServer: CACertificates: | -----BEGIN CERTIFICATE----- diff --git a/upup/pkg/fi/cloudup/awsup/aws_authenticator.go b/upup/pkg/fi/cloudup/awsup/aws_authenticator.go index 92e01472bf01c..2a50b7fa0431a 100644 --- a/upup/pkg/fi/cloudup/awsup/aws_authenticator.go +++ b/upup/pkg/fi/cloudup/awsup/aws_authenticator.go @@ -71,7 +71,7 @@ func NewAWSAuthenticator(region string) (bootstrap.Authenticator, error) { }, nil } -func (a awsAuthenticator) CreateToken(body []byte) (string, error) { +func (a *awsAuthenticator) CreateToken(body []byte) (string, error) { sha := sha256.Sum256(body) stsRequest, _ := a.sts.GetCallerIdentityRequest(nil) diff --git a/upup/pkg/fi/cloudup/awsup/aws_verifier.go b/upup/pkg/fi/cloudup/awsup/aws_verifier.go index f3e9aea74eefb..79833b4bfe420 100644 --- a/upup/pkg/fi/cloudup/awsup/aws_verifier.go +++ b/upup/pkg/fi/cloudup/awsup/aws_verifier.go @@ -38,6 +38,7 @@ import ( "github.com/aws/aws-sdk-go/service/sts" "k8s.io/kops/pkg/bootstrap" nodeidentityaws "k8s.io/kops/pkg/nodeidentity/aws" + "k8s.io/kops/pkg/wellknownports" ) type AWSVerifierOptions struct { @@ -237,9 +238,32 @@ func (a awsVerifier) VerifyToken(ctx context.Context, rawRequest *http.Request, return nil, err } + var challengeEndpoints []string + for _, nic := range instance.NetworkInterfaces { + if ip := aws.StringValue(nic.PrivateIpAddress); ip != "" { + challengeEndpoints = append(challengeEndpoints, net.JoinHostPort(ip, strconv.Itoa(wellknownports.NodeupChallenge))) + } + for _, a := range nic.PrivateIpAddresses { + if ip := aws.StringValue(a.PrivateIpAddress); ip != "" { + challengeEndpoints = append(challengeEndpoints, net.JoinHostPort(ip, strconv.Itoa(wellknownports.NodeupChallenge))) + } + } + + for _, a := range nic.Ipv6Addresses { + if ip := aws.StringValue(a.Ipv6Address); ip != "" { + challengeEndpoints = append(challengeEndpoints, net.JoinHostPort(ip, strconv.Itoa(wellknownports.NodeupChallenge))) + } + } + } + + if len(challengeEndpoints) == 0 { + return nil, fmt.Errorf("cannot determine challenge endpoint for instance id: %s", instanceID) + } + result := &bootstrap.VerifyResult{ - NodeName: addrs[0], - CertificateNames: addrs, + NodeName: addrs[0], + CertificateNames: addrs, + ChallengeEndpoint: challengeEndpoints[0], } for _, tag := range instance.Tags { diff --git a/upup/pkg/fi/cloudup/gce/tpm/gcetpmverifier/tpmverifier.go b/upup/pkg/fi/cloudup/gce/tpm/gcetpmverifier/tpmverifier.go index c2c1c2a1e76d1..e32b2ed79bf41 100644 --- a/upup/pkg/fi/cloudup/gce/tpm/gcetpmverifier/tpmverifier.go +++ b/upup/pkg/fi/cloudup/gce/tpm/gcetpmverifier/tpmverifier.go @@ -29,6 +29,7 @@ import ( "fmt" "math" "net/http" + "strconv" "strings" "time" @@ -36,6 +37,7 @@ import ( "google.golang.org/api/googleapi" "k8s.io/kops/pkg/bootstrap" "k8s.io/kops/pkg/nodeidentity/gce" + "k8s.io/kops/pkg/wellknownports" "k8s.io/kops/upup/pkg/fi" "k8s.io/kops/upup/pkg/fi/cloudup/gce/gcemetadata" gcetpm "k8s.io/kops/upup/pkg/fi/cloudup/gce/tpm" @@ -171,10 +173,13 @@ func (v *tpmVerifier) VerifyToken(ctx context.Context, rawRequest *http.Request, return nil, err } + challengeEndpoint := instance.NetworkInterfaces[0].NetworkIP + ":" + strconv.Itoa(wellknownports.NodeupChallenge) + result := &bootstrap.VerifyResult{ NodeName: instance.Name, InstanceGroupName: instanceGroupName, CertificateNames: sans, + ChallengeEndpoint: challengeEndpoint, } return result, nil diff --git a/upup/pkg/fi/cloudup/hetzner/authenticator.go b/upup/pkg/fi/cloudup/hetzner/authenticator.go index 749765bd1b979..c39509ed1e715 100644 --- a/upup/pkg/fi/cloudup/hetzner/authenticator.go +++ b/upup/pkg/fi/cloudup/hetzner/authenticator.go @@ -35,11 +35,10 @@ func NewHetznerAuthenticator() (bootstrap.Authenticator, error) { return &hetznerAuthenticator{}, nil } -func (h hetznerAuthenticator) CreateToken(body []byte) (string, error) { +func (h *hetznerAuthenticator) CreateToken(body []byte) (string, error) { serverID, err := metadata.NewClient().InstanceID() if err != nil { return "", fmt.Errorf("failed to retrieve server ID: %w", err) } - return HetznerAuthenticationTokenPrefix + strconv.Itoa(serverID), nil } diff --git a/upup/pkg/fi/cloudup/hetzner/verifier.go b/upup/pkg/fi/cloudup/hetzner/verifier.go index 78e9eb42ee27d..f01f42d89877f 100644 --- a/upup/pkg/fi/cloudup/hetzner/verifier.go +++ b/upup/pkg/fi/cloudup/hetzner/verifier.go @@ -19,6 +19,7 @@ package hetzner import ( "context" "fmt" + "net" "net/http" "os" "strconv" @@ -26,6 +27,7 @@ import ( "github.com/hetznercloud/hcloud-go/hcloud" "k8s.io/kops/pkg/bootstrap" + "k8s.io/kops/pkg/wellknownports" ) type HetznerVerifierOptions struct { @@ -71,18 +73,26 @@ func (h hetznerVerifier) VerifyToken(ctx context.Context, rawRequest *http.Reque } var addrs []string + var challengeEndpoints []string if server.PublicNet.IPv4.IP != nil { + // Don't challenge over the public network addrs = append(addrs, server.PublicNet.IPv4.IP.String()) } for _, network := range server.PrivateNet { if network.IP != nil { addrs = append(addrs, network.IP.String()) + challengeEndpoints = append(challengeEndpoints, net.JoinHostPort(network.IP.String(), strconv.Itoa(wellknownports.NodeupChallenge))) } } + if len(challengeEndpoints) == 0 { + return nil, fmt.Errorf("cannot determine challenge endpoint for server %q", serverID) + } + result := &bootstrap.VerifyResult{ - NodeName: server.Name, - CertificateNames: addrs, + NodeName: server.Name, + CertificateNames: addrs, + ChallengeEndpoint: challengeEndpoints[0], } for key, value := range server.Labels { diff --git a/upup/pkg/fi/cloudup/openstack/authenticator.go b/upup/pkg/fi/cloudup/openstack/authenticator.go index a0957020ab44c..cbec5c5d7e0d5 100644 --- a/upup/pkg/fi/cloudup/openstack/authenticator.go +++ b/upup/pkg/fi/cloudup/openstack/authenticator.go @@ -33,7 +33,7 @@ func NewOpenstackAuthenticator() (bootstrap.Authenticator, error) { return &openstackAuthenticator{}, nil } -func (o openstackAuthenticator) CreateToken(body []byte) (string, error) { +func (o *openstackAuthenticator) CreateToken(body []byte) (string, error) { metadata, err := GetLocalMetadata() if err != nil { return "", fmt.Errorf("unable to fetch metadata: %w", err) diff --git a/upup/pkg/fi/cloudup/openstack/verifier.go b/upup/pkg/fi/cloudup/openstack/verifier.go index 35387be601fe8..09cdd9b4d98b8 100644 --- a/upup/pkg/fi/cloudup/openstack/verifier.go +++ b/upup/pkg/fi/cloudup/openstack/verifier.go @@ -22,6 +22,7 @@ import ( "net" "net/http" "os" + "strconv" "strings" "github.com/gophercloud/gophercloud" @@ -35,6 +36,7 @@ import ( "k8s.io/client-go/tools/clientcmd" "k8s.io/klog/v2" "k8s.io/kops/pkg/bootstrap" + "k8s.io/kops/pkg/wellknownports" ) type OpenStackVerifierOptions struct { @@ -151,6 +153,9 @@ func (o openstackVerifier) VerifyToken(ctx context.Context, rawRequest *http.Req return nil, fmt.Errorf("authentication request address %q does not match server addresses %v", requestAddr, addrs) } + // We will call back onto this address, now that we have verified it is an instance IP + challengeEndpoint := net.JoinHostPort(requestAddr, strconv.Itoa(wellknownports.NodeupChallenge)) + // check from kubernetes API does the instance already exist _, err = o.kubeClient.CoreV1().Nodes().Get(ctx, instance.Name, v1.GetOptions{}) if err == nil { @@ -161,8 +166,9 @@ func (o openstackVerifier) VerifyToken(ctx context.Context, rawRequest *http.Req } result := &bootstrap.VerifyResult{ - NodeName: instance.Name, - CertificateNames: addrs, + NodeName: instance.Name, + CertificateNames: addrs, + ChallengeEndpoint: challengeEndpoint, } value, ok := instance.Metadata[TagKopsInstanceGroup] if ok { diff --git a/upup/pkg/fi/nodeup/command.go b/upup/pkg/fi/nodeup/command.go index ead9ab3f986b6..aa8dc8bcff205 100644 --- a/upup/pkg/fi/nodeup/command.go +++ b/upup/pkg/fi/nodeup/command.go @@ -42,6 +42,7 @@ import ( "k8s.io/kops/nodeup/pkg/model" "k8s.io/kops/nodeup/pkg/model/networking" api "k8s.io/kops/pkg/apis/kops" + kopsmodel "k8s.io/kops/pkg/apis/kops/model" "k8s.io/kops/pkg/apis/kops/registry" "k8s.io/kops/pkg/apis/nodeup" "k8s.io/kops/pkg/assets" @@ -50,6 +51,7 @@ import ( "k8s.io/kops/pkg/kopscodecs" "k8s.io/kops/pkg/kopscontrollerclient" "k8s.io/kops/pkg/resolver" + "k8s.io/kops/pkg/wellknownports" "k8s.io/kops/upup/pkg/fi" "k8s.io/kops/upup/pkg/fi/cloudup/awsup" "k8s.io/kops/upup/pkg/fi/cloudup/gce/gcediscovery" @@ -763,6 +765,23 @@ func getNodeConfigFromServers(ctx context.Context, bootConfig *nodeup.BootConfig return nil, fmt.Errorf("unsupported cloud provider for node configuration %s", bootConfig.CloudProvider) } + var challengeListener *bootstrap.ChallengeListener + + if kopsmodel.UseChallengeCallback(bootConfig.CloudProvider) { + challengeServer, err := bootstrap.NewChallengeServer(bootConfig.ClusterName, []byte(bootConfig.ConfigServer.CACertificates)) + if err != nil { + return nil, err + } + listen := ":" + strconv.Itoa(wellknownports.NodeupChallenge) + + l, err := challengeServer.NewListener(ctx, listen) + if err != nil { + return nil, fmt.Errorf("error starting challenge listener: %w", err) + } + challengeListener = l + defer challengeListener.Stop() + } + client := &kopscontrollerclient.Client{ Authenticator: authenticator, Resolver: resolver, @@ -782,6 +801,11 @@ func getNodeConfigFromServers(ctx context.Context, bootConfig *nodeup.BootConfig APIVersion: nodeup.BootstrapAPIVersion, IncludeNodeConfig: true, } + + if challengeListener != nil { + request.Challenge = challengeListener.CreateChallenge() + } + var resp nodeup.BootstrapResponse err = client.Query(ctx, &request, &resp) if err != nil { diff --git a/upup/pkg/fi/nodeup/nodetasks/bootstrap_client.go b/upup/pkg/fi/nodeup/nodetasks/bootstrap_client.go index 82eff321802db..538b6f531651e 100644 --- a/upup/pkg/fi/nodeup/nodetasks/bootstrap_client.go +++ b/upup/pkg/fi/nodeup/nodetasks/bootstrap_client.go @@ -17,14 +17,16 @@ limitations under the License. package nodetasks import ( - "context" "crypto/x509" "encoding/pem" "fmt" + "strconv" "k8s.io/kops/pkg/apis/nodeup" + "k8s.io/kops/pkg/bootstrap" "k8s.io/kops/pkg/kopscontrollerclient" "k8s.io/kops/pkg/pki" + "k8s.io/kops/pkg/wellknownports" "k8s.io/kops/upup/pkg/fi" ) @@ -37,6 +39,12 @@ type BootstrapClientTask struct { // Client holds the client wrapper for the kops-bootstrap protocol Client *kopscontrollerclient.Client + // UseChallengeCallback is true if we should run a challenge responder during the request. + UseChallengeCallback bool + + // ClusterName is the name of the cluster + ClusterName string + keys map[string]*pki.PrivateKey } @@ -76,7 +84,7 @@ func (b *BootstrapClientTask) String() string { } func (b *BootstrapClientTask) Run(c *fi.NodeupContext) error { - ctx := context.TODO() + ctx := c.Context() req := nodeup.BootstrapRequest{ APIVersion: nodeup.BootstrapAPIVersion, @@ -84,6 +92,24 @@ func (b *BootstrapClientTask) Run(c *fi.NodeupContext) error { KeypairIDs: b.KeypairIDs, } + var challengeServer *bootstrap.ChallengeServer + if b.UseChallengeCallback { + s, err := bootstrap.NewChallengeServer(b.ClusterName, b.Client.CAs) + if err != nil { + return err + } + challengeServer = s + listen := ":" + strconv.Itoa(wellknownports.NodeupChallenge) + + listener, err := challengeServer.NewListener(ctx, listen) + if err != nil { + return fmt.Errorf("error starting challenge listener: %w", err) + } + defer listener.Stop() + + req.Challenge = listener.CreateChallenge() + } + if b.keys == nil { b.keys = map[string]*pki.PrivateKey{} }