File tree Expand file tree Collapse file tree 5 files changed +30
-1
lines changed
cloud_controller_worker/templates Expand file tree Collapse file tree 5 files changed +30
-1
lines changed Original file line number Diff line number Diff line change @@ -167,6 +167,7 @@ provides:
167167 - cc.logging.format.timestamp
168168 - cc.logging_level
169169 - cc.logging_max_retries
170+ - cc.max_service_credential_bindings_per_app_service_instance
170171 - cc.max_labels_per_resource
171172 - cc.max_annotations_per_resource
172173 - cc.maximum_health_check_timeout
@@ -895,6 +896,14 @@ properties:
895896 default: false
896897 description: "Enable development features for monitoring and insight"
897898
899+ cc.max_service_credential_bindings_per_app_service_instance:
900+ default: 1
901+ description: |
902+ Maximum number of service credential bindings allowed per app–service instance pair.
903+ A value of 1 (default) enforces a single binding per app–service instance pair.
904+ Higher values enable multiple bindings, e.g. for credential rotation without app redeployments.
905+ Must be an integer greater than or equal to 1.
906+
898907 cc.max_annotations_per_resource:
899908 description: "Maximum number of annotations allowed on any single resource. Too many annotations may degrade performance of annotation selectors."
900909 default: 200
Original file line number Diff line number Diff line change @@ -566,6 +566,7 @@ diego:
566566perm:
567567 enabled: false
568568
569+ max_service_credential_bindings_per_app_service_instance: <%= p("cc.max_service_credential_bindings_per_app_service_instance") %>
569570max_labels_per_resource: <%= p("cc.max_labels_per_resource") %>
570571max_annotations_per_resource: <%= p("cc.max_annotations_per_resource") %>
571572
Original file line number Diff line number Diff line change @@ -344,6 +344,8 @@ system_hostnames: <%= link("cloud_controller_internal").p("cc.system_hostnames")
344344
345345disable_private_domain_cross_space_context_path_route_sharing: <%= link("cloud_controller_internal").p("cc.disable_private_domain_cross_space_context_path_route_sharing") %>
346346
347+ max_service_credential_bindings_per_app_service_instance: <%= link("cloud_controller_internal").p("cc.max_service_credential_bindings_per_app_service_instance") %>
348+
347349max_labels_per_resource: <%= link("cloud_controller_internal").p("cc.max_labels_per_resource") %>
348350max_annotations_per_resource: <%= link("cloud_controller_internal").p("cc.max_annotations_per_resource") %>
349351custom_metric_tag_prefix_list: <%= link("cloud_controller_internal").p("cc.custom_metric_tag_prefix_list") %>
Original file line number Diff line number Diff line change @@ -964,6 +964,22 @@ module Test
964964 end
965965 end
966966 end
967+
968+ context 'with max_service_credential_bindings_per_app_service_instance parameter' do
969+ it 'defaults to 1' do
970+ template_hash = YAML . safe_load ( template . render ( merged_manifest_properties , consumes : links ) )
971+ expect ( template_hash [ 'max_service_credential_bindings_per_app_service_instance' ] ) . to eq ( 1 )
972+ end
973+
974+ context 'when set in the manifest' do
975+ before { merged_manifest_properties [ 'cc' ] [ 'max_service_credential_bindings_per_app_service_instance' ] = 5 }
976+
977+ it 'renders the value from the manifest' do
978+ template_hash = YAML . safe_load ( template . render ( merged_manifest_properties , consumes : links ) )
979+ expect ( template_hash [ 'max_service_credential_bindings_per_app_service_instance' ] ) . to eq ( 5 )
980+ end
981+ end
982+ end
967983 end
968984 end
969985 end
Original file line number Diff line number Diff line change @@ -86,7 +86,8 @@ module Test
8686 'packages' => {
8787 'max_valid_packages_stored' => 5
8888 } ,
89- 'default_app_lifecycle' => 'cnb'
89+ 'default_app_lifecycle' => 'cnb' ,
90+ 'max_service_credential_bindings_per_app_service_instance' => 1
9091 }
9192 }
9293 end
You can’t perform that action at this time.
0 commit comments