32 Commits
R32 ... main

Author SHA1 Message Date
1be011b07e refactor: it's an inventory
All checks were successful
continuous-integration/drone/push Build is passing
2025-09-03 00:15:38 +02:00
0621f89c09 docs: add more tools 2025-09-03 00:15:33 +02:00
3241b864a9 docs: shared infra
All checks were successful
continuous-integration/drone/push Build is passing
2025-09-03 00:08:35 +02:00
48489718b6 docs: templating
All checks were successful
continuous-integration/drone/push Build is passing
See toolshed/organising#521
2025-08-30 12:49:53 +02:00
09b90a7b8e docs: i18n merge conflict resolutions
All checks were successful
continuous-integration/drone/push Build is passing
2025-08-30 11:56:06 +02:00
df617f4951 docs: remove ref to old repo
All checks were successful
continuous-integration/drone/push Build is passing
Closes #280
2025-08-30 10:22:44 +02:00
9db89e0ae5 update links that pointed to git.autonomic.zone to point to git.coopcloud.tech
All checks were successful
continuous-integration/drone/push Build is passing
2025-08-29 13:25:19 -04:00
395b52691f docs: version warning and drop --ignore-env-version
All checks were successful
continuous-integration/drone/push Build is passing
2025-08-29 17:03:17 +02:00
34ade7e58c docs: moar secret generation modifiers
All checks were successful
continuous-integration/drone/push Build is passing
See toolshed/abra#607
2025-08-29 17:01:18 +02:00
055ae85ec4 Tweak explanation of weblate
All checks were successful
continuous-integration/drone/push Build is passing
2025-08-28 14:28:20 +00:00
39a7c3af29 docs: i18n fixups
All checks were successful
continuous-integration/drone/push Build is passing
2025-08-28 12:03:28 +02:00
da3200cab6 docs: abra.yml
All checks were successful
continuous-integration/drone/push Build is passing
See toolshed/abra#622
2025-08-28 12:00:49 +02:00
9d992aaf84 docs: moar about translation work
See toolshed/abra#609
2025-08-28 11:53:31 +02:00
3wc
490d05a520 Fix pad link in kite-flying template
All checks were successful
continuous-integration/drone/push Build is passing
2025-08-26 14:40:36 -04:00
c98150841d fix: mention ssh-agent
All checks were successful
continuous-integration/drone/push Build is passing
See toolshed/abra#576
2025-08-24 10:40:52 +02:00
6436623d89 docs: WIP translation docs
All checks were successful
continuous-integration/drone/push Build is passing
See toolshed/abra#609
2025-08-24 09:40:31 +02:00
2b7235ba10 docs: more warn on auto-complete migrate
All checks were successful
continuous-integration/drone/push Build is passing
See toolshed/abra#553
2025-08-18 09:36:16 +02:00
4e11ca64cd docs: --file/-f migration note
All checks were successful
continuous-integration/drone/push Build is passing
See toolshed/abra#555
2025-08-18 09:28:24 +02:00
53f518ad81 fix: typo
All checks were successful
continuous-integration/drone/push Build is passing
2025-08-17 11:16:08 +02:00
d299663325 docs: start migration notes for abra next
All checks were successful
continuous-integration/drone/push Build is passing
2025-08-17 11:15:26 +02:00
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
47 changed files with 323 additions and 58 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"
```
@ -200,6 +220,62 @@ bats -Tp tests/integration --filter-status failed # re-run only failed
If you're running into issues and want to debug stuff, you can pass `-x` to `bats` to trace all commands run in the test. You can add `echo '...' >&3` debug statements to your test to output stuff also.
## Internationalisation (`i18n`)
`abra` can be translated into other languages. We use a combination of [`gettext`](https://www.gnu.org/software/gettext/), [`weblate`](https://translate.coopcloud.tech) and some [intermediate automation](https://git.coopcloud.tech/toolshed/abra/src/commit/20909695e0e05c6251029dba270b3d4741aeb7a8/.drone.yml#L10-L29) to help developers and translators work together conveniently.
### Developer workflow
You just hack on `abra` as you normally would.
If you need to add a string, use `i18n.G` to wrap it. See [`gotext`](https://github.com/leonelquinteros/gotext) for the full API.
For example.
```go
i18n.G("my string")
i18n.G("my string with err: %s", err)
log.Debug(i18n.G("my string"))
log.Info(i18n.G("my string with err: %s", err)) # N.B no log.Infof usage here
```
Then you need to update the `pkg/i18n/locales/abra.pot` file with your new strings for the translators.
```bash
apt install -y gettext
go install -v -x github.com/snapcore/snapd/i18n/xgettext-go@2.57.1
make i18n
```
Commit the changes. Ignore `*.mo` changes if they only update the generation timestamp.
#### Resolving a merge conflict
```
git remote add weblate https://translate.coopcloud.tech/git/co-op-cloud/abra/
git remote update weblate
git merge weblate/main
```
Once you've resolved the conflict and pushed it, you'll need admin permissions on the Weblate repository to unlock it.
### Translator workflow
You can translate strings on [Weblate (`translate.coopcloud.tech`)](https://translate.coopcloud.tech).
It's also possible to translate using [`poedit`](https://poedit.net). Weblate is the recommended approach.
All translation files are located in [`pkg/i18n/locales`](https://git.coopcloud.tech/toolshed/abra/src/branch/main/pkg/i18n/locales). Once translations are updated in weblate, they will be incorporated into the next release of `abra` automatically.
### End-user workflow
You simply export the `LANG` env var to match your desired translation.
```
export LANG=es
abra -h
```
## Using the `abra` public API
Warning, there is currently no stability promise for the `abra` public API! Most of the internals are exposed in order to allow a free hand for developers to try build stuff. If people start to build things then we can start the discussion on what is useful to have open/closed and keep stable etc. Please let us know if you depend on the APIs!

View File

@ -23,6 +23,7 @@ Host example.com
and your IdentityFile should be added to the authentication agent:
```
eval `ssh-agent`
ssh-add ~/.ssh/example@somewhere
```
@ -101,3 +102,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

@ -53,6 +53,11 @@ And test things work.
> General release notes are [here](https://git.coopcloud.tech/toolshed/abra/releases/)
### `0.10.x-beta` -> `WIP`
* We now ensure that `$ABRA_DIR/servers` has stricter permissions (`0600`).
See [`#592`](https://git.coopcloud.tech/toolshed/abra/pulls/592) for more.
### `0.9.x-beta` -> `0.10.x-beta`
* `abra` will now write the app deployment version to the app env file
@ -77,6 +82,10 @@ And test things work.
* Auto-completion for `abra` is handled differently now. See `abra autocomplete
--help` for more. The full help output is available for each specific shell,
e.g. `abra autocomplete zsh --help`. It is now generated on the fly.
**WARNING**: you'll need to REMOVE your pre `v0.10.x` `abra` auto-complete
config for the new auto-complete to work. Check your `$SHELL` configuration
file (e.g. `.zshrc` for Zsh). See
[`#553`](https://git.coopcloud.tech/toolshed/abra/issues/553) for more.
* Several commands now make use of the `--chaos/-C` commands, such as `abra app
ps` and `abra app cp`. See `--help` for more.
@ -133,6 +142,10 @@ And test things work.
* It's now possible to set the character charset for a password. See
[`#521`](https://git.coopcloud.tech/toolshed/abra/issues/521) for more.
* `abra secret insert` now supports a `--file/-f` flag to support inserting
from file without using Bash-isms. See See
[`#555`](https://git.coopcloud.tech/toolshed/abra/issues/555) for more.
### `0.8.x-beta` -> `0.9.x-beta`
None at this time.

View File

@ -60,10 +60,6 @@ Finally, please let us know what your username/email is for your Open Collective
#### FAQ
##### Where are the bank details of federation members?
Please see [`Finance.md` in the internal Federation Wiki](https://git.coopcloud.tech/Federation/organising/wiki/Finance)
##### What transfer type do we use for USD?
`ACH`. If you see `Abartn`, that is the `ACH routing number`.

View File

@ -32,6 +32,6 @@ Here is some invitation boilerplate which you can use:
>
> There are no "stupid questions"! It's a space to inquire, be curious and have a good time and get to know each other.
>
> We take notes and doodle on [this collaboratively editable pad](https://pad.autonomic.zone/LqotfSJJRj69RcTtWmr7iw). If you don't have time to attend, feel free to drop your questions and some contact details also, so we can get in touch. This is only the first Kite Flying Hour in a recurring series of Kite Flying Hours.
> We take notes and doodle on [this collaboratively editable pad](https://pad.autonomic.zone/VtyrLUl9RWaJGgEDrncQUw?view). If you don't have time to attend, feel free to drop your questions and some contact details also, so we can get in touch. This is only the first Kite Flying Hour in a recurring series of Kite Flying Hours.
>
> Hope to see you there! ☁️ 🌞 🖥️

View File

@ -38,6 +38,12 @@ This is the public facing page where we publish all things federation in the ope
[Tools We Use](/federation/tools){ .md-button .md-button--primary }
- __Shared Infrastructure Inventory__
Tools we maintain for the federation 🛠
[Tools We Maintain](/federation/infra){ .md-button .md-button--primary }
- __Code of Co-operation__
Be excellent to each other 💝

22
docs/federation/infra.md Normal file
View File

@ -0,0 +1,22 @@
---
title: Shared Infrastructure Inventory
---
## Shared repository for fedi maintainers
> [coop-cloud-apps](https://git.coopcloud.tech/toolshed/coop-cloud-apps)
## 2025 State of The Co-op Cloud Infra
| service | server | recipe/app | notes |
| --- | --- | --- | --- |
| build.coopcloud.tech | `swarm-0.coopcloud.tech` | drone | should probably be moved to separate VPS |
| (drone build runner) | `swarm-0.coopcloud.tech` | drone-docker-runner | should probably be moved to separate VPS |
| git.coopcloud.tech | `swarm-0.coopcloud.tech` | gitea | |
| recipes.coopcloud.tech | `swarm-0.coopcloud.tech` | [toolshed/recipes.coopcloud.tech](https://git.coopcloud.tech/coop-cloud/recipes.coopcloud.tech/)
| recipes.coopcloud.tech/recipes.json | `swarm-0.coopcloud.tech` | [toolshed/recipes-catalogue-json](https://git.coopcloud.tech/toolshed/recipes-catalogue-json) | |
| coopcloud.tech | `swarm-0.coopcloud.tech` | [toolshed/coopcloud.tech](https://git.coopcloud.tech/coop-cloud/coopcloud.tech/) | |
| docs.coopcloud.tech | `swarm-0.coopcloud.tech` | [toolshed/docs.coopcloud.tech](https://git.coopcloud.tech/toolshed/docs.coopcloud.tech/) | |
| install.abra.coopcloud.tech | `swarm-0.coopcloud.tech` | [toolshed/abra/scripts/installer](https://git.coopcloud.tech/toolshed/abra/src/branch/main/scripts/installer) | |
| sso.coopcloud.tech | `swarm-1.coopcloud.tech` | rauthy | |
| translate.coopcloud.tech | `swarm-1.coopcloud.tech` | weblate | |

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

@ -100,8 +100,6 @@ Recap:
### decision-making process
proposal: https://git.coopcloud.tech/Federation/Federation/wiki/Proposals
- Trav: We adapted an old proposal for descision making process.
- https://pad.autonomic.zone/s/MLafJE2jC#Overview
- https://coopcloud.tech/blog/federation-proposal/

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
@ -13,13 +13,13 @@ Institute descision making process as per below. Special consensus voting in org
### Decision Making Process
* Write up a proposal using the below template, and add to the [Proposals wiki page](https://git.coopcloud.tech/Federation/Federation/wiki/Proposals).
* Write up a proposal using the below template, and add to the [Resolutions documentation "in-progress" section](https://docs.coopcloud.tech/federation/resolutions/).
* Specify if they are a large or medium proposal
* Votes are done via emoji-reaction in the Community Organising Matrix channel (<https://matrix.to/#/#coopcloud-comm-org:autonomic.zone>)
* List the decision on the [decisions page](https://docs.coopcloud.tech/federation/resolutions) on our documentation
* Decisions can be split intro three categories: Small, Medium and Large.
* Votes can be in favour :+1:, against :-1: (block), or abstain :shrug:
* Announce the result in the [Federation chat (#coop-cloud-fedi:autonomic.zone)](https://docs.coopcloud.tech/intro/contact/#matrix) and record it on the [decisions page](https://docs.coopcloud.tech/federation/resolutions) of the documentation
* Move it to the [Resolutions documentation "passed" section](https://docs.coopcloud.tech/federation/resolutions/).
### Types of Proposals

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
@ -18,4 +18,4 @@ The following federation info will be made public on [`docs.coopcloud.tech/feder
### Details
This will make the process of documenting easier to mutualise and increase transparency for those interested in joining. The [`git.coopcloud.tech/Federation`](https://git.coopcloud.tech/Federation/Federation/wiki/) wiki can still be used for storing private details such as bank account information. If members do not want to be listed, they can do so even when this decision passes.
This will make the process of documenting easier to mutualise and increase transparency for those interested in joining. The `git.coopcloud.tech/Federation` wiki (**NOTE(d1) from the future**: this repository is now decommissioned) can still be used for storing private details such as bank account information. If members do not want to be listed, they can do so even when this decision passes.

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

@ -1,5 +1,5 @@
---
title: "Resolution 031"
title: "Resolution 031: Critical fixes amended process"
---
- Topic: Critical fixes amended process

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

@ -3,9 +3,10 @@ title: Digital tools
---
- [Public documentation](https://docs.coopcloud.tech/federation)
- [Organising repository (private)](https://git.coopcloud.tech/Federation/organising)
- [Wiki (private)](https://git.coopcloud.tech/Federation/organising/wiki)
- [Git hosting](https://git.coopcloud.tech/)
- [Matrix Space](https://matrix.to/#/#coop-cloud-space:autonomic.zone)
- [Website](https://coopcloud.tech/)
- [Single Sign On](https://translate.coopcloud.tech/)
- [Translation](https://translate.coopcloud.tech/)
- [Sheets and time tracking](https://sheets.coopcloud.tech/)
- [Drone CI/CD](https://build.coopcloud.tech)

View File

@ -256,6 +256,20 @@ file_env "DB_PASSWORD"
Sometimes the containers don't even have Bash installed on them. You had better just use `/bin/sh` or, in your entrypoint script, install Bash :upside_down: The entrypoint secrets hack listed above doesn't work in this case (as it requires Bash), so instead you can just do `export FOO=$(cat /run/secrets/<secret-name>)`.
## Templating
### Templating domain names in the `.env.sample`
`<recipe>.example.com` will be transformed into the end-user app domain when `abra app new` is run.
### Templating domain names in release notes
!!! warning "Watch out for old versions of `abra` 🚧"
This feature is only available in the >= 0.11.x series of `abra`.
`<recipe>.example.com` will be transformed into the end-user app domain when `abra app upgrade` shows release notes.
## How do I reference services in configs?
When referencing an `app` service in a config file, you should prefix with the `STACK_NAME` to avoid namespace conflicts (because all these containers sit on the traefik overlay network). You might want to do something like this `{{ env "STACK_NAME" }}_app` (using the often obscure dark magic of the Golang templating language). You can find examples of this approach used in the [Peertube recipe](https://git.coopcloud.tech/coop-cloud/peertube/src/commit/d1b297c5a6a23a06bf97bb954104ddfd7f736568/nginx.conf.tmpl#L9).
@ -386,6 +400,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):
@ -400,7 +427,7 @@ You can also add release notes for the next release into a special file `release
!!! warning "Watch out for old versions of `abra` 🚧"
This feature is only available in the > 0.9.x series of `abra`.
This feature is only available in the >= 0.9.x series of `abra`.
## How do I know whether to accept version upgrades when running `abra recipe upgrade <something>`?
@ -476,6 +503,35 @@ If you want to get the highest rating on SSL certs, you can use the following tr
See [this PR](https://git.coopcloud.tech/coop-cloud/traefik/pulls/8/files) for the technical details
## How do I skip secret generation for a specific secret
!!! warning "Watch out for old versions of `abra` 🚧"
This feature is only available in the >= 0.11.x series of `abra`.
Add the `# generate=false` comment
```
SECRET_JWT_SECRET_VERSION=v1 # generate=false
```
## How do I specify the charset for a specific secret generation
!!! warning "Watch out for old versions of `abra` 🚧"
This feature is only available in the >= 0.10.x series of `abra`.
```
SECRET_JWT_SECRET_VERSION=v1 # charset=default,special
```
Options are:
* `default`: [source](https://github.com/decentral1se/passgen/blob/8404cb922dea92efa8c3514f0ec8c37ce12a880f/const.go#L23)
* `special`: [source](https://github.com/decentral1se/passgen/blob/8404cb922dea92efa8c3514f0ec8c37ce12a880f/const.go#L22C29-L22C43)
* `safespecial`: [source](https://git.coopcloud.tech/toolshed/abra/src/commit/6abaf7a094df1a96599af2c4cbae1769821ad17c/pkg/secret/secret.go#L182)
* `default,special`: mix of `default` and `special`
* `default,safespecial`: mix of `default` and `safespecial`
## How do I change secret generation length?
It is possible to tell `abra` which length it should generate secrets with from your recipe config.

View File

@ -50,7 +50,7 @@ Open the `compose.yml` in your favourite editor and have a gander &#129442;. The
5. The MariaDB service doesn't need to be exposed to the internet, so we can define an `internal` network for it to communicate with Matomo.
6. Lastly, we want to use `deploy.labels` and remove the `ports:` definition, to tell Traefik to forward requests to Matomo based on hostname and generate an SSL certificate.
The resulting `compose.yml` is available [here](https://git.autonomic.zone/coop-cloud/matomo/src/branch/main/compose.yml).
The resulting `compose.yml` is available [here](https://git.coopcloud.tech/coop-cloud/matomo/src/branch/main/compose.yml).
### Updating the `.env.sample`
@ -87,7 +87,7 @@ Otherwise, or once you've done that, go ahead and deploy the app:
abra app deploy swarm.example.com
```
Then, open the `DOMAIN` you configured (you might need to wait a while for Traefik to generate SSL certificates) to finish the set-up. Luckily, this container is (mostly) configurable via environment variables, if we want to auto-generate the configuration we can use a `config` and / or a custom `entrypoint` (see [`coop-cloud/mediawiki`](https://git.autonomic.zone/coop-cloud/mediawiki) for examples of both).
Then, open the `DOMAIN` you configured (you might need to wait a while for Traefik to generate SSL certificates) to finish the set-up. Luckily, this container is (mostly) configurable via environment variables, if we want to auto-generate the configuration we can use a `config` and / or a custom `entrypoint` (see [`coop-cloud/mediawiki`](https://git.coopcloud.tech/coop-cloud/mediawiki) for examples of both).
### Finishing up

View File

@ -94,6 +94,26 @@ git commit
make link
```
## Configure `abra` with `abra.yml`
There are few configuration options supported at this time but more can be added. We are open to requests!
### `$ABRA_DIR`
The lookup logic is defined like so.
* lookup $ABRA_DIR env
* look for config file and take value from there
* $HOME/.abra as fallback
If you create an `abra.yml` file in your `$PWD` with the following contents.
```
abraDir: .
```
Then `$ABRA_DIR` will be automatically picked up as `$PWD`. This is useful when you maintain multiple project configurations and recipes in various state of chaos and would like to separate those. `abra` will create all the usual `$HOME/.abra` state (`servers`/`recipes`/etc.) under your chosen `abraDir` value. This allows you to have multiple independent versions of specific recipes which are relevant for specific projects vs. relying on a single `$ABRA_DIR/recipes/<recipe>` and constantly having to switch between different chaotic hacks.
## Running abra server side
If you're on an environment where it's hard to run Docker, or command-line programs in general, you might want to install `abra` on a server instead of your local work station.
@ -464,6 +484,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 ;-)
@ -488,7 +512,7 @@ abra app secret insert localhost ssl_key v1 localhost.key -f
!!! warning "Watch out for old versions of `abra` 🚧"
This feature is only available in the > 0.10.x series of `abra`.
This feature is only available in the >= 0.10.x series of `abra`.
It is possible to specify a remote recipe in your `.env` file:
@ -508,7 +532,7 @@ $ABRA_DIR/recipes/mygit_org_myorg_cool-recipe
!!! warning "Watch out for old versions of `abra` 🚧"
This feature is only available in the > 0.10.x series of `abra`.
This feature is only available in the >= 0.10.x series of `abra`.
If you `abra app new`/`abra app deploy`/`abra app upgrade`/`abra app rollback`,
the version that is deployed will be written to your app `.env` file. You can
@ -529,13 +553,13 @@ TYPE=custom-html:1.7.1+1.27.2
This `.env` version is then used as the recipe checkout version for **all**
`abra` operations afterwards unless you specify otherwise on the command-line
with `[version]` `--chaos/-C` or `--ignore-env-version/-i`.
with `[version]` `--chaos/-C` or `--latest/-l`.
## How is the new deployment version determined?
!!! warning "Watch out for old versions of `abra` 🚧"
This feature is only available in the > 0.10.x series of `abra`.
This feature is only available in the >= 0.10.x series of `abra`.
### `.env` version
@ -545,7 +569,7 @@ deployment overview.
This `.env` version is then used as the recipe checkout version for **all**
`abra` operations afterwards unless you specify otherwise on the command-line
with `[version]` `--chaos/-C` or `--ignore-env-version/-i`.
with `[version]` `--chaos/-C` or `--latest/-l`.
### `abra app deploy`
@ -568,7 +592,7 @@ The version is chosen using the following priority logic.
1. deployed app
1. recipe catalogue (if undeployed)
Use `--ignore-env-version/-i` to deploy the latest release version or commit.
Use `--latest/-l` to deploy the latest release version or commit.
In all cases 3-5, the app `.env` version is **ignored** as a version candidate.

View File

@ -88,6 +88,7 @@ nav:
- "Finance": federation/finance.md
- "Membership": federation/membership.md
- "Code of Co-operation": federation/code-of-coop.md
- "Shared Infrastructure Inventory": federation/infra.md
- "Proposals":
- federation/proposals/index.md
- federation/proposals/federation.md
@ -122,12 +123,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/031.md
- federation/resolutions/in-progress/033.md
- "Minutes":
- federation/minutes/index.md
- "Recently":