From ff921ae38d0ba8fd33b426ab2af73781516629e9 Mon Sep 17 00:00:00 2001 From: Teresa Romero Date: Thu, 18 Sep 2025 14:23:31 +0200 Subject: [PATCH 1/7] Add guide for developing with Podman instead of Docker --- docs/howto/use_podman.md | 46 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 docs/howto/use_podman.md diff --git a/docs/howto/use_podman.md b/docs/howto/use_podman.md new file mode 100644 index 000000000..2a0b4400b --- /dev/null +++ b/docs/howto/use_podman.md @@ -0,0 +1,46 @@ +# How to Develop Using Podman Instead of Docker + +Podman is a container engine that is compatible with Docker but does not require a daemon and can run containers rootless. If you want to use Podman for development instead of Docker, follow these steps: + +## 1. Install Podman + +Refer to the [official Podman installation guide](https://podman.io/getting-started/installation) for your operating system. + +## 2. Configure Docker Compatibility + +Podman provides a Docker-compatible CLI. You can setup Podman so it runs whenever the docker commands are run, [follow the migration guide](https://podman-desktop.io/docs/migrating-from-docker/managing-docker-compatibility) + +## 3. Run Docker Commands with Podman + +Most Docker commands work with Podman. For example: + +```sh +podman build -t my-image . +podman run -it my-image +podman ps +``` + +## 4. Use Podman Compose + +If your project uses `docker-compose`, install [podman-compose](https://github.com/containers/podman-compose): + +```sh +pip install podman-compose +``` + +Then use: + +```sh +podman-compose up +``` + +## 5. Troubleshooting and Compatibility + +- Podman is mostly compatible with Docker CLI and images. +- Some advanced Docker features may require adjustments. +- For more details, see the [Podman documentation](https://docs.podman.io/). + +## 6. Additional Resources + +- [Podman Official Documentation](https://docs.podman.io/) +- [Podman vs Docker Comparison](https://podman.io/getting-started/) \ No newline at end of file From c741992f9a84ed46836aa037c214212a107dcf8f Mon Sep 17 00:00:00 2001 From: Teresa Romero Date: Thu, 18 Sep 2025 14:57:36 +0200 Subject: [PATCH 2/7] Refactor Podman usage guide to streamline instructions and enhance clarity --- docs/howto/use_podman.md | 44 +++------------------------------------- 1 file changed, 3 insertions(+), 41 deletions(-) diff --git a/docs/howto/use_podman.md b/docs/howto/use_podman.md index 2a0b4400b..ea454fae9 100644 --- a/docs/howto/use_podman.md +++ b/docs/howto/use_podman.md @@ -1,46 +1,8 @@ # How to Develop Using Podman Instead of Docker -Podman is a container engine that is compatible with Docker but does not require a daemon and can run containers rootless. If you want to use Podman for development instead of Docker, follow these steps: +`elastic-package` runs Docker commands, if you are using Podman instead of Docker you might come accross some errors if Podman is not well configured. -## 1. Install Podman - -Refer to the [official Podman installation guide](https://podman.io/getting-started/installation) for your operating system. - -## 2. Configure Docker Compatibility - -Podman provides a Docker-compatible CLI. You can setup Podman so it runs whenever the docker commands are run, [follow the migration guide](https://podman-desktop.io/docs/migrating-from-docker/managing-docker-compatibility) - -## 3. Run Docker Commands with Podman - -Most Docker commands work with Podman. For example: - -```sh -podman build -t my-image . -podman run -it my-image -podman ps -``` - -## 4. Use Podman Compose - -If your project uses `docker-compose`, install [podman-compose](https://github.com/containers/podman-compose): - -```sh -pip install podman-compose -``` - -Then use: - -```sh -podman-compose up -``` - -## 5. Troubleshooting and Compatibility - -- Podman is mostly compatible with Docker CLI and images. -- Some advanced Docker features may require adjustments. -- For more details, see the [Podman documentation](https://docs.podman.io/). - -## 6. Additional Resources +Podman provides a Docker-compatible CLI. You can setup Podman so it runs whenever the Docker commands are run, [following the migration guide](https://podman-desktop.io/docs/migrating-from-docker/managing-docker-compatibility) - [Podman Official Documentation](https://docs.podman.io/) -- [Podman vs Docker Comparison](https://podman.io/getting-started/) \ No newline at end of file +- [Podman vs Docker Comparison](https://podman.io/getting-started/) From 2920a2c0a6b072ba5ca735715c1b2906260d0b3d Mon Sep 17 00:00:00 2001 From: Tere Date: Fri, 19 Sep 2025 09:13:37 +0200 Subject: [PATCH 3/7] Update docs/howto/use_podman.md Co-authored-by: Mario Rodriguez Molins --- docs/howto/use_podman.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/howto/use_podman.md b/docs/howto/use_podman.md index ea454fae9..d440f3618 100644 --- a/docs/howto/use_podman.md +++ b/docs/howto/use_podman.md @@ -2,7 +2,7 @@ `elastic-package` runs Docker commands, if you are using Podman instead of Docker you might come accross some errors if Podman is not well configured. -Podman provides a Docker-compatible CLI. You can setup Podman so it runs whenever the Docker commands are run, [following the migration guide](https://podman-desktop.io/docs/migrating-from-docker/managing-docker-compatibility) +Podman provides a Docker-compatible CLI. You can setup Podman so it runs whenever the Docker commands are run, [following the migration guide](https://podman-desktop.io/docs/migrating-from-docker/managing-docker-compatibility). - [Podman Official Documentation](https://docs.podman.io/) - [Podman vs Docker Comparison](https://podman.io/getting-started/) From bcee06007f40a551a5a2ada689754e03e5bdba37 Mon Sep 17 00:00:00 2001 From: Teresa Romero Date: Fri, 19 Sep 2025 09:26:53 +0200 Subject: [PATCH 4/7] Update documentation to include Podman as an alternative to Docker --- README.md | 4 ++++ cmd/stack.go | 4 ++++ docs/howto/use_podman.md | 4 ++-- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 0dbdab90a..4579de5a6 100644 --- a/README.md +++ b/README.md @@ -490,6 +490,8 @@ You can run your own custom images for Elasticsearch, Kibana or Elastic Agent, s Be aware that a common issue while trying to boot up the stack is that your Docker environments settings are too low in terms of memory threshold. +You can use Podman instead of Docker, see [this document](./docs/howto/use_podman.md) + For details on how to connect the service with the Elastic stack, see the [service command](https://github.com/elastic/elastic-package/blob/main/README.md#elastic-package-service). ### `elastic-package stack down` @@ -542,6 +544,8 @@ You can run your own custom images for Elasticsearch, Kibana or Elastic Agent, s Be aware that a common issue while trying to boot up the stack is that your Docker environments settings are too low in terms of memory threshold. +You can use Podman instead of Docker, see [this document](./docs/howto/use_podman.md) + To expose local packages in the Package Registry, build them first and boot up the stack from inside of the Git repository containing the package (e.g. elastic/integrations). They will be copied to the development stack (~/.elastic-package/stack/development) and used to build a custom Docker image of the Package Registry. Starting with Elastic stack version >= 8.7.0, it is not mandatory to be available local packages in the Package Registry to run the tests. For details on how to connect the service with the Elastic stack, see the [service command](https://github.com/elastic/elastic-package/blob/main/README.md#elastic-package-service). diff --git a/cmd/stack.go b/cmd/stack.go index 420770df8..ceff2a8ae 100644 --- a/cmd/stack.go +++ b/cmd/stack.go @@ -35,6 +35,8 @@ You can run your own custom images for Elasticsearch, Kibana or Elastic Agent, s Be aware that a common issue while trying to boot up the stack is that your Docker environments settings are too low in terms of memory threshold. +You can use Podman instead of Docker, see [this document](./docs/howto/use_podman.md) + For details on how to connect the service with the Elastic stack, see the [service command](https://github.com/elastic/elastic-package/blob/main/README.md#elastic-package-service).` const stackUpLongDescription = `Use this command to boot up the stack locally. @@ -45,6 +47,8 @@ You can run your own custom images for Elasticsearch, Kibana or Elastic Agent, s Be aware that a common issue while trying to boot up the stack is that your Docker environments settings are too low in terms of memory threshold. +You can use Podman instead of Docker, see [this document](./docs/howto/use_podman.md) + To expose local packages in the Package Registry, build them first and boot up the stack from inside of the Git repository containing the package (e.g. elastic/integrations). They will be copied to the development stack (~/.elastic-package/stack/development) and used to build a custom Docker image of the Package Registry. Starting with Elastic stack version >= 8.7.0, it is not mandatory to be available local packages in the Package Registry to run the tests. For details on how to connect the service with the Elastic stack, see the [service command](https://github.com/elastic/elastic-package/blob/main/README.md#elastic-package-service). diff --git a/docs/howto/use_podman.md b/docs/howto/use_podman.md index d440f3618..7f49643b5 100644 --- a/docs/howto/use_podman.md +++ b/docs/howto/use_podman.md @@ -1,8 +1,8 @@ # How to Develop Using Podman Instead of Docker -`elastic-package` runs Docker commands, if you are using Podman instead of Docker you might come accross some errors if Podman is not well configured. +`elastic-package` Docker-based commands should work out of the box using Podman instead of Docker. -Podman provides a Docker-compatible CLI. You can setup Podman so it runs whenever the Docker commands are run, [following the migration guide](https://podman-desktop.io/docs/migrating-from-docker/managing-docker-compatibility). +Check you have Podman configured [following the migration guide](https://podman-desktop.io/docs/migrating-from-docker/managing-docker-compatibility) - [Podman Official Documentation](https://docs.podman.io/) - [Podman vs Docker Comparison](https://podman.io/getting-started/) From bd4f59387f069eb3f097796cba255034f7d71a15 Mon Sep 17 00:00:00 2001 From: Teresa Romero Date: Fri, 19 Sep 2025 14:35:56 +0200 Subject: [PATCH 5/7] Add note about Docker and Podman compatibility in README --- README.md | 2 ++ tools/readme/readme.md.tmpl | 2 ++ 2 files changed, 4 insertions(+) diff --git a/README.md b/README.md index 4579de5a6..ff10f45fb 100644 --- a/README.md +++ b/README.md @@ -39,6 +39,8 @@ Run the `help` command and see available commands: elastic-package help ``` +Some sub-commands are Docker-based, check you also have Docker installed. In case you are using Podman, check [this guide](./docs/howto/use_podman.md) to make it compatible. + ## Development Even though the project is "go-gettable", there is the [`Makefile`](./Makefile) present, which can be used to build, diff --git a/tools/readme/readme.md.tmpl b/tools/readme/readme.md.tmpl index 49bb18bdf..176c0be7a 100644 --- a/tools/readme/readme.md.tmpl +++ b/tools/readme/readme.md.tmpl @@ -39,6 +39,8 @@ Run the `help` command and see available commands: elastic-package help ``` +Some sub-commands are Docker-based, check you also have Docker installed. In case you are using Podman, check [this guide](./docs/howto/use_podman.md) to make it compatible. + ## Development Even though the project is "go-gettable", there is the [`Makefile`](./Makefile) present, which can be used to build, From f04412791476e6f146dd66d9e559365fbe11d9e9 Mon Sep 17 00:00:00 2001 From: Teresa Romero Date: Mon, 22 Sep 2025 09:15:50 +0200 Subject: [PATCH 6/7] Fix links to podman docs and getting started --- docs/howto/use_podman.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/howto/use_podman.md b/docs/howto/use_podman.md index 7f49643b5..b5efa1a1d 100644 --- a/docs/howto/use_podman.md +++ b/docs/howto/use_podman.md @@ -4,5 +4,5 @@ Check you have Podman configured [following the migration guide](https://podman-desktop.io/docs/migrating-from-docker/managing-docker-compatibility) -- [Podman Official Documentation](https://docs.podman.io/) -- [Podman vs Docker Comparison](https://podman.io/getting-started/) +- [Podman Getting Started](https://podman.io/get-started) +- [Podman Docs](https://podman.io/docs) From 5428508c6bcf839760197c198cc6a816561be7e3 Mon Sep 17 00:00:00 2001 From: Teresa Romero Date: Tue, 7 Oct 2025 15:47:09 +0200 Subject: [PATCH 7/7] docs: emphasize Podman Desktop configuration in usage guide --- docs/howto/use_podman.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/howto/use_podman.md b/docs/howto/use_podman.md index b5efa1a1d..d86814a42 100644 --- a/docs/howto/use_podman.md +++ b/docs/howto/use_podman.md @@ -2,7 +2,7 @@ `elastic-package` Docker-based commands should work out of the box using Podman instead of Docker. -Check you have Podman configured [following the migration guide](https://podman-desktop.io/docs/migrating-from-docker/managing-docker-compatibility) +Check you have **Podman Desktop** configured [following the migration guide](https://podman-desktop.io/docs/migrating-from-docker/managing-docker-compatibility) - [Podman Getting Started](https://podman.io/get-started) - [Podman Docs](https://podman.io/docs)