summaryrefslogtreecommitdiff
path: root/libpod/healthcheck_linux.go
diff options
context:
space:
mode:
authorMarco Munizaga <git@marcopolo.io>2020-11-19 11:21:40 -0800
committerMarco Munizaga <git@marcopolo.io>2020-11-23 10:26:02 -0800
commita8cb43d3a96f173a6f33f7f11325a51b55587a37 (patch)
treed66f510b2f7fb32552de9a75430acc219723659b /libpod/healthcheck_linux.go
parente239bfa15ba7e5718b511e0f949679ba5b7037c4 (diff)
downloadpodman-a8cb43d3a96f173a6f33f7f11325a51b55587a37.tar.gz
podman-a8cb43d3a96f173a6f33f7f11325a51b55587a37.tar.bz2
podman-a8cb43d3a96f173a6f33f7f11325a51b55587a37.zip
Set PATH env in systemd timer.
This fixes an issue where binaries that are in the path of the original podman process are not found in the transient systemd timer for healthchecks. This showed up for me on a NixOS machine since binaries are not installed in the usual places. Signed-off-by: Marco Munizaga <git@marcopolo.io>
Diffstat (limited to 'libpod/healthcheck_linux.go')
-rw-r--r--libpod/healthcheck_linux.go4
1 files changed, 4 insertions, 0 deletions
diff --git a/libpod/healthcheck_linux.go b/libpod/healthcheck_linux.go
index b0f1ff35d..0ad15da09 100644
--- a/libpod/healthcheck_linux.go
+++ b/libpod/healthcheck_linux.go
@@ -26,6 +26,10 @@ func (c *Container) createTimer() error {
if rootless.IsRootless() {
cmd = append(cmd, "--user")
}
+ path := os.Getenv("PATH")
+ if path != "" {
+ cmd = append(cmd, "--setenv=PATH="+path)
+ }
cmd = append(cmd, "--unit", c.ID(), fmt.Sprintf("--on-unit-inactive=%s", c.HealthCheckConfig().Interval.String()), "--timer-property=AccuracySec=1s", podman, "healthcheck", "run", c.ID())
conn, err := systemd.ConnectToDBUS()