{"record":{"id":"9af6c2acd6a7ca98","repo":"kubernetes/kops","slug":"scaleway-support-is-currently-alpha-and-is-featur","errorCode":null,"errorMessage":"Scaleway support is currently alpha, and is feature-gated.  export KOPS_FEATURE_FLAGS=Scaleway","messagePattern":"Scaleway support is currently alpha, and is feature-gated\\.  export KOPS_FEATURE_FLAGS=Scaleway","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"upup/pkg/fi/cloudup/apply_cluster.go","lineNumber":488,"sourceCode":"\t\t\tif len(sshPublicKeys) != 1 {\n\t\t\t\treturn nil, fmt.Errorf(\"exactly one 'admin' SSH public key can be specified when running with AzureCloud; please delete a key using `kops delete secret`\")\n\t\t\t}\n\t\t}\n\tcase kops.CloudProviderOpenstack:\n\t\t{\n\t\t\tif len(sshPublicKeys) == 0 {\n\t\t\t\treturn nil, fmt.Errorf(\"SSH public key must be specified when running with Openstack (create with `kops create secret --name %s sshpublickey admin -i ~/.ssh/id_rsa.pub`)\", cluster.ObjectMeta.Name)\n\t\t\t}\n\n\t\t\tif len(sshPublicKeys) != 1 {\n\t\t\t\treturn nil, fmt.Errorf(\"exactly one 'admin' SSH public key can be specified when running with Openstack; please delete a key using `kops delete secret`\")\n\t\t\t}\n\t\t}\n\n\tcase kops.CloudProviderScaleway:\n\t\t{\n\t\t\tif !featureflag.Scaleway.Enabled() {\n\t\t\t\treturn nil, fmt.Errorf(\"Scaleway support is currently alpha, and is feature-gated.  export KOPS_FEATURE_FLAGS=Scaleway\")\n\t\t\t}\n\n\t\t\tif len(sshPublicKeys) == 0 {\n\t\t\t\treturn nil, fmt.Errorf(\"SSH public key must be specified when running with Scaleway (create with `kops create secret --name %s sshpublickey admin -i ~/.ssh/id_rsa.pub`)\", cluster.ObjectMeta.Name)\n\t\t\t}\n\t\t\tif len(sshPublicKeys) != 1 {\n\t\t\t\treturn nil, fmt.Errorf(\"exactly one 'admin' SSH public key can be specified when running with Scaleway; please delete a key using `kops delete secret`\")\n\t\t\t}\n\n\t\t\tscwCloud := cloud.(scaleway.ScwCloud)\n\t\t\tscwZone = scwCloud.Zone()\n\t\t}\n\n\tcase kops.CloudProviderLinode:\n\t\t{\n\t\t\tif !featureflag.Linode.Enabled() {\n\t\t\t\treturn nil, fmt.Errorf(\"Akamai (Linode) support is currently alpha, and is feature-gated. Please export KOPS_FEATURE_FLAGS=Linode\")\n\t\t\t}","sourceCodeStart":470,"sourceCodeEnd":506,"githubUrl":"https://github.com/kubernetes/kops/blob/4c8573c808a73d578c5eadc86d410646ea0b0d73/upup/pkg/fi/cloudup/apply_cluster.go#L470-L506","documentation":"Scaleway support in kOps is alpha and gated behind the 'Scaleway' feature flag. In apply_cluster.go's Run, any apply targeting cloudProvider=scaleway without the flag enabled returns this error before any cloud API calls are made.","triggerScenarios":"`kops update cluster` (or create/apply paths reaching Run) on a cluster whose spec sets cloudProvider=scaleway while KOPS_FEATURE_FLAGS does not include 'Scaleway'.","commonSituations":"Users following Scaleway tutorials without setting the env var, CI environments missing KOPS_FEATURE_FLAGS, or exporting the flag with wrong case/extra whitespace.","solutions":["Export the feature flag: `export KOPS_FEATURE_FLAGS=Scaleway` and rerun the command","If multiple flags are needed, comma-separate them: `export KOPS_FEATURE_FLAGS=Scaleway,AlphaAllowGCE`","Verify with `kops version`/docs that your kOps build still ships Scaleway behind the flag"],"exampleFix":"// before\nkops update cluster --name scw.example.com\n// after\nexport KOPS_FEATURE_FLAGS=Scaleway\nkops update cluster --name scw.example.com","handlingStrategy":"validation","validationCode":"export KOPS_FEATURE_FLAGS=${KOPS_FEATURE_FLAGS:+$KOPS_FEATURE_FLAGS,}Scaleway; [ \"${KOPS_FEATURE_FLAGS#*Scaleway}\" != \"$KOPS_FEATURE_FLAGS\" ] && echo ok","typeGuard":null,"tryCatchPattern":"if err := run(); err != nil { if strings.Contains(err.Error(), \"feature-gated\") { return fmt.Errorf(\"set KOPS_FEATURE_FLAGS=%s: %w\", \"Scaleway\", err) } return err }","preventionTips":["Set KOPS_FEATURE_FLAGS in shell profile/CI env before kops commands","Remember alpha flags may change; pin kOps versions in production","Document required flags in cluster provisioning runbooks"],"tags":["scaleway","feature-flag","alpha","configuration"],"backgroundTag":"feature-flag-not-enabled","analyzedSha":"4c8573c808a73d578c5eadc86d410646ea0b0d73","analyzedAt":"2026-09-05T04:13:19.212Z","contentChangedAt":"2026-09-05T04:13:19.212Z","schemaVersion":2},"datasetVersion":"2026-09-12T12:17:11.808Z"}