docker icon indicating copy to clipboard operation
docker copied to clipboard

Clarify versioning/update policy in the README

Open joshtrichards opened this issue 1 year ago • 1 comments

Breadcrumbs for down the road... (Mostly for myself).

  • Context
    • Docker Official images and what that means
    • Base image updates (eco-system rebuilds)
  • Nextcloud Server releases (upstream bumps)
  • Image releases
    • bugs fixes
    • enhancements
    • upgrades of underlying bits (e.g. a new major PHP or underlying distribution version)

Production Docker tags:

  • Upstream supported stables (proposed)
    • latest
    • previous
    • last
  • Generic
    • stable / production

Tracking this in: #2265


Immutable:

  • No such thing technically since what a tag points to can always be changed
  • We attempt to make specific tags semi-immutable at the Dockerfile level, but the images themselves referenced by these tags will technically always change automatically whenever the underlying base images (debian, alpine, php) are updated (generally for security). This is a byproduct of how Docker base images and Docker Official images work.
  • The only truly immutable option - if you require that - is to reference your images by their digest. The caveat being you're 100% responsible for security updates.

General recommendations:

  • Pin your image references to something. Rule of thumb: a major release or one of { latest, previous, last }

  • Tagging policy
    • latest/previous/last match upstream
    • stable/production generally matches ?

  • Breaking changes
    • ?

  • Image versions
  • Nextcloud Server versions
  • Base image versioning/rebuilding
  • Image tags

  • Mutable tags
  • Rolling tags
  • Semo-immutable
    • e.g. "29.0.5"
  • Digests (immutable/BOM use)

Changelog:

  • Release notes (high-level / quick summary)
  • Commit log (detailed /

joshtrichards avatar Jul 17 '24 21:07 joshtrichards

Here's an idea : Move all the examples from the main README.md to the ./examples/README.md one, and just put a link to them there.

I'm eyeballing that examples ./examples/README.md for a while, and I've recently noticed this : Image.

Not super important, but I believe it makes things look a bit more neat.

tzerber avatar Oct 17 '24 19:10 tzerber