[PR #1041] [MERGED] Add podman support to the installer #2418

Closed
opened 2026-04-16 09:23:48 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/fosrl/pangolin/pull/1041
Author: @wayneyaoo
Created: 7/9/2025
Status: Merged
Merged: 7/23/2025
Merged by: @oschwartz10612

Base: mainHead: feature/podman-installer


📝 Commits (7)

  • e0cf091 Add a few targets to the Makefile to ease local development
  • 607b168 Use explicity FQDN image path because Podman by default doesn't have unqualified-search, and we don't bother configuring it for users. Being explicit is also a good practice
  • e83e8c2 Add podman support to the installer.
  • 515a621 Merge branch 'feature/podman-installer' of github.com:wayneyaoo/pangolin into wayneyaoo-feature/podman-installer
  • 3426752 Add type & cap
  • c484e98 Merge branch 'fosrl:main' into feature/podman-installer
  • 4443dda Fix a bug that error check prevents port configuration

📊 Changes

6 files changed (+201 additions, -67 deletions)

View changed files

📝 install/Makefile (+15 -2)
📝 install/config/crowdsec/docker-compose.yml (+1 -1)
📝 install/config/docker-compose.yml (+3 -3)
📝 install/crowdsec.go (+6 -6)
📝 install/input.txt (+1 -0)
📝 install/main.go (+175 -55)

📄 Description

Community Contribution License Agreement

By creating this pull request, I grant the project maintainers an unlimited,
perpetual license to use, modify, and redistribute these contributions under any terms they
choose, including both the AGPLv3 and the Fossorial Commercial license terms. I
represent that I have the right to grant this license for all contributed content.

Description

The change primarily adds support for podman installation within the installer. The installer will prompt for selection between docker (the default) and podman.

A few points to notice:

  1. If podman and podman-compose are not available, the installer will exit. This is by design at the moment because installing for people like what the installer does to docker is involving. If this is needed, I can do that in later iterations.
  2. I added docker.io to the compose template file. This is because for freshly installed podman, it needs to add an entry to the registeries.conf so that image short name resolves. But I don't think editing this on behalf of people makes a lot of sense, so I resort to use explicit full name in the image entry. This has benefit to docker too because explicitness is still better than being implicit.
  3. I added a few targets to the Makefile without breaking existing ones in CI. This is easier for local dev.

How to test?

Spin up a Debian/Ubtuntu machine and manually install podman and podman-compose, then run the installer.

For some reason, Debian 12 default podman and podman-compose's versions are too old and they have problem processing the docker-compose.yml. I believe this is version-specific, not distro-specific. We should specify to use newer versions (>= v5.5.2 of podman, >= 1.4.1 podman-compose). Otherwise it'll appear as pangolin installation being broken which is not the case.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/fosrl/pangolin/pull/1041 **Author:** [@wayneyaoo](https://github.com/wayneyaoo) **Created:** 7/9/2025 **Status:** ✅ Merged **Merged:** 7/23/2025 **Merged by:** [@oschwartz10612](https://github.com/oschwartz10612) **Base:** `main` ← **Head:** `feature/podman-installer` --- ### 📝 Commits (7) - [`e0cf091`](https://github.com/fosrl/pangolin/commit/e0cf0916ddb9a84345f23d59d4b3188fe996ee8d) Add a few targets to the Makefile to ease local development - [`607b168`](https://github.com/fosrl/pangolin/commit/607b168b5649530788156a1dc392c58d43f102d0) Use explicity FQDN image path because Podman by default doesn't have unqualified-search, and we don't bother configuring it for users. Being explicit is also a good practice - [`e83e8c2`](https://github.com/fosrl/pangolin/commit/e83e8c2ee4389841408770f5ec583d97e4fa1a5c) Add podman support to the installer. - [`515a621`](https://github.com/fosrl/pangolin/commit/515a621eb48b04ed2fd31e7b71376a20cc47c52e) Merge branch 'feature/podman-installer' of github.com:wayneyaoo/pangolin into wayneyaoo-feature/podman-installer - [`3426752`](https://github.com/fosrl/pangolin/commit/342675276bd11c980293bf226d500a77dd23db3b) Add type & cap - [`c484e98`](https://github.com/fosrl/pangolin/commit/c484e989a9fb38227baa2fb50ad769b13cf45681) Merge branch 'fosrl:main' into feature/podman-installer - [`4443dda`](https://github.com/fosrl/pangolin/commit/4443dda0f6979c8d34020ecdfd786a962af04ff4) Fix a bug that error check prevents port configuration ### 📊 Changes **6 files changed** (+201 additions, -67 deletions) <details> <summary>View changed files</summary> 📝 `install/Makefile` (+15 -2) 📝 `install/config/crowdsec/docker-compose.yml` (+1 -1) 📝 `install/config/docker-compose.yml` (+3 -3) 📝 `install/crowdsec.go` (+6 -6) 📝 `install/input.txt` (+1 -0) 📝 `install/main.go` (+175 -55) </details> ### 📄 Description ## Community Contribution License Agreement By creating this pull request, I grant the project maintainers an unlimited, perpetual license to use, modify, and redistribute these contributions under any terms they choose, including both the AGPLv3 and the Fossorial Commercial license terms. I represent that I have the right to grant this license for all contributed content. ## Description The change primarily adds support for podman installation within the installer. The installer will prompt for selection between docker (the default) and podman. A few points to notice: 1. If podman and podman-compose are not available, the installer will exit. This is by design at the moment because installing for people like what the installer does to docker is involving. If this is needed, I can do that in later iterations. 2. I added `docker.io` to the compose template file. This is because for freshly installed podman, it needs to add an entry to the `registeries.conf` so that image short name resolves. But I don't think editing this on behalf of people makes a lot of sense, so I resort to use explicit full name in the image entry. This has benefit to docker too because explicitness is still better than being implicit. 3. I added a few targets to the Makefile without breaking existing ones in CI. This is easier for local dev. ## How to test? Spin up a Debian/Ubtuntu machine and manually install podman and podman-compose, then run the installer. For some reason, Debian 12 default podman and podman-compose's versions are too old and they have problem processing the `docker-compose.yml`. I believe this is version-specific, not distro-specific. We should specify to use newer versions (>= v5.5.2 of podman, >= 1.4.1 podman-compose). Otherwise it'll appear as pangolin installation being broken which is not the case. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-04-16 09:23:48 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/pangolin#2418