[Epic] As a user, I have a single container with all Pulp services
A Pulp user has a requirement where they want to launch Pulp's in each datacenter to sync content around the world daily. They specifically can only launch 1 docker container (their requirement). This is because there are too many individuals at various sites with equipment/networking differences to make deploying multiple containers feasible.
What's in the image?¶
- All GA's plugins would be in the image.
- S6 would start the postgresql and apply the migrations
- Then S6 starts redis, gunicorn (api), gunicorn (content app), nginx, resource manager, and two workers.
We'll build it nightly on Travis similar to how we build our other containers nightly.
We'll ship it through the pulp account on quay
We should put it on the homepage of https://pulpproject.org/
Don't forget to think about how to handle updates in this single-container case
I was thinking updates will be handled by migrations application, which will happen each time the container is started. It's connected to the long-living filesystem backing the database and filesystem so each time it's started it can upgrade from the files it finds then.
#5 Updated by email@example.com 4 months ago
As mentioned on the Mailing list (correction: accidentally replied to Tania individually):
if we do pursue this, we should at least consider using something else with less duplicate code to accomplish this, like our ansible-pulp roles with ansible-bender, or adapting our existing CI's ansible-pulp molecule container w/ systemd (normally a temporary artifact.)
We have the insta-demo already for a dead simple deployment. This use case covers a simple (but less simple) deployment for people with existing small-scale container infrastructure.
We have to be concerned with postgres & rq also
We have to account for persistent data in volume mount(s). And upgrading it over time.
#5394 Separate out building the pulpcore container image from building a plugin image, and an overall strategy for building container images with different sets of plugins, is still relevant.
Please register to edit this issue