Infrastructure repository build upon ansible, podman and systemd.
| .ansible | ||
| .woodpecker | ||
| docs | ||
| oneshots | ||
| playbooks | ||
| roles | ||
| .ansible-lint.yml | ||
| .editorconfig | ||
| .gitignore | ||
| ansible.cfg | ||
| cliff.toml | ||
| Justfile | ||
| LICENSE | ||
| README.md | ||
| renovate.json | ||
Infrastructure
Description
This repository aims to provide containerized services by leveraging the Podman container engine to deploy services and systemd to control their lifecycle.
Systemd services are generated by Podman's systemd-generator quadlet.
SELinux is supported.
Requirements
Kernel version
- minimum: >= 4.15
- support for
devicecontroller on cgroupsv2
- support for
- recommended:
- >= 5.2
- support for
freezeron cgroupsv2, mitigating rootful TOCTOU attacks
- support for
- >= 5.13
- support for rootless overlay mounts, removing the need for
fuse-overlayfs
- support for rootless overlay mounts, removing the need for
- >= 5.2
Systemd version
- minimum: >= 226
- needed for cgroupsv2
- recommended: >= 244
- if you want to delegate the
cpusetcontroller
- if you want to delegate the
Podman version
- minimum: >= 4.6.0
- needed for quadlet
PodmanArgssupport
- needed for quadlet
- recommended: >= 4.8.0
- various quadlet fixes and nice-to-haves
Container runtime
crun is the default container runtime used by podman and in this repository.
Network backend
netavark is the default network backend since podman 4.0 and has been used in
this repository since then.
The CNI backend was deprecated and removed in podman 5.0.
License
This repository is licensed under GPL-3.
Special Mentions
This repository was mainly inspired by Sheogorath and his (now archived in favor of his kubernetes infrastructure repository) infrastructure repository