emissary-ingress / emissary

open source Kubernetes-native API gateway for microservices built on the Envoy Proxy
https://www.getambassador.io
Apache License 2.0
4.36k stars 683 forks source link

Support for podman #4018

Open chchrist opened 2 years ago

chchrist commented 2 years ago

Please describe your use case / problem.

Now that docker desktop needs a license for large organisations I can see that many organisations are starting to adopt podman. All the documentation at the moment is specific to docker and that's OK for the majority of the commands but there are some differences between docker and podman that they might need a different configuration

Describe the solution you'd like

Update the documentation and the walkthroughs to support podman. Test that all the configurations can be run with podman as well

Describe alternatives you've considered none

Additional context I can give an example where podman fails to work. When I follow the instruction for Ambassador cloud to get started, this command:

podman run --name ambassador-demo --cap-add=NET_ADMIN --device /dev/net/tun:/dev/net/tun --pull always --rm -it -e AMBASSADOR_API_KEY=**** -e ACTIVITY_REPORT_TYPE=CLOUD_TOUR_TRACKING -e ACTIVITY_REPORT_SEGMENT=SORT_CHANGE -v ~/Library/Application\ Support:/root/.host_config datawire/emojivoto-web-svc-go-demo

fails with

Error: statfs /Users/*****/Library/Application Support: no such file or directory

This is because podman looks in the VM's directories and not your local ones.

alexgervais commented 2 years ago

Thanks for bringing this up @chchrist :) I'm not familiar with podman myself. Did you manage to make the instructions work for you using podman? Would you happen to know the proper commands to run?

chchrist commented 2 years ago

It works if you change the above command to point to a volume inside the VM but when I do this I get issues with Telepresence. There is an open request for podman to support client host directories https://github.com/containers/podman/issues/8016 and there are some painful workarounds