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 @@ -170,6 +170,7 @@ provides:
170170 - cc.logging.format.timestamp
171171 - cc.logging_level
172172 - cc.logging_max_retries
173+ - cc.max_service_credential_bindings_per_app_service_instance
173174 - cc.max_labels_per_resource
174175 - cc.max_annotations_per_resource
175176 - cc.maximum_health_check_timeout
@@ -894,6 +895,14 @@ properties:
894895 default: false
895896 description: "Enable development features for monitoring and insight"
896897
898+ cc.max_service_credential_bindings_per_app_service_instance:
899+ default: 1
900+ description: |
901+ Maximum number of service credential bindings allowed per app–service instance pair.
902+ A value of 1 (default) enforces a single binding per app–service instance pair.
903+ Higher values enable multiple bindings, e.g. for credential rotation without app redeployments.
904+ Must be an integer greater than or equal to 1.
905+
897906 cc.max_annotations_per_resource:
898907 description: "Maximum number of annotations allowed on any single resource. Too many annotations may degrade performance of annotation selectors."
899908 default: 200
Original file line number Diff line number Diff line change @@ -565,6 +565,7 @@ diego:
565565perm:
566566 enabled: false
567567
568+ max_service_credential_bindings_per_app_service_instance: <%= p("cc.max_service_credential_bindings_per_app_service_instance") %>
568569max_labels_per_resource: <%= p("cc.max_labels_per_resource") %>
569570max_annotations_per_resource: <%= p("cc.max_annotations_per_resource") %>
570571
Original file line number Diff line number Diff line change @@ -353,6 +353,8 @@ internal_route_vip_range: <%= internal_vip_range %>
353353
354354disable_private_domain_cross_space_context_path_route_sharing: <%= link("cloud_controller_internal").p("cc.disable_private_domain_cross_space_context_path_route_sharing") %>
355355
356+ max_service_credential_bindings_per_app_service_instance: <%= link("cloud_controller_internal").p("cc.max_service_credential_bindings_per_app_service_instance") %>
357+
356358max_labels_per_resource: <%= link("cloud_controller_internal").p("cc.max_labels_per_resource") %>
357359max_annotations_per_resource: <%= link("cloud_controller_internal").p("cc.max_annotations_per_resource") %>
358360custom_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 @@ -993,6 +993,22 @@ module Test
993993 end
994994 end
995995 end
996+
997+ context 'with max_service_credential_bindings_per_app_service_instance parameter' do
998+ it 'defaults to 1' do
999+ template_hash = YAML . safe_load ( template . render ( merged_manifest_properties , consumes : links ) )
1000+ expect ( template_hash [ 'max_service_credential_bindings_per_app_service_instance' ] ) . to eq ( 1 )
1001+ end
1002+
1003+ context 'when set in the manifest' do
1004+ before { merged_manifest_properties [ 'cc' ] [ 'max_service_credential_bindings_per_app_service_instance' ] = 5 }
1005+
1006+ it 'renders the value from the manifest' do
1007+ template_hash = YAML . safe_load ( template . render ( merged_manifest_properties , consumes : links ) )
1008+ expect ( template_hash [ 'max_service_credential_bindings_per_app_service_instance' ] ) . to eq ( 5 )
1009+ end
1010+ end
1011+ end
9961012 end
9971013 end
9981014 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