mirror of https://github.com/containers/podman.git
Merge pull request #14788 from vrothberg/rename-template
podman-play-kube template: rename to podman-kube
This commit is contained in:
commit
dc2a93421b
6
Makefile
6
Makefile
|
@ -808,7 +808,7 @@ ifneq (,$(findstring systemd,$(BUILDTAGS)))
|
||||||
PODMAN_UNIT_FILES = contrib/systemd/auto-update/podman-auto-update.service \
|
PODMAN_UNIT_FILES = contrib/systemd/auto-update/podman-auto-update.service \
|
||||||
contrib/systemd/system/podman.service \
|
contrib/systemd/system/podman.service \
|
||||||
contrib/systemd/system/podman-restart.service \
|
contrib/systemd/system/podman-restart.service \
|
||||||
contrib/systemd/system/podman-play-kube@.service
|
contrib/systemd/system/podman-kube@.service
|
||||||
|
|
||||||
%.service: %.service.in
|
%.service: %.service.in
|
||||||
sed -e 's;@@PODMAN@@;$(BINDIR)/podman;g' $< >$@.tmp.$$ \
|
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.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.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-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
|
# 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.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/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.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.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-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)
|
rm -f $(PODMAN_UNIT_FILES)
|
||||||
else
|
else
|
||||||
install.systemd:
|
install.systemd:
|
||||||
|
|
|
@ -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)`._
|
_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
|
## OPTIONS
|
||||||
|
|
||||||
#### **--after**=*dependency_name*
|
#### **--after**=*dependency_name*
|
||||||
|
|
|
@ -103,6 +103,19 @@ spec:
|
||||||
|
|
||||||
and as a result environment variable `FOO` will be set to `bar` for container `container-1`.
|
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
|
## OPTIONS
|
||||||
|
|
||||||
#### **--annotation**=*key=value*
|
#### **--annotation**=*key=value*
|
||||||
|
|
|
@ -226,13 +226,13 @@ done
|
||||||
%{_unitdir}/%{name}.service
|
%{_unitdir}/%{name}.service
|
||||||
%{_unitdir}/%{name}.socket
|
%{_unitdir}/%{name}.socket
|
||||||
%{_unitdir}/%{name}-restart.service
|
%{_unitdir}/%{name}-restart.service
|
||||||
%{_unitdir}/%{name}-play-kube@.service
|
%{_unitdir}/%{name}-kube@.service
|
||||||
%{_userunitdir}/%{name}-auto-update.service
|
%{_userunitdir}/%{name}-auto-update.service
|
||||||
%{_userunitdir}/%{name}-auto-update.timer
|
%{_userunitdir}/%{name}-auto-update.timer
|
||||||
%{_userunitdir}/%{name}.service
|
%{_userunitdir}/%{name}.service
|
||||||
%{_userunitdir}/%{name}.socket
|
%{_userunitdir}/%{name}.socket
|
||||||
%{_userunitdir}/%{name}-restart.service
|
%{_userunitdir}/%{name}-restart.service
|
||||||
%{_userunitdir}/%{name}-play-kube@.service
|
%{_userunitdir}/%{name}-kube@.service
|
||||||
%{_tmpfilesdir}/%{name}.conf
|
%{_tmpfilesdir}/%{name}.conf
|
||||||
%if 0%{?fedora} >= 36
|
%if 0%{?fedora} >= 36
|
||||||
%{_modulesloaddir}/%{name}-iptables.conf
|
%{_modulesloaddir}/%{name}-iptables.conf
|
||||||
|
|
|
@ -295,12 +295,12 @@ LISTEN_FDNAMES=listen_fdnames" | sort)
|
||||||
run_podman network rm -f $netname
|
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"
|
skip_if_remote "systemd units do not work with remote clients"
|
||||||
|
|
||||||
# If running from a podman source directory, build and use the source
|
# If running from a podman source directory, build and use the source
|
||||||
# version of the play-kube-@ unit file
|
# 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}"
|
unit_file="contrib/systemd/system/${unit_name}"
|
||||||
if [[ -e ${unit_file}.in ]]; then
|
if [[ -e ${unit_file}.in ]]; then
|
||||||
echo "# [Building & using $unit_name from source]" >&3
|
echo "# [Building & using $unit_name from source]" >&3
|
||||||
|
@ -329,7 +329,7 @@ spec:
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
# Dispatch the YAML file
|
# 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 start $service_name
|
||||||
systemctl is-active $service_name
|
systemctl is-active $service_name
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue