Add Startup HealthCheck configuration to the podman inspect

Signed-off-by: Jan Rodák <hony.com@seznam.cz>
This commit is contained in:
Jan Rodák 2024-10-24 13:23:44 +02:00
parent 70d581029b
commit afedb83917
No known key found for this signature in database
GPG Key ID: D458A9B20435C2BF
3 changed files with 7 additions and 0 deletions

View File

@ -427,6 +427,8 @@ func (c *Container) generateInspectContainerConfig(spec *spec.Spec) *define.Insp
ctrConfig.StopSignal = signal.ToDockerFormat(c.config.StopSignal)
// TODO: should JSON deep copy this to ensure internal pointers don't
// leak.
ctrConfig.StartupHealthCheck = c.config.StartupHealthCheckConfig
ctrConfig.Healthcheck = c.config.HealthCheckConfig
ctrConfig.HealthcheckOnFailureAction = c.config.HealthCheckOnFailureAction.String()

View File

@ -57,6 +57,8 @@ type InspectContainerConfig struct {
Annotations map[string]string `json:"Annotations"`
// Container stop signal
StopSignal string `json:"StopSignal"`
// Configured startup healthcheck for the container
StartupHealthCheck *StartupHealthCheck `json:"StartupHealthCheck,omitempty"`
// Configured healthcheck for the container
Healthcheck *manifest.Schema2HealthConfig `json:"Healthcheck,omitempty"`
// HealthcheckOnFailureAction defines an action to take once the container turns unhealthy.

View File

@ -67,6 +67,9 @@ function _check_health {
run_podman inspect $ctrname --format "{{.Config.HealthcheckOnFailureAction}}"
is "$output" "kill" "on-failure action is set to kill"
run_podman inspect $ctrname --format "{{.Config.StartupHealthCheck.Test}}"
is "$output" "[CMD-SHELL /home/podman/healthcheck]" ".Config.StartupHealthCheck.Test"
current_time=$(date --iso-8601=ns)
# We can't check for 'starting' because a 1-second interval is too
# short; it could run healthcheck before we get to our first check.