From 05b8c6ac26644e13a5e6b0477afb597a19081430 Mon Sep 17 00:00:00 2001 From: decentral1se Date: Mon, 29 Dec 2025 23:05:44 +0100 Subject: [PATCH] wip: docs: moar maintainer updates --- docs/maintainers/maintain.md | 24 ++++++++++++++++++++++-- docs/maintainers/upgrade.md | 14 ++++++++++++-- 2 files changed, 34 insertions(+), 4 deletions(-) diff --git a/docs/maintainers/maintain.md b/docs/maintainers/maintain.md index f8f29ee81..b8d6124b0 100644 --- a/docs/maintainers/maintain.md +++ b/docs/maintainers/maintain.md @@ -20,9 +20,29 @@ If recipes are maintained by several maintainers, there is a greater chance of s Anyone who deploys a recipe can become a recipe maintainer. If you want to ensure that a recipe becomes stable and reliable, then you can become the maintainer. If you maintain a recipe alone, ask for help and encourage others to join in. The only way we can reduce the endless workload of application updates is to coordinate our work together. -You can start by reading The Maintainers Proposal: [`R025`](https://docs.coopcloud.tech/federation/resolutions/passed/025/). Check if there are maintainers mentioned in the `README.md` of the recipe repository and if there is a `MAINTENANCE.md` present. For example, for the traefik recipe, here is [the list of maintainers in the `README.md`](https://git.coopcloud.tech/coop-cloud/traefik/src/commit/8eaee04b5d9980a99fdad57677a4c72d7796da10/README.md?display=source#L8) and the maintainers guidelines in the [`MAINTENANCE.md`](https://git.coopcloud.tech/coop-cloud/traefik/src/commit/8eaee04b5d9980a99fdad57677a4c72d7796da10/MAINTENANCE.md). +### `README.md` and `MAINTENANCE.md` -If there is no `MAINTENANCE.md`, copy the template below and create your own. +You can start by reading The Maintainers Proposal: [`R025`](https://docs.coopcloud.tech/federation/resolutions/passed/025/). Check if there are maintainers mentioned in the `README.md` of the recipe repository and if there is a `MAINTENANCE.md` present. For example, for the traefik recipe, here is [the list of maintainers in the `README.md`](https://git.coopcloud.tech/coop-cloud/traefik/src/commit/8eaee04b5d9980a99fdad57677a4c72d7796da10/README.md?display=source#L8) and the maintainers guidelines in the [`MAINTENANCE.md`](https://git.coopcloud.tech/coop-cloud/traefik/src/commit/8eaee04b5d9980a99fdad57677a4c72d7796da10/MAINTENANCE.md). If there is no `MAINTENANCE.md`, copy the template below and create your own. + +### Maintainers Team + +It is important that only recipe maintainers have write permissions to the repository. As it currently stands, every member of the [Co-operators Team](https://git.coopcloud.tech/org/coop-cloud/teams/co-operators) has write permissions to all recipe repositories for convenience while we are missing enough maintainers. + +To change this, create a new team on [`git.coopcloud.tech/coop-cloud/teams`](https://git.coopcloud.tech/org/coop-cloud/teams) for your specific recipe, e.g. `mycoolrecipe-maintainers`. Add yourself and any other maintainers. Remove your recipe repository from the [list of repositories for the Co-operators Team](https://git.coopcloud.tech/org/coop-cloud/teams/co-operators/repositories) so that write permissions are removed. + +### Repository Permissions + +Under `Branch Protection` create a new rule for the `main` / `master` branch of +your repository. Add your maintainer team to the following list of permissions. + +* Allow only maintainers to push directly to the main branch + * `Allowlist Restricted Push` > `Allowlisted teams for pushing` +* Allow only maintainers to approve pull requests + * `Restrict approvals to allowlisted users or teams` > `Allowlisted teams for reviews` +* Allow only maintainers to merge pull requests + * `Enable Merge Allowlist` > `Allowlisted teams for merging` + +## Templates ### `MAINTENANCE.md` template diff --git a/docs/maintainers/upgrade.md b/docs/maintainers/upgrade.md index 86e7fbc92..845e0db43 100644 --- a/docs/maintainers/upgrade.md +++ b/docs/maintainers/upgrade.md @@ -1,5 +1,15 @@ --- -title: How to Become a Recipe Maintainer +title: How to Upgrade a Recipe --- -## TODO +## Updating versions in the `abra.sh` + +`#TODO` + +## Backwards compatible environment variable changes + +`#TODO` + +## Creating new release notes + +`#TODO`