Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Plone: Add info about Plone 6 Docker images #2479

Open
wants to merge 10 commits into
base: master
Choose a base branch
from

Conversation

avoinea
Copy link
Contributor

@avoinea avoinea commented Jul 31, 2024

No description provided.

@tianon
Copy link
Member

tianon commented Jul 31, 2024

I have to admit I'm a little confused -- does this mean the https://hub.docker.com/_/plone image is effectively deprecated and won't be getting 6.x+? 😅

(If so, we should make this change a little differently, especially with a deprecated.md so the note shows up at the top of the image description.)

Copy link

@stevepiercy stevepiercy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bah, I cannot request changes, only make a comment.

Anyway, versions are not features, so I created a new section, which should handle the concerns expressed.

I also added suggestions to update links to the old documentation for previous versions.

plone/content.md Show resolved Hide resolved
plone/content.md Outdated Show resolved Hide resolved
plone/content.md Outdated Show resolved Hide resolved
avoinea and others added 2 commits August 1, 2024 08:56
Co-authored-by: Steve Piercy <[email protected]>
Co-authored-by: Steve Piercy <[email protected]>
@stevepiercy
Copy link

Apparently my suggestion to add a section did not get saved in my review. I'll try again, now that I have permission.

@avoinea
Copy link
Contributor Author

avoinea commented Aug 1, 2024

I have to admit I'm a little confused -- does this mean the https://hub.docker.com/_/plone image is effectively deprecated and won't be getting 6.x+? 😅

@tianon As Plone 6 is not a monolith app anymore and it comes with a decoupled React front-end we don't have a consensus in the Plone Community on what we should do with this image, yet 🙈

I can see there are other apps that tries to put everything in a all-in-one-docker-image like https://github.com/nextcloud/all-in-one?tab=readme-ov-file#nextcloud-all-in-one but I'm not sure what is the best way to handle this situation for the Official Docker Images. Maybe you can point out to some good examples / practices.

(If so, we should make this change a little differently, especially with a deprecated.md so the note shows up at the top of the image description.)

Meanwhile, until we have a decision, I added the deprecated.md file pointing to the officially supported Plone 6 images.

Copy link

@mauritsvanrees mauritsvanrees left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As Plone Release Manager this change looks fine to me.

I don't have experience with how Docker Hub handles these files though, and what the recommendations are.

Quick background:

  • For Plone 5 this image is probably fine, but Plone 5 only gets security support until October this year.
  • For Plone 6 indeed plone/plone-backend and plone/plone-frontend should be used and have been available since at least 2022.
  • I don't know if those two could somehow be promoted to official Docker images, or if it would be better to somehow combine them in one (which seems a bit tricky as two processes should run).

@stevepiercy
Copy link

FYI, I'll be back from vacation tonight, and I'll look into how these docs are auto-generated from their counterparts in the Plone GitHub repos, and work on PRs there. From my quick glance of Docker's docs, it looks like the PRs will go under Plone first, then will get generated in Docker repos.

@tianon
Copy link
Member

tianon commented Aug 1, 2024

Ah, interesting! I would definitely not recommend doing something like an all-in-one, because I have yet to see a truly reliable (and still minimal) "process supervisor" to help manage multiple processes in one container. Two images is perfectly reasonable, especially if the documentation describes how to run them (something like plone:6-frontend + plone:6-backend is what I'd personally suggest, but plone:frontend-6 and plone:backend-6 would be pretty reasonable too, however the latter to me personally suggests that the versioning between frontend and backend might not stay in sync over time, where the former makes it clear that each are individual components from the "6" release).

This is my review. In addition to the new section with versions, I overhauled the docs to comply with Plone 6 Documentation guidelines, mostly.
Copy link

@stevepiercy stevepiercy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Please merge!

@stevepiercy
Copy link

Closes plone/plone.docker#179.

@stevepiercy
Copy link

I don't have merge permission. Who does?

After this PR is merged, then I can start work on promoting plone-backend and plone-frontend as official Docker images. I'll merge the docs files from this PR with those from the other repos, then open a pull request for each image.

When Plone 5.x exits security support, then I think we should remove just plone from the official images. See https://hub.docker.com/search?q=plone&image_filter=official.

@stevepiercy
Copy link

Ready for another run of workflows.

@stevepiercy
Copy link

I missed a couple of details, and I think I finally got them all this time. Ready for one more run.

I didn't realize I could run the CI check locally with ./update.sh plone followed by ./markdownfmt.sh -d plone. Sorry for the noise.

@whalelines
Copy link
Contributor

Just to make sure we all have the same understanding, the intention is to deprecate the plone DOI entirely and only move forward with plone/plone-backend and plone/plone-frontend, i.e., to not provide two variants in the plone DOI, plone:6-frontend and plone:6-backend, as @tianon suggested?

@stevepiercy
Copy link

@whalelines, I don't understand what you mean by two variants. @tianon said:

Two images is perfectly reasonable


Are the docs in this PR technically approved? I've been waiting for that piece before I start. If approved, then I can start today on the frontend and backend images' docs in separate PRs. Please let me know. Thank you!

@whalelines
Copy link
Contributor

whalelines commented Aug 7, 2024

There are currently three repositories serving Plone container images.

  1. plone: the Docker Official Image repository for Plone that has images for versions 4 and 5
  2. plone/plone-backend: the Docker-Sponsored Open Source repository for the backend image for Plone 6
  3. plone/plone-frontend: the Docker-Sponsored Open Source repository for the front image for Plone 6

Currently, this PR for updating the documentation for the plone DOI effectively deprecates the entire plone DOI repository, suggesting people get the latest Plone container images from the two Plone DSOS repositories.

What @tianon suggested was that the plone DOI repository can provide both the backend and frontend images for Plone 6. In contrast to how the Plone DSOS repositories are set up, the frontend and backend variants could both be available in the single plone DOI repository by using separate tags for each variant, e.g., plone:6-backend and plone:6-frontend. Lots of DOI repositories provide multiple image variants, e.g., leveraging different base images, language runtimes, or use cases.

I just want to make sure your intention is to deprecate the plone DOI entirely as this PR suggests.

@stevepiercy
Copy link

@whalelines thanks for the explanation and taking care. Can you point me to docs about how to do this, and an example project in the DOI repo? I'm not sure exactly what to search for.

@mauritsvanrees @avoinea I'm available to chat in Discord to discuss how to move forward, and come up with a plan. This turned into something bigger than mere changes to docs that I expected.

@whalelines
Copy link
Contributor

Currently the plone bashbrew file has a single stanza. You would just add a distinct stanza for each variant, e.g., aerospike, arangodb, backdrop, etc.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants