When creating a config-server service, it failed with error "The app is invalid: health_check_timeout Maximum exceeded: max 600s", as shown below.
$ cf create-service p.config-server standard c1
Creating service instance c1 in org system / space system as admin...
Create in progress. Use 'cf services' or 'cf service c1' to check operation status.
OK
$ cf service c1
Showing info of service c1 in org system / space system as admin...
name: c1
guid: f3169f9c-xxxx-xxxx-xxxx-8caf3a752bb6
type: managed
broker: scs-service-broker
offering: p.config-server
plan: standard
tags:
offering tags: configuration, spring-cloud
description: Service to provide configuration to applications at runtime.
documentation:
dashboard url: https://config-server-f3169f9c-xxxx-xxxx-xxxx-8caf3a752bb6.example.com/dashboard
Showing status of last operation:
status: create failed
message: CF-AppInvalid(100001): The app is invalid: health_check_timeout Maximum exceeded: max 600s
started: 2025-02-20T01:26:25Z
updated: 2025-02-20T01:26:25Z
Showing bound apps:
There are no bound apps for this service instance.
Showing sharing info:
This service instance is not currently being shared.
The "service_instance_sharing" feature flag is disabled for this Cloud Foundry platform.
Showing upgrade status:
Upgrades are not supported by this broker.
There are also same error messages in SCS broker logs.
2025-02-20T01:25:28.821Z ERROR 36 --- [ry-client-nio-4] o.s.c.a.s.WorkflowServiceInstanceService : Error creating service instance. error=CF-AppInvalid(100001): The app is invalid: health_check_timeout Maximum exceeded: max 600s
org.cloudfoundry.client.v2.ClientV2Exception: CF-AppInvalid(100001): The app is invalid: health_check_timeout Maximum exceeded: max 600s
at org.cloudfoundry.reactor.util.ErrorPayloadMappers.lambda$null$0(ErrorPayloadMappers.java:49) ~[cloudfoundry-client-reactor-5.10.0.RELEASE.jar!/:na]
Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException:
......
As it's stated in the TAS document:
There is an property called App push timeout on the Spring Cloud Services tile Settings page (SCS Service Broker pane, as shown below). If this property is not left blank and configured with some value, the value will be used to set timeout
attribute of the manifest for pushing the backend app of config-server service.
If the App push timeout property is configured with some value over 600, "The app is invalid: health_check_timeout Maximum exceeded: max 600s" error will be returned by cloud_controller when SCS broker attempts to deploy config-server backend app.
Leave App push timeout property empty on the Spring Cloud Services tile Settings page to take the default values. Or don't set it to a value larger than 600. Note that "Apply Changes" against Spring Cloud Services tile is needed if change is made to this property.
The Spring Cloud Services product team are also considering to enforce App push timeout property not being set to a value over 600.