19 Commits

Author SHA1 Message Date
3wc
7fe95005ed ABRA_SERVER → TEST_SERVER
All checks were successful
continuous-integration/drone/push Build is passing
2025-08-12 13:15:42 +01:00
3wc
d1efcb06cc Add Fedora bats setup instructions
All checks were successful
continuous-integration/drone/push Build is passing
2025-08-12 12:07:29 +00:00
4dea3ac3ca docs: note about private deploys
All checks were successful
continuous-integration/drone/push Build is passing
See toolshed/abra#585
2025-08-12 07:09:10 +02:00
3wc
979e738251 Improve titles for resolutions
All checks were successful
continuous-integration/drone/push Build is passing
2025-08-05 09:31:31 +01:00
026365e889 docs: R031 passes
All checks were successful
continuous-integration/drone/push Build is passing
2025-07-29 13:41:27 +02:00
3c17fdc8a5 docs: 030 is stalled
All checks were successful
continuous-integration/drone/push Build is passing
2025-07-29 10:28:42 +02:00
3wc
d1579fd6a3 Add troubleshooting for "only updates to Labels are allowed"
All checks were successful
continuous-integration/drone/push Build is passing
2025-07-24 13:56:53 +01:00
4d0d5f9afe fix: deets
All checks were successful
continuous-integration/drone/push Build is passing
2025-07-16 09:21:06 +02:00
a540db0c67 docs: R033
All checks were successful
continuous-integration/drone/push Build is passing
2025-07-16 09:16:46 +02:00
e28feffc5c Ammar -> RTM
All checks were successful
continuous-integration/drone/push Build is passing
2025-07-14 19:51:24 -07:00
523c12fa63 R32 passed
All checks were successful
continuous-integration/drone/push Build is passing
2025-07-14 19:46:25 -07:00
7f05291dad R32
All checks were successful
continuous-integration/drone/push Build is passing
2025-07-06 20:02:27 +00:00
4d67caff56 Improving the catalogue docs
All checks were successful
continuous-integration/drone/push Build is passing
2025-07-02 12:56:16 +01:00
a1474f956d Improved new recipes catalogue docs
All checks were successful
continuous-integration/drone/push Build is passing
2025-07-02 12:50:00 +01:00
6f7dfd4c64 Moved Catalogue from handbook to new page
All checks were successful
continuous-integration/drone/push Build is passing
2025-07-02 12:42:22 +01:00
3wc
c1b6924a9e Add Postgres upgrade advice
All checks were successful
continuous-integration/drone/push Build is passing
2025-06-25 18:33:46 +01:00
val
548e5211d7 docs/maintainers/handbook.md aktualisiert
All checks were successful
continuous-integration/drone/push Build is passing
clarification of necessity of `command:` in case of custom entrypoint (and where to find it)
2025-06-14 10:41:55 +00:00
28ab363163 fix: typo
All checks were successful
continuous-integration/drone/push Build is passing
2025-06-10 08:24:31 +02:00
12b2d04d28 feat: R031
All checks were successful
continuous-integration/drone/push Build is passing
2025-06-10 08:22:46 +02:00
40 changed files with 296 additions and 115 deletions

View File

@ -91,6 +91,26 @@ Please ask `@decentral1se` or on the Matrix channels for SSH access to the machi
We use [`bats`](https://bats-core.readthedocs.io/en/stable/) to run the tests. You can install the required dependencies with the following. You also need a working installation of Docker and Go >= 1.16 (not covered in this section).
##### Fedora
```
sudo dnf install bats
```
Unfortunately, the Fedora `bats` package doesn't include the libraries we need, so we need to clone those manually:
```
mkdir -p ~/.local/share/bats/
cd ~/.local/share/bats
git clone https://github.com/bats-core/bats-assert.git
git clone https://github.com/bats-core/bats-file.git
git clone https://github.com/bats-core/bats-support.git
```
Then, before running tests, set `export BATS_LIB_PATH=~/.local/share/bats/`
##### Debian
```
apt install bats-file bats-assert bats-support jq make git
```
@ -111,7 +131,7 @@ For some tests an actual server is needed, where apps can be deployed. You can e
##### Remote swarm
```
export ABRA_TEST_DOMAIN="test.example.com"
export TEST_SERVER="test.example.com"
export ABRA_DIR="$HOME/.abra_test"
```

View File

@ -101,3 +101,7 @@ Otherwise, you can try manually cloning the recipe repository to the correct loc
```
$ git clone https://git.coopcloud.tech/coop-cloud/MyCoolRecipe.git ~/.abra/recipes
```
## "only updates to Labels are allowed"
See [Packaging handbook » What does "only updates to Labels are allowed" mean](maintainers/handbook/#what-does-only-updates-to-labels-are-allowed-mean).

View File

@ -18,6 +18,6 @@ title: Membership
| [UTAW](https://utaw.tech) | - | - | `@javielico:matrix.org` |
| `@decentral1se` | Waiver | - | `@decentral1se` |
| [ruangrupa](https://ruangrupa.id) | - | - | Henry `@babystepper:matrix.org` |
| [Ammar](https://social.coop/@ammaratef45) | - | - | `@ammaratef45:matrix.org` |
| [RTM](https://resisttechmonopolies.online) | | - | `@ammaratef45:matrix.org` + `@linnealovespie:matrix.org`|
| [MIR](https://mirnet.org/) | ✅ | - | `@brooke:pub.solar` |
| [Red Abya Yala](https://abyayala.sutty.nl/) | - | - | `@fauno:sutty.nl` |

View File

@ -0,0 +1,33 @@
---
title: "Resolution 033: Changing OpenCollective fiscal host"
---
- Topic: Changing OpenCollective fiscal host to Platform6
- Date: 2025-07-16
- Deadline: 2025-07-30
- Size: Large
## Summary
Currently, the Open Collective "fiscal host" for Co-op Cloud is [Autonomic
co-operative](https://autonomic.zone).
This resolution proposes switching fiscal host to [Platform
6](https://platform6.coop), by transferring our funds from Autonomic to
Platform 6, and changing our registered fiscal host on Open Collective.
This resolution will close Budget 001, because Platform 6 will take a fixed 5%
of income, instead of being paid hourly.
## Details
Autonomic has been the fiscal host for Co-op Cloud since the first project
funding was received.
Since then, Autonomic has less capacity for finance administration work -- and
Co-op Cloud is now managed by a democratic federation.
So, to open up more capacity for project finance administration work, and to
further decentralise Co-op Cloud organising from Autonomic, we're proposing
Platform 6. Platform 6 have been fiscal host for co-operative projects
including [meet.coop](https://meet.coop) and [wiki.cafe](https://wiki.cafe).

View File

@ -1,5 +1,5 @@
---
title: "Resolution 001"
title: "Resolution 001: Decision-Making Process"
---
- Topic: Decision Making Process

View File

@ -1,5 +1,5 @@
---
title: "Resolution 002"
title: "Resolution 002: Membership/Dues"
---
* Topic: Membership/Dues

View File

@ -1,5 +1,5 @@
---
title: "Resolution 003"
title: "Resolution 003: Paid Work"
---
* Topic: Paid work

View File

@ -1,5 +1,5 @@
---
title: "Resolution 004"
title: "Resolution 004: Budgeting (+ Budget 001: Monlthy Meetings)"
---
* Topic: Budget 001: Budgeting

View File

@ -1,5 +1,5 @@
---
title: "Resolution 005"
title: "Resolution 005: Public federation membership.."
---
* Topic: Public federation membership, notes and decisions

View File

@ -1,5 +1,5 @@
---
title: "Resolution 006"
title: "Resolution 006: Budget 002 Resolution Writing-up"
---
- Budget 002: Resolution Writing-up
@ -11,7 +11,7 @@ title: "Resolution 006"
Agree Budget 002, for €100 for @decentral1se to write up 2 resolutions.
### Details (Budget YYY)
### Details (Budget 002)
**Budget amount**: EUR 100

View File

@ -1,5 +1,5 @@
---
title: "Resolution 007"
title: "Resolution 007: Dues waiver for Doop.coop"
---
- Topic: 1 year dues waiver for Doop.coop

View File

@ -1,5 +1,5 @@
---
title: "Resolution 008"
title: "Resolution 008: Budget 003 Paying Invoices"
---
- Topic: Budget 003 Paying invoices

View File

@ -1,5 +1,5 @@
---
title: "Resolution 009"
title: "Resolution 009: Federation common fund buffer"
---
- Topic: Federation common fund buffer

View File

@ -1,5 +1,5 @@
---
title: "Resolution 010"
title: "Resolution 010: Budget 004 Critical fixes"
---
- Topic: Budget 004: Critical fixes

View File

@ -1,5 +1,5 @@
---
title: "Resolution 011"
title: "Resolution 011: Budget 005: Backup improvements"
---
- Topic: Budget 005: Backup improvements

View File

@ -1,5 +1,5 @@
---
title: "Resolution 012"
title: "Resolution 012: Budget 006: Abra integration test suite"
---
- Budget 006: Abra integration test suite

View File

@ -1,5 +1,5 @@
---
title: "Resolution 014"
title: "Resolution 014: Budget 008: Critical Fixes"
---
- Topic: Budget 008: Critical Fixes

View File

@ -1,5 +1,5 @@
---
title: "Resolution 015"
title: "Resolution 015: Klasse and Methode joins"
---
- Topic: Klasse & Methode joins the Co-op Cloud Federation

View File

@ -1,5 +1,5 @@
---
title: "Resolution 016"
title: "Resolution 016: Budget 008: Backup-bot-two …"
---
- Topic: Budget 008: Backup-bot-two Documentation and Specification

View File

@ -1,5 +1,5 @@
---
title: "Resolution 017"
title: "Resolution 017: BeWater joins"
---
- Topic: BeWater joins the Co-op Cloud Federation

View File

@ -1,5 +1,5 @@
---
title: "Resolution 018"
title: "Resolution 018: EOTL joins"
---
- Topic: EOTL joins the Co-op Cloud Federation

View File

@ -1,5 +1,5 @@
---
title: "Resolution 019"
title: "Resolution 019: Karrot joins"
---
- Topic: Karrot joins the Co-op Cloud Federation

View File

@ -1,8 +1,8 @@
---
title: "Resolution 020"
title: "Resolution 020: Budget 010: Abra integration test suite"
---
- Topic: Budget 10: Abra integration suite automation
- Topic: Budget 010: Abra integration suite automation
- Date: 04-04-2024
- Deadline: 18-04-2024
- Size: Large

View File

@ -1,5 +1,5 @@
---
title: "Resolution 021"
title: "Resolution 021: Budget 011: Migrate to Cobra"
---
- Topic: Budget 011: Migrate to Cobra

View File

@ -1,5 +1,5 @@
---
title: "Resolution 022"
title: "Resolution 022: Ammar joins"
---
- Topic: Ammar joins the Co-op Cloud Federation

View File

@ -1,5 +1,5 @@
---
title: Resolution 023
title: "Resolution 023: Budget 012: … new Co-op Cloud website"
---
- Topic: Budget 012: Feedback gathering and content architecture for the new Co-op Cloud website

View File

@ -1,4 +1,6 @@
# Resolution 024: Budget: 013: Reintroduce kite-flying
---
title: "Resolution 024: Budget: 013: Reintroduce kite-flying"
---
- Topic: Reintroduce paid kite-flying hour
- Date: 2024-10-30

View File

@ -1,4 +1,6 @@
# Resolution 025 Maintainers Proposal
---
title: "Resolution 025 Maintainers Proposal"
---
- Topic: Maintainers Proposal
- Date: 05-12-2024

View File

@ -1,5 +1,5 @@
---
title: "Resolution 026"
title: "Resolution 026: Budget 014: Backpay for v0.10.x abra release work"
---
- Topic: Budget 014: Backpay for `v0.10.x` abra release work

View File

@ -1,5 +1,5 @@
---
title: "Resolution 027"
title: "Resolution 027: MIR joins"
---
- Topic: MIR joins the Co-op Cloud Federation

View File

@ -1,4 +1,6 @@
# Resolution 028: Red Abya Yala joins the Co-op Cloud Federation
---
title: "Resolution 028: Red Abya Yala joins the Co-op Cloud Federation"
---
- Topic: Red Abya Yala joins the Co-op Cloud Federation
- Date: 16-01-2025

View File

@ -1,4 +1,6 @@
# Resolution 29 Budget 14: Federation Radmin
---
title: "Resolution 029: Budget 014: Federation Radmin"
---
- Topic: Establish Budget 14, to pay for up to 12 hours a month of "radmin" (radical administration) work, to help the federation run smoother, for an initial period of 12 months.
- Date: 05-04-2025

View File

@ -0,0 +1,41 @@
---
title: "Resolution 031: Critical fixes amended process"
---
- Topic: Critical fixes amended process
- Date: 2025-06-10
- Deadline: 2025-06-24
- Size: Medium
### Summary
This resolution proposes specific changes to [`R010: Budget 004: Critical
fixes`](../passed/010.md). These changes are primarily intended to improve
transparency and match our new organising methods.
## Details
Ammendments are as follows.
1. "Confirmation from at least one other member": should be confirmed on the
issue itself and not in the Matrix chat. It is suggested to indicate this
when posting in the Matrix chat (aka "Please +1 on the issue itself").
1. "A fix is deemed critical": when it is marked with the label "critical fix".
There is no specific project tracker for only these issues. This label can
be re-used across repositories also.
### R010 in full
> We propose to have a standing budget of 10 hrs / month available for fixes in Abra, Co-op Cloud recipes and other critical tools (e.g. recipes.coopcloud.tech) in the Co-op Cloud ecosystem.
>
> A fix is deemed critical when it is listed on this toolshed/organising board:
>
> > https://git.coopcloud.tech/toolshed/organising/projects/24
>
> This board is collectively gardened by Co-op Cloud participants (both federation members and not). The process for adding a ticket to the board requires getting confirmation from at least one other member of the federation.
>
> This budget can be claimed by any volunteer who would like to develop the fix. If the volunteer is not a Co-op Cloud federation member, they must first be "vouched for" by a federation member. This is an informal process which can be arranged via the Matrix chat. This aims to assure agreement on timing and what the fix should contain beforehand.
>
> Fixes can be claimed by assiging yourself to the ticket. If within 1 week there is no updates on the ticket, another volunteer can propose to take over. This process is also informal: please @ the original volunteer and give some reasonable time for them to reply (suggested: 1 day).
>
> If the fix is urgent and things need to move faster, please state so on the ticket. Please consult with at least one other member of the federation to confirm that there is indeed agreement on the urgency of the fix.

View File

@ -0,0 +1,22 @@
---
title: "Resolution 032: RIM joins"
---
- Topic: RTM joins Coopcloud
- Date: 2025-06-30
- Deadline: 2025-07-10
- Size: Large
### Summary
Ammar's membership was approved in [Resolution 022](/federation/resolutions/passed/022).
Since the establishment of RTM (Resist Rech Monopolies) collective in Seattle, Ammar has been unofficially representing the collective with coopcloud and vice versa.
### Details
RTM relies on the coop-cloud stack to host and manage their infrastructure, with the possibility of expanding this infrastructure to serve other communities and groups as the needs are identified and the capacity of the collective grows.
In a loomio decision, the collective approved pursuing a membership with the federation and Ammar is both happy to vouch and to yield their membership to the group.
This way this decision doesn't affect the total number of members.

View File

@ -1,5 +1,5 @@
---
title: "Resolution 013"
title: "Resolution 013: Budget 007: Operator sync"
---
!!! note

View File

@ -1,4 +1,6 @@
# Co-op Cloud resolution 030: docs / naming survey
---
title: "Co-op Cloud resolution 030: Budget XXX: Docs / naming survey"
---
- Topic: Budget for a survey about the Co-op Cloud documentation
- Date: 2025-04-03

View File

@ -0,0 +1,95 @@
---
title: The Recipe Catalogue
---
## How are new recipes added to the catalogue?
> This is so far a manual process which requires someone who's been added to the
> `coop-cloud` "Organisation" on https://git.coopcloud.tech.
>
> This is a temporary situation, we want to open out this process & also introduce some automation
> to support making thie process more convenient. Please nag us to move things along on Matrix.
- Publish your new recipe on the [git.coopcloud.tech](https://git.coopcloud.tech/coop-cloud) "Organisation"
- Run `abra catalogue generate <recipe> -p`
- Run `cd ~/.abra/catalogue && make`
These minimal steps will publish a new recipe with no versions. You can also do
the [recipe release publishing dance](https://docs.coopcloud.tech/maintainers/handbook/#how-do-i-release-a-new-recipe-version)
which will then extend the `versions: [...]` section of the published JSON in the catalogue.
Recipes that are not included in the catalogue can still be deployed. It is not
required to add your recipes to the catalogue, but this will improve the
visibility for other co-op hosters & end-users.
For now, it is best to [get in touch](https://docs.coopcloud.tech/intro/contact/) if you want to add your recipe to the catalogue.
In the future, we'd like to support [multiple catalogues](https://git.coopcloud.tech/toolshed/organising/issues/139).
## How do I make the catalogue automatically regenerate after new recipe versions are published?
"I'd like to make it so that whenever I push a new git tag to the
[`coop-cloud/rallly` repository](https://git.coopcloud.tech/coop-cloud/rallly)
(probably [using `abra recipe
release`](#how-do-i-release-a-new-recipe-version)), it automatically does the
[recipe catalogue generation steps](#how-do-i-generate-the-recipe-catalogue)"
1. Check whether tag builds are already trying to run: go to
https://build.coopcloud.tech, search for the recipe name (in this case taking
you to https://build.coopcloud.tech/coop-cloud/rallly/settings). If there are
failing builds, or if you see builds succeeding but catalogue regeneration
doesn't seem to be happening, then either dive in and try and fix it, or ask
for help in [`#coopcloud-tech`](https://matrix.to/#/#coopcloud-tech:autonomic.zone)
2. Otherwise, click "activate repository". You probably want to set the "disable pull
requests" and "disable forks" options; they won't work anyway, but the
failures might be confusing.
3. Make sure there is a `generate recipe catalogue` step in the recipe's
`.drone.yml` -- if there isn't, you can copy [the one from
`coop-cloud/rallly`](https://git.coopcloud.tech/coop-cloud/rallly/src/branch/main/.drone.yml#L24-L38) unchanged.
4. That's it! Now, when you push a new tag, the recipe catalogue will regenerate
automatically. You can test this by re-pushing a tag (e.g. `git push origin
:0.5.0+3.5.1 && git push 0.5.0+3.5.1`)
## How does automatic catalogue regeneration work?
**TODO: write up properly**
Context: the catalogue lives in a git repo here: https://git.coopcloud.tech/toolshed/recipes-catalogue-json
The expectation is that this repo will only be updated automatically. While manual commits are possible, they're likely to be overwritten.
Automatic regeneration is handled by this Drone step, in the separate `auto-recipes-catalogue-json` repo: https://git.coopcloud.tech/toolshed/auto-recipes-catalogue-json/src/branch/main/.drone.yml#L5-L25
This is run on a daily schedule (question: where is `nightly-app-date` configured?), and can also be triggered by recipe repositories to make new versions available quicker see "[How do I make the catalogue automatically regenerate after new versions are published?](#how-do-i-make-the-catalogue-automatically-regenerate-after-new-versions-are-published)" above.
## How do I manually generate the recipe catalogue
> These days, doing this is only useful in the event of troubleshooting the automatic catalogue regeneration
To generate an entire new copy of the catalogue:
```
abra catalogue generate
```
You will most likely want to pass `--user/--username` / `--pass/--password` with container regsitry credentials to avoid rate limiting.
If you just want to generate a catalogue entry for a single recipe:
```
abra catalogue generate <recipe>
```
The changes are generated and added to `~/.abra/catalogue`, you can validate what is done by running:
```
cd ~/.abra/catalogue
git diff
```
You can pass `--publish` to have `abra` automatically publish those changes.
!!! warning "Here be more SSH dragons"
In order to have `abra` publish changes for you automatically, you'll have to have write permissons to the git.coopcloud.tech repository and your account must have a working SSH key configuration. `abra` will use the SSH based URL connection details for Git by automagically creating an `origin-ssh` remote in the repository and pushing to it.

View File

@ -386,6 +386,19 @@ It is good practice to take note of all the issues you ran into and share them w
If you don't have time or are not an operator, reach out on our communication channels for an operator willing to do some testing.
## What does "only updates to Labels are allowed" mean
If you see something like this:
```
FATA failed to update config traefik_traefik_yml_v22: Error response from daemon: rpc error: code = InvalidArgument desc = only updates to Labels are allowed
```
It means that a Docker "config" has been updated, but the version number has not been incremented.
To fix this, edit a recipe's `abra.sh` and update the version number of the relevant line ­in this case, `export TRAEFIK_YML_VERSION=v22`.
`
## How do I write version release notes?
In the root of your recipe repository, run the following (if the folder doesn't already exist):
@ -402,70 +415,24 @@ You can also add release notes for the next release into a special file `release
This feature is only available in the > 0.9.x series of `abra`.
## How do I generate the recipe catalogue
## How do I know whether to accept version upgrades when running `abra recipe upgrade <something>`?
To generate an entire new copy of the catalogue:
### Postgres
```
abra catalogue generate
```
Beware major Postgres version updates!
You will most likely want to pass `--user/--username` / `--pass/--password` with container regsitry credentials to avoid rate limiting.
"Major" updates are ones where the first number changes, for example 14 to 15 (or 14.1 to 15.1).
If you just want to generate a catalogue entry for a single recipe:
Postgres cannot update itself, so accepting major version upgrades can break existing app deployments.
```
abra catalogue generate <recipe>
```
To check if a recipe can handle upgrades:
The changes are generated and added to `~/.abra/catalogue`, you can validate what is done by running:
1. Check whether the recipe is using the `pgautoupgrade` image.
2. Check whether the recipe contains a custom postgres entrypoint, `entrypoint.postgres.sh`.
```
cd ~/.abra/catalogue
git diff
```
If neither #1 nor #2 is true, **do not include a "major" postgres upgrade in a recipe upgrade**.
You can pass `--publish` to have `abra` automatically publish those changes.
!!! warning "Here be more SSH dragons"
In order to have `abra` publish changes for you automatically, you'll have to have write permissons to the git.coopcloud.tech repository and your account must have a working SSH key configuration. `abra` will use the SSH based URL connection details for Git by automagically creating an `origin-ssh` remote in the repository and pushing to it.
## How do I make the catalogue automatically regenerate after new versions are published?
"I'd like to make it so that whenever I push a new git tag to the
[`coop-cloud/rallly` repository](https://git.coopcloud.tech/coop-cloud/rallly)
(probably [using `abra recipe
release`](#how-do-i-release-a-new-recipe-version)), it automatically does the
[recipe catalogue generation steps](#how-do-i-generate-the-recipe-catalogue)"
1. Check whether tag builds are already trying to run: go to
https://build.coopcloud.tech, search for the recipe name (in this case taking
you to https://build.coopcloud.tech/coop-cloud/rallly/settings). If there are
failing builds, or if you see builds succeeding but catalogue regeneration
doesn't seem to be happening, then either dive in and try and fix it, or ask
for help in [`#coopcloud-tech`](https://matrix.to/#/#coopcloud-tech:autonomic.zone)
2. Otherwise, click "activate repository". You probably want to set the "disable pull
requests" and "disable forks" options; they won't work anyway, but the
failures might be confusing.
3. Make sure there is a `generate recipe catalogue` step in the recipe's
`.drone.yml` -- if there isn't, you can copy [the one from
`coop-cloud/rallly`](https://git.coopcloud.tech/coop-cloud/rallly/src/branch/main/.drone.yml#L24-L38) unchanged.
4. That's it! Now, when you push a new tag, the recipe catalogue will regenerate
automatically. You can test this by re-pushing a tag (e.g. `git push origin
:0.5.0+3.5.1 && git push 0.5.0+3.5.1`)
## How does automatic catalogue regeneration work?
**TODO: write up properly**
Context: the catalogue lives in a git repo here: https://git.coopcloud.tech/toolshed/recipes-catalogue-json
The expectation is that this repo will only be updated automatically. While manual commits are possible, they're likely to be overwritten.
Automatic regeneration is handled by this Drone step, in the separate `auto-recipes-catalogue-json` repo: https://git.coopcloud.tech/toolshed/auto-recipes-catalogue-json/src/branch/main/.drone.yml#L5-L25
This is run on a daily schedule (question: where is `nightly-app-date` configured?), and can also be triggered by recipe repositories to make new versions available quicker see "[How do I make the catalogue automatically regenerate after new versions are published?](#how-do-i-make-the-catalogue-automatically-regenerate-after-new-versions-are-published)" above.
Feel welcome to ask for help in #coopcloud-tech:matrix.autonomic.zone
## How do I enable healthchecks
@ -567,30 +534,6 @@ The possible Values are:
The setting does only apply when you also set a length modifier to the secret (documented [here](/maintainers/handbook/#how-do-i-change-secret-generation-length)), so it is not applicable for the "easy to remember word" style generator that used when you don't set a length.
## How are recipes added to the catalogue?
> This is so far a manual process which requires someone who's been added to the
> `coop-cloud` "Organisation" on https://git.coopcloud.tech. This is a temporary
> situation, we want to open out this process & also introduce some automation
> to support making thie process more convenient. Please nag us to move things
> along.
- Publish your new recipe on the [git.coopcloud.tech](https://git.coopcloud.tech/coop-cloud) "Organisation"
- Run `abra catalogue generate <recipe> -p`
- Run `cd ~/.abra/catalogue && make`
These minimal steps will publish a new recipe with no versions. You can also do
the [recipe release publishing dance](https://docs.coopcloud.tech/maintainers/handbook/#how-do-i-release-a-new-recipe-version)
which will then extend the `versions: [...]` section of the published JSON in the catalogue.
Recipes that are not included in the catalogue can still be deployed. It is not
required to add your recipes to the catalogue, but this will improve the
visibility for other co-op hosters & end-users.
For now, it is best to [get in touch](https://docs.coopcloud.tech/intro/contact/) if you want to add your recipe to the catalogue.
In the future, we'd like to support [multiple catalogues](https://git.coopcloud.tech/toolshed/organising/issues/139).
## How do I configure backup/restore?
From the perspective of the recipe maintainer, backup/restore is just more
@ -716,6 +659,11 @@ Please note:
1. The `file_env` / `_FILE` hack is to pass secrets into the container runtime without exposing them in plaintext in the configuration. See [this entry](/maintainers/handbook/#exposing-secrets) for more.
1. In order to pass execution back to the original entrypoint, it's a good idea to find the original entrypoint script and run it from your own entrypoint script. If there is none, you may want to reference the `CMD` definition or if that isn't working, try to actually specify `cmd: ...` in the `compose.yml` definition (there are other recipes which do this).
1. Also it might be necessary to define command: although there is an original entrypoint. That's [due to the fact](https://docs.docker.com/reference/compose-file/services/#entrypoint) that if entrypoint is non-null, Compose ignores any default command from the image, for example the `CMD` instruction in the Dockerfile.
1. Pratically you would e.g. look for the Dockerfile of the upstream image. In there you should find the docker-entrypoint.sh (or similar) and where it's located. Furthermore you find the `CMD`-line there.
1. Just put in your entrypoint.sh in the last line: exec /path/to/docker-entrypoint.sh "@" (path and filename you should find in upstream Dockerfile) and insert command: to your service in compose.yml with the value of what you find in the CMD line of the Dockerfile.
1. If you're feeling reckless, you can also use the Golang templating engine to do things conditionally.

View File

@ -464,6 +464,10 @@ route requests after. You're free to make as many `$whatever.yml` files in your
Yes, it's possible although currently Quite Experimental! See
[`#388`](https://git.coopcloud.tech/toolshed/organising/issues/388) for more.
## Can I deploy images from a private registry?
Yes, as of [`#585`](https://git.coopcloud.tech/toolshed/abra/pulls/585), this is possible. At current time of writing, this feature is unreleased but this will change shortly. You need to run `docker login` before you run your deploy command.
## Running an offline coop-cloud server
You may want to run a coop-cloud directly on your device (or in a VM or machine on your LAN), whether that's for testing a recipe or to run coop-cloud apps outside of the cloud ;-)

View File

@ -75,6 +75,7 @@ nav:
- maintainers/index.md
- "New Maintainers Tutorial": maintainers/tutorial.md
- "Packaging Handbook": maintainers/handbook.md
- maintainers/catalogue.md
- "Operators":
- operators/index.md
- "New operators Tutorial": operators/tutorial.md
@ -121,11 +122,14 @@ nav:
- federation/resolutions/passed/027.md
- federation/resolutions/passed/028.md
- federation/resolutions/passed/029.md
- federation/resolutions/passed/032.md
- federation/resolutions/passed/031.md
- "Stalled":
- federation/resolutions/stalled/013.md
- federation/resolutions/stalled/030.md
- "In Progress":
- federation/resolutions/index.md
- federation/resolutions/in-progress/030-docs-naming-survey.md
- federation/resolutions/in-progress/033.md
- "Minutes":
- federation/minutes/index.md
- "Recently":