diff --git a/.version b/.version index 9ee1f78..ccad953 100644 --- a/.version +++ b/.version @@ -1 +1 @@ -1.1.11 +1.1.12 diff --git a/init/basecamp-init.sh b/init/basecamp-init.sh index 95c1423..199039b 100755 --- a/init/basecamp-init.sh +++ b/init/basecamp-init.sh @@ -32,7 +32,6 @@ fi BASECAMP_PIDFILE="$1" BASECAMP_CIDFILE="$2" BASECAMP_CONTAINER_NAME="${3-metal\-basecamp}" -BASECAMP_VOLUME_NAME="${4:-${BASECAMP_CONTAINER_NAME}-configs}" BASECAMP_IMAGE_PATH="@@basecamp-path@@" BASECAMP_IMAGE="@@basecamp-image@@" @@ -72,7 +71,12 @@ if ! podman inspect "$BASECAMP_CONTAINER_NAME" ; then rm -f "$BASECAMP_CIDFILE" || exit # Load basecamp image if it doesn't already exist if ! podman image inspect "$BASECAMP_IMAGE" >dev/null; then - podman load "$BASECAMP_IMAGE_PATH" "$BASECAMP_IMAGE" || exit + # load the image + podman load -i "$BASECAMP_IMAGE_PATH" || exit + # get the image id + BASECAMP_IMAGE_ID=$(podman images --noheading --format "{{.Id}}" --filter label="org.label-schema.name=$BASECAMP_CONTAINER_NAME") + # tag the image + podman tag "$BASECAMP_IMAGE_ID" "$BASECAMP_IMAGE" fi podman create \ --conmon-pidfile "$BASECAMP_PIDFILE" \ diff --git a/init/basecamp.service b/init/basecamp.service index 729a667..f0fa259 100644 --- a/init/basecamp.service +++ b/init/basecamp.service @@ -7,12 +7,14 @@ After=network-online.target [Service] Restart=on-failure Environment=GIN_MODE=release -ExecStartPre=/usr/sbin/basecamp-init.sh %t/%n-pid %t/%n-cid basecamp +ExecStartPre=/usr/sbin/basecamp-init.sh %t/%n-pid %t/%n-cid metal-basecamp ExecStart=/usr/bin/podman start basecamp ExecStop=/usr/bin/podman stop --ignore -t 10 basecamp PIDFile=%t/%n-pid -KillMode=none +# all remaining processes in the control group of this unit will be killed on unit stop +# https://www.suse.com/support/kb/doc/?id=000020394 +KillMode=control-group Type=forking [Install] -WantedBy=multi-user.target \ No newline at end of file +WantedBy=multi-user.target