lifecycle.md 2.8 KB

Lifecycle

Assume every key below has a prefix of workload.[workload-name].podSpec.containers.[container-name].

Key Type Required Helm Template Default Description
lifecycle dict {} Define lifecycle for the container
lifecycle.preStop dict {} Define preStop lifecycle
lifecycle.postStart dict {} Define preStop lifecycle
lifecycle.[hook].type string "" Define hook type (exec, http, https) (Used as a scheme in http(s) types)
lifecycle.[hook].command list/string ✅ (On exec type) "" Define command(s). If it's single, can be defined as string (Only when exec type is used)
lifecycle.[hook].port int ✅ (On http type) "" Define the port, (Only when http(s) type is used)
lifecycle.[hook].host string Define the host, k8s defaults to POD IP (Only when http(s) type is used)
lifecycle.[hook].path string / Define the path (Only when http(s) type is used)
lifecycle.[hook].httpHeaders dict ✅ (On value only) {} Define the httpHeaders in key-value pairs (Only when http(s) type is used)

Appears in:

  • .Values.workload.[workload-name].podSpec.containers.[container-name].lifecycle

Examples:

workload:
  workload-name:
    enabled: true
    primary: true
    podSpec:
      containers:
        container-name:
          enabled: true
          primary: true
          lifecycle:
            preStop:
              type: exec
              command:
                - command
            postStart:
              type: http
              port: 8080
              host: localhost
              path: /path
              httpHeaders:
                key: value