diff --git a/jobs/cloud_controller_ng/spec b/jobs/cloud_controller_ng/spec index e23644dd28..386f004e27 100644 --- a/jobs/cloud_controller_ng/spec +++ b/jobs/cloud_controller_ng/spec @@ -148,6 +148,7 @@ provides: - cc.default_stack - cc.default_app_lifecycle - cc.disable_private_domain_cross_space_context_path_route_sharing + - cc.max_route_options_size - cc.droplets.blobstore_provider - cc.droplets.blobstore_type - cc.droplets.cdn.key_pair_id @@ -1139,6 +1140,10 @@ properties: description: "Disallow route collisions over shared private domains when created in different spaces" default: false + cc.max_route_options_size: + description: "Maximum size in bytes for the serialized route options JSON. Routes with options exceeding this limit will be rejected with HTTP 422 Unprocessable Entity. See RFC-0027 for details on tuning this alongside route emit interval." + default: 1024 + cc.core_file_pattern: description: "Filename template for core dump files. Use an empty string if you don't want core files saved." default: "/var/vcap/sys/cores/core-%e-%s-%p-%t" 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 f9261bc4ed..95f1a23a00 100644 --- a/jobs/cloud_controller_ng/templates/cloud_controller_ng.yml.erb +++ b/jobs/cloud_controller_ng/templates/cloud_controller_ng.yml.erb @@ -86,6 +86,7 @@ custom_root_links.to_json reserved_private_domains: <%= p("cc.reserved_private_domains", nil) %> disable_private_domain_cross_space_context_path_route_sharing: <%= p("cc.disable_private_domain_cross_space_context_path_route_sharing", false) %> +max_route_options_size: <%= p("cc.max_route_options_size") %> jobs: enable_dynamic_job_priorities: <%= p("cc.jobs.enable_dynamic_job_priorities") %> 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 a081ce9859..d45b7f4df2 100644 --- a/jobs/cloud_controller_worker/templates/cloud_controller_ng.yml.erb +++ b/jobs/cloud_controller_worker/templates/cloud_controller_ng.yml.erb @@ -351,6 +351,7 @@ system_domain: <%= p("system_domain") %> system_hostnames: <%= link("cloud_controller_internal").p("cc.system_hostnames") %> disable_private_domain_cross_space_context_path_route_sharing: <%= link("cloud_controller_internal").p("cc.disable_private_domain_cross_space_context_path_route_sharing") %> +max_route_options_size: <%= link("cloud_controller_internal").p("cc.max_route_options_size") %> max_service_credential_bindings_per_app_service_instance: <%= link("cloud_controller_internal").p("cc.max_service_credential_bindings_per_app_service_instance") %> diff --git a/spec/cloud_controller_worker/cloud_controller_worker_spec.rb b/spec/cloud_controller_worker/cloud_controller_worker_spec.rb index b5e0ebfc05..2b6f5689e2 100644 --- a/spec/cloud_controller_worker/cloud_controller_worker_spec.rb +++ b/spec/cloud_controller_worker/cloud_controller_worker_spec.rb @@ -74,6 +74,7 @@ module Test }, 'max_labels_per_resource' => true, 'max_annotations_per_resource' => 'yus', + 'max_route_options_size' => 1024, 'disable_private_domain_cross_space_context_path_route_sharing' => false, 'cpu_weight_min_memory' => 128, 'cpu_weight_max_memory' => 8192,