diff --git a/jobs/blobstore_benchmark/templates/storage_cli_config_buildpacks.json.erb b/jobs/blobstore_benchmark/templates/storage_cli_config_buildpacks.json.erb index 2f3d07ebc6..47cc715c33 100644 --- a/jobs/blobstore_benchmark/templates/storage_cli_config_buildpacks.json.erb +++ b/jobs/blobstore_benchmark/templates/storage_cli_config_buildpacks.json.erb @@ -25,7 +25,9 @@ scope = "cc.buildpacks.connection_config" provider = l.p("cc.buildpacks.blobstore_provider", nil) options = {} -if provider == "AzureRM" +# Support both native storage-cli types (azurebs) AND legacy fog names (AzureRM) +# Legacy fog name support to be REMOVED May 2026 +if provider == "AzureRM" || provider == "azurebs" options["provider"] = provider options["account_name"] = l.p("#{scope}.azure_storage_account_name") options["container_name"] = l.p("#{scope}.container_name") @@ -35,7 +37,9 @@ if provider == "AzureRM" options = cli_cfg_with_default_timeout(options, 'storage_cli') end -if provider == "Google" +# Support both native storage-cli types (gcs) AND legacy fog names (Google) +# Legacy fog name support to be REMOVED May 2026 +if provider == "Google" || provider == "gcs" options["provider"] = provider options["credentials_source"] = "static" options["json_key"] = l.p("#{scope}.google_json_key_string") @@ -44,7 +48,9 @@ if provider == "Google" add_optional(options, "encryption_key", l.p("#{scope}.encryption_key", nil)) end -if provider == "AWS" +# Support both native storage-cli types (s3) AND legacy fog names (AWS) +# Legacy fog name support to be REMOVED May 2026 +if provider == "AWS" || provider == "s3" options["provider"] = provider options["access_key_id"] = l.p("#{scope}.aws_access_key_id") options["secret_access_key"] = l.p("#{scope}.aws_secret_access_key") @@ -71,7 +77,9 @@ if provider == "AWS" add_optional(options, "multipart_copy_part_size", l.p("#{scope}.multipart_copy_part_size", nil)) end -if provider == "aliyun" +# Support both native storage-cli types (alioss) AND legacy fog names (aliyun) +# Legacy fog name support to be REMOVED May 2026 +if provider == "aliyun" || provider == "alioss" options["provider"] = provider options["access_key_id"] = l.p("#{scope}.aliyun_accesskey_id") options["access_key_secret"] = l.p("#{scope}.aliyun_accesskey_secret") @@ -79,7 +87,8 @@ if provider == "aliyun" options["bucket_name"] = l.p("#{scope}.aliyun_oss_bucket") end -if provider == "webdav" +# WebDAV/dav support intentionally excluded (not fully implemented) +if provider == "webdav" || provider == "dav" options["provider"] = provider options["user"] = l.p("#{scope}.username") options["password"] = l.p("#{scope}.password") diff --git a/jobs/blobstore_benchmark/templates/storage_cli_config_droplets.json.erb b/jobs/blobstore_benchmark/templates/storage_cli_config_droplets.json.erb index 07fe365872..aa1dcc8464 100644 --- a/jobs/blobstore_benchmark/templates/storage_cli_config_droplets.json.erb +++ b/jobs/blobstore_benchmark/templates/storage_cli_config_droplets.json.erb @@ -25,7 +25,9 @@ scope = "cc.droplets.connection_config" provider = l.p("cc.droplets.blobstore_provider", nil) options = {} -if provider == "AzureRM" +# Support both native storage-cli types (azurebs) AND legacy fog names (AzureRM) +# Legacy fog name support to be REMOVED May 2026 +if provider == "AzureRM" || provider == "azurebs" options["provider"] = provider options["account_name"] = l.p("#{scope}.azure_storage_account_name") options["container_name"] = l.p("#{scope}.container_name") @@ -35,7 +37,9 @@ if provider == "AzureRM" options = cli_cfg_with_default_timeout(options, 'storage_cli') end -if provider == "Google" +# Support both native storage-cli types (gcs) AND legacy fog names (Google) +# Legacy fog name support to be REMOVED May 2026 +if provider == "Google" || provider == "gcs" options["provider"] = provider options["credentials_source"] = "static" options["json_key"] = l.p("#{scope}.google_json_key_string") @@ -44,7 +48,9 @@ if provider == "Google" add_optional(options, "encryption_key", l.p("#{scope}.encryption_key", nil)) end -if provider == "AWS" +# Support both native storage-cli types (s3) AND legacy fog names (AWS) +# Legacy fog name support to be REMOVED May 2026 +if provider == "AWS" || provider == "s3" options["provider"] = provider options["access_key_id"] = l.p("#{scope}.aws_access_key_id") options["secret_access_key"] = l.p("#{scope}.aws_secret_access_key") @@ -71,7 +77,9 @@ if provider == "AWS" add_optional(options, "multipart_copy_part_size", l.p("#{scope}.multipart_copy_part_size", nil)) end -if provider == "aliyun" +# Support both native storage-cli types (alioss) AND legacy fog names (aliyun) +# Legacy fog name support to be REMOVED May 2026 +if provider == "aliyun" || provider == "alioss" options["provider"] = provider options["access_key_id"] = l.p("#{scope}.aliyun_accesskey_id") options["access_key_secret"] = l.p("#{scope}.aliyun_accesskey_secret") @@ -79,7 +87,8 @@ if provider == "aliyun" options["bucket_name"] = l.p("#{scope}.aliyun_oss_bucket") end -if provider == "webdav" +# WebDAV/dav support intentionally excluded (not fully implemented) +if provider == "webdav" || provider == "dav" options["provider"] = provider options["user"] = l.p("#{scope}.username") options["password"] = l.p("#{scope}.password") diff --git a/jobs/blobstore_benchmark/templates/storage_cli_config_packages.json.erb b/jobs/blobstore_benchmark/templates/storage_cli_config_packages.json.erb index e6aac3f668..d19b347362 100644 --- a/jobs/blobstore_benchmark/templates/storage_cli_config_packages.json.erb +++ b/jobs/blobstore_benchmark/templates/storage_cli_config_packages.json.erb @@ -25,7 +25,9 @@ scope = "cc.packages.connection_config" provider = l.p("cc.packages.blobstore_provider", nil) options = {} -if provider == "AzureRM" +# Support both native storage-cli types (azurebs) AND legacy fog names (AzureRM) +# Legacy fog name support to be REMOVED May 2026 +if provider == "AzureRM" || provider == "azurebs" options["provider"] = provider options["account_name"] = l.p("#{scope}.azure_storage_account_name") options["container_name"] = l.p("#{scope}.container_name") @@ -35,7 +37,9 @@ if provider == "AzureRM" options = cli_cfg_with_default_timeout(options, 'storage_cli') end -if provider == "Google" +# Support both native storage-cli types (gcs) AND legacy fog names (Google) +# Legacy fog name support to be REMOVED May 2026 +if provider == "Google" || provider == "gcs" options["provider"] = provider options["credentials_source"] = "static" options["json_key"] = l.p("#{scope}.google_json_key_string") @@ -44,7 +48,9 @@ if provider == "Google" add_optional(options, "encryption_key", l.p("#{scope}.encryption_key", nil)) end -if provider == "AWS" +# Support both native storage-cli types (s3) AND legacy fog names (AWS) +# Legacy fog name support to be REMOVED May 2026 +if provider == "AWS" || provider == "s3" options["provider"] = provider options["access_key_id"] = l.p("#{scope}.aws_access_key_id") options["secret_access_key"] = l.p("#{scope}.aws_secret_access_key") @@ -71,7 +77,9 @@ if provider == "AWS" add_optional(options, "multipart_copy_part_size", l.p("#{scope}.multipart_copy_part_size", nil)) end -if provider == "aliyun" +# Support both native storage-cli types (alioss) AND legacy fog names (aliyun) +# Legacy fog name support to be REMOVED May 2026 +if provider == "aliyun" || provider == "alioss" options["provider"] = provider options["access_key_id"] = l.p("#{scope}.aliyun_accesskey_id") options["access_key_secret"] = l.p("#{scope}.aliyun_accesskey_secret") @@ -79,7 +87,8 @@ if provider == "aliyun" options["bucket_name"] = l.p("#{scope}.aliyun_oss_bucket") end -if provider == "webdav" +# WebDAV/dav support intentionally excluded (not fully implemented) +if provider == "webdav" || provider == "dav" options["provider"] = provider options["user"] = l.p("#{scope}.username") options["password"] = l.p("#{scope}.password") diff --git a/jobs/blobstore_benchmark/templates/storage_cli_config_resource_pool.json.erb b/jobs/blobstore_benchmark/templates/storage_cli_config_resource_pool.json.erb index 523555190f..e2dd1785c8 100644 --- a/jobs/blobstore_benchmark/templates/storage_cli_config_resource_pool.json.erb +++ b/jobs/blobstore_benchmark/templates/storage_cli_config_resource_pool.json.erb @@ -25,7 +25,9 @@ scope = "cc.resource_pool.connection_config" provider = l.p("cc.resource_pool.blobstore_provider", nil) options = {} -if provider == "AzureRM" +# Support both native storage-cli types (azurebs) AND legacy fog names (AzureRM) +# Legacy fog name support to be REMOVED May 2026 +if provider == "AzureRM" || provider == "azurebs" options["provider"] = provider options["account_name"] = l.p("#{scope}.azure_storage_account_name") options["container_name"] = l.p("#{scope}.container_name") @@ -35,7 +37,9 @@ if provider == "AzureRM" options = cli_cfg_with_default_timeout(options, 'storage_cli') end -if provider == "Google" +# Support both native storage-cli types (gcs) AND legacy fog names (Google) +# Legacy fog name support to be REMOVED May 2026 +if provider == "Google" || provider == "gcs" options["provider"] = provider options["credentials_source"] = "static" options["json_key"] = l.p("#{scope}.google_json_key_string") @@ -44,7 +48,9 @@ if provider == "Google" add_optional(options, "encryption_key", l.p("#{scope}.encryption_key", nil)) end -if provider == "AWS" +# Support both native storage-cli types (s3) AND legacy fog names (AWS) +# Legacy fog name support to be REMOVED May 2026 +if provider == "AWS" || provider == "s3" options["provider"] = provider options["access_key_id"] = l.p("#{scope}.aws_access_key_id") options["secret_access_key"] = l.p("#{scope}.aws_secret_access_key") @@ -71,7 +77,9 @@ if provider == "AWS" add_optional(options, "multipart_copy_part_size", l.p("#{scope}.multipart_copy_part_size", nil)) end -if provider == "aliyun" +# Support both native storage-cli types (alioss) AND legacy fog names (aliyun) +# Legacy fog name support to be REMOVED May 2026 +if provider == "aliyun" || provider == "alioss" options["provider"] = provider options["access_key_id"] = l.p("#{scope}.aliyun_accesskey_id") options["access_key_secret"] = l.p("#{scope}.aliyun_accesskey_secret") @@ -79,7 +87,8 @@ if provider == "aliyun" options["bucket_name"] = l.p("#{scope}.aliyun_oss_bucket") end -if provider == "webdav" +# WebDAV/dav support intentionally excluded (not fully implemented) +if provider == "webdav" || provider == "dav" options["provider"] = provider options["user"] = l.p("#{scope}.username") options["password"] = l.p("#{scope}.password") diff --git a/jobs/cc_deployment_updater/templates/storage_cli_config_buildpacks.json.erb b/jobs/cc_deployment_updater/templates/storage_cli_config_buildpacks.json.erb index 8d9a26922f..8203326738 100644 --- a/jobs/cc_deployment_updater/templates/storage_cli_config_buildpacks.json.erb +++ b/jobs/cc_deployment_updater/templates/storage_cli_config_buildpacks.json.erb @@ -25,7 +25,9 @@ scope = "cc.buildpacks.connection_config" provider = l.p("cc.buildpacks.blobstore_provider", nil) options = {} -if provider == "AzureRM" +# Support both native storage-cli types (azurebs) AND legacy fog names (AzureRM) +# Legacy fog name support to be REMOVED May 2026 +if provider == "AzureRM" || provider == "azurebs" options["provider"] = provider options["account_name"] = l.p("#{scope}.azure_storage_account_name") options["container_name"] = l.p("#{scope}.container_name") @@ -35,7 +37,9 @@ if provider == "AzureRM" options = cli_cfg_with_default_timeout(options, 'storage_cli') end -if provider == "Google" +# Support both native storage-cli types (gcs) AND legacy fog names (Google) +# Legacy fog name support to be REMOVED May 2026 +if provider == "Google" || provider == "gcs" options["provider"] = provider options["credentials_source"] = "static" options["json_key"] = l.p("#{scope}.google_json_key_string") @@ -44,7 +48,9 @@ if provider == "Google" add_optional(options, "encryption_key", l.p("#{scope}.encryption_key", nil)) end -if provider == "AWS" +# Support both native storage-cli types (s3) AND legacy fog names (AWS) +# Legacy fog name support to be REMOVED May 2026 +if provider == "AWS" || provider == "s3" options["provider"] = provider options["access_key_id"] = l.p("#{scope}.aws_access_key_id") options["secret_access_key"] = l.p("#{scope}.aws_secret_access_key") @@ -71,7 +77,9 @@ if provider == "AWS" add_optional(options, "multipart_copy_part_size", l.p("#{scope}.multipart_copy_part_size", nil)) end -if provider == "aliyun" +# Support both native storage-cli types (alioss) AND legacy fog names (aliyun) +# Legacy fog name support to be REMOVED May 2026 +if provider == "aliyun" || provider == "alioss" options["provider"] = provider options["access_key_id"] = l.p("#{scope}.aliyun_accesskey_id") options["access_key_secret"] = l.p("#{scope}.aliyun_accesskey_secret") @@ -79,7 +87,8 @@ if provider == "aliyun" options["bucket_name"] = l.p("#{scope}.aliyun_oss_bucket") end -if provider == "webdav" +# WebDAV/dav support intentionally excluded (not fully implemented) +if provider == "webdav" || provider == "dav" options["provider"] = provider options["user"] = l.p("#{scope}.username") options["password"] = l.p("#{scope}.password") diff --git a/jobs/cc_deployment_updater/templates/storage_cli_config_droplets.json.erb b/jobs/cc_deployment_updater/templates/storage_cli_config_droplets.json.erb index 105874320d..3857f893be 100644 --- a/jobs/cc_deployment_updater/templates/storage_cli_config_droplets.json.erb +++ b/jobs/cc_deployment_updater/templates/storage_cli_config_droplets.json.erb @@ -25,7 +25,9 @@ scope = "cc.droplets.connection_config" provider = l.p("cc.droplets.blobstore_provider", nil) options = {} -if provider == "AzureRM" +# Support both native storage-cli types (azurebs) AND legacy fog names (AzureRM) +# Legacy fog name support to be REMOVED May 2026 +if provider == "AzureRM" || provider == "azurebs" options["provider"] = provider options["account_name"] = l.p("#{scope}.azure_storage_account_name") options["container_name"] = l.p("#{scope}.container_name") @@ -35,7 +37,9 @@ if provider == "AzureRM" options = cli_cfg_with_default_timeout(options, 'storage_cli') end -if provider == "Google" +# Support both native storage-cli types (gcs) AND legacy fog names (Google) +# Legacy fog name support to be REMOVED May 2026 +if provider == "Google" || provider == "gcs" options["provider"] = provider options["credentials_source"] = "static" options["json_key"] = l.p("#{scope}.google_json_key_string") @@ -44,7 +48,9 @@ if provider == "Google" add_optional(options, "encryption_key", l.p("#{scope}.encryption_key", nil)) end -if provider == "AWS" +# Support both native storage-cli types (s3) AND legacy fog names (AWS) +# Legacy fog name support to be REMOVED May 2026 +if provider == "AWS" || provider == "s3" options["provider"] = provider options["access_key_id"] = l.p("#{scope}.aws_access_key_id") options["secret_access_key"] = l.p("#{scope}.aws_secret_access_key") @@ -71,7 +77,9 @@ if provider == "AWS" add_optional(options, "multipart_copy_part_size", l.p("#{scope}.multipart_copy_part_size", nil)) end -if provider == "aliyun" +# Support both native storage-cli types (alioss) AND legacy fog names (aliyun) +# Legacy fog name support to be REMOVED May 2026 +if provider == "aliyun" || provider == "alioss" options["provider"] = provider options["access_key_id"] = l.p("#{scope}.aliyun_accesskey_id") options["access_key_secret"] = l.p("#{scope}.aliyun_accesskey_secret") @@ -79,7 +87,8 @@ if provider == "aliyun" options["bucket_name"] = l.p("#{scope}.aliyun_oss_bucket") end -if provider == "webdav" +# WebDAV/dav support intentionally excluded (not fully implemented) +if provider == "webdav" || provider == "dav" options["provider"] = provider options["user"] = l.p("#{scope}.username") options["password"] = l.p("#{scope}.password") diff --git a/jobs/cc_deployment_updater/templates/storage_cli_config_packages.json.erb b/jobs/cc_deployment_updater/templates/storage_cli_config_packages.json.erb index e6aac3f668..d19b347362 100644 --- a/jobs/cc_deployment_updater/templates/storage_cli_config_packages.json.erb +++ b/jobs/cc_deployment_updater/templates/storage_cli_config_packages.json.erb @@ -25,7 +25,9 @@ scope = "cc.packages.connection_config" provider = l.p("cc.packages.blobstore_provider", nil) options = {} -if provider == "AzureRM" +# Support both native storage-cli types (azurebs) AND legacy fog names (AzureRM) +# Legacy fog name support to be REMOVED May 2026 +if provider == "AzureRM" || provider == "azurebs" options["provider"] = provider options["account_name"] = l.p("#{scope}.azure_storage_account_name") options["container_name"] = l.p("#{scope}.container_name") @@ -35,7 +37,9 @@ if provider == "AzureRM" options = cli_cfg_with_default_timeout(options, 'storage_cli') end -if provider == "Google" +# Support both native storage-cli types (gcs) AND legacy fog names (Google) +# Legacy fog name support to be REMOVED May 2026 +if provider == "Google" || provider == "gcs" options["provider"] = provider options["credentials_source"] = "static" options["json_key"] = l.p("#{scope}.google_json_key_string") @@ -44,7 +48,9 @@ if provider == "Google" add_optional(options, "encryption_key", l.p("#{scope}.encryption_key", nil)) end -if provider == "AWS" +# Support both native storage-cli types (s3) AND legacy fog names (AWS) +# Legacy fog name support to be REMOVED May 2026 +if provider == "AWS" || provider == "s3" options["provider"] = provider options["access_key_id"] = l.p("#{scope}.aws_access_key_id") options["secret_access_key"] = l.p("#{scope}.aws_secret_access_key") @@ -71,7 +77,9 @@ if provider == "AWS" add_optional(options, "multipart_copy_part_size", l.p("#{scope}.multipart_copy_part_size", nil)) end -if provider == "aliyun" +# Support both native storage-cli types (alioss) AND legacy fog names (aliyun) +# Legacy fog name support to be REMOVED May 2026 +if provider == "aliyun" || provider == "alioss" options["provider"] = provider options["access_key_id"] = l.p("#{scope}.aliyun_accesskey_id") options["access_key_secret"] = l.p("#{scope}.aliyun_accesskey_secret") @@ -79,7 +87,8 @@ if provider == "aliyun" options["bucket_name"] = l.p("#{scope}.aliyun_oss_bucket") end -if provider == "webdav" +# WebDAV/dav support intentionally excluded (not fully implemented) +if provider == "webdav" || provider == "dav" options["provider"] = provider options["user"] = l.p("#{scope}.username") options["password"] = l.p("#{scope}.password") diff --git a/jobs/cc_deployment_updater/templates/storage_cli_config_resource_pool.json.erb b/jobs/cc_deployment_updater/templates/storage_cli_config_resource_pool.json.erb index cc8ef9da18..0306f7206d 100644 --- a/jobs/cc_deployment_updater/templates/storage_cli_config_resource_pool.json.erb +++ b/jobs/cc_deployment_updater/templates/storage_cli_config_resource_pool.json.erb @@ -25,7 +25,9 @@ scope = "cc.resource_pool.connection_config" provider = l.p("cc.resource_pool.blobstore_provider", nil) options = {} -if provider == "AzureRM" +# Support both native storage-cli types (azurebs) AND legacy fog names (AzureRM) +# Legacy fog name support to be REMOVED May 2026 +if provider == "AzureRM" || provider == "azurebs" options["provider"] = provider options["account_name"] = l.p("#{scope}.azure_storage_account_name") options["container_name"] = l.p("#{scope}.container_name") @@ -35,7 +37,9 @@ if provider == "AzureRM" options = cli_cfg_with_default_timeout(options, 'storage_cli') end -if provider == "Google" +# Support both native storage-cli types (gcs) AND legacy fog names (Google) +# Legacy fog name support to be REMOVED May 2026 +if provider == "Google" || provider == "gcs" options["provider"] = provider options["credentials_source"] = "static" options["json_key"] = l.p("#{scope}.google_json_key_string") @@ -44,7 +48,9 @@ if provider == "Google" add_optional(options, "encryption_key", l.p("#{scope}.encryption_key", nil)) end -if provider == "AWS" +# Support both native storage-cli types (s3) AND legacy fog names (AWS) +# Legacy fog name support to be REMOVED May 2026 +if provider == "AWS" || provider == "s3" options["provider"] = provider options["access_key_id"] = l.p("#{scope}.aws_access_key_id") options["secret_access_key"] = l.p("#{scope}.aws_secret_access_key") @@ -71,7 +77,9 @@ if provider == "AWS" add_optional(options, "multipart_copy_part_size", l.p("#{scope}.multipart_copy_part_size", nil)) end -if provider == "aliyun" +# Support both native storage-cli types (alioss) AND legacy fog names (aliyun) +# Legacy fog name support to be REMOVED May 2026 +if provider == "aliyun" || provider == "alioss" options["provider"] = provider options["access_key_id"] = l.p("#{scope}.aliyun_accesskey_id") options["access_key_secret"] = l.p("#{scope}.aliyun_accesskey_secret") @@ -79,7 +87,8 @@ if provider == "aliyun" options["bucket_name"] = l.p("#{scope}.aliyun_oss_bucket") end -if provider == "webdav" +# WebDAV/dav support intentionally excluded (not fully implemented) +if provider == "webdav" || provider == "dav" options["provider"] = provider options["user"] = l.p("#{scope}.username") options["password"] = l.p("#{scope}.password") diff --git a/jobs/cloud_controller_clock/spec b/jobs/cloud_controller_clock/spec index bec942152f..a697626402 100644 --- a/jobs/cloud_controller_clock/spec +++ b/jobs/cloud_controller_clock/spec @@ -184,7 +184,7 @@ properties: description: "Storage Cli extra flags string" cc.resource_pool.blobstore_provider: - description: "The provider of blobstore storage cli to use. Valid values: ['AzureRM', 'AWS', 'aliyun', 'webdav', 'Google']" + description: "The provider of blobstore storage cli to use. Valid values: ['azurebs', 's3', 'alioss', 'gcs'] (native) or ['AzureRM', 'AWS', 'aliyun', 'Google'] (legacy, to be removed May 2026)" default: ~ cc.resource_pool.connection_config: description: "Azure Storage Cli connection hash" @@ -235,7 +235,7 @@ properties: default: "" cc.packages.blobstore_provider: - description: "The provider of blobstore storage cli to use. Valid values: ['AzureRM', 'AWS', 'aliyun', 'webdav', 'Google']" + description: "The provider of blobstore storage cli to use. Valid values: ['azurebs', 's3', 'alioss', 'gcs'] (native) or ['AzureRM', 'AWS', 'aliyun', 'Google'] (legacy, to be removed May 2026)" default: ~ cc.packages.connection_config: description: "Azure Storage Cli connection hash" @@ -283,7 +283,7 @@ properties: default: "" cc.droplets.blobstore_provider: - description: "The provider of blobstore storage cli to use. Valid values: ['AzureRM', 'AWS', 'aliyun', 'webdav', 'Google']" + description: "The provider of blobstore storage cli to use. Valid values: ['azurebs', 's3', 'alioss', 'gcs'] (native) or ['AzureRM', 'AWS', 'aliyun', 'Google'] (legacy, to be removed May 2026)" default: ~ cc.droplets.connection_config: description: "Azure Storage Cli connection hash" @@ -328,7 +328,7 @@ properties: default: "" cc.buildpacks.blobstore_provider: - description: "The provider of blobstore storage cli to use. Valid values: ['AzureRM', 'AWS', 'aliyun', 'webdav', 'Google']" + description: "The provider of blobstore storage cli to use. Valid values: ['azurebs', 's3', 'alioss', 'gcs'] (native) or ['AzureRM', 'AWS', 'aliyun', 'Google'] (legacy, to be removed May 2026)" default: ~ cc.buildpacks.connection_config: description: "Azure Storage Cli connection hash" diff --git a/jobs/cloud_controller_clock/templates/storage_cli_config_buildpacks.json.erb b/jobs/cloud_controller_clock/templates/storage_cli_config_buildpacks.json.erb index e6e35e87d9..9832157a91 100644 --- a/jobs/cloud_controller_clock/templates/storage_cli_config_buildpacks.json.erb +++ b/jobs/cloud_controller_clock/templates/storage_cli_config_buildpacks.json.erb @@ -23,7 +23,9 @@ scope = "cc.buildpacks.connection_config" provider = p("cc.buildpacks.blobstore_provider", nil) options = {} -if provider == "AzureRM" +# Support both native storage-cli types (azurebs) AND legacy fog names (AzureRM) +# Legacy fog name support to be REMOVED May 2026 +if provider == "AzureRM" || provider == "azurebs" options["provider"] = provider options["account_name"] = p("#{scope}.azure_storage_account_name") options["container_name"] = p("#{scope}.container_name") @@ -33,7 +35,9 @@ if provider == "AzureRM" options = cli_cfg_with_default_timeout(options, 'storage_cli') end -if provider == "Google" +# Support both native storage-cli types (gcs) AND legacy fog names (Google) +# Legacy fog name support to be REMOVED May 2026 +if provider == "Google" || provider == "gcs" options["provider"] = provider options["credentials_source"] = "static" options["json_key"] = p("#{scope}.google_json_key_string") @@ -42,7 +46,9 @@ if provider == "Google" add_optional(options, "encryption_key", p("#{scope}.encryption_key", nil)) end -if provider == "AWS" +# Support both native storage-cli types (s3) AND legacy fog names (AWS) +# Legacy fog name support to be REMOVED May 2026 +if provider == "AWS" || provider == "s3" options["provider"] = provider options["access_key_id"] = p("#{scope}.aws_access_key_id") options["secret_access_key"] = p("#{scope}.aws_secret_access_key") @@ -69,7 +75,9 @@ if provider == "AWS" add_optional(options, "multipart_copy_part_size", p("#{scope}.multipart_copy_part_size", nil)) end -if provider == "aliyun" +# Support both native storage-cli types (alioss) AND legacy fog names (aliyun) +# Legacy fog name support to be REMOVED May 2026 +if provider == "aliyun" || provider == "alioss" options["provider"] = provider options["access_key_id"] = p("#{scope}.aliyun_accesskey_id") options["access_key_secret"] = p("#{scope}.aliyun_accesskey_secret") @@ -77,7 +85,8 @@ if provider == "aliyun" options["bucket_name"] = p("#{scope}.aliyun_oss_bucket") end -if provider == "webdav" +# WebDAV/dav support intentionally excluded (not fully implemented) +if provider == "webdav" || provider == "dav" options["provider"] = provider options["user"] = p("#{scope}.username") options["password"] = p("#{scope}.password") diff --git a/jobs/cloud_controller_clock/templates/storage_cli_config_droplets.json.erb b/jobs/cloud_controller_clock/templates/storage_cli_config_droplets.json.erb index c88b5eb910..53d4c157cf 100644 --- a/jobs/cloud_controller_clock/templates/storage_cli_config_droplets.json.erb +++ b/jobs/cloud_controller_clock/templates/storage_cli_config_droplets.json.erb @@ -23,7 +23,9 @@ scope = "cc.droplets.connection_config" provider = p("cc.droplets.blobstore_provider", nil) options = {} -if provider == "AzureRM" +# Support both native storage-cli types (azurebs) AND legacy fog names (AzureRM) +# Legacy fog name support to be REMOVED May 2026 +if provider == "AzureRM" || provider == "azurebs" options["provider"] = provider options["account_name"] = p("#{scope}.azure_storage_account_name") options["container_name"] = p("#{scope}.container_name") @@ -33,7 +35,9 @@ if provider == "AzureRM" options = cli_cfg_with_default_timeout(options, 'storage_cli') end -if provider == "Google" +# Support both native storage-cli types (gcs) AND legacy fog names (Google) +# Legacy fog name support to be REMOVED May 2026 +if provider == "Google" || provider == "gcs" options["provider"] = provider options["credentials_source"] = "static" options["json_key"] = p("#{scope}.google_json_key_string") @@ -42,7 +46,9 @@ if provider == "Google" add_optional(options, "encryption_key", p("#{scope}.encryption_key", nil)) end -if provider == "AWS" +# Support both native storage-cli types (s3) AND legacy fog names (AWS) +# Legacy fog name support to be REMOVED May 2026 +if provider == "AWS" || provider == "s3" options["provider"] = provider options["access_key_id"] = p("#{scope}.aws_access_key_id") options["secret_access_key"] = p("#{scope}.aws_secret_access_key") @@ -69,7 +75,9 @@ if provider == "AWS" add_optional(options, "multipart_copy_part_size", p("#{scope}.multipart_copy_part_size", nil)) end -if provider == "aliyun" +# Support both native storage-cli types (alioss) AND legacy fog names (aliyun) +# Legacy fog name support to be REMOVED May 2026 +if provider == "aliyun" || provider == "alioss" options["provider"] = provider options["access_key_id"] = p("#{scope}.aliyun_accesskey_id") options["access_key_secret"] = p("#{scope}.aliyun_accesskey_secret") @@ -77,7 +85,8 @@ if provider == "aliyun" options["bucket_name"] = p("#{scope}.aliyun_oss_bucket") end -if provider == "webdav" +# WebDAV/dav support intentionally excluded (not fully implemented) +if provider == "webdav" || provider == "dav" options["provider"] = provider options["user"] = p("#{scope}.username") options["password"] = p("#{scope}.password") diff --git a/jobs/cloud_controller_clock/templates/storage_cli_config_packages.json.erb b/jobs/cloud_controller_clock/templates/storage_cli_config_packages.json.erb index 1e9248c9d9..7d7573da17 100644 --- a/jobs/cloud_controller_clock/templates/storage_cli_config_packages.json.erb +++ b/jobs/cloud_controller_clock/templates/storage_cli_config_packages.json.erb @@ -23,7 +23,9 @@ scope = "cc.packages.connection_config" provider = p("cc.packages.blobstore_provider", nil) options = {} -if provider == "AzureRM" +# Support both native storage-cli types (azurebs) AND legacy fog names (AzureRM) +# Legacy fog name support to be REMOVED May 2026 +if provider == "AzureRM" || provider == "azurebs" options["provider"] = provider options["account_name"] = p("#{scope}.azure_storage_account_name") options["container_name"] = p("#{scope}.container_name") @@ -33,7 +35,9 @@ if provider == "AzureRM" options = cli_cfg_with_default_timeout(options, 'storage_cli') end -if provider == "Google" +# Support both native storage-cli types (gcs) AND legacy fog names (Google) +# Legacy fog name support to be REMOVED May 2026 +if provider == "Google" || provider == "gcs" options["provider"] = provider options["credentials_source"] = "static" options["json_key"] = p("#{scope}.google_json_key_string") @@ -42,7 +46,9 @@ if provider == "Google" add_optional(options, "encryption_key", p("#{scope}.encryption_key", nil)) end -if provider == "AWS" +# Support both native storage-cli types (s3) AND legacy fog names (AWS) +# Legacy fog name support to be REMOVED May 2026 +if provider == "AWS" || provider == "s3" options["provider"] = provider options["access_key_id"] = p("#{scope}.aws_access_key_id") options["secret_access_key"] = p("#{scope}.aws_secret_access_key") @@ -69,7 +75,9 @@ if provider == "AWS" add_optional(options, "multipart_copy_part_size", p("#{scope}.multipart_copy_part_size", nil)) end -if provider == "aliyun" +# Support both native storage-cli types (alioss) AND legacy fog names (aliyun) +# Legacy fog name support to be REMOVED May 2026 +if provider == "aliyun" || provider == "alioss" options["provider"] = provider options["access_key_id"] = p("#{scope}.aliyun_accesskey_id") options["access_key_secret"] = p("#{scope}.aliyun_accesskey_secret") @@ -77,7 +85,8 @@ if provider == "aliyun" options["bucket_name"] = p("#{scope}.aliyun_oss_bucket") end -if provider == "webdav" +# WebDAV/dav support intentionally excluded (not fully implemented) +if provider == "webdav" || provider == "dav" options["provider"] = provider options["user"] = p("#{scope}.username") options["password"] = p("#{scope}.password") diff --git a/jobs/cloud_controller_clock/templates/storage_cli_config_resource_pool.json.erb b/jobs/cloud_controller_clock/templates/storage_cli_config_resource_pool.json.erb index 9109489cdb..0cb57ab8f6 100644 --- a/jobs/cloud_controller_clock/templates/storage_cli_config_resource_pool.json.erb +++ b/jobs/cloud_controller_clock/templates/storage_cli_config_resource_pool.json.erb @@ -23,7 +23,9 @@ scope = "cc.resource_pool.connection_config" provider = p("cc.resource_pool.blobstore_provider", nil) options = {} -if provider == "AzureRM" +# Support both native storage-cli types (azurebs) AND legacy fog names (AzureRM) +# Legacy fog name support to be REMOVED May 2026 +if provider == "AzureRM" || provider == "azurebs" options["provider"] = provider options["account_name"] = p("#{scope}.azure_storage_account_name") options["container_name"] = p("#{scope}.container_name") @@ -33,7 +35,9 @@ if provider == "AzureRM" options = cli_cfg_with_default_timeout(options, 'storage_cli') end -if provider == "Google" +# Support both native storage-cli types (gcs) AND legacy fog names (Google) +# Legacy fog name support to be REMOVED May 2026 +if provider == "Google" || provider == "gcs" options["provider"] = provider options["credentials_source"] = "static" options["json_key"] = p("#{scope}.google_json_key_string") @@ -42,7 +46,9 @@ if provider == "Google" add_optional(options, "encryption_key", p("#{scope}.encryption_key", nil)) end -if provider == "AWS" +# Support both native storage-cli types (s3) AND legacy fog names (AWS) +# Legacy fog name support to be REMOVED May 2026 +if provider == "AWS" || provider == "s3" options["provider"] = provider options["access_key_id"] = p("#{scope}.aws_access_key_id") options["secret_access_key"] = p("#{scope}.aws_secret_access_key") @@ -69,7 +75,9 @@ if provider == "AWS" add_optional(options, "multipart_copy_part_size", p("#{scope}.multipart_copy_part_size", nil)) end -if provider == "aliyun" +# Support both native storage-cli types (alioss) AND legacy fog names (aliyun) +# Legacy fog name support to be REMOVED May 2026 +if provider == "aliyun" || provider == "alioss" options["provider"] = provider options["access_key_id"] = p("#{scope}.aliyun_accesskey_id") options["access_key_secret"] = p("#{scope}.aliyun_accesskey_secret") @@ -77,7 +85,8 @@ if provider == "aliyun" options["bucket_name"] = p("#{scope}.aliyun_oss_bucket") end -if provider == "webdav" +# WebDAV/dav support intentionally excluded (not fully implemented) +if provider == "webdav" || provider == "dav" options["provider"] = provider options["user"] = p("#{scope}.username") options["password"] = p("#{scope}.password") diff --git a/jobs/cloud_controller_ng/spec b/jobs/cloud_controller_ng/spec index e23644dd28..0c57ac2da6 100644 --- a/jobs/cloud_controller_ng/spec +++ b/jobs/cloud_controller_ng/spec @@ -526,7 +526,7 @@ properties: description: "Storage Cli extra flags string" cc.resource_pool.blobstore_provider: - description: "The provider of blobstore storage cli to use. Valid values: ['AzureRM', 'AWS', 'aliyun', 'webdav', 'Google']" + description: "The provider of blobstore storage cli to use. Valid values: ['azurebs', 's3', 'alioss', 'gcs'] (native) or ['AzureRM', 'AWS', 'aliyun', 'Google'] (legacy, to be removed May 2026)" default: ~ cc.resource_pool.connection_config: description: "Azure Storage Cli connection hash" @@ -579,7 +579,7 @@ properties: default: "" cc.packages.blobstore_provider: - description: "The provider of blobstore storage cli to use. Valid values: ['AzureRM', 'AWS', 'aliyun', 'webdav', 'Google']" + description: "The provider of blobstore storage cli to use. Valid values: ['azurebs', 's3', 'alioss', 'gcs'] (native) or ['AzureRM', 'AWS', 'aliyun', 'Google'] (legacy, to be removed May 2026)" default: ~ cc.packages.connection_config: description: "Azure Storage Cli connection hash" @@ -632,7 +632,7 @@ properties: default: "" cc.droplets.blobstore_provider: - description: "The provider of blobstore storage cli to use. Valid values: ['AzureRM', 'AWS', 'aliyun', 'webdav', 'Google']" + description: "The provider of blobstore storage cli to use. Valid values: ['azurebs', 's3', 'alioss', 'gcs'] (native) or ['AzureRM', 'AWS', 'aliyun', 'Google'] (legacy, to be removed May 2026)" default: ~ cc.droplets.connection_config: description: "Azure Storage Cli connection hash" @@ -682,7 +682,7 @@ properties: default: "" cc.buildpacks.blobstore_provider: - description: "The provider of blobstore storage cli to use. Valid values: ['AzureRM', 'AWS', 'aliyun', 'webdav', 'Google']" + description: "The provider of blobstore storage cli to use. Valid values: ['azurebs', 's3', 'alioss', 'gcs'] (native) or ['AzureRM', 'AWS', 'aliyun', 'Google'] (legacy, to be removed May 2026)" default: ~ cc.buildpacks.connection_config: description: "Azure Storage Cli connection hash" diff --git a/jobs/cloud_controller_ng/templates/storage_cli_config_buildpacks.json.erb b/jobs/cloud_controller_ng/templates/storage_cli_config_buildpacks.json.erb index e6e35e87d9..9832157a91 100644 --- a/jobs/cloud_controller_ng/templates/storage_cli_config_buildpacks.json.erb +++ b/jobs/cloud_controller_ng/templates/storage_cli_config_buildpacks.json.erb @@ -23,7 +23,9 @@ scope = "cc.buildpacks.connection_config" provider = p("cc.buildpacks.blobstore_provider", nil) options = {} -if provider == "AzureRM" +# Support both native storage-cli types (azurebs) AND legacy fog names (AzureRM) +# Legacy fog name support to be REMOVED May 2026 +if provider == "AzureRM" || provider == "azurebs" options["provider"] = provider options["account_name"] = p("#{scope}.azure_storage_account_name") options["container_name"] = p("#{scope}.container_name") @@ -33,7 +35,9 @@ if provider == "AzureRM" options = cli_cfg_with_default_timeout(options, 'storage_cli') end -if provider == "Google" +# Support both native storage-cli types (gcs) AND legacy fog names (Google) +# Legacy fog name support to be REMOVED May 2026 +if provider == "Google" || provider == "gcs" options["provider"] = provider options["credentials_source"] = "static" options["json_key"] = p("#{scope}.google_json_key_string") @@ -42,7 +46,9 @@ if provider == "Google" add_optional(options, "encryption_key", p("#{scope}.encryption_key", nil)) end -if provider == "AWS" +# Support both native storage-cli types (s3) AND legacy fog names (AWS) +# Legacy fog name support to be REMOVED May 2026 +if provider == "AWS" || provider == "s3" options["provider"] = provider options["access_key_id"] = p("#{scope}.aws_access_key_id") options["secret_access_key"] = p("#{scope}.aws_secret_access_key") @@ -69,7 +75,9 @@ if provider == "AWS" add_optional(options, "multipart_copy_part_size", p("#{scope}.multipart_copy_part_size", nil)) end -if provider == "aliyun" +# Support both native storage-cli types (alioss) AND legacy fog names (aliyun) +# Legacy fog name support to be REMOVED May 2026 +if provider == "aliyun" || provider == "alioss" options["provider"] = provider options["access_key_id"] = p("#{scope}.aliyun_accesskey_id") options["access_key_secret"] = p("#{scope}.aliyun_accesskey_secret") @@ -77,7 +85,8 @@ if provider == "aliyun" options["bucket_name"] = p("#{scope}.aliyun_oss_bucket") end -if provider == "webdav" +# WebDAV/dav support intentionally excluded (not fully implemented) +if provider == "webdav" || provider == "dav" options["provider"] = provider options["user"] = p("#{scope}.username") options["password"] = p("#{scope}.password") diff --git a/jobs/cloud_controller_ng/templates/storage_cli_config_droplets.json.erb b/jobs/cloud_controller_ng/templates/storage_cli_config_droplets.json.erb index a78ddf979b..2c26af707e 100644 --- a/jobs/cloud_controller_ng/templates/storage_cli_config_droplets.json.erb +++ b/jobs/cloud_controller_ng/templates/storage_cli_config_droplets.json.erb @@ -23,7 +23,9 @@ scope = "cc.droplets.connection_config" provider = p("cc.droplets.blobstore_provider", nil) options = {} -if provider == "AzureRM" +# Support both native storage-cli types (azurebs) AND legacy fog names (AzureRM) +# Legacy fog name support to be REMOVED May 2026 +if provider == "AzureRM" || provider == "azurebs" options["provider"] = provider options["account_name"] = p("#{scope}.azure_storage_account_name") options["container_name"] = p("#{scope}.container_name") @@ -33,7 +35,9 @@ if provider == "AzureRM" options = cli_cfg_with_default_timeout(options, 'storage_cli') end -if provider == "Google" +# Support both native storage-cli types (gcs) AND legacy fog names (Google) +# Legacy fog name support to be REMOVED May 2026 +if provider == "Google" || provider == "gcs" options["provider"] = provider options["credentials_source"] = "static" options["json_key"] = p("#{scope}.google_json_key_string") @@ -42,7 +46,9 @@ if provider == "Google" add_optional(options, "encryption_key", p("#{scope}.encryption_key", nil)) end -if provider == "AWS" +# Support both native storage-cli types (s3) AND legacy fog names (AWS) +# Legacy fog name support to be REMOVED May 2026 +if provider == "AWS" || provider == "s3" options["provider"] = provider options["access_key_id"] = p("#{scope}.aws_access_key_id") options["secret_access_key"] = p("#{scope}.aws_secret_access_key") @@ -69,15 +75,18 @@ if provider == "AWS" add_optional(options, "multipart_copy_part_size", p("#{scope}.multipart_copy_part_size", nil)) end -if provider == "aliyun" +# Support both native storage-cli types (alioss) AND legacy fog names (aliyun) +# Legacy fog name support to be REMOVED May 2026 +if provider == "aliyun" || provider == "alioss" options["provider"] = provider options["access_key_id"] = p("#{scope}.aliyun_accesskey_id") options["access_key_secret"] = p("#{scope}.aliyun_accesskey_secret") options["endpoint"] = p("#{scope}.aliyun_oss_endpoint") options["bucket_name"] = p("#{scope}.aliyun_oss_bucket") end - -if provider == "webdav" + +# WebDAV/dav support intentionally excluded (not fully implemented) +if provider == "webdav" || provider == "dav" options["provider"] = provider options["user"] = p("#{scope}.username") options["password"] = p("#{scope}.password") @@ -93,4 +102,4 @@ if provider == "webdav" end -%> -<%= JSON.pretty_generate(options) %> \ No newline at end of file +<%= JSON.pretty_generate(options) %> diff --git a/jobs/cloud_controller_ng/templates/storage_cli_config_packages.json.erb b/jobs/cloud_controller_ng/templates/storage_cli_config_packages.json.erb index 8652a626c4..dd7f0090bc 100644 --- a/jobs/cloud_controller_ng/templates/storage_cli_config_packages.json.erb +++ b/jobs/cloud_controller_ng/templates/storage_cli_config_packages.json.erb @@ -23,7 +23,9 @@ scope = "cc.packages.connection_config" provider = p("cc.packages.blobstore_provider", nil) options = {} -if provider == "AzureRM" +# Support both native storage-cli types (azurebs) AND legacy fog names (AzureRM) +# Legacy fog name support to be REMOVED May 2026 +if provider == "AzureRM" || provider == "azurebs" options["provider"] = provider options["account_name"] = p("#{scope}.azure_storage_account_name") options["container_name"] = p("#{scope}.container_name") @@ -33,7 +35,9 @@ if provider == "AzureRM" options = cli_cfg_with_default_timeout(options, 'storage_cli') end -if provider == "Google" +# Support both native storage-cli types (gcs) AND legacy fog names (Google) +# Legacy fog name support to be REMOVED May 2026 +if provider == "Google" || provider == "gcs" options["provider"] = provider options["credentials_source"] = "static" options["json_key"] = p("#{scope}.google_json_key_string") @@ -42,7 +46,9 @@ if provider == "Google" add_optional(options, "encryption_key", p("#{scope}.encryption_key", nil)) end -if provider == "AWS" +# Support both native storage-cli types (s3) AND legacy fog names (AWS) +# Legacy fog name support to be REMOVED May 2026 +if provider == "AWS" || provider == "s3" options["provider"] = provider options["access_key_id"] = p("#{scope}.aws_access_key_id") options["secret_access_key"] = p("#{scope}.aws_secret_access_key") @@ -69,7 +75,9 @@ if provider == "AWS" add_optional(options, "multipart_copy_part_size", p("#{scope}.multipart_copy_part_size", nil)) end -if provider == "aliyun" +# Support both native storage-cli types (alioss) AND legacy fog names (aliyun) +# Legacy fog name support to be REMOVED May 2026 +if provider == "aliyun" || provider == "alioss" options["provider"] = provider options["access_key_id"] = p("#{scope}.aliyun_accesskey_id") options["access_key_secret"] = p("#{scope}.aliyun_accesskey_secret") @@ -77,7 +85,8 @@ if provider == "aliyun" options["bucket_name"] = p("#{scope}.aliyun_oss_bucket") end -if provider == "webdav" +# WebDAV/dav support intentionally excluded (not fully implemented) +if provider == "webdav" || provider == "dav" options["provider"] = provider options["user"] = p("#{scope}.username") options["password"] = p("#{scope}.password") diff --git a/jobs/cloud_controller_ng/templates/storage_cli_config_resource_pool.json.erb b/jobs/cloud_controller_ng/templates/storage_cli_config_resource_pool.json.erb index 9109489cdb..0cb57ab8f6 100644 --- a/jobs/cloud_controller_ng/templates/storage_cli_config_resource_pool.json.erb +++ b/jobs/cloud_controller_ng/templates/storage_cli_config_resource_pool.json.erb @@ -23,7 +23,9 @@ scope = "cc.resource_pool.connection_config" provider = p("cc.resource_pool.blobstore_provider", nil) options = {} -if provider == "AzureRM" +# Support both native storage-cli types (azurebs) AND legacy fog names (AzureRM) +# Legacy fog name support to be REMOVED May 2026 +if provider == "AzureRM" || provider == "azurebs" options["provider"] = provider options["account_name"] = p("#{scope}.azure_storage_account_name") options["container_name"] = p("#{scope}.container_name") @@ -33,7 +35,9 @@ if provider == "AzureRM" options = cli_cfg_with_default_timeout(options, 'storage_cli') end -if provider == "Google" +# Support both native storage-cli types (gcs) AND legacy fog names (Google) +# Legacy fog name support to be REMOVED May 2026 +if provider == "Google" || provider == "gcs" options["provider"] = provider options["credentials_source"] = "static" options["json_key"] = p("#{scope}.google_json_key_string") @@ -42,7 +46,9 @@ if provider == "Google" add_optional(options, "encryption_key", p("#{scope}.encryption_key", nil)) end -if provider == "AWS" +# Support both native storage-cli types (s3) AND legacy fog names (AWS) +# Legacy fog name support to be REMOVED May 2026 +if provider == "AWS" || provider == "s3" options["provider"] = provider options["access_key_id"] = p("#{scope}.aws_access_key_id") options["secret_access_key"] = p("#{scope}.aws_secret_access_key") @@ -69,7 +75,9 @@ if provider == "AWS" add_optional(options, "multipart_copy_part_size", p("#{scope}.multipart_copy_part_size", nil)) end -if provider == "aliyun" +# Support both native storage-cli types (alioss) AND legacy fog names (aliyun) +# Legacy fog name support to be REMOVED May 2026 +if provider == "aliyun" || provider == "alioss" options["provider"] = provider options["access_key_id"] = p("#{scope}.aliyun_accesskey_id") options["access_key_secret"] = p("#{scope}.aliyun_accesskey_secret") @@ -77,7 +85,8 @@ if provider == "aliyun" options["bucket_name"] = p("#{scope}.aliyun_oss_bucket") end -if provider == "webdav" +# WebDAV/dav support intentionally excluded (not fully implemented) +if provider == "webdav" || provider == "dav" options["provider"] = provider options["user"] = p("#{scope}.username") options["password"] = p("#{scope}.password") diff --git a/jobs/cloud_controller_worker/spec b/jobs/cloud_controller_worker/spec index aa1a1c8b38..a70a7c66eb 100644 --- a/jobs/cloud_controller_worker/spec +++ b/jobs/cloud_controller_worker/spec @@ -147,7 +147,7 @@ properties: description: "Storage Cli extra flags string" cc.resource_pool.blobstore_provider: - description: "The provider of blobstore storage cli to use. Valid values: ['AzureRM', 'AWS', 'aliyun', 'webdav', 'Google']" + description: "The provider of blobstore storage cli to use. Valid values: ['azurebs', 's3', 'alioss', 'gcs'] (native) or ['AzureRM', 'AWS', 'aliyun', 'Google'] (legacy, to be removed May 2026)" default: ~ cc.resource_pool.connection_config: description: "Azure Storage Cli connection hash" @@ -198,7 +198,7 @@ properties: default: "" cc.packages.blobstore_provider: - description: "The provider of blobstore storage cli to use. Valid values: ['AzureRM', 'AWS', 'aliyun', 'webdav', 'Google']" + description: "The provider of blobstore storage cli to use. Valid values: ['azurebs', 's3', 'alioss', 'gcs'] (native) or ['AzureRM', 'AWS', 'aliyun', 'Google'] (legacy, to be removed May 2026)" default: ~ cc.packages.connection_config: description: "Azure Storage Cli connection hash" @@ -246,7 +246,7 @@ properties: default: "" cc.droplets.blobstore_provider: - description: "The provider of blobstore storage cli to use. Valid values: ['AzureRM', 'AWS', 'aliyun', 'webdav', 'Google']" + description: "The provider of blobstore storage cli to use. Valid values: ['azurebs', 's3', 'alioss', 'gcs'] (native) or ['AzureRM', 'AWS', 'aliyun', 'Google'] (legacy, to be removed May 2026)" default: ~ cc.droplets.connection_config: description: "Azure Storage Cli connection hash" @@ -291,7 +291,7 @@ properties: default: "" cc.buildpacks.blobstore_provider: - description: "The provider of blobstore storage cli to use. Valid values: ['AzureRM', 'AWS', 'aliyun', 'webdav', 'Google']" + description: "The provider of blobstore storage cli to use. Valid values: ['azurebs', 's3', 'alioss', 'gcs'] (native) or ['AzureRM', 'AWS', 'aliyun', 'Google'] (legacy, to be removed May 2026)" default: ~ cc.buildpacks.connection_config: description: "Azure Storage Cli connection hash" diff --git a/jobs/cloud_controller_worker/templates/storage_cli_config_buildpacks.json.erb b/jobs/cloud_controller_worker/templates/storage_cli_config_buildpacks.json.erb index e6e35e87d9..9832157a91 100644 --- a/jobs/cloud_controller_worker/templates/storage_cli_config_buildpacks.json.erb +++ b/jobs/cloud_controller_worker/templates/storage_cli_config_buildpacks.json.erb @@ -23,7 +23,9 @@ scope = "cc.buildpacks.connection_config" provider = p("cc.buildpacks.blobstore_provider", nil) options = {} -if provider == "AzureRM" +# Support both native storage-cli types (azurebs) AND legacy fog names (AzureRM) +# Legacy fog name support to be REMOVED May 2026 +if provider == "AzureRM" || provider == "azurebs" options["provider"] = provider options["account_name"] = p("#{scope}.azure_storage_account_name") options["container_name"] = p("#{scope}.container_name") @@ -33,7 +35,9 @@ if provider == "AzureRM" options = cli_cfg_with_default_timeout(options, 'storage_cli') end -if provider == "Google" +# Support both native storage-cli types (gcs) AND legacy fog names (Google) +# Legacy fog name support to be REMOVED May 2026 +if provider == "Google" || provider == "gcs" options["provider"] = provider options["credentials_source"] = "static" options["json_key"] = p("#{scope}.google_json_key_string") @@ -42,7 +46,9 @@ if provider == "Google" add_optional(options, "encryption_key", p("#{scope}.encryption_key", nil)) end -if provider == "AWS" +# Support both native storage-cli types (s3) AND legacy fog names (AWS) +# Legacy fog name support to be REMOVED May 2026 +if provider == "AWS" || provider == "s3" options["provider"] = provider options["access_key_id"] = p("#{scope}.aws_access_key_id") options["secret_access_key"] = p("#{scope}.aws_secret_access_key") @@ -69,7 +75,9 @@ if provider == "AWS" add_optional(options, "multipart_copy_part_size", p("#{scope}.multipart_copy_part_size", nil)) end -if provider == "aliyun" +# Support both native storage-cli types (alioss) AND legacy fog names (aliyun) +# Legacy fog name support to be REMOVED May 2026 +if provider == "aliyun" || provider == "alioss" options["provider"] = provider options["access_key_id"] = p("#{scope}.aliyun_accesskey_id") options["access_key_secret"] = p("#{scope}.aliyun_accesskey_secret") @@ -77,7 +85,8 @@ if provider == "aliyun" options["bucket_name"] = p("#{scope}.aliyun_oss_bucket") end -if provider == "webdav" +# WebDAV/dav support intentionally excluded (not fully implemented) +if provider == "webdav" || provider == "dav" options["provider"] = provider options["user"] = p("#{scope}.username") options["password"] = p("#{scope}.password") diff --git a/jobs/cloud_controller_worker/templates/storage_cli_config_droplets.json.erb b/jobs/cloud_controller_worker/templates/storage_cli_config_droplets.json.erb index c88b5eb910..53d4c157cf 100644 --- a/jobs/cloud_controller_worker/templates/storage_cli_config_droplets.json.erb +++ b/jobs/cloud_controller_worker/templates/storage_cli_config_droplets.json.erb @@ -23,7 +23,9 @@ scope = "cc.droplets.connection_config" provider = p("cc.droplets.blobstore_provider", nil) options = {} -if provider == "AzureRM" +# Support both native storage-cli types (azurebs) AND legacy fog names (AzureRM) +# Legacy fog name support to be REMOVED May 2026 +if provider == "AzureRM" || provider == "azurebs" options["provider"] = provider options["account_name"] = p("#{scope}.azure_storage_account_name") options["container_name"] = p("#{scope}.container_name") @@ -33,7 +35,9 @@ if provider == "AzureRM" options = cli_cfg_with_default_timeout(options, 'storage_cli') end -if provider == "Google" +# Support both native storage-cli types (gcs) AND legacy fog names (Google) +# Legacy fog name support to be REMOVED May 2026 +if provider == "Google" || provider == "gcs" options["provider"] = provider options["credentials_source"] = "static" options["json_key"] = p("#{scope}.google_json_key_string") @@ -42,7 +46,9 @@ if provider == "Google" add_optional(options, "encryption_key", p("#{scope}.encryption_key", nil)) end -if provider == "AWS" +# Support both native storage-cli types (s3) AND legacy fog names (AWS) +# Legacy fog name support to be REMOVED May 2026 +if provider == "AWS" || provider == "s3" options["provider"] = provider options["access_key_id"] = p("#{scope}.aws_access_key_id") options["secret_access_key"] = p("#{scope}.aws_secret_access_key") @@ -69,7 +75,9 @@ if provider == "AWS" add_optional(options, "multipart_copy_part_size", p("#{scope}.multipart_copy_part_size", nil)) end -if provider == "aliyun" +# Support both native storage-cli types (alioss) AND legacy fog names (aliyun) +# Legacy fog name support to be REMOVED May 2026 +if provider == "aliyun" || provider == "alioss" options["provider"] = provider options["access_key_id"] = p("#{scope}.aliyun_accesskey_id") options["access_key_secret"] = p("#{scope}.aliyun_accesskey_secret") @@ -77,7 +85,8 @@ if provider == "aliyun" options["bucket_name"] = p("#{scope}.aliyun_oss_bucket") end -if provider == "webdav" +# WebDAV/dav support intentionally excluded (not fully implemented) +if provider == "webdav" || provider == "dav" options["provider"] = provider options["user"] = p("#{scope}.username") options["password"] = p("#{scope}.password") diff --git a/jobs/cloud_controller_worker/templates/storage_cli_config_packages.json.erb b/jobs/cloud_controller_worker/templates/storage_cli_config_packages.json.erb index 8652a626c4..dd7f0090bc 100644 --- a/jobs/cloud_controller_worker/templates/storage_cli_config_packages.json.erb +++ b/jobs/cloud_controller_worker/templates/storage_cli_config_packages.json.erb @@ -23,7 +23,9 @@ scope = "cc.packages.connection_config" provider = p("cc.packages.blobstore_provider", nil) options = {} -if provider == "AzureRM" +# Support both native storage-cli types (azurebs) AND legacy fog names (AzureRM) +# Legacy fog name support to be REMOVED May 2026 +if provider == "AzureRM" || provider == "azurebs" options["provider"] = provider options["account_name"] = p("#{scope}.azure_storage_account_name") options["container_name"] = p("#{scope}.container_name") @@ -33,7 +35,9 @@ if provider == "AzureRM" options = cli_cfg_with_default_timeout(options, 'storage_cli') end -if provider == "Google" +# Support both native storage-cli types (gcs) AND legacy fog names (Google) +# Legacy fog name support to be REMOVED May 2026 +if provider == "Google" || provider == "gcs" options["provider"] = provider options["credentials_source"] = "static" options["json_key"] = p("#{scope}.google_json_key_string") @@ -42,7 +46,9 @@ if provider == "Google" add_optional(options, "encryption_key", p("#{scope}.encryption_key", nil)) end -if provider == "AWS" +# Support both native storage-cli types (s3) AND legacy fog names (AWS) +# Legacy fog name support to be REMOVED May 2026 +if provider == "AWS" || provider == "s3" options["provider"] = provider options["access_key_id"] = p("#{scope}.aws_access_key_id") options["secret_access_key"] = p("#{scope}.aws_secret_access_key") @@ -69,7 +75,9 @@ if provider == "AWS" add_optional(options, "multipart_copy_part_size", p("#{scope}.multipart_copy_part_size", nil)) end -if provider == "aliyun" +# Support both native storage-cli types (alioss) AND legacy fog names (aliyun) +# Legacy fog name support to be REMOVED May 2026 +if provider == "aliyun" || provider == "alioss" options["provider"] = provider options["access_key_id"] = p("#{scope}.aliyun_accesskey_id") options["access_key_secret"] = p("#{scope}.aliyun_accesskey_secret") @@ -77,7 +85,8 @@ if provider == "aliyun" options["bucket_name"] = p("#{scope}.aliyun_oss_bucket") end -if provider == "webdav" +# WebDAV/dav support intentionally excluded (not fully implemented) +if provider == "webdav" || provider == "dav" options["provider"] = provider options["user"] = p("#{scope}.username") options["password"] = p("#{scope}.password") diff --git a/jobs/cloud_controller_worker/templates/storage_cli_config_resource_pool.json.erb b/jobs/cloud_controller_worker/templates/storage_cli_config_resource_pool.json.erb index 9109489cdb..0cb57ab8f6 100644 --- a/jobs/cloud_controller_worker/templates/storage_cli_config_resource_pool.json.erb +++ b/jobs/cloud_controller_worker/templates/storage_cli_config_resource_pool.json.erb @@ -23,7 +23,9 @@ scope = "cc.resource_pool.connection_config" provider = p("cc.resource_pool.blobstore_provider", nil) options = {} -if provider == "AzureRM" +# Support both native storage-cli types (azurebs) AND legacy fog names (AzureRM) +# Legacy fog name support to be REMOVED May 2026 +if provider == "AzureRM" || provider == "azurebs" options["provider"] = provider options["account_name"] = p("#{scope}.azure_storage_account_name") options["container_name"] = p("#{scope}.container_name") @@ -33,7 +35,9 @@ if provider == "AzureRM" options = cli_cfg_with_default_timeout(options, 'storage_cli') end -if provider == "Google" +# Support both native storage-cli types (gcs) AND legacy fog names (Google) +# Legacy fog name support to be REMOVED May 2026 +if provider == "Google" || provider == "gcs" options["provider"] = provider options["credentials_source"] = "static" options["json_key"] = p("#{scope}.google_json_key_string") @@ -42,7 +46,9 @@ if provider == "Google" add_optional(options, "encryption_key", p("#{scope}.encryption_key", nil)) end -if provider == "AWS" +# Support both native storage-cli types (s3) AND legacy fog names (AWS) +# Legacy fog name support to be REMOVED May 2026 +if provider == "AWS" || provider == "s3" options["provider"] = provider options["access_key_id"] = p("#{scope}.aws_access_key_id") options["secret_access_key"] = p("#{scope}.aws_secret_access_key") @@ -69,7 +75,9 @@ if provider == "AWS" add_optional(options, "multipart_copy_part_size", p("#{scope}.multipart_copy_part_size", nil)) end -if provider == "aliyun" +# Support both native storage-cli types (alioss) AND legacy fog names (aliyun) +# Legacy fog name support to be REMOVED May 2026 +if provider == "aliyun" || provider == "alioss" options["provider"] = provider options["access_key_id"] = p("#{scope}.aliyun_accesskey_id") options["access_key_secret"] = p("#{scope}.aliyun_accesskey_secret") @@ -77,7 +85,8 @@ if provider == "aliyun" options["bucket_name"] = p("#{scope}.aliyun_oss_bucket") end -if provider == "webdav" +# WebDAV/dav support intentionally excluded (not fully implemented) +if provider == "webdav" || provider == "dav" options["provider"] = provider options["user"] = p("#{scope}.username") options["password"] = p("#{scope}.password")