summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoropenshift-ci[bot] <75433959+openshift-ci[bot]@users.noreply.github.com>2022-07-01 10:55:42 +0000
committerGitHub <noreply@github.com>2022-07-01 10:55:42 +0000
commitdc2a93421b184e7176a5893c515a907b542c762e (patch)
tree5003e0b2e329df57b0783d4f768e9855a33ee672
parent96e72d90b8a6b1d9fb71dadfddff1ed4ccf05857 (diff)
parent9c658f49071a31cb776eade600b092868345da97 (diff)
downloadpodman-dc2a93421b184e7176a5893c515a907b542c762e.tar.gz
podman-dc2a93421b184e7176a5893c515a907b542c762e.tar.bz2
podman-dc2a93421b184e7176a5893c515a907b542c762e.zip
Merge pull request #14788 from vrothberg/rename-template
podman-play-kube template: rename to podman-kube
-rw-r--r--Makefile6
-rw-r--r--contrib/systemd/system/podman-kube@.service.in (renamed from contrib/systemd/system/podman-play-kube@.service.in)0
-rw-r--r--docs/source/markdown/podman-generate-systemd.1.md11
-rw-r--r--docs/source/markdown/podman-play-kube.1.md13
-rw-r--r--podman.spec.rpkg4
-rw-r--r--test/system/250-systemd.bats6
6 files changed, 32 insertions, 8 deletions
diff --git a/Makefile b/Makefile
index b6e143cea..781e491fe 100644
--- a/Makefile
+++ b/Makefile
@@ -808,7 +808,7 @@ ifneq (,$(findstring systemd,$(BUILDTAGS)))
PODMAN_UNIT_FILES = contrib/systemd/auto-update/podman-auto-update.service \
contrib/systemd/system/podman.service \
contrib/systemd/system/podman-restart.service \
- contrib/systemd/system/podman-play-kube@.service
+ contrib/systemd/system/podman-kube@.service
%.service: %.service.in
sed -e 's;@@PODMAN@@;$(BINDIR)/podman;g' $< >$@.tmp.$$ \
@@ -822,14 +822,14 @@ install.systemd: $(PODMAN_UNIT_FILES)
install ${SELINUXOPT} -m 644 contrib/systemd/system/podman.socket ${DESTDIR}${USERSYSTEMDDIR}/podman.socket
install ${SELINUXOPT} -m 644 contrib/systemd/system/podman.service ${DESTDIR}${USERSYSTEMDDIR}/podman.service
install ${SELINUXOPT} -m 644 contrib/systemd/system/podman-restart.service ${DESTDIR}${USERSYSTEMDDIR}/podman-restart.service
- install ${SELINUXOPT} -m 644 contrib/systemd/system/podman-play-kube@.service ${DESTDIR}${USERSYSTEMDDIR}/podman-play-kube@.service
+ install ${SELINUXOPT} -m 644 contrib/systemd/system/podman-kube@.service ${DESTDIR}${USERSYSTEMDDIR}/podman-kube@.service
# System services
install ${SELINUXOPT} -m 644 contrib/systemd/auto-update/podman-auto-update.service ${DESTDIR}${SYSTEMDDIR}/podman-auto-update.service
install ${SELINUXOPT} -m 644 contrib/systemd/auto-update/podman-auto-update.timer ${DESTDIR}${SYSTEMDDIR}/podman-auto-update.timer
install ${SELINUXOPT} -m 644 contrib/systemd/system/podman.socket ${DESTDIR}${SYSTEMDDIR}/podman.socket
install ${SELINUXOPT} -m 644 contrib/systemd/system/podman.service ${DESTDIR}${SYSTEMDDIR}/podman.service
install ${SELINUXOPT} -m 644 contrib/systemd/system/podman-restart.service ${DESTDIR}${SYSTEMDDIR}/podman-restart.service
- install ${SELINUXOPT} -m 644 contrib/systemd/system/podman-play-kube@.service ${DESTDIR}${SYSTEMDDIR}/podman-play-kube@.service
+ install ${SELINUXOPT} -m 644 contrib/systemd/system/podman-kube@.service ${DESTDIR}${SYSTEMDDIR}/podman-kube@.service
rm -f $(PODMAN_UNIT_FILES)
else
install.systemd:
diff --git a/contrib/systemd/system/podman-play-kube@.service.in b/contrib/systemd/system/podman-kube@.service.in
index 824f71eb0..824f71eb0 100644
--- a/contrib/systemd/system/podman-play-kube@.service.in
+++ b/contrib/systemd/system/podman-kube@.service.in
diff --git a/docs/source/markdown/podman-generate-systemd.1.md b/docs/source/markdown/podman-generate-systemd.1.md
index 8c3c32d04..56ad4e446 100644
--- a/docs/source/markdown/podman-generate-systemd.1.md
+++ b/docs/source/markdown/podman-generate-systemd.1.md
@@ -14,6 +14,17 @@ Generating unit files for a pod requires the pod to be created with an infra con
_Note: If you use this command with the remote client, including Mac and Windows (excluding WSL2) machines, you would still have to place the generated units on the remote system. Moreover, please make sure that the XDG_RUNTIME_DIR environment variable is set. If unset, you may set it via `export XDG_RUNTIME_DIR=/run/user/$(id -u)`._
+### Kubernetes Integration
+
+A Kubernetes YAML can be executed in systemd via the `podman-kube@.service` systemd template. The template's argument is the path to the YAML file. Given a `workload.yaml` file in the home directory, it can be executed as follows:
+
+```
+$ escaped=$(systemd-escape ~/sysadmin.yaml)
+$ systemctl --user start podman-kube@$escaped.service
+$ systemctl --user is-active podman-kube@$escaped.service
+active
+```
+
## OPTIONS
#### **--after**=*dependency_name*
diff --git a/docs/source/markdown/podman-play-kube.1.md b/docs/source/markdown/podman-play-kube.1.md
index 1c7fc99a2..92cb694b0 100644
--- a/docs/source/markdown/podman-play-kube.1.md
+++ b/docs/source/markdown/podman-play-kube.1.md
@@ -103,6 +103,19 @@ spec:
and as a result environment variable `FOO` will be set to `bar` for container `container-1`.
+### Systemd Integration
+
+A Kubernetes YAML can be executed in systemd via the `podman-kube@.service` systemd template. The template's argument is the path to the YAML file. Given a `workload.yaml` file in the home directory, it can be executed as follows:
+
+```
+$ escaped=$(systemd-escape ~/sysadmin.yaml)
+$ systemctl --user start podman-kube@$escaped.service
+$ systemctl --user is-active podman-kube@$escaped.service
+active
+```
+
+Note that the path to the YAML file must be escaped via `systemd-escape`.
+
## OPTIONS
#### **--annotation**=*key=value*
diff --git a/podman.spec.rpkg b/podman.spec.rpkg
index c9127c2d9..30653b658 100644
--- a/podman.spec.rpkg
+++ b/podman.spec.rpkg
@@ -226,13 +226,13 @@ done
%{_unitdir}/%{name}.service
%{_unitdir}/%{name}.socket
%{_unitdir}/%{name}-restart.service
-%{_unitdir}/%{name}-play-kube@.service
+%{_unitdir}/%{name}-kube@.service
%{_userunitdir}/%{name}-auto-update.service
%{_userunitdir}/%{name}-auto-update.timer
%{_userunitdir}/%{name}.service
%{_userunitdir}/%{name}.socket
%{_userunitdir}/%{name}-restart.service
-%{_userunitdir}/%{name}-play-kube@.service
+%{_userunitdir}/%{name}-kube@.service
%{_tmpfilesdir}/%{name}.conf
%if 0%{?fedora} >= 36
%{_modulesloaddir}/%{name}-iptables.conf
diff --git a/test/system/250-systemd.bats b/test/system/250-systemd.bats
index e251e8a6d..fc3c33975 100644
--- a/test/system/250-systemd.bats
+++ b/test/system/250-systemd.bats
@@ -295,12 +295,12 @@ LISTEN_FDNAMES=listen_fdnames" | sort)
run_podman network rm -f $netname
}
-@test "podman-play-kube@.service template" {
+@test "podman-kube@.service template" {
skip_if_remote "systemd units do not work with remote clients"
# If running from a podman source directory, build and use the source
# version of the play-kube-@ unit file
- unit_name="podman-play-kube@.service"
+ unit_name="podman-kube@.service"
unit_file="contrib/systemd/system/${unit_name}"
if [[ -e ${unit_file}.in ]]; then
echo "# [Building & using $unit_name from source]" >&3
@@ -329,7 +329,7 @@ spec:
EOF
# Dispatch the YAML file
- service_name="podman-play-kube@$(systemd-escape $yaml_source).service"
+ service_name="podman-kube@$(systemd-escape $yaml_source).service"
systemctl start $service_name
systemctl is-active $service_name