Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Readiness health checks story 4 manifest endpoints #3368

Conversation

mariash
Copy link
Member

@mariash mariash commented Aug 1, 2023

This PR is part of a larger effort detailed here in this Cloud Controller PR and here in this CFF RFC.

In this story

  • readiness health check properties are returned by /v3/apps/:guid/manifest endpoint.
  • documentation is updated for /v3/apps/:guid/manifest endpoint to include example of readiness health check properties.
  • cf create-app-manifest returns readiness health check properties in the generated manifest as a result of the above change
  • whenever readiness health check properties are changed cf push properly displays the diff for updates. /v3/spaces/:space_guid/manifest_diff was changed to return diff for readiness health check properties.
---
applications:
- name: my-app
  stack: cflinuxfs4
  services:
  - my-service
  routes:
  - route: my-app.example.com
    protocol: http1
  processes:
  - type: web
    instances: 2
    memory: 512M
    log-rate-limit-per-second: 1KB
    disk_quota: 1024M
    health-check-type: http
    health-check-http-endpoint: /healthy
    health-check-invocation-timeout: 10             # 👈 new property
    readiness-health-check-type: http               # 👈 new property
    readiness-health-check-http-endpoint: /ready    # 👈 new property
    readiness-health-check-invocation-timeout: 20   # 👈 new property

Please note: health-check-invocation-timeout property was not exposed before. Please let us know if this was done intentionally. It was added to be consistent with readiness-health-check-invocation-timeout.

Acceptance Setup

  1. Deploy capi-release with this PR.
  2. Push an app without readiness health check properties
    1. cf curl /v3/apps/:guid/manifest should return readiness-health-check-type: process
    2. cf create-app-manifest app-name should generate manifest with readiness-health-check-type: process
  3. Push an app with readiness health check properties in the manifest for the app:
    readiness-health-check-http-endpoint: /ready
    readiness-health-check-invocation-timeout: 2
    readiness-health-check-type: http
    
    1. cf curl /v3/apps/:guid/manifest should return these properties
    2. cf create-app-manifest app-name should return these properties
  4. When changing one of the properties in the manifest and updating an app a proper diff is displayed.

@sethboyles sethboyles merged commit cda279e into cloudfoundry:readiness-health-checks Aug 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants