Update container images and examples documentation - #2105
Conversation
- Add pages for the `plone/aurora` and historical `plone/plone` container images. - Split the container images index into official images for Plone 6 and other images. - Point links to the renamed GitHub repositories: `plone/container-backend`, `plone/container-frontend`, `plone/container-zeo`, and `plone/container-historical`. - Fix Vale errors in the backend image page and the containers overview. - Add Aurora and Podman to the Vale vocabulary. Closes #2103
- Move the Docker Compose examples to examples/compose, and add Traefik versions of every nginx example: traefik-volto-plone, traefik-volto-plone-zeo, traefik-volto-plone-postgresql, and traefik-plone. - Add Docker Swarm stacks in examples/swarm for every Traefik example, aligned with cookieplone-templates: Let's Encrypt certificates, a Docker socket proxy, a table of environment variables, and HTTPS-only access. - Use source replacements for image versions: PLONE_FRONTEND_VERSION, PLONE_ZEO_VERSION, TRAEFIK_VERSION, and POSTGRES_VERSION. - Name the data volumes vol-site-data, stop publishing database ports, and remove duplicate keys from the Traefik and Varnish example. - Add HAProxy, Let's Encrypt, nginx, and Traefik to the Vale vocabulary. Closes #2104
stevepiercy
left a comment
There was a problem hiding this comment.
I did a quick review only. The suggestions are global changes I'd like to see applied before I do a thorough review. Thank you!
- Use the {doc} role for links to documents under docs/install/containers.
- Use the {file} role for files and directories.
- Read image tags from required STACK_*_TAG environment variables in the
Docker Compose and Docker Swarm examples, and document them in an
"Environment variables" table on each example.
- Rename STACK_FRONT_REPLICAS and STACK_BACK_REPLICAS to
STACK_FRONTEND_REPLICAS and STACK_BACKEND_REPLICAS.
- Define the container image versions once in conf.py, and use them in both
myst_substitutions and source_replacements. source_replace now skips
{{KEY}}, so it doesn't break MyST substitutions.
|
Thanks for the review, @stevepiercy! I applied the global changes under
SubstitutionsMyST doesn't expand substitutions inside code blocks, so To reduce the placeholders in code, the example YAML files now read the image tags from environment variables, such as I defined a new variable |
davisagli
left a comment
There was a problem hiding this comment.
Technical review: looks good to me.
sneridagh
left a comment
There was a problem hiding this comment.
Aside from @davisagli comments, LGTM. Humungous work! and very much needed.
Only to mention that I've pushed for a PR in Aurora templates for fixing the Dockerfile (it had a bug).
Along with plone/container-aurora#4 will work.
- Give the Docker Compose and Docker Swarm index pages their own headings and metadata instead of repeating the parent page's. - Move "Docker Swarm" from the start to the end of the swarm example headings and titles. - Start each example description with what distinguishes its stack, and keep description and og:description identical. - Fix the Varnish compose example metadata (missing ZEO, "Traefik Proxy" naming), a trailing comma in keywords, and a "Postgres" spelling error. - List the Aurora image last in the container images table.
Issue number
Description
Container images (#2103)
container-backend,container-frontend,container-zeo, andcontainer-historical.plone/auroraimage.plone/ploneimages, from Plone 1.0 to 5.2.Container examples (#2104)
examples/compose, and add a Traefik version of every nginx example.examples/swarmfor every Traefik example, aligned withcookieplone-templates: Let's Encrypt certificates, a Docker socket proxy, a table of environment variables, and HTTPS-only access.{PLONE_FRONTEND_VERSION},{PLONE_ZEO_VERSION},{TRAEFIK_VERSION}, and{POSTGRES_VERSION}.vol-site-data, stop publishing database ports, and remove duplicate keys from the Traefik and Varnish example.This PR also adds
.venvto.gitignore.Testing
/++api++, and load balancing across two backends in the ZEO and PostgreSQL examples.docker compose config, and every Docker Swarm stack withdocker stack config, with and without the required environment variables.The Swarm stacks haven't been deployed to a cluster.
Warning
plone/auroraimage exits at startup, and the Aurora page assumes the fix.