mirror of https://github.com/kubernetes/kops.git
featureflag and env vars for nodeup ready for testing
This commit is contained in:
parent
26df4dc4fe
commit
0fa996890d
2
Makefile
2
Makefile
|
@ -48,7 +48,7 @@ UPLOAD_CMD=$(KOPS_ROOT)/hack/upload ${UPLOAD_ARGS}
|
|||
# Unexport environment variables that can affect tests and are not used in builds
|
||||
unexport AWS_ACCESS_KEY_ID AWS_REGION AWS_SECRET_ACCESS_KEY AWS_SESSION_TOKEN CNI_VERSION_URL DNS_IGNORE_NS_CHECK DNSCONTROLLER_IMAGE DO_ACCESS_TOKEN GOOGLE_APPLICATION_CREDENTIALS
|
||||
unexport KOPS_BASE_URL KOPS_CLUSTER_NAME KOPS_RUN_OBSOLETE_VERSION KOPS_STATE_STORE KOPS_STATE_S3_ACL KUBE_API_VERSIONS NODEUP_URL OPENSTACK_CREDENTIAL_FILE SKIP_PACKAGE_UPDATE
|
||||
unexport SKIP_REGION_CHECK S3_ACCESS_KEY_ID S3_ENDPOINT S3_REGION S3_SECRET_ACCESS_KEY HCLOUD_TOKEN
|
||||
unexport SKIP_REGION_CHECK S3_ACCESS_KEY_ID S3_ENDPOINT S3_REGION S3_SECRET_ACCESS_KEY HCLOUD_TOKEN SCW_ACCESS_KEY SCW_SECRET_KEY SCW_DEFAULT_PROJECT_ID SCW_DEFAULT_REGION SCW_DEFAULT_ZONE
|
||||
|
||||
|
||||
VERSION=$(shell tools/get_version.sh | grep VERSION | awk '{print $$2}')
|
||||
|
|
|
@ -153,6 +153,14 @@ func (i *Installation) buildEnvFile() *nodetasks.File {
|
|||
envVars["AZURE_STORAGE_ACCOUNT"] = os.Getenv("AZURE_STORAGE_ACCOUNT")
|
||||
}
|
||||
|
||||
if os.Getenv("SCW_ACCESS_KEY") != "" {
|
||||
envVars["SCW_ACCESS_KEY"] = os.Getenv("SCW_ACCESS_KEY")
|
||||
envVars["SCW_SECRET_KEY"] = os.Getenv("SCW_SECRET_KEY")
|
||||
envVars["SCW_DEFAULT_PROJECT_ID"] = os.Getenv("SCW_DEFAULT_PROJECT_ID")
|
||||
envVars["SCW_DEFAULT_REGION"] = os.Getenv("SCW_DEFAULT_REGION")
|
||||
envVars["SCW_DEFAULT_ZONE"] = os.Getenv("SCW_DEFAULT_ZONE")
|
||||
}
|
||||
|
||||
sysconfig := ""
|
||||
for key, value := range envVars {
|
||||
sysconfig += key + "=" + value + "\n"
|
||||
|
|
|
@ -310,6 +310,14 @@ func (t *ProtokubeBuilder) buildEnvFile() (*nodetasks.File, error) {
|
|||
envVars["AZURE_STORAGE_ACCOUNT"] = os.Getenv("AZURE_STORAGE_ACCOUNT")
|
||||
}
|
||||
|
||||
if t.CloudProvider == kops.CloudProviderScaleway {
|
||||
envVars["SCW_ACCESS_KEY"] = os.Getenv("SCW_ACCESS_KEY")
|
||||
envVars["SCW_SECRET_KEY"] = os.Getenv("SCW_SECRET_KEY")
|
||||
envVars["SCW_DEFAULT_PROJECT_ID"] = os.Getenv("SCW_DEFAULT_PROJECT_ID")
|
||||
envVars["SCW_DEFAULT_REGION"] = os.Getenv("SCW_DEFAULT_REGION")
|
||||
envVars["SCW_DEFAULT_ZONE"] = os.Getenv("SCW_DEFAULT_ZONE")
|
||||
}
|
||||
|
||||
for _, envVar := range proxy.GetProxyEnvVars(t.Cluster.Spec.EgressProxy) {
|
||||
envVars[envVar.Name] = envVar.Value
|
||||
}
|
||||
|
|
|
@ -292,6 +292,7 @@ const (
|
|||
CloudProviderHetzner CloudProviderID = "hetzner"
|
||||
CloudProviderOpenstack CloudProviderID = "openstack"
|
||||
CloudProviderAzure CloudProviderID = "azure"
|
||||
CloudProviderScaleway CloudProviderID = "scaleway"
|
||||
)
|
||||
|
||||
// FindImage returns the image for the cloudprovider, or nil if none found
|
||||
|
|
|
@ -32,6 +32,9 @@ func SupportedClouds() []kops.CloudProviderID {
|
|||
if featureflag.Azure.Enabled() {
|
||||
clouds = append(clouds, kops.CloudProviderAzure)
|
||||
}
|
||||
if featureflag.Scaleway.Enabled() {
|
||||
clouds = append(clouds, kops.CloudProviderScaleway)
|
||||
}
|
||||
|
||||
return clouds
|
||||
}
|
||||
|
|
|
@ -90,6 +90,8 @@ var (
|
|||
Karpenter = new("Karpenter", Bool(false))
|
||||
// ImageDigest remaps all manifests with image digests
|
||||
ImageDigest = new("ImageDigest", Bool(true))
|
||||
// Scaleway toggles the Scaleway Cloud support.
|
||||
Scaleway = new("Scaleway", Bool(false))
|
||||
)
|
||||
|
||||
// FeatureFlag defines a feature flag
|
||||
|
|
|
@ -31,6 +31,7 @@ import (
|
|||
"k8s.io/kops/upup/pkg/fi/utils"
|
||||
"sigs.k8s.io/yaml"
|
||||
|
||||
"github.com/scaleway/scaleway-sdk-go/scw"
|
||||
"k8s.io/kops/pkg/apis/kops"
|
||||
"k8s.io/kops/pkg/apis/nodeup"
|
||||
"k8s.io/kops/pkg/model/resources"
|
||||
|
@ -213,6 +214,34 @@ func (b *BootstrapScript) buildEnvironmentVariables(cluster *kops.Cluster) (map[
|
|||
}
|
||||
}
|
||||
|
||||
if cluster.Spec.GetCloudProvider() == kops.CloudProviderScaleway {
|
||||
region, err := scw.ParseRegion(os.Getenv("SCW_DEFAULT_REGION"))
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("error parsing SCW_DEFAULT_REGION: %w", err)
|
||||
}
|
||||
env["SCW_DEFAULT_REGION"] = string(region)
|
||||
zone, err := scw.ParseZone(os.Getenv("SCW_DEFAULT_ZONE"))
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("error parsing SCW_DEFAULT_ZONE: %w", err)
|
||||
}
|
||||
env["SCW_DEFAULT_ZONE"] = string(zone)
|
||||
scwAccessKey := os.Getenv("SCW_ACCESS_KEY")
|
||||
if scwAccessKey == "" {
|
||||
return nil, fmt.Errorf("SCW_ACCESS_KEY has to be set as an environment variable")
|
||||
}
|
||||
env["SCW_ACCESS_KEY"] = scwAccessKey
|
||||
scwSecretKey := os.Getenv("SCW_SECRET_KEY")
|
||||
if scwSecretKey != "" {
|
||||
return nil, fmt.Errorf("SCW_SECRET_KEY has to be set as an environment variable")
|
||||
}
|
||||
env["SCW_SECRET_KEY"] = scwSecretKey
|
||||
scwProjectID := os.Getenv("SCW_DEFAULT_PROJECT_ID")
|
||||
if scwProjectID != "" {
|
||||
return nil, fmt.Errorf("SCW_DEFAULT_PROJECT_ID has to be set as an environment variable")
|
||||
}
|
||||
env["SCW_DEFAULT_PROJECT_ID"] = scwProjectID
|
||||
}
|
||||
|
||||
return env, nil
|
||||
}
|
||||
|
||||
|
|
|
@ -72,6 +72,13 @@ func BuildSystemComponentEnvVars(spec *kops.ClusterSpec) EnvVars {
|
|||
// Azure related values.
|
||||
vars.addEnvVariableIfExist("AZURE_STORAGE_ACCOUNT")
|
||||
|
||||
// Scaleway related values.
|
||||
vars.addEnvVariableIfExist("SCW_ACCESS_KEY")
|
||||
vars.addEnvVariableIfExist("SCW_SECRET_KEY")
|
||||
vars.addEnvVariableIfExist("SCW_DEFAULT_PROJECT_ID")
|
||||
vars.addEnvVariableIfExist("SCW_DEFAULT_REGION")
|
||||
vars.addEnvVariableIfExist("SCW_DEFAULT_ZONE")
|
||||
|
||||
return vars
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue