diff --git a/jobs/blobstore_benchmark/spec b/jobs/blobstore_benchmark/spec index 600627cd1f..0a6218f3ef 100644 --- a/jobs/blobstore_benchmark/spec +++ b/jobs/blobstore_benchmark/spec @@ -34,7 +34,7 @@ consumes: properties: blobstore_benchmark.mode: - description: "Which blobstore backend to benchmark ('storage-cli' or 'fog')." + description: "Which blobstore backend to benchmark ('storage-cli')." default: "storage-cli" blobstore_benchmark.cc_overrides: diff --git a/jobs/blobstore_benchmark/templates/cloud_controller_ng.yml.erb b/jobs/blobstore_benchmark/templates/cloud_controller_ng.yml.erb index ad0dbaad47..3beb3c2ea9 100644 --- a/jobs/blobstore_benchmark/templates/cloud_controller_ng.yml.erb +++ b/jobs/blobstore_benchmark/templates/cloud_controller_ng.yml.erb @@ -60,7 +60,7 @@ section = cc_cfg[k] next unless section.is_a?(Hash) - %w[fog_connection connection_config fog_aws_storage_options fog_gcp_storage_options webdav_config].each do |hk| + %w[connection_config webdav_config].each do |hk| section[hk] = {} if section.key?(hk) && section[hk].nil? end 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 5cd96c92cf..5478b5a47a 100644 --- a/jobs/blobstore_benchmark/templates/storage_cli_config_buildpacks.json.erb +++ b/jobs/blobstore_benchmark/templates/storage_cli_config_buildpacks.json.erb @@ -44,9 +44,7 @@ if provider == "gcs" add_optional(options, "encryption_key", l.p("#{scope}.encryption_key", nil)) end -# 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" +if provider == "s3" options["provider"] = provider options["bucket_name"] = l.p("#{scope}.bucket_name") if l.p("#{scope}.use_iam_profile", false) @@ -89,9 +87,8 @@ if provider == "alioss" options["bucket_name"] = l.p("#{scope}.aliyun_oss_bucket") end -# Support both native storage-cli types (dav) AND legacy fog names (webdav) -# Legacy fog name support to be REMOVED May 2026 -if provider == "webdav" || provider == "dav" + +if provider == "dav" options["provider"] = "dav" 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 816f6685be..69d70c40f8 100644 --- a/jobs/blobstore_benchmark/templates/storage_cli_config_droplets.json.erb +++ b/jobs/blobstore_benchmark/templates/storage_cli_config_droplets.json.erb @@ -44,9 +44,7 @@ if provider == "gcs" add_optional(options, "encryption_key", l.p("#{scope}.encryption_key", nil)) end -# 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" +if provider == "s3" options["provider"] = provider options["bucket_name"] = l.p("#{scope}.bucket_name") if l.p("#{scope}.use_iam_profile", false) @@ -89,9 +87,8 @@ if provider == "alioss" options["bucket_name"] = l.p("#{scope}.aliyun_oss_bucket") end -# Support both native storage-cli types (dav) AND legacy fog names (webdav) -# Legacy fog name support to be REMOVED May 2026 -if provider == "webdav" || provider == "dav" + +if provider == "dav" options["provider"] = "dav" 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 3ad49c2384..4208fffd2f 100644 --- a/jobs/blobstore_benchmark/templates/storage_cli_config_packages.json.erb +++ b/jobs/blobstore_benchmark/templates/storage_cli_config_packages.json.erb @@ -44,9 +44,7 @@ if provider == "gcs" add_optional(options, "encryption_key", l.p("#{scope}.encryption_key", nil)) end -# 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" +if provider == "s3" options["provider"] = provider options["bucket_name"] = l.p("#{scope}.bucket_name") if l.p("#{scope}.use_iam_profile", false) @@ -89,9 +87,8 @@ if provider == "alioss" options["bucket_name"] = l.p("#{scope}.aliyun_oss_bucket") end -# Support both native storage-cli types (dav) AND legacy fog names (webdav) -# Legacy fog name support to be REMOVED May 2026 -if provider == "webdav" || provider == "dav" + +if provider == "dav" options["provider"] = "dav" 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 ad6180c038..1fa2c8549c 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 @@ -44,9 +44,7 @@ if provider == "gcs" add_optional(options, "encryption_key", l.p("#{scope}.encryption_key", nil)) end -# 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" +if provider == "s3" options["provider"] = provider options["bucket_name"] = l.p("#{scope}.bucket_name") if l.p("#{scope}.use_iam_profile", false) @@ -89,9 +87,8 @@ if provider == "alioss" options["bucket_name"] = l.p("#{scope}.aliyun_oss_bucket") end -# Support both native storage-cli types (dav) AND legacy fog names (webdav) -# Legacy fog name support to be REMOVED May 2026 -if provider == "webdav" || provider == "dav" + +if provider == "dav" options["provider"] = "dav" options["user"] = l.p("#{scope}.username") options["password"] = l.p("#{scope}.password") diff --git a/jobs/cc_deployment_updater/templates/cloud_controller_ng.yml.erb b/jobs/cc_deployment_updater/templates/cloud_controller_ng.yml.erb index 5e33e8a692..96ef2c4d15 100644 --- a/jobs/cc_deployment_updater/templates/cloud_controller_ng.yml.erb +++ b/jobs/cc_deployment_updater/templates/cloud_controller_ng.yml.erb @@ -195,15 +195,6 @@ resource_pool: blobstore_provider: <%= rp_provider %> <% end %> connection_config: <%= link("cloud_controller_internal").p("cc.resource_pool.connection_config", {}).to_json %> - <% link("cloud_controller_internal").if_p("cc.resource_pool.cdn") do %> - cdn: - uri: <%= link("cloud_controller_internal").p("cc.resource_pool.cdn.uri") %> - key_pair_id: <%= link("cloud_controller_internal").p("cc.resource_pool.cdn.key_pair_id") %> - private_key: <%= link("cloud_controller_internal").p("cc.resource_pool.cdn.private_key").inspect %> - <% end %> - fog_connection: <%= link("cloud_controller_internal").p("cc.resource_pool.fog_connection", {}).to_json %> - fog_aws_storage_options: <%= link("cloud_controller_internal").p("cc.resource_pool.fog_aws_storage_options", {}).to_json %> - fog_gcp_storage_options: <%= link("cloud_controller_internal").p("cc.resource_pool.fog_gcp_storage_options", {}).to_json %> packages: blobstore_type: <%= link("cloud_controller_internal").p("cc.packages.blobstore_type") %> @@ -222,15 +213,6 @@ packages: <% end %> connection_config: <%= link("cloud_controller_internal").p("cc.packages.connection_config", {}).to_json %> max_package_size: <%= link("cloud_controller_internal").p("cc.packages.max_package_size") %> - <% link("cloud_controller_internal").if_p("cc.packages.cdn") do %> - cdn: - uri: <%= link("cloud_controller_internal").p("cc.packages.cdn.uri") %> - key_pair_id: <%= link("cloud_controller_internal").p("cc.packages.cdn.key_pair_id") %> - private_key: <%= link("cloud_controller_internal").p("cc.packages.cdn.private_key").inspect %> - <% end %> - fog_connection: <%= link("cloud_controller_internal").p("cc.packages.fog_connection", {}).to_json %> - fog_aws_storage_options: <%= link("cloud_controller_internal").p("cc.packages.fog_aws_storage_options", {}).to_json %> - fog_gcp_storage_options: <%= link("cloud_controller_internal").p("cc.packages.fog_gcp_storage_options", {}).to_json %> droplets: @@ -249,15 +231,6 @@ droplets: blobstore_provider: <%= dp_provider %> <% end %> connection_config: <%= link("cloud_controller_internal").p("cc.droplets.connection_config", {}).to_json %> - <% link("cloud_controller_internal").if_p("cc.droplets.cdn") do %> - cdn: - uri: <%= link("cloud_controller_internal").p("cc.droplets.cdn.uri") %> - key_pair_id: <%= link("cloud_controller_internal").p("cc.droplets.cdn.key_pair_id") %> - private_key: <%= link("cloud_controller_internal").p("cc.droplets.cdn.private_key").inspect %> - <% end %> - fog_connection: <%= link("cloud_controller_internal").p("cc.droplets.fog_connection", {}).to_json %> - fog_aws_storage_options: <%= link("cloud_controller_internal").p("cc.droplets.fog_aws_storage_options", {}).to_json %> - fog_gcp_storage_options: <%= link("cloud_controller_internal").p("cc.droplets.fog_gcp_storage_options", {}).to_json %> buildpacks: blobstore_type: <%= link("cloud_controller_internal").p("cc.buildpacks.blobstore_type") %> @@ -275,15 +248,6 @@ buildpacks: blobstore_provider: <%= bp_provider %> <% end %> connection_config: <%= link("cloud_controller_internal").p("cc.buildpacks.connection_config", {}).to_json %> - <% link("cloud_controller_internal").if_p("cc.buildpacks.cdn") do %> - cdn: - uri: <%= link("cloud_controller_internal").p("cc.buildpacks.cdn.uri") %> - key_pair_id: <%= link("cloud_controller_internal").p("cc.buildpacks.cdn.key_pair_id") %> - private_key: <%= link("cloud_controller_internal").p("cc.buildpacks.cdn.private_key").inspect %> - <% end %> - fog_connection: <%= link("cloud_controller_internal").p("cc.buildpacks.fog_connection", {}).to_json %> - fog_aws_storage_options: <%= link("cloud_controller_internal").p("cc.buildpacks.fog_aws_storage_options", {}).to_json %> - fog_gcp_storage_options: <%= link("cloud_controller_internal").p("cc.buildpacks.fog_gcp_storage_options", {}).to_json %> skip_cert_verify: <%= link("cloud_controller_internal").p("ssl.skip_cert_verify") %> 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 b167331b9e..afdf3a07a5 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 @@ -44,9 +44,7 @@ if provider == "gcs" add_optional(options, "encryption_key", l.p("#{scope}.encryption_key", nil)) end -# 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" +if provider == "s3" options["provider"] = provider options["bucket_name"] = l.p("#{scope}.bucket_name") if l.p("#{scope}.use_iam_profile", false) @@ -89,9 +87,8 @@ if provider == "alioss" options["bucket_name"] = l.p("#{scope}.aliyun_oss_bucket") end -# Support both native storage-cli types (dav) AND legacy fog names (webdav) -# Legacy fog name support to be REMOVED May 2026 -if provider == "webdav" || provider == "dav" + +if provider == "dav" options["provider"] = "dav" 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 1bc2536e62..d4ee28965a 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 @@ -44,9 +44,7 @@ if provider == "gcs" add_optional(options, "encryption_key", l.p("#{scope}.encryption_key", nil)) end -# 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" +if provider == "s3" options["provider"] = provider options["bucket_name"] = l.p("#{scope}.bucket_name") if l.p("#{scope}.use_iam_profile", false) @@ -89,9 +87,8 @@ if provider == "alioss" options["bucket_name"] = l.p("#{scope}.aliyun_oss_bucket") end -# Support both native storage-cli types (dav) AND legacy fog names (webdav) -# Legacy fog name support to be REMOVED May 2026 -if provider == "webdav" || provider == "dav" + +if provider == "dav" options["provider"] = "dav" 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 3ad49c2384..4208fffd2f 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 @@ -44,9 +44,7 @@ if provider == "gcs" add_optional(options, "encryption_key", l.p("#{scope}.encryption_key", nil)) end -# 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" +if provider == "s3" options["provider"] = provider options["bucket_name"] = l.p("#{scope}.bucket_name") if l.p("#{scope}.use_iam_profile", false) @@ -89,9 +87,8 @@ if provider == "alioss" options["bucket_name"] = l.p("#{scope}.aliyun_oss_bucket") end -# Support both native storage-cli types (dav) AND legacy fog names (webdav) -# Legacy fog name support to be REMOVED May 2026 -if provider == "webdav" || provider == "dav" + +if provider == "dav" options["provider"] = "dav" 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 3ea91352c3..f43306b978 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 @@ -44,9 +44,7 @@ if provider == "gcs" add_optional(options, "encryption_key", l.p("#{scope}.encryption_key", nil)) end -# 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" +if provider == "s3" options["provider"] = provider options["bucket_name"] = l.p("#{scope}.bucket_name") if l.p("#{scope}.use_iam_profile", false) @@ -89,9 +87,8 @@ if provider == "alioss" options["bucket_name"] = l.p("#{scope}.aliyun_oss_bucket") end -# Support both native storage-cli types (dav) AND legacy fog names (webdav) -# Legacy fog name support to be REMOVED May 2026 -if provider == "webdav" || provider == "dav" + +if provider == "dav" options["provider"] = "dav" 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 b26b5cc1fb..3c878d7d23 100644 --- a/jobs/cloud_controller_clock/spec +++ b/jobs/cloud_controller_clock/spec @@ -193,17 +193,13 @@ properties: description: "Storage Cli extra flags string" cc.resource_pool.blobstore_provider: - description: "The provider of blobstore storage cli to use. Valid values: ['azurebs', 's3', 'alioss', 'gcs', 'dav'] (native) or ['AWS'] (legacy, to be removed May 2026). Note: 'AzureRM' is no longer a valid provider, use 'azurebs' instead." + description: "The provider of blobstore storage cli to use. Required when blobstore_type is 'storage-cli'. Valid values: ['azurebs', 's3', 'alioss', 'gcs', 'dav'] (native). Note: 'AzureRM' is no longer a valid provider, use 'azurebs' instead." default: ~ cc.resource_pool.connection_config: description: "Storage CLI connection configuration" cc.resource_pool.blobstore_type: - description: "The type of blobstore backing to use. Valid values: ['fog', 'webdav', 'storage-cli']" - default: "fog" - cc.resource_pool.fog_aws_storage_options: - description: "Storage options passed to fog for aws blobstores. Valid keys: ['encryption']." - cc.resource_pool.fog_gcp_storage_options: - description: "Storage options passed to fog for gcp blobstores" + description: "The type of blobstore backing to use. Valid values: ['webdav', 'storage-cli']" + default: "storage-cli" cc.resource_pool.webdav_config.blobstore_timeout: description: "The timeout in seconds for requests to the blobstore" default: 5 @@ -231,30 +227,15 @@ properties: cc.resource_pool.resource_directory_key: description: "Directory (bucket) used store app resources. It does not have be pre-created." default: "cc-resources" - cc.resource_pool.fog_connection: - description: "Fog connection hash" - cc.resource_pool.cdn.uri: - description: "URI for a CDN to used for resource pool downloads" - default: "" - cc.resource_pool.cdn.private_key: - description: "Private key for signing download URIs" - default: "" - cc.resource_pool.cdn.key_pair_id: - description: "Key pair name for signed download URIs" - default: "" cc.packages.blobstore_provider: - description: "The provider of blobstore storage cli to use. Valid values: ['azurebs', 's3', 'alioss', 'gcs', 'dav'] (native) or ['AWS'] (legacy, to be removed May 2026). Note: 'AzureRM' is no longer a valid provider, use 'azurebs' instead." + description: "The provider of blobstore storage cli to use. Required when blobstore_type is 'storage-cli'. Valid values: ['azurebs', 's3', 'alioss', 'gcs', 'dav'] (native). Note: 'AzureRM' is no longer a valid provider, use 'azurebs' instead." default: ~ cc.packages.connection_config: description: "Storage CLI connection configuration" cc.packages.blobstore_type: - description: "The type of blobstore backing to use. Valid values: ['fog', 'webdav', 'storage-cli']" - default: "fog" - cc.packages.fog_aws_storage_options: - description: "Storage options passed to fog for aws blobstores. Valid keys: ['encryption']." - cc.packages.fog_gcp_storage_options: - description: "Storage options passed to fog for gcp blobstores" + description: "The type of blobstore backing to use. Valid values: ['webdav', 'storage-cli']" + default: "storage-cli" cc.packages.webdav_config.blobstore_timeout: description: "The timeout in seconds for requests to the blobstore" default: 5 @@ -279,30 +260,15 @@ properties: cc.packages.max_package_size: description: "Maximum size of application package" default: 1073741824 - cc.packages.fog_connection: - description: "Fog connection hash" - cc.packages.cdn.uri: - description: "URI for a CDN to used for app package downloads" - default: "" - cc.packages.cdn.private_key: - description: "Private key for signing download URIs" - default: "" - cc.packages.cdn.key_pair_id: - description: "Key pair name for signed download URIs" - default: "" cc.droplets.blobstore_provider: - description: "The provider of blobstore storage cli to use. Valid values: ['azurebs', 's3', 'alioss', 'gcs', 'dav'] (native) or ['AWS'] (legacy, to be removed May 2026). Note: 'AzureRM' is no longer a valid provider, use 'azurebs' instead." + description: "The provider of blobstore storage cli to use. Required when blobstore_type is 'storage-cli'. Valid values: ['azurebs', 's3', 'alioss', 'gcs', 'dav'] (native). Note: 'AzureRM' is no longer a valid provider, use 'azurebs' instead." default: ~ cc.droplets.connection_config: description: "Storage CLI connection configuration" cc.droplets.blobstore_type: - description: "The type of blobstore backing to use. Valid values: ['fog', 'webdav', 'storage-cli']" - default: "fog" - cc.droplets.fog_aws_storage_options: - description: "Storage options passed to fog for aws blobstores. Valid keys: ['encryption']." - cc.droplets.fog_gcp_storage_options: - description: "Storage options passed to fog for gcp blobstores" + description: "The type of blobstore backing to use. Valid values: ['webdav', 'storage-cli']" + default: "storage-cli" cc.droplets.webdav_config.blobstore_timeout: description: "The timeout in seconds for requests to the blobstore" default: 5 @@ -324,30 +290,15 @@ properties: cc.droplets.droplet_directory_key: description: "Directory (bucket) used store droplets. It does not have be pre-created." default: "cc-droplets" - cc.droplets.fog_connection: - description: "Fog connection hash" - cc.droplets.cdn.uri: - description: "URI for a CDN to used for droplet downloads" - default: "" - cc.droplets.cdn.private_key: - description: "Private key for signing download URIs" - default: "" - cc.droplets.cdn.key_pair_id: - description: "Key pair name for signed download URIs" - default: "" cc.buildpacks.blobstore_provider: - description: "The provider of blobstore storage cli to use. Valid values: ['azurebs', 's3', 'alioss', 'gcs', 'dav'] (native) or ['AWS'] (legacy, to be removed May 2026). Note: 'AzureRM' is no longer a valid provider, use 'azurebs' instead." + description: "The provider of blobstore storage cli to use. Required when blobstore_type is 'storage-cli'. Valid values: ['azurebs', 's3', 'alioss', 'gcs', 'dav'] (native). Note: 'AzureRM' is no longer a valid provider, use 'azurebs' instead." default: ~ cc.buildpacks.connection_config: description: "Storage CLI connection configuration" cc.buildpacks.blobstore_type: - description: "The type of blobstore backing to use. Valid values: ['fog', 'webdav', 'storage-cli']" - default: "fog" - cc.buildpacks.fog_aws_storage_options: - description: "Storage options passed to fog for aws blobstores. Valid keys: ['encryption']." - cc.buildpacks.fog_gcp_storage_options: - description: "Storage options passed to fog for gcp blobstores" + description: "The type of blobstore backing to use. Valid values: ['webdav', 'storage-cli']" + default: "storage-cli" cc.buildpacks.webdav_config.blobstore_timeout: description: "The timeout in seconds for requests to the blobstore" default: 5 @@ -369,17 +320,6 @@ properties: cc.buildpacks.buildpack_directory_key: description: "Directory (bucket) used store buildpacks. It does not have be pre-created." default: "cc-buildpacks" - cc.buildpacks.fog_connection: - description: "Fog connection hash" - cc.buildpacks.cdn.uri: - description: "URI for a CDN to used for buildpack downloads" - default: "" - cc.buildpacks.cdn.private_key: - description: "Private key for signing download URIs" - default: "" - cc.buildpacks.cdn.key_pair_id: - description: "Key pair name for signed download URIs" - default: "" ccdb.databases: description: "Contains the name of the database on the database server" diff --git a/jobs/cloud_controller_clock/templates/cloud_controller_ng.yml.erb b/jobs/cloud_controller_clock/templates/cloud_controller_ng.yml.erb index 68ee126fc3..ee7c2b8dba 100644 --- a/jobs/cloud_controller_clock/templates/cloud_controller_ng.yml.erb +++ b/jobs/cloud_controller_clock/templates/cloud_controller_ng.yml.erb @@ -215,15 +215,7 @@ resource_pool: minimum_size: <%= p("cc.resource_pool.minimum_size") %> maximum_size: <%= p("cc.resource_pool.maximum_size") %> resource_directory_key: <%= p("cc.resource_pool.resource_directory_key") %> - <% if_p("cc.resource_pool.cdn") do %> - cdn: - uri: <%= p("cc.resource_pool.cdn.uri") %> - key_pair_id: <%= p("cc.resource_pool.cdn.key_pair_id") %> - private_key: <%= p("cc.resource_pool.cdn.private_key").inspect %> - <% end %> - fog_connection: <%= p("cc.resource_pool.fog_connection", {}).to_json %> - fog_aws_storage_options: <%= p("cc.resource_pool.fog_aws_storage_options", {}).to_json %> - fog_gcp_storage_options: <%= p("cc.resource_pool.fog_gcp_storage_options", {}).to_json %> + packages: blobstore_type: <%= p("cc.packages.blobstore_type") %> @@ -238,15 +230,6 @@ packages: <% end %> app_package_directory_key: <%= p("cc.packages.app_package_directory_key") %> max_package_size: <%= p("cc.packages.max_package_size") %> - <% if_p("cc.packages.cdn") do %> - cdn: - uri: <%= p("cc.packages.cdn.uri") %> - key_pair_id: <%= p("cc.packages.cdn.key_pair_id") %> - private_key: <%= p("cc.packages.cdn.private_key").inspect %> - <% end %> - fog_connection: <%= p("cc.packages.fog_connection", {}).to_json %> - fog_aws_storage_options: <%= p("cc.packages.fog_aws_storage_options", {}).to_json %> - fog_gcp_storage_options: <%= p("cc.packages.fog_gcp_storage_options", {}).to_json %> droplets: blobstore_type: <%= p("cc.droplets.blobstore_type") %> @@ -260,15 +243,6 @@ droplets: ca_cert_path: "/var/vcap/jobs/cloud_controller_clock/config/certs/droplets_ca_cert.pem" <% end %> droplet_directory_key: <%= p("cc.droplets.droplet_directory_key") %> - <% if_p("cc.droplets.cdn") do %> - cdn: - uri: <%= p("cc.droplets.cdn.uri") %> - key_pair_id: <%= p("cc.droplets.cdn.key_pair_id") %> - private_key: <%= p("cc.droplets.cdn.private_key").inspect %> - <% end %> - fog_connection: <%= p("cc.droplets.fog_connection", {}).to_json %> - fog_aws_storage_options: <%= p("cc.droplets.fog_aws_storage_options", {}).to_json %> - fog_gcp_storage_options: <%= p("cc.droplets.fog_gcp_storage_options", {}).to_json %> buildpacks: blobstore_type: <%= p("cc.buildpacks.blobstore_type") %> @@ -282,15 +256,6 @@ buildpacks: ca_cert_path: "/var/vcap/jobs/cloud_controller_clock/config/certs/buildpacks_ca_cert.pem" <% end %> buildpack_directory_key: <%= p("cc.buildpacks.buildpack_directory_key") %> - <% if_p("cc.buildpacks.cdn") do %> - cdn: - uri: <%= p("cc.buildpacks.cdn.uri") %> - key_pair_id: <%= p("cc.buildpacks.cdn.key_pair_id") %> - private_key: <%= p("cc.buildpacks.cdn.private_key").inspect %> - <% end %> - fog_connection: <%= p("cc.buildpacks.fog_connection", {}).to_json %> - fog_aws_storage_options: <%= p("cc.buildpacks.fog_aws_storage_options", {}).to_json %> - fog_gcp_storage_options: <%= p("cc.buildpacks.fog_gcp_storage_options", {}).to_json %> db_encryption_key: <%= p("cc.db_encryption_key") %> 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 703dc629c9..75cf93c566 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 @@ -42,9 +42,7 @@ if provider == "gcs" add_optional(options, "encryption_key", p("#{scope}.encryption_key", nil)) end -# 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" +if provider == "s3" options["provider"] = provider options["bucket_name"] = p("#{scope}.bucket_name") if p("#{scope}.use_iam_profile", false) @@ -87,9 +85,8 @@ if provider == "alioss" options["bucket_name"] = p("#{scope}.aliyun_oss_bucket") end -# Support both native storage-cli types (dav) AND legacy fog names (webdav) -# Legacy fog name support to be REMOVED May 2026 -if provider == "webdav" || provider == "dav" + +if provider == "dav" options["provider"] = "dav" 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 53110a9194..7a9f52e63f 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 @@ -42,9 +42,7 @@ if provider == "gcs" add_optional(options, "encryption_key", p("#{scope}.encryption_key", nil)) end -# 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" +if provider == "s3" options["provider"] = provider options["bucket_name"] = p("#{scope}.bucket_name") if p("#{scope}.use_iam_profile", false) @@ -87,9 +85,8 @@ if provider == "alioss" options["bucket_name"] = p("#{scope}.aliyun_oss_bucket") end -# Support both native storage-cli types (dav) AND legacy fog names (webdav) -# Legacy fog name support to be REMOVED May 2026 -if provider == "webdav" || provider == "dav" + +if provider == "dav" options["provider"] = "dav" 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 026b05326e..8e5af19330 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 @@ -42,9 +42,7 @@ if provider == "gcs" add_optional(options, "encryption_key", p("#{scope}.encryption_key", nil)) end -# 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" +if provider == "s3" options["provider"] = provider options["bucket_name"] = p("#{scope}.bucket_name") if p("#{scope}.use_iam_profile", false) @@ -87,9 +85,8 @@ if provider == "alioss" options["bucket_name"] = p("#{scope}.aliyun_oss_bucket") end -# Support both native storage-cli types (dav) AND legacy fog names (webdav) -# Legacy fog name support to be REMOVED May 2026 -if provider == "webdav" || provider == "dav" + +if provider == "dav" options["provider"] = "dav" 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 e057526a5a..3ee5a48aca 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 @@ -42,9 +42,7 @@ if provider == "gcs" add_optional(options, "encryption_key", p("#{scope}.encryption_key", nil)) end -# 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" +if provider == "s3" options["provider"] = provider options["bucket_name"] = p("#{scope}.bucket_name") if p("#{scope}.use_iam_profile", false) @@ -87,9 +85,8 @@ if provider == "alioss" options["bucket_name"] = p("#{scope}.aliyun_oss_bucket") end -# Support both native storage-cli types (dav) AND legacy fog names (webdav) -# Legacy fog name support to be REMOVED May 2026 -if provider == "webdav" || provider == "dav" + +if provider == "dav" options["provider"] = "dav" 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 3bbbe54954..453023c605 100644 --- a/jobs/cloud_controller_ng/spec +++ b/jobs/cloud_controller_ng/spec @@ -22,7 +22,6 @@ templates: console.erb: bin/console drain.sh.erb: bin/drain droplets_ca_cert.pem.erb: config/certs/droplets_ca_cert.pem - local_blobstore_downloads.conf.erb: config/local_blobstore_downloads.conf logcache_tls.crt.erb: config/certs/logcache_tls.crt logcache_tls.key.erb: config/certs/logcache_tls.key logcache_tls_ca.crt.erb: config/certs/logcache_tls_ca.crt @@ -59,7 +58,6 @@ templates: storage_cli_config_packages.json.erb: config/storage_cli_config_packages.json storage_cli_config_buildpacks.json.erb: config/storage_cli_config_buildpacks.json storage_cli_config_resource_pool.json.erb: config/storage_cli_config_resource_pool.json - setup_local_blobstore.sh.erb: bin/setup_local_blobstore.sh stacks.yml.erb: config/stacks.yml uaa_ca.crt.erb: config/certs/uaa_ca.crt validate_encryption_keys.sh.erb: bin/validate_encryption_keys @@ -123,12 +121,6 @@ provides: - cc.buildpacks.blobstore_provider - cc.buildpacks.blobstore_type - cc.buildpacks.buildpack_directory_key - - cc.buildpacks.cdn.key_pair_id - - cc.buildpacks.cdn.private_key - - cc.buildpacks.cdn.uri - - cc.buildpacks.fog_aws_storage_options - - cc.buildpacks.fog_gcp_storage_options - - cc.buildpacks.fog_connection - cc.buildpacks.webdav_config.blobstore_timeout - cc.buildpacks.webdav_config.ca_cert - cc.buildpacks.webdav_config.password @@ -152,13 +144,7 @@ provides: - cc.max_route_options_size - cc.droplets.blobstore_provider - cc.droplets.blobstore_type - - cc.droplets.cdn.key_pair_id - - cc.droplets.cdn.private_key - - cc.droplets.cdn.uri - cc.droplets.droplet_directory_key - - cc.droplets.fog_aws_storage_options - - cc.droplets.fog_gcp_storage_options - - cc.droplets.fog_connection - cc.droplets.webdav_config.blobstore_timeout - cc.droplets.webdav_config.ca_cert - cc.droplets.webdav_config.password @@ -182,12 +168,6 @@ provides: - cc.packages.app_package_directory_key - cc.packages.blobstore_provider - cc.packages.blobstore_type - - cc.packages.cdn.key_pair_id - - cc.packages.cdn.private_key - - cc.packages.cdn.uri - - cc.packages.fog_aws_storage_options - - cc.packages.fog_gcp_storage_options - - cc.packages.fog_connection - cc.packages.max_package_size - cc.packages.max_valid_packages_stored - cc.packages.webdav_config.blobstore_timeout @@ -198,12 +178,6 @@ provides: - cc.packages.webdav_config.username - cc.resource_pool.blobstore_provider - cc.resource_pool.blobstore_type - - cc.resource_pool.cdn.key_pair_id - - cc.resource_pool.cdn.private_key - - cc.resource_pool.cdn.uri - - cc.resource_pool.fog_aws_storage_options - - cc.resource_pool.fog_gcp_storage_options - - cc.resource_pool.fog_connection - cc.resource_pool.maximum_size - cc.resource_pool.minimum_size - cc.resource_pool.resource_directory_key @@ -470,9 +444,6 @@ properties: cc.db_logging_level: default: "debug2" description: "Level at which cc database operations will be logged if cc.log_db_queries is set to true." - cc.log_fog_requests: - default: false - description: "Log fog requests and responses." cc.staging_timeout_in_seconds: default: 900 @@ -532,19 +503,13 @@ properties: description: "Storage Cli extra flags string" cc.resource_pool.blobstore_provider: - description: "The provider of blobstore storage cli to use. Valid values: ['azurebs', 's3', 'alioss', 'gcs', 'dav'] (native) or ['AWS'] (legacy, to be removed May 2026). Note: 'AzureRM' is no longer a valid provider, use 'azurebs' instead." + description: "The provider of blobstore storage cli to use. Required when blobstore_type is 'storage-cli'. Valid values: ['azurebs', 's3', 'alioss', 'gcs', 'dav'] (native). Note: 'AzureRM' is no longer a valid provider, use 'azurebs' instead." default: ~ cc.resource_pool.connection_config: description: "Storage CLI connection configuration" cc.resource_pool.blobstore_type: - description: "The type of blobstore backing to use. Valid values: ['fog', 'webdav', 'storage-cli']" - default: "fog" - cc.resource_pool.fog_aws_storage_options: - description: "Storage options passed to fog for aws blobstores. See http://docs.cloudfoundry.org/deploying/common/cc-blobstore-config.html#fog-aws-sse for example configuration." - default: {} - cc.resource_pool.fog_gcp_storage_options: - description: "Storage options passed to fog for gcp blobstores" - default: {} + description: "The type of blobstore backing to use. Valid values: ['webdav', 'storage-cli']" + default: "storage-cli" cc.resource_pool.webdav_config.blobstore_timeout: description: "The timeout in seconds for requests to the blobstore" default: 5 @@ -572,32 +537,15 @@ properties: cc.resource_pool.resource_directory_key: description: "Directory (bucket) used store app resources. It does not have be pre-created." default: "cc-resources" - cc.resource_pool.fog_connection: - description: "Fog connection hash" - cc.resource_pool.cdn.uri: - description: "URI for a CDN to used for resource pool downloads" - default: "" - cc.resource_pool.cdn.private_key: - description: "Private key for signing download URIs" - default: "" - cc.resource_pool.cdn.key_pair_id: - description: "Key pair name for signed download URIs" - default: "" cc.packages.blobstore_provider: - description: "The provider of blobstore storage cli to use. Valid values: ['azurebs', 's3', 'alioss', 'gcs', 'dav'] (native) or ['AWS'] (legacy, to be removed May 2026). Note: 'AzureRM' is no longer a valid provider, use 'azurebs' instead." + description: "The provider of blobstore storage cli to use. Required when blobstore_type is 'storage-cli'. Valid values: ['azurebs', 's3', 'alioss', 'gcs', 'dav'] (native). Note: 'AzureRM' is no longer a valid provider, use 'azurebs' instead." default: ~ cc.packages.connection_config: description: "Storage CLI connection configuration" cc.packages.blobstore_type: - description: "The type of blobstore backing to use. Valid values: ['fog', 'webdav', 'storage-cli']" - default: "fog" - cc.packages.fog_aws_storage_options: - description: "Storage options passed to fog for aws blobstores. See http://docs.cloudfoundry.org/deploying/common/cc-blobstore-config.html#fog-aws-sse for example configuration." - default: {} - cc.packages.fog_gcp_storage_options: - description: "Storage options passed to fog for gcp blobstores" - default: {} + description: "The type of blobstore backing to use. Valid values: ['webdav', 'storage-cli']" + default: "storage-cli" cc.packages.webdav_config.blobstore_timeout: description: "The timeout in seconds for requests to the blobstore" default: 5 @@ -625,32 +573,15 @@ properties: cc.packages.max_valid_packages_stored: description: "Number of recent, valid packages stored per app (not including package for current droplet)" default: 5 - cc.packages.fog_connection: - description: "Fog connection hash" - cc.packages.cdn.uri: - description: "URI for a CDN to used for app package downloads" - default: "" - cc.packages.cdn.private_key: - description: "Private key for signing download URIs" - default: "" - cc.packages.cdn.key_pair_id: - description: "Key pair name for signed download URIs" - default: "" cc.droplets.blobstore_provider: - description: "The provider of blobstore storage cli to use. Valid values: ['azurebs', 's3', 'alioss', 'gcs', 'dav'] (native) or ['AWS'] (legacy, to be removed May 2026). Note: 'AzureRM' is no longer a valid provider, use 'azurebs' instead." + description: "The provider of blobstore storage cli to use. Required when blobstore_type is 'storage-cli'. Valid values: ['azurebs', 's3', 'alioss', 'gcs', 'dav'] (native). Note: 'AzureRM' is no longer a valid provider, use 'azurebs' instead." default: ~ cc.droplets.connection_config: description: "Storage CLI connection configuration" cc.droplets.blobstore_type: - description: "The type of blobstore backing to use. Valid values: ['fog', 'webdav', 'storage-cli']" - default: "fog" - cc.droplets.fog_aws_storage_options: - description: "Storage options passed to fog for aws blobstores. See http://docs.cloudfoundry.org/deploying/common/cc-blobstore-config.html#fog-aws-sse for example configuration." - default: {} - cc.droplets.fog_gcp_storage_options: - description: "Storage options passed to fog for gcp blobstores" - default: {} + description: "The type of blobstore backing to use. Valid values: ['webdav', 'storage-cli']" + default: "storage-cli" cc.droplets.webdav_config.blobstore_timeout: description: "The timeout in seconds for requests to the blobstore" default: 5 @@ -675,32 +606,15 @@ properties: cc.droplets.max_staged_droplets_stored: description: "Number of recent, staged droplets stored per app (not including current droplet)" default: 5 - cc.droplets.fog_connection: - description: "Fog connection hash" - cc.droplets.cdn.uri: - description: "URI for a CDN to used for droplet downloads" - default: "" - cc.droplets.cdn.private_key: - description: "Private key for signing download URIs" - default: "" - cc.droplets.cdn.key_pair_id: - description: "Key pair name for signed download URIs" - default: "" cc.buildpacks.blobstore_provider: - description: "The provider of blobstore storage cli to use. Valid values: ['azurebs', 's3', 'alioss', 'gcs', 'dav'] (native) or ['AWS'] (legacy, to be removed May 2026). Note: 'AzureRM' is no longer a valid provider, use 'azurebs' instead." + description: "The provider of blobstore storage cli to use. Required when blobstore_type is 'storage-cli'. Valid values: ['azurebs', 's3', 'alioss', 'gcs', 'dav'] (native). Note: 'AzureRM' is no longer a valid provider, use 'azurebs' instead." default: ~ cc.buildpacks.connection_config: description: "Storage CLI connection configuration" cc.buildpacks.blobstore_type: - description: "The type of blobstore backing to use. Valid values: ['fog', 'webdav', 'storage-cli']" - default: "fog" - cc.buildpacks.fog_aws_storage_options: - description: "Storage options passed to fog for aws blobstores. See http://docs.cloudfoundry.org/deploying/common/cc-blobstore-config.html#fog-aws-sse for example configuration." - default: {} - cc.buildpacks.fog_gcp_storage_options: - description: "Storage options passed to fog for gcp blobstores" - default: {} + description: "The type of blobstore backing to use. Valid values: ['webdav', 'storage-cli']" + default: "storage-cli" cc.buildpacks.webdav_config.blobstore_timeout: description: "The timeout in seconds for requests to the blobstore" default: 5 @@ -722,17 +636,6 @@ properties: cc.buildpacks.buildpack_directory_key: description: "Directory (bucket) used store buildpacks. It does not have be pre-created. Should contain only alphanumeric characters, '-', '_', and '.'" default: "cc-buildpacks" - cc.buildpacks.fog_connection: - description: "Fog connection hash" - cc.buildpacks.cdn.uri: - description: "URI for a CDN to used for buildpack downloads" - default: "" - cc.buildpacks.cdn.private_key: - description: "Private key for signing download URIs" - default: "" - cc.buildpacks.cdn.key_pair_id: - description: "Key pair name for signed download URIs" - default: "" ccdb.databases: description: "Contains the name of the database on the database server" diff --git a/jobs/cloud_controller_ng/templates/bpm.yml.erb b/jobs/cloud_controller_ng/templates/bpm.yml.erb index 24d2aa3de3..8bb2fb3dcb 100644 --- a/jobs/cloud_controller_ng/templates/bpm.yml.erb +++ b/jobs/cloud_controller_ng/templates/bpm.yml.erb @@ -20,13 +20,6 @@ def mount_valkey_volume!(config) } end -def enable_fog_debugging!(config) - if p("cc.log_fog_requests") - config["env"]["DEBUG"] = true - config["env"]["FOG_DEBUG"] = true - end -end - cloud_controller_ng_config = { "name" => "cloud_controller_ng", "executable" => "/var/vcap/jobs/cloud_controller_ng/bin/cloud_controller_ng", @@ -49,7 +42,6 @@ if !!properties.cc.newrelic.license_key || p("cc.development_mode") cloud_controller_ng_config["env"]["NEWRELIC_ENABLE"] = true end -enable_fog_debugging!(cloud_controller_ng_config) if properties.env if properties.env.http_proxy @@ -127,7 +119,6 @@ config = { local_worker_config["env"]["NEWRELIC_ENABLE"] = true end - enable_fog_debugging!(local_worker_config) config["processes"] << local_worker_config end diff --git a/jobs/cloud_controller_ng/templates/cloud_controller_ng.yml.erb b/jobs/cloud_controller_ng/templates/cloud_controller_ng.yml.erb index cee60506da..7044623f9e 100644 --- a/jobs/cloud_controller_ng/templates/cloud_controller_ng.yml.erb +++ b/jobs/cloud_controller_ng/templates/cloud_controller_ng.yml.erb @@ -335,15 +335,6 @@ resource_pool: minimum_size: <%= p("cc.resource_pool.minimum_size") %> maximum_size: <%= p("cc.resource_pool.maximum_size") %> resource_directory_key: <%= p("cc.resource_pool.resource_directory_key") %> - <% if_p("cc.resource_pool.cdn") do %> - cdn: - uri: <%= p("cc.resource_pool.cdn.uri") %> - key_pair_id: <%= p("cc.resource_pool.cdn.key_pair_id") %> - private_key: <%= p("cc.resource_pool.cdn.private_key").inspect %> - <% end %> - fog_connection: <%= p("cc.resource_pool.fog_connection", {}).to_json %> - fog_aws_storage_options: <%= p("cc.resource_pool.fog_aws_storage_options", {}).to_json %> - fog_gcp_storage_options: <%= p("cc.resource_pool.fog_gcp_storage_options", {}).to_json %> packages: blobstore_type: <%= p("cc.packages.blobstore_type") %> @@ -359,15 +350,6 @@ packages: app_package_directory_key: <%= p("cc.packages.app_package_directory_key") %> max_valid_packages_stored: <%= p("cc.packages.max_valid_packages_stored") %> max_package_size: <%= p("cc.packages.max_package_size") %> - <% if_p("cc.packages.cdn") do %> - cdn: - uri: <%= p("cc.packages.cdn.uri") %> - key_pair_id: <%= p("cc.packages.cdn.key_pair_id") %> - private_key: <%= p("cc.packages.cdn.private_key").inspect %> - <% end %> - fog_connection: <%= p("cc.packages.fog_connection", {}).to_json %> - fog_aws_storage_options: <%= p("cc.packages.fog_aws_storage_options", {}).to_json %> - fog_gcp_storage_options: <%= p("cc.packages.fog_gcp_storage_options", {}).to_json %> droplets: blobstore_type: <%= p("cc.droplets.blobstore_type") %> @@ -381,15 +363,6 @@ droplets: ca_cert_path: "/var/vcap/jobs/cloud_controller_ng/config/certs/droplets_ca_cert.pem" <% end %> droplet_directory_key: <%= p("cc.droplets.droplet_directory_key") %> - <% if_p("cc.droplets.cdn") do %> - cdn: - uri: <%= p("cc.droplets.cdn.uri") %> - key_pair_id: <%= p("cc.droplets.cdn.key_pair_id") %> - private_key: <%= p("cc.droplets.cdn.private_key").inspect %> - <% end %> - fog_connection: <%= p("cc.droplets.fog_connection", {}).to_json %> - fog_aws_storage_options: <%= p("cc.droplets.fog_aws_storage_options", {}).to_json %> - fog_gcp_storage_options: <%= p("cc.droplets.fog_gcp_storage_options", {}).to_json %> max_staged_droplets_stored: <%= p("cc.droplets.max_staged_droplets_stored") %> buildpacks: @@ -404,15 +377,6 @@ buildpacks: ca_cert_path: "/var/vcap/jobs/cloud_controller_ng/config/certs/buildpacks_ca_cert.pem" <% end %> buildpack_directory_key: <%= p("cc.buildpacks.buildpack_directory_key") %> - <% if_p("cc.buildpacks.cdn") do %> - cdn: - uri: <%= p("cc.buildpacks.cdn.uri") %> - key_pair_id: <%= p("cc.buildpacks.cdn.key_pair_id") %> - private_key: <%= p("cc.buildpacks.cdn.private_key").inspect %> - <% end %> - fog_connection: <%= p("cc.buildpacks.fog_connection", {}).to_json %> - fog_aws_storage_options: <%= p("cc.buildpacks.fog_aws_storage_options", {}).to_json %> - fog_gcp_storage_options: <%= p("cc.buildpacks.fog_gcp_storage_options", {}).to_json %> db_encryption_key: <%= p("cc.db_encryption_key") %> diff --git a/jobs/cloud_controller_ng/templates/local_blobstore_downloads.conf.erb b/jobs/cloud_controller_ng/templates/local_blobstore_downloads.conf.erb deleted file mode 100644 index 6d4060cc7d..0000000000 --- a/jobs/cloud_controller_ng/templates/local_blobstore_downloads.conf.erb +++ /dev/null @@ -1,27 +0,0 @@ - -<% if p("cc.packages.blobstore_type").downcase == "fog" && p("cc.packages.fog_connection.provider", "").downcase == "local" %> - # used for x-accel-redirect uri://location/foo.txt - # nginx will serve the file root || location || foo.txt - location <%= "/#{p('cc.packages.app_package_directory_key')}/" %> { - internal; - root <%= p("cc.packages.fog_connection.local_root") %>; - } -<% end %> - -<% if p("cc.droplets.blobstore_type").downcase == "fog" && p("cc.droplets.fog_connection.provider", "").downcase == "local" %> - # used for x-accel-redirect uri://location/foo.txt - # nginx will serve the file root || location || foo.txt - location <%= "/#{p('cc.droplets.droplet_directory_key')}/" %> { - internal; - root <%= p("cc.droplets.fog_connection.local_root") %>; - } -<% end %> - -<% if p("cc.buildpacks.blobstore_type").downcase == "fog" && p("cc.buildpacks.fog_connection.provider", "").downcase == "local" %> - # used for x-accel-redirect uri://location/foo.txt - # nginx will serve the file root || location || foo.txt - location <%= "/#{p('cc.buildpacks.buildpack_directory_key')}/" %> { - internal; - root <%= p("cc.buildpacks.fog_connection.local_root") %>; - } -<% end %> diff --git a/jobs/cloud_controller_ng/templates/nginx.conf.erb b/jobs/cloud_controller_ng/templates/nginx.conf.erb index cf3a2a0c08..f3107c0245 100644 --- a/jobs/cloud_controller_ng/templates/nginx.conf.erb +++ b/jobs/cloud_controller_ng/templates/nginx.conf.erb @@ -112,8 +112,6 @@ limit_req_zone $http_authorization zone=<%= zone['name'] %>:10m rate=<%= zone['l upload_cleanup 400-505; } - include local_blobstore_downloads.conf; - # Pass altered request body to a backend location @cc_uploads { proxy_pass http://cloud_controller; @@ -157,7 +155,6 @@ limit_req_zone $http_authorization zone=<%= zone['name'] %>:10m rate=<%= zone['l proxy_read_timeout <%= p("request_timeout_in_seconds") %>; <% end -%> - include local_blobstore_downloads.conf; include nginx_external_endpoints.conf; } @@ -178,7 +175,6 @@ limit_req_zone $http_authorization zone=<%= zone['name'] %>:10m rate=<%= zone['l proxy_read_timeout <%= p("request_timeout_in_seconds") %>; <% end -%> - include local_blobstore_downloads.conf; include nginx_external_endpoints.conf; } <% end %> diff --git a/jobs/cloud_controller_ng/templates/pre-start.sh.erb b/jobs/cloud_controller_ng/templates/pre-start.sh.erb index 9badb895fe..f6ad6df5fb 100644 --- a/jobs/cloud_controller_ng/templates/pre-start.sh.erb +++ b/jobs/cloud_controller_ng/templates/pre-start.sh.erb @@ -10,8 +10,6 @@ CC_JOB_DIR="/var/vcap/jobs/cloud_controller_ng" CONFIG_DIR="${CC_JOB_DIR}/config" export CLOUD_CONTROLLER_NG_CONFIG="${CONFIG_DIR}/cloud_controller_ng.yml" -source ${CC_JOB_DIR}/bin/setup_local_blobstore.sh - SCRIPT_DIR="$(dirname "${BASH_SOURCE[0]}")" source "${SCRIPT_DIR}/ruby_version.sh" @@ -74,7 +72,6 @@ function setup_api_directories { } function setup_directories { - setup_local_blobstore setup_api_directories setup_nginx_directories setup_nginx_plugin_directories diff --git a/jobs/cloud_controller_ng/templates/setup_local_blobstore.sh.erb b/jobs/cloud_controller_ng/templates/setup_local_blobstore.sh.erb deleted file mode 120000 index 9f1971fa05..0000000000 --- a/jobs/cloud_controller_ng/templates/setup_local_blobstore.sh.erb +++ /dev/null @@ -1 +0,0 @@ -../../../shared_job_templates/setup_local_blobstore.sh.erb \ No newline at end of file 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 703dc629c9..75cf93c566 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 @@ -42,9 +42,7 @@ if provider == "gcs" add_optional(options, "encryption_key", p("#{scope}.encryption_key", nil)) end -# 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" +if provider == "s3" options["provider"] = provider options["bucket_name"] = p("#{scope}.bucket_name") if p("#{scope}.use_iam_profile", false) @@ -87,9 +85,8 @@ if provider == "alioss" options["bucket_name"] = p("#{scope}.aliyun_oss_bucket") end -# Support both native storage-cli types (dav) AND legacy fog names (webdav) -# Legacy fog name support to be REMOVED May 2026 -if provider == "webdav" || provider == "dav" + +if provider == "dav" options["provider"] = "dav" 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 53110a9194..7a9f52e63f 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 @@ -42,9 +42,7 @@ if provider == "gcs" add_optional(options, "encryption_key", p("#{scope}.encryption_key", nil)) end -# 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" +if provider == "s3" options["provider"] = provider options["bucket_name"] = p("#{scope}.bucket_name") if p("#{scope}.use_iam_profile", false) @@ -87,9 +85,8 @@ if provider == "alioss" options["bucket_name"] = p("#{scope}.aliyun_oss_bucket") end -# Support both native storage-cli types (dav) AND legacy fog names (webdav) -# Legacy fog name support to be REMOVED May 2026 -if provider == "webdav" || provider == "dav" + +if provider == "dav" options["provider"] = "dav" options["user"] = p("#{scope}.username") options["password"] = p("#{scope}.password") 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 026b05326e..8e5af19330 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 @@ -42,9 +42,7 @@ if provider == "gcs" add_optional(options, "encryption_key", p("#{scope}.encryption_key", nil)) end -# 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" +if provider == "s3" options["provider"] = provider options["bucket_name"] = p("#{scope}.bucket_name") if p("#{scope}.use_iam_profile", false) @@ -87,9 +85,8 @@ if provider == "alioss" options["bucket_name"] = p("#{scope}.aliyun_oss_bucket") end -# Support both native storage-cli types (dav) AND legacy fog names (webdav) -# Legacy fog name support to be REMOVED May 2026 -if provider == "webdav" || provider == "dav" + +if provider == "dav" options["provider"] = "dav" 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 b7c8b26822..3ee5a48aca 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 @@ -42,9 +42,7 @@ if provider == "gcs" add_optional(options, "encryption_key", p("#{scope}.encryption_key", nil)) end -# 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" +if provider == "s3" options["provider"] = provider options["bucket_name"] = p("#{scope}.bucket_name") if p("#{scope}.use_iam_profile", false) @@ -86,10 +84,9 @@ if provider == "alioss" options["endpoint"] = p("#{scope}.aliyun_oss_endpoint") options["bucket_name"] = p("#{scope}.aliyun_oss_bucket") end + -# Support both native storage-cli types (dav) AND legacy fog names (webdav) -# Legacy fog name support to be REMOVED May 2026 -if provider == "webdav" || provider == "dav" +if provider == "dav" options["provider"] = "dav" 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 56d62a4756..950e83caa8 100644 --- a/jobs/cloud_controller_worker/spec +++ b/jobs/cloud_controller_worker/spec @@ -12,7 +12,6 @@ templates: post-restore-unlock.sh.erb: bin/bbr/post-restore-unlock cloud_controller_ng.yml.erb: config/cloud_controller_ng.yml - setup_local_blobstore.sh.erb: bin/setup_local_blobstore.sh newrelic.yml.erb: config/newrelic.yml drain.sh.erb: bin/drain stacks.yml.erb: config/stacks.yml @@ -123,9 +122,6 @@ properties: cc.db_logging_level: default: "debug2" description: "Level at which cc database operations will be logged if cc.log_db_queries is set to true." - cc.log_fog_requests: - default: false - description: "Log fog requests and responses." cc.log_audit_events: default: true description: "Log audit events" @@ -150,17 +146,13 @@ properties: description: "Storage Cli extra flags string" cc.resource_pool.blobstore_provider: - description: "The provider of blobstore storage cli to use. Valid values: ['azurebs', 's3', 'alioss', 'gcs', 'dav'] (native) or ['AWS'] (legacy, to be removed May 2026). Note: 'AzureRM' is no longer a valid provider, use 'azurebs' instead." + description: "The provider of blobstore storage cli to use. Required when blobstore_type is 'storage-cli'. Valid values: ['azurebs', 's3', 'alioss', 'gcs', 'dav'] (native). Note: 'AzureRM' is no longer a valid provider, use 'azurebs' instead." default: ~ cc.resource_pool.connection_config: description: "Storage CLI connection configuration" cc.resource_pool.blobstore_type: - description: "The type of blobstore backing to use. Valid values: ['fog', 'webdav', 'storage-cli']" - default: "fog" - cc.resource_pool.fog_aws_storage_options: - description: "Storage options passed to fog for aws blobstores. Valid keys: ['encryption']." - cc.resource_pool.fog_gcp_storage_options: - description: "Storage options passed to fog for gcp blobstores" + description: "The type of blobstore backing to use. Valid values: ['webdav', 'storage-cli']" + default: "storage-cli" cc.resource_pool.webdav_config.blobstore_timeout: description: "The timeout in seconds for requests to the blobstore" default: 5 @@ -188,30 +180,15 @@ properties: cc.resource_pool.resource_directory_key: description: "Directory (bucket) used store app resources. It does not have be pre-created." default: "cc-resources" - cc.resource_pool.fog_connection: - description: "Fog connection hash" - cc.resource_pool.cdn.uri: - description: "URI for a CDN to used for resource pool downloads" - default: "" - cc.resource_pool.cdn.private_key: - description: "Private key for signing download URIs" - default: "" - cc.resource_pool.cdn.key_pair_id: - description: "Key pair name for signed download URIs" - default: "" cc.packages.blobstore_provider: - description: "The provider of blobstore storage cli to use. Valid values: ['azurebs', 's3', 'alioss', 'gcs', 'dav'] (native) or ['AWS'] (legacy, to be removed May 2026). Note: 'AzureRM' is no longer a valid provider, use 'azurebs' instead." + description: "The provider of blobstore storage cli to use. Required when blobstore_type is 'storage-cli'. Valid values: ['azurebs', 's3', 'alioss', 'gcs', 'dav'] (native). Note: 'AzureRM' is no longer a valid provider, use 'azurebs' instead." default: ~ cc.packages.connection_config: description: "Storage CLI connection configuration" cc.packages.blobstore_type: - description: "The type of blobstore backing to use. Valid values: ['fog', 'webdav', 'storage-cli']" - default: "fog" - cc.packages.fog_aws_storage_options: - description: "Storage options passed to fog for aws blobstores. Valid keys: ['encryption']." - cc.packages.fog_gcp_storage_options: - description: "Storage options passed to fog for gcp blobstores" + description: "The type of blobstore backing to use. Valid values: ['webdav', 'storage-cli']" + default: "storage-cli" cc.packages.webdav_config.blobstore_timeout: description: "The timeout in seconds for requests to the blobstore" default: 5 @@ -236,30 +213,15 @@ properties: cc.packages.max_package_size: description: "Maximum size of application package" default: 1073741824 - cc.packages.fog_connection: - description: "Fog connection hash" - cc.packages.cdn.uri: - description: "URI for a CDN to used for app package downloads" - default: "" - cc.packages.cdn.private_key: - description: "Private key for signing download URIs" - default: "" - cc.packages.cdn.key_pair_id: - description: "Key pair name for signed download URIs" - default: "" cc.droplets.blobstore_provider: - description: "The provider of blobstore storage cli to use. Valid values: ['azurebs', 's3', 'alioss', 'gcs', 'dav'] (native) or ['AWS'] (legacy, to be removed May 2026). Note: 'AzureRM' is no longer a valid provider, use 'azurebs' instead." + description: "The provider of blobstore storage cli to use. Required when blobstore_type is 'storage-cli'. Valid values: ['azurebs', 's3', 'alioss', 'gcs', 'dav'] (native). Note: 'AzureRM' is no longer a valid provider, use 'azurebs' instead." default: ~ cc.droplets.connection_config: description: "Storage CLI connection configuration" cc.droplets.blobstore_type: - description: "The type of blobstore backing to use. Valid values: ['fog', 'webdav', 'storage-cli']" - default: "fog" - cc.droplets.fog_aws_storage_options: - description: "Storage options passed to fog for aws blobstores. Valid keys: ['encryption']." - cc.droplets.fog_gcp_storage_options: - description: "Storage options passed to fog for gcp blobstores" + description: "The type of blobstore backing to use. Valid values: ['webdav', 'storage-cli']" + default: "storage-cli" cc.droplets.webdav_config.blobstore_timeout: description: "The timeout in seconds for requests to the blobstore" default: 5 @@ -281,30 +243,15 @@ properties: cc.droplets.droplet_directory_key: description: "Directory (bucket) used store droplets. It does not have be pre-created." default: "cc-droplets" - cc.droplets.fog_connection: - description: "Fog connection hash" - cc.droplets.cdn.uri: - description: "URI for a CDN to used for droplet downloads" - default: "" - cc.droplets.cdn.private_key: - description: "Private key for signing download URIs" - default: "" - cc.droplets.cdn.key_pair_id: - description: "Key pair name for signed download URIs" - default: "" cc.buildpacks.blobstore_provider: - description: "The provider of blobstore storage cli to use. Valid values: ['azurebs', 's3', 'alioss', 'gcs', 'dav'] (native) or ['AWS'] (legacy, to be removed May 2026). Note: 'AzureRM' is no longer a valid provider, use 'azurebs' instead." + description: "The provider of blobstore storage cli to use. Required when blobstore_type is 'storage-cli'. Valid values: ['azurebs', 's3', 'alioss', 'gcs', 'dav'] (native). Note: 'AzureRM' is no longer a valid provider, use 'azurebs' instead." default: ~ cc.buildpacks.connection_config: description: "Storage CLI connection configuration" cc.buildpacks.blobstore_type: - description: "The type of blobstore backing to use. Valid values: ['fog', 'webdav', 'storage-cli']" - default: "fog" - cc.buildpacks.fog_aws_storage_options: - description: "Storage options passed to fog for aws blobstores. Valid keys: ['encryption']." - cc.buildpacks.fog_gcp_storage_options: - description: "Storage options passed to fog for gcp blobstores" + description: "The type of blobstore backing to use. Valid values: ['webdav', 'storage-cli']" + default: "storage-cli" cc.buildpacks.webdav_config.blobstore_timeout: description: "The timeout in seconds for requests to the blobstore" default: 5 @@ -326,17 +273,6 @@ properties: cc.buildpacks.buildpack_directory_key: description: "Directory (bucket) used store buildpacks. It does not have be pre-created." default: "cc-buildpacks" - cc.buildpacks.fog_connection: - description: "Fog connection hash" - cc.buildpacks.cdn.uri: - description: "URI for a CDN to used for buildpack downloads" - default: "" - cc.buildpacks.cdn.private_key: - description: "Private key for signing download URIs" - default: "" - cc.buildpacks.cdn.key_pair_id: - description: "Key pair name for signed download URIs" - default: "" ccdb.databases: description: "Contains the name of the database on the database server" diff --git a/jobs/cloud_controller_worker/templates/bpm.yml.erb b/jobs/cloud_controller_worker/templates/bpm.yml.erb index 4cea9dc2e4..a6ea3b44b4 100644 --- a/jobs/cloud_controller_worker/templates/bpm.yml.erb +++ b/jobs/cloud_controller_worker/templates/bpm.yml.erb @@ -34,11 +34,6 @@ config = { "processes" => [] } worker_config["env"]["NEWRELIC_ENABLE"] = true end - if p("cc.log_fog_requests") - worker_config["env"]["DEBUG"] = true - worker_config["env"]["FOG_DEBUG"] = true - end - config["processes"] << worker_config end diff --git a/jobs/cloud_controller_worker/templates/cloud_controller_ng.yml.erb b/jobs/cloud_controller_worker/templates/cloud_controller_ng.yml.erb index 9046ade8c0..52dd5cd0b9 100644 --- a/jobs/cloud_controller_worker/templates/cloud_controller_ng.yml.erb +++ b/jobs/cloud_controller_worker/templates/cloud_controller_ng.yml.erb @@ -180,15 +180,7 @@ resource_pool: minimum_size: <%= p("cc.resource_pool.minimum_size") %> maximum_size: <%= p("cc.resource_pool.maximum_size") %> resource_directory_key: <%= p("cc.resource_pool.resource_directory_key") %> - <% if_p("cc.resource_pool.cdn") do %> - cdn: - uri: <%= p("cc.resource_pool.cdn.uri") %> - key_pair_id: <%= p("cc.resource_pool.cdn.key_pair_id") %> - private_key: <%= p("cc.resource_pool.cdn.private_key").inspect %> - <% end %> - fog_connection: <%= p("cc.resource_pool.fog_connection", {}).to_json %> - fog_aws_storage_options: <%= p("cc.resource_pool.fog_aws_storage_options", {}).to_json %> - fog_gcp_storage_options: <%= p("cc.resource_pool.fog_gcp_storage_options", {}).to_json %> + packages: blobstore_type: <%= p("cc.packages.blobstore_type") %> @@ -204,15 +196,6 @@ packages: app_package_directory_key: <%= p("cc.packages.app_package_directory_key") %> max_package_size: <%= p("cc.packages.max_package_size") %> max_valid_packages_stored: <%= link("cloud_controller_internal").p("cc.packages.max_valid_packages_stored") %> - <% if_p("cc.packages.cdn") do %> - cdn: - uri: <%= p("cc.packages.cdn.uri") %> - key_pair_id: <%= p("cc.packages.cdn.key_pair_id") %> - private_key: <%= p("cc.packages.cdn.private_key").inspect %> - <% end %> - fog_connection: <%= p("cc.packages.fog_connection", {}).to_json %> - fog_aws_storage_options: <%= p("cc.packages.fog_aws_storage_options", {}).to_json %> - fog_gcp_storage_options: <%= p("cc.packages.fog_gcp_storage_options", {}).to_json %> droplets: blobstore_type: <%= p("cc.droplets.blobstore_type") %> @@ -226,15 +209,6 @@ droplets: ca_cert_path: "/var/vcap/jobs/cloud_controller_worker/config/certs/droplets_ca_cert.pem" <% end %> droplet_directory_key: <%= p("cc.droplets.droplet_directory_key") %> - <% if_p("cc.droplets.cdn") do %> - cdn: - uri: <%= p("cc.droplets.cdn.uri") %> - key_pair_id: <%= p("cc.droplets.cdn.key_pair_id") %> - private_key: <%= p("cc.droplets.cdn.private_key").inspect %> - <% end %> - fog_connection: <%= p("cc.droplets.fog_connection", {}).to_json %> - fog_aws_storage_options: <%= p("cc.droplets.fog_aws_storage_options", {}).to_json %> - fog_gcp_storage_options: <%= p("cc.droplets.fog_gcp_storage_options", {}).to_json %> buildpacks: blobstore_type: <%= p("cc.buildpacks.blobstore_type") %> @@ -248,15 +222,6 @@ buildpacks: ca_cert_path: "/var/vcap/jobs/cloud_controller_worker/config/certs/buildpacks_ca_cert.pem" <% end %> buildpack_directory_key: <%= p("cc.buildpacks.buildpack_directory_key") %> - <% if_p("cc.buildpacks.cdn") do %> - cdn: - uri: <%= p("cc.buildpacks.cdn.uri") %> - key_pair_id: <%= p("cc.buildpacks.cdn.key_pair_id") %> - private_key: <%= p("cc.buildpacks.cdn.private_key").inspect %> - <% end %> - fog_connection: <%= p("cc.buildpacks.fog_connection", {}).to_json %> - fog_aws_storage_options: <%= p("cc.buildpacks.fog_aws_storage_options", {}).to_json %> - fog_gcp_storage_options: <%= p("cc.buildpacks.fog_gcp_storage_options", {}).to_json %> db_encryption_key: <%= p("cc.db_encryption_key") %> diff --git a/jobs/cloud_controller_worker/templates/pre-start.sh.erb b/jobs/cloud_controller_worker/templates/pre-start.sh.erb index c8bc14b0c0..5ccb36d9f4 100644 --- a/jobs/cloud_controller_worker/templates/pre-start.sh.erb +++ b/jobs/cloud_controller_worker/templates/pre-start.sh.erb @@ -5,16 +5,12 @@ set -ex source /var/vcap/packages/capi_utils/output_utils.sh write_output_with_datetime -source /var/vcap/jobs/cloud_controller_worker/bin/setup_local_blobstore.sh - SCRIPT_DIR="$(dirname "${BASH_SOURCE[0]}")" source "${SCRIPT_DIR}/ruby_version.sh" function setup_directories { - setup_local_blobstore - mkdir -p "/var/vcap/sys/run/cloud_controller_worker" chown -R vcap:vcap "/var/vcap/sys/run/cloud_controller_worker" diff --git a/jobs/cloud_controller_worker/templates/setup_local_blobstore.sh.erb b/jobs/cloud_controller_worker/templates/setup_local_blobstore.sh.erb deleted file mode 120000 index 9f1971fa05..0000000000 --- a/jobs/cloud_controller_worker/templates/setup_local_blobstore.sh.erb +++ /dev/null @@ -1 +0,0 @@ -../../../shared_job_templates/setup_local_blobstore.sh.erb \ No newline at end of file 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 703dc629c9..75cf93c566 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 @@ -42,9 +42,7 @@ if provider == "gcs" add_optional(options, "encryption_key", p("#{scope}.encryption_key", nil)) end -# 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" +if provider == "s3" options["provider"] = provider options["bucket_name"] = p("#{scope}.bucket_name") if p("#{scope}.use_iam_profile", false) @@ -87,9 +85,8 @@ if provider == "alioss" options["bucket_name"] = p("#{scope}.aliyun_oss_bucket") end -# Support both native storage-cli types (dav) AND legacy fog names (webdav) -# Legacy fog name support to be REMOVED May 2026 -if provider == "webdav" || provider == "dav" + +if provider == "dav" options["provider"] = "dav" 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 53110a9194..7a9f52e63f 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 @@ -42,9 +42,7 @@ if provider == "gcs" add_optional(options, "encryption_key", p("#{scope}.encryption_key", nil)) end -# 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" +if provider == "s3" options["provider"] = provider options["bucket_name"] = p("#{scope}.bucket_name") if p("#{scope}.use_iam_profile", false) @@ -87,9 +85,8 @@ if provider == "alioss" options["bucket_name"] = p("#{scope}.aliyun_oss_bucket") end -# Support both native storage-cli types (dav) AND legacy fog names (webdav) -# Legacy fog name support to be REMOVED May 2026 -if provider == "webdav" || provider == "dav" + +if provider == "dav" options["provider"] = "dav" 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 026b05326e..467dcff293 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 @@ -42,9 +42,7 @@ if provider == "gcs" add_optional(options, "encryption_key", p("#{scope}.encryption_key", nil)) end -# 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" +if provider == "s3" options["provider"] = provider options["bucket_name"] = p("#{scope}.bucket_name") if p("#{scope}.use_iam_profile", false) @@ -86,10 +84,9 @@ if provider == "alioss" options["endpoint"] = p("#{scope}.aliyun_oss_endpoint") options["bucket_name"] = p("#{scope}.aliyun_oss_bucket") end + -# Support both native storage-cli types (dav) AND legacy fog names (webdav) -# Legacy fog name support to be REMOVED May 2026 -if provider == "webdav" || provider == "dav" +if provider == "dav" options["provider"] = "dav" 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 b7c8b26822..a7805201f3 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 @@ -42,9 +42,7 @@ if provider == "gcs" add_optional(options, "encryption_key", p("#{scope}.encryption_key", nil)) end -# 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" +if provider == "s3" options["provider"] = provider options["bucket_name"] = p("#{scope}.bucket_name") if p("#{scope}.use_iam_profile", false) @@ -87,9 +85,8 @@ if provider == "alioss" options["bucket_name"] = p("#{scope}.aliyun_oss_bucket") end -# Support both native storage-cli types (dav) AND legacy fog names (webdav) -# Legacy fog name support to be REMOVED May 2026 -if provider == "webdav" || provider == "dav" + +if provider == "dav" options["provider"] = "dav" options["user"] = p("#{scope}.username") options["password"] = p("#{scope}.password") diff --git a/shared_job_templates/blobstore_waiter.sh.erb b/shared_job_templates/blobstore_waiter.sh.erb index ba06db5c0b..0c75b18e08 100644 --- a/shared_job_templates/blobstore_waiter.sh.erb +++ b/shared_job_templates/blobstore_waiter.sh.erb @@ -27,26 +27,7 @@ function wait_for_blobstore { max_attempts=30 sleep_length=1 - <% if properties.nfs_server.address && p('cc.buildpacks.blobstore_type') == 'fog' %> - - NFS_SHARE=/var/vcap/data/nfs - - echo "Checking for NFS to be mounted" - - nfs_check_attempts=0 - while [[ ! -f $NFS_SHARE/shared/.nfs_test ]]; do - sleep $sleep_length - nfs_check_attempts=$((nfs_check_attempts+1)) - - if [[ $nfs_check_attempts -eq $max_attempts ]]; then - echo "Failed to find NFS mount" - exit 1 - fi - done - - echo "NFS is mounted" - - <% elsif p('cc.buildpacks.blobstore_type') == 'webdav' %> + <% if p('cc.buildpacks.blobstore_type') == 'webdav' %> echo "Checking for blobstore availability" try_to_curl "<%= p('cc.buildpacks.webdav_config.private_endpoint') %>" $max_attempts $sleep_length diff --git a/shared_job_templates/setup_local_blobstore.sh.erb b/shared_job_templates/setup_local_blobstore.sh.erb deleted file mode 100644 index 8e25454223..0000000000 --- a/shared_job_templates/setup_local_blobstore.sh.erb +++ /dev/null @@ -1,35 +0,0 @@ -function setup_local_blobstore() { - <% if p("cc.packages.blobstore_type").downcase == "fog" && p("cc.packages.fog_connection.provider", "").downcase == "local" %> - if [[ "<%= p('cc.buildpacks.fog_connection.local_root') %>" != "/var/vcap/data/nfs" ]] ; then - echo "Please change cc.buildpacks.fog_connection.local_root ("<%= p('cc.buildpacks.fog_connection.local_root') %>") to equal '/var/vcap/data/nfs' for NFS blobstores"; - echo "Details are in the release notes here: https://github.com/cloudfoundry/capi-release/releases/tag/1.61.0" - exit 1; - fi - <% end %> - - <% if p("cc.packages.blobstore_type").downcase == "fog" && p("cc.packages.fog_connection.provider", "").downcase == "local" %> - echo "Preparing local package directory" - mkdir -p <%= p("cc.packages.fog_connection.local_root") %> - chown vcap:vcap <%= p("cc.packages.fog_connection.local_root") %> - <% end %> - - <% if p("cc.resource_pool.blobstore_type").downcase == "fog" && p("cc.resource_pool.fog_connection.provider", "").downcase == "local" %> - echo "Preparing local resource_pool directory" - mkdir -p <%= p("cc.resource_pool.fog_connection.local_root") %> - chown vcap:vcap <%= p("cc.resource_pool.fog_connection.local_root") %> - <% end %> - - <% if p("cc.droplets.blobstore_type").downcase == "fog" && p("cc.droplets.fog_connection.provider", "").downcase == "local" %> - echo "Preparing local droplet directory" - mkdir -p <%= p("cc.droplets.fog_connection.local_root") %> - chown vcap:vcap <%= p("cc.droplets.fog_connection.local_root") %> - <% end %> - - <% if p("cc.buildpacks.blobstore_type").downcase == "fog" && p("cc.buildpacks.fog_connection.provider", "").downcase == "local" %> - echo "Preparing local buildpacks directory" - mkdir -p <%= p("cc.buildpacks.fog_connection.local_root") %> - chown vcap:vcap <%= p("cc.buildpacks.fog_connection.local_root") %> - <% end %> - : # this is here to prevent an empty function when not using fog -} - diff --git a/spec/cc_deployment_updater/storage_cli_config_jsons_spec.rb b/spec/cc_deployment_updater/storage_cli_config_jsons_spec.rb index dfb213457b..ba2fc4900f 100644 --- a/spec/cc_deployment_updater/storage_cli_config_jsons_spec.rb +++ b/spec/cc_deployment_updater/storage_cli_config_jsons_spec.rb @@ -110,7 +110,7 @@ def props_for_provider(provider) end describe 'when provider is AWS' do - let(:link_props) { props_for_provider('AWS') } + let(:link_props) { props_for_provider('s3') } let(:cc_link) do Bosh::Template::Test::Link.new( name: 'cloud_controller_internal', @@ -126,14 +126,14 @@ def props_for_provider(provider) it 'maps required properties into the rendered config' do set(link_props, keypath, { - 'provider' => 'AWS', + 'provider' => 's3', 'bucket_name' => 'bucket', 'aws_access_key_id' => 'key', 'aws_secret_access_key' => 'secret' }) json = YAML.safe_load(template.render(props, consumes: links)) expect(json).to include( - 'provider' => 'AWS', + 'provider' => 's3', 'bucket_name' => 'bucket', 'access_key_id' => 'key', 'credentials_source' => 'static', @@ -144,7 +144,7 @@ def props_for_provider(provider) context 'when use_iam_profile is true' do let(:json) do set(link_props, keypath, { - 'provider' => 'AWS', + 'provider' => 's3', 'bucket_name' => 'bucket', 'use_iam_profile' => true }) @@ -153,7 +153,7 @@ def props_for_provider(provider) it 'uses env_or_profile credentials source' do expect(json).to include( - 'provider' => 'AWS', + 'provider' => 's3', 'bucket_name' => 'bucket', 'credentials_source' => 'env_or_profile' ) @@ -167,7 +167,7 @@ def props_for_provider(provider) it 'includes optional properties when provided' do set(link_props, keypath, { - 'provider' => 'AWS', + 'provider' => 's3', 'bucket_name' => 'bucket', 'aws_access_key_id' => 'key', 'aws_secret_access_key' => 'secret', @@ -197,7 +197,7 @@ def props_for_provider(provider) json = YAML.safe_load(template.render(props, consumes: links)) expect(json).to include( - 'provider' => 'AWS', + 'provider' => 's3', 'bucket_name' => 'bucket', 'access_key_id' => 'key', 'secret_access_key' => 'secret', @@ -319,8 +319,8 @@ def props_for_provider(provider) end end - describe 'when provider is webdav' do - let(:link_props) { props_for_provider('webdav') } + describe 'when provider is dav' do + let(:link_props) { props_for_provider('dav') } let(:cc_link) do Bosh::Template::Test::Link.new( name: 'cloud_controller_internal', diff --git a/spec/cloud_controller_clock/cloud_controller_clock_spec.rb b/spec/cloud_controller_clock/cloud_controller_clock_spec.rb index e3658023fb..12c9e24361 100644 --- a/spec/cloud_controller_clock/cloud_controller_clock_spec.rb +++ b/spec/cloud_controller_clock/cloud_controller_clock_spec.rb @@ -27,7 +27,11 @@ module Test 'skip_validation' => false, 'current_key_label' => 'encryption_key_0', :keys => { 'encryption_key_0' => '((cc_db_encryption_key))' } - } + }, + 'resource_pool' => { 'blobstore_type' => 'storage-cli' }, + 'packages' => { 'blobstore_type' => 'storage-cli' }, + 'droplets' => { 'blobstore_type' => 'storage-cli' }, + 'buildpacks' => { 'blobstore_type' => 'storage-cli' } }, 'ccdb' => { 'db_scheme' => 'mysql', diff --git a/spec/cloud_controller_clock/storage_cli_config_jsons_spec.rb b/spec/cloud_controller_clock/storage_cli_config_jsons_spec.rb index 5257810bf6..2b9f75e4bf 100644 --- a/spec/cloud_controller_clock/storage_cli_config_jsons_spec.rb +++ b/spec/cloud_controller_clock/storage_cli_config_jsons_spec.rb @@ -95,7 +95,7 @@ def props_for_provider(provider) end describe 'when provider is AWS' do - let(:props) { props_for_provider('AWS') } + let(:props) { props_for_provider('s3') } storage_cli_templates.each do |(template_path, keypath)| describe template_path do @@ -103,14 +103,14 @@ def props_for_provider(provider) it 'maps required properties into the rendered config' do set(props, keypath, { - 'provider' => 'AWS', + 'provider' => 's3', 'bucket_name' => 'bucket', 'aws_access_key_id' => 'key', 'aws_secret_access_key' => 'secret' }) json = YAML.safe_load(template.render(props, consumes: links)) expect(json).to include( - 'provider' => 'AWS', + 'provider' => 's3', 'bucket_name' => 'bucket', 'access_key_id' => 'key', 'credentials_source' => 'static', @@ -121,7 +121,7 @@ def props_for_provider(provider) context 'when use_iam_profile is true' do let(:json) do set(props, keypath, { - 'provider' => 'AWS', + 'provider' => 's3', 'bucket_name' => 'bucket', 'use_iam_profile' => true }) @@ -130,7 +130,7 @@ def props_for_provider(provider) it 'uses env_or_profile credentials source' do expect(json).to include( - 'provider' => 'AWS', + 'provider' => 's3', 'bucket_name' => 'bucket', 'credentials_source' => 'env_or_profile' ) @@ -144,7 +144,7 @@ def props_for_provider(provider) it 'includes optional properties when provided' do set(props, keypath, { - 'provider' => 'AWS', + 'provider' => 's3', 'bucket_name' => 'bucket', 'aws_access_key_id' => 'key', 'aws_secret_access_key' => 'secret', @@ -174,7 +174,7 @@ def props_for_provider(provider) json = YAML.safe_load(template.render(props, consumes: links)) expect(json).to include( - 'provider' => 'AWS', + 'provider' => 's3', 'bucket_name' => 'bucket', 'access_key_id' => 'key', 'secret_access_key' => 'secret', @@ -280,8 +280,8 @@ def props_for_provider(provider) end end - describe 'when provider is webdav' do - let(:props) { props_for_provider('webdav') } + describe 'when provider is dav' do + let(:props) { props_for_provider('dav') } # Helper to determine expected directory key based on template path def expected_directory_key(template_path) @@ -300,7 +300,7 @@ def expected_directory_key(template_path) it 'maps required properties into the rendered config' do set(props, keypath, { - 'provider' => 'webdav', + 'provider' => 'dav', 'username' => 'user', 'password' => 'secret', 'private_endpoint' => 'https://webdav.internal', @@ -319,7 +319,7 @@ def expected_directory_key(template_path) it 'includes public_endpoint when provided' do set(props, keypath, { - 'provider' => 'webdav', + 'provider' => 'dav', 'username' => 'user', 'password' => 'secret', 'private_endpoint' => 'https://webdav.internal', @@ -339,7 +339,7 @@ def expected_directory_key(template_path) it 'includes optional properties when provided' do set(props, keypath, { - 'provider' => 'webdav', + 'provider' => 'dav', 'username' => 'user', 'password' => 'secret', 'private_endpoint' => 'https://webdav.internal', @@ -363,7 +363,7 @@ def expected_directory_key(template_path) it 'omits public_endpoint when empty' do set(props, keypath, { - 'provider' => 'webdav', + 'provider' => 'dav', 'username' => 'user', 'password' => 'secret', 'private_endpoint' => 'https://webdav.internal', diff --git a/spec/cloud_controller_ng/bpm_spec.rb b/spec/cloud_controller_ng/bpm_spec.rb index f3d9834f60..60a48d77fd 100644 --- a/spec/cloud_controller_ng/bpm_spec.rb +++ b/spec/cloud_controller_ng/bpm_spec.rb @@ -11,9 +11,7 @@ module Test describe 'bpm job template rendering' do def expect_default_debug_env_vars(env_vars) expect(env_vars).to have_key('DEBUG') - expect(env_vars).to have_key('FOG_DEBUG') expect(env_vars['DEBUG']).to be(true) - expect(env_vars['FOG_DEBUG']).to be(true) end def valkey_volume_mounted?(process) @@ -35,38 +33,9 @@ def valkey_volume_mounted?(process) let(:release) { ReleaseDir.new(release_path) } let(:job) { release.job('cloud_controller_ng') } - let(:properties_debug_fog) do - { 'cc' => { 'log_fog_requests' => true, 'packages' => { 'fog_connection' => { 'provider' => 'AWS' } } } } - end - let(:properties_without_debug) do - { 'cc' => { 'log_fog_requests' => false, 'packages' => { 'fog_connection' => { 'provider' => 'foo' } } } } - end - describe 'config/bpm.yml' do let(:template) { job.template('config/bpm.yml') } - context 'when fog debug logging is enabled' do - it 'sets the DEBUG env var' do - template_hash = YAML.safe_load(template.render(properties_debug_fog, consumes: {})) - - results = template_hash['processes'].select { |p| p['name'].include?('cloud_controller_ng') } - expect(results.length).to eq(1) - expect_default_debug_env_vars(results[0]['env']) - end - end - - context 'when fog debug logging is disabled' do - it 'sets not any debug env var' do - template_hash = YAML.safe_load(template.render(properties_without_debug, consumes: {})) - - results = template_hash['processes'].select { |p| p['name'].include?('cloud_controller_ng') } - expect(results.length).to eq(1) - env_vars = results[0]['env'] - expect(env_vars).not_to have_key('DEBUG') - expect(env_vars).not_to have_key('FOG_DEBUG') - end - end - describe 'valkey config' do it 'mounts the valkey volume into the ccng job container' do template_hash = YAML.safe_load(template.render({}, consumes: {})) diff --git a/spec/cloud_controller_ng/storage_cli_config_jsons_spec.rb b/spec/cloud_controller_ng/storage_cli_config_jsons_spec.rb index 0625bc641f..d408f0ca7b 100644 --- a/spec/cloud_controller_ng/storage_cli_config_jsons_spec.rb +++ b/spec/cloud_controller_ng/storage_cli_config_jsons_spec.rb @@ -95,7 +95,7 @@ def props_for_provider(provider) end describe 'when provider is AWS' do - let(:props) { props_for_provider('AWS') } + let(:props) { props_for_provider('s3') } storage_cli_templates.each do |(template_path, keypath)| describe template_path do @@ -103,14 +103,14 @@ def props_for_provider(provider) it 'maps required properties into the rendered config' do set(props, keypath, { - 'provider' => 'AWS', + 'provider' => 's3', 'bucket_name' => 'bucket', 'aws_access_key_id' => 'key', 'aws_secret_access_key' => 'secret' }) json = YAML.safe_load(template.render(props, consumes: links)) expect(json).to include( - 'provider' => 'AWS', + 'provider' => 's3', 'bucket_name' => 'bucket', 'access_key_id' => 'key', 'credentials_source' => 'static', @@ -121,7 +121,7 @@ def props_for_provider(provider) context 'when use_iam_profile is true' do let(:json) do set(props, keypath, { - 'provider' => 'AWS', + 'provider' => 's3', 'bucket_name' => 'bucket', 'use_iam_profile' => true }) @@ -130,7 +130,7 @@ def props_for_provider(provider) it 'uses env_or_profile credentials source' do expect(json).to include( - 'provider' => 'AWS', + 'provider' => 's3', 'bucket_name' => 'bucket', 'credentials_source' => 'env_or_profile' ) @@ -144,7 +144,7 @@ def props_for_provider(provider) it 'includes optional properties when provided' do set(props, keypath, { - 'provider' => 'AWS', + 'provider' => 's3', 'bucket_name' => 'bucket', 'aws_access_key_id' => 'key', 'aws_secret_access_key' => 'secret', @@ -174,7 +174,7 @@ def props_for_provider(provider) json = YAML.safe_load(template.render(props, consumes: links)) expect(json).to include( - 'provider' => 'AWS', + 'provider' => 's3', 'bucket_name' => 'bucket', 'access_key_id' => 'key', 'secret_access_key' => 'secret', @@ -280,8 +280,8 @@ def props_for_provider(provider) end end - describe 'when provider is webdav' do - let(:props) { props_for_provider('webdav') } + describe 'when provider is dav' do + let(:props) { props_for_provider('dav') } # Helper to determine expected directory key based on template path def expected_directory_key(template_path) @@ -300,7 +300,7 @@ def expected_directory_key(template_path) it 'maps required properties into the rendered config' do set(props, keypath, { - 'provider' => 'webdav', + 'provider' => 'dav', 'username' => 'user', 'password' => 'secret', 'private_endpoint' => 'https://webdav.internal', @@ -319,7 +319,7 @@ def expected_directory_key(template_path) it 'includes public_endpoint when provided' do set(props, keypath, { - 'provider' => 'webdav', + 'provider' => 'dav', 'username' => 'user', 'password' => 'secret', 'private_endpoint' => 'https://webdav.internal', @@ -339,7 +339,7 @@ def expected_directory_key(template_path) it 'includes optional properties when provided' do set(props, keypath, { - 'provider' => 'webdav', + 'provider' => 'dav', 'username' => 'user', 'password' => 'secret', 'private_endpoint' => 'https://webdav.internal', @@ -363,7 +363,7 @@ def expected_directory_key(template_path) it 'omits public_endpoint when empty' do set(props, keypath, { - 'provider' => 'webdav', + 'provider' => 'dav', 'username' => 'user', 'password' => 'secret', 'private_endpoint' => 'https://webdav.internal', diff --git a/spec/cloud_controller_worker/cloud_controller_worker_spec.rb b/spec/cloud_controller_worker/cloud_controller_worker_spec.rb index 2b6f5689e2..7927ea28ab 100644 --- a/spec/cloud_controller_worker/cloud_controller_worker_spec.rb +++ b/spec/cloud_controller_worker/cloud_controller_worker_spec.rb @@ -28,7 +28,11 @@ module Test 'current_key_label' => 'encryption_key_0', :keys => { 'encryption_key_0' => '((cc_db_encryption_key))' } }, - 'directories' => {} + 'directories' => {}, + 'resource_pool' => { 'blobstore_type' => 'storage-cli' }, + 'packages' => { 'blobstore_type' => 'storage-cli' }, + 'droplets' => { 'blobstore_type' => 'storage-cli' }, + 'buildpacks' => { 'blobstore_type' => 'storage-cli' } }, 'ccdb' => { 'db_scheme' => 'mysql', diff --git a/spec/cloud_controller_worker/storage_cli_config_jsons_spec.rb b/spec/cloud_controller_worker/storage_cli_config_jsons_spec.rb index f1d2107336..23cf5a90c4 100644 --- a/spec/cloud_controller_worker/storage_cli_config_jsons_spec.rb +++ b/spec/cloud_controller_worker/storage_cli_config_jsons_spec.rb @@ -95,7 +95,7 @@ def props_for_provider(provider) end describe 'when provider is AWS' do - let(:props) { props_for_provider('AWS') } + let(:props) { props_for_provider('s3') } storage_cli_templates.each do |(template_path, keypath)| describe template_path do @@ -103,14 +103,14 @@ def props_for_provider(provider) it 'maps required properties into the rendered config' do set(props, keypath, { - 'provider' => 'AWS', + 'provider' => 's3', 'bucket_name' => 'bucket', 'aws_access_key_id' => 'key', 'aws_secret_access_key' => 'secret' }) json = YAML.safe_load(template.render(props, consumes: links)) expect(json).to include( - 'provider' => 'AWS', + 'provider' => 's3', 'bucket_name' => 'bucket', 'access_key_id' => 'key', 'credentials_source' => 'static', @@ -121,7 +121,7 @@ def props_for_provider(provider) context 'when use_iam_profile is true' do let(:json) do set(props, keypath, { - 'provider' => 'AWS', + 'provider' => 's3', 'bucket_name' => 'bucket', 'use_iam_profile' => true }) @@ -130,7 +130,7 @@ def props_for_provider(provider) it 'uses env_or_profile credentials source' do expect(json).to include( - 'provider' => 'AWS', + 'provider' => 's3', 'bucket_name' => 'bucket', 'credentials_source' => 'env_or_profile' ) @@ -144,7 +144,7 @@ def props_for_provider(provider) it 'includes optional properties when provided' do set(props, keypath, { - 'provider' => 'AWS', + 'provider' => 's3', 'bucket_name' => 'bucket', 'aws_access_key_id' => 'key', 'aws_secret_access_key' => 'secret', @@ -174,7 +174,7 @@ def props_for_provider(provider) json = YAML.safe_load(template.render(props, consumes: links)) expect(json).to include( - 'provider' => 'AWS', + 'provider' => 's3', 'bucket_name' => 'bucket', 'access_key_id' => 'key', 'secret_access_key' => 'secret', @@ -280,8 +280,8 @@ def props_for_provider(provider) end end - describe 'when provider is webdav' do - let(:props) { props_for_provider('webdav') } + describe 'when provider is dav' do + let(:props) { props_for_provider('dav') } # Helper to determine expected directory key based on template path def expected_directory_key(template_path) @@ -300,7 +300,7 @@ def expected_directory_key(template_path) it 'maps required properties into the rendered config' do set(props, keypath, { - 'provider' => 'webdav', + 'provider' => 'dav', 'username' => 'user', 'password' => 'secret', 'private_endpoint' => 'https://webdav.internal', @@ -319,7 +319,7 @@ def expected_directory_key(template_path) it 'includes public_endpoint when provided' do set(props, keypath, { - 'provider' => 'webdav', + 'provider' => 'dav', 'username' => 'user', 'password' => 'secret', 'private_endpoint' => 'https://webdav.internal', @@ -339,7 +339,7 @@ def expected_directory_key(template_path) it 'includes optional properties when provided' do set(props, keypath, { - 'provider' => 'webdav', + 'provider' => 'dav', 'username' => 'user', 'password' => 'secret', 'private_endpoint' => 'https://webdav.internal', @@ -363,7 +363,7 @@ def expected_directory_key(template_path) it 'omits public_endpoint when empty' do set(props, keypath, { - 'provider' => 'webdav', + 'provider' => 'dav', 'username' => 'user', 'password' => 'secret', 'private_endpoint' => 'https://webdav.internal',