forked from coop-cloud/nextcloud
Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| bc7a2aa62b | |||
| 519453c398 | |||
| 3d7dfed415 |
@@ -0,0 +1,96 @@
|
||||
# Nextcloud Recipe Maintenance
|
||||
|
||||
> Status: **DRAFT** — open for discussion with co-maintainers and the wider
|
||||
> federation. Sections marked _(TBD)_ need collective input before this
|
||||
> document is considered ratified.
|
||||
|
||||
This document describes how the Nextcloud recipe is maintained. It builds on
|
||||
the floor set by [Federation Resolution
|
||||
025](https://docs.coopcloud.tech/federation/resolutions/passed/025/) and
|
||||
follows the [`MAINTENANCE.md`
|
||||
template](https://docs.coopcloud.tech/maintainers/maintain/#maintenancemd-template)
|
||||
described in the Co-op Cloud maintainers' docs.
|
||||
|
||||
All contributions should be made via a pull request so that quality and
|
||||
consistency stay something others can rely on.
|
||||
|
||||
## Maintainers
|
||||
|
||||
Everyone can apply to be a recipe maintainer.
|
||||
Simply add your self to the list in the README.md and open a new pull request
|
||||
with the change.
|
||||
|
||||
## Maintainer Responsibilities
|
||||
|
||||
This recipe commits to the following, which is tighter than the floor set by
|
||||
Resolution 025 (stable-recipe category). However, these timelines are
|
||||
best-effort, so we aim for them as good as possible:
|
||||
|
||||
- Respond to PRs / issues within 3 working days
|
||||
- Apply security patches within 1 week of disclosure
|
||||
- Ship patch / minor image updates within 2 weeks of upstream release
|
||||
- Adopt major Nextcloud version updates within 1 release cycle of upstream
|
||||
EOL of the previous major (see below)
|
||||
- Keep documentation current
|
||||
|
||||
In order to meet these responsibilities each maintainer:
|
||||
|
||||
- Watches the repository so notifications arrive
|
||||
- Keeps an eye on [Renovate](./renovate.json) updates and helps shepherd them through
|
||||
- Has a working contact (Matrix handle or email) reachable by the others
|
||||
|
||||
## Release cadence
|
||||
|
||||
The intent is to **track Nextcloud's own release schedule** rather than invent
|
||||
our own. In practice this means:
|
||||
|
||||
- **Patch releases (e.g. `32.0.x`)**: published to this recipe shortly after
|
||||
upstream, ideally within 1 week. `chore(deps)` opens the PRs; a maintainer
|
||||
reviews the release notes and Nextcloud's issue tracker, and merges the PR
|
||||
if it is OK.
|
||||
- **Minor releases**: same flow as patch releases, but one of the maintainer
|
||||
tests it on their own instance before merging.
|
||||
- **Major releases (e.g. `32 → 33`)**: not adopted on day one. We wait for the
|
||||
first one or two upstream patch releases of the new major to land
|
||||
(typically 1–2 months) before promoting it here, to avoid passing the
|
||||
early-adopter cost to operators. Major bumps get their own PR with release
|
||||
notes and an upgrade-path check.
|
||||
Before adding a major release, the following needs to be done:
|
||||
- at least two maintainers update one of their production instances to the
|
||||
new version
|
||||
- the previous release gets a last update pointing to the docker image
|
||||
versions nextcloud:xx-fpm, so that users can auto-update if they wish so
|
||||
- the new release is added to this repo
|
||||
- If people have the time it would be nice to create specially tagged versions
|
||||
for major releases, which reflect that this is 'bleeding edge' and has not
|
||||
been thoroughly tested.
|
||||
- **Co-installed components** (Talk HPB, OnlyOffice, Whiteboard, etc.) are
|
||||
bumped alongside or shortly after the matching Nextcloud release.
|
||||
|
||||
## Pull Requests
|
||||
|
||||
A pull request can be merged once it is approved by at least one maintainer.
|
||||
PRs opened by a maintainer need approval from another maintainer. With three
|
||||
maintainers this is workable; if the group shrinks, the rule should be
|
||||
revisited.
|
||||
|
||||
Approvals should ideally include a smoke test on a real instance for anything
|
||||
beyond a patch bump — Nextcloud upgrades have a long history of surprising us
|
||||
(see the [upgrade notes in `README.md`](./README.md#upgrading-nextcloud)),
|
||||
and silent CI is not enough.
|
||||
|
||||
## Becoming a maintainer
|
||||
|
||||
Everyone is welcome to apply:
|
||||
|
||||
1. Watch the repository so you get notifications.
|
||||
2. Open a pull request adding yourself to the `Maintainer` line in
|
||||
[`README.md`](./README.md) and to the list above.
|
||||
3. Once an existing maintainer merges the PR, you'll be added to the
|
||||
[nextcloud maintainers
|
||||
team](https://git.coopcloud.tech/org/coop-cloud/teams/nextcloud-maintainers)
|
||||
_(team to be created if it does not yet exist — TBD)_.
|
||||
|
||||
Stepping down is symmetrical: open a PR removing yourself, and flag it in
|
||||
the federation channels so the group can plan replacement before falling
|
||||
below the Res. 025 floor of one named maintainer.
|
||||
@@ -5,6 +5,7 @@
|
||||
Fully automated luxury Nextcloud via docker-swarm.
|
||||
|
||||
<!-- metadata -->
|
||||
* **Maintainer**: [@dannygroenewegen](https://git.coopcloud.tech/dannygroenewegen), [@ineiti](https://git.coopcloud.tech/ineiti)
|
||||
* **Category**: Apps
|
||||
* **Status**: 5
|
||||
* **Image**: [`nextcloud`](https://hub.docker.com/_/nextcloud), 4, upstream
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
version: "3.8"
|
||||
services:
|
||||
web:
|
||||
image: nginx:1.29.6
|
||||
image: nginx:1.29.4
|
||||
depends_on:
|
||||
- app
|
||||
configs:
|
||||
|
||||
Reference in New Issue
Block a user