forked from toolshed/docs.coopcloud.tech
Compare commits
20 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| a3d16bd0b6 | |||
|
39ab74b9b8
|
|||
| f919f0c10b | |||
| d683a7e33e | |||
| 7f50082972 | |||
|
31a502cf6f
|
|||
|
304143d151
|
|||
|
1c09d09eeb
|
|||
|
72e1c448df
|
|||
|
259ece5a9f
|
|||
|
dec3335a87
|
|||
|
7be11d48a1
|
|||
|
02002fcde5
|
|||
|
0478269b31
|
|||
|
d0fd7403d1
|
|||
|
861eddaa71
|
|||
|
139147d23d
|
|||
| 2f21edf2b9 | |||
| f5cfe1f92b | |||
| f6798cbe2d |
+4
-3
@@ -1,4 +1,4 @@
|
||||
FROM squidfunk/mkdocs-material:9.4.14
|
||||
FROM squidfunk/mkdocs-material:9.5.7
|
||||
|
||||
EXPOSE 8000
|
||||
|
||||
@@ -9,5 +9,6 @@ WORKDIR /docs
|
||||
RUN apk add --no-cache curl
|
||||
|
||||
RUN pip install \
|
||||
mkdocs-awesome-pages-plugin==2.9.1 \
|
||||
mkdocs-material-extensions==1.1.1
|
||||
mkdocs-material~=9.5.7 \
|
||||
mkdocs-material-extensions~=1.3.1 \
|
||||
mkdocs-awesome-pages-plugin==2.9.2
|
||||
|
||||
@@ -1,13 +1,21 @@
|
||||
# docs.coopcloud.tech
|
||||
# docs.coopcloud.tech :open_book:
|
||||
|
||||
[](https://build.coopcloud.tech/coop-cloud/docs.coopcloud.tech)
|
||||
|
||||
> https://docs.coopcloud.tech
|
||||
View: [docs.coopcloud.tech](https://docs.coopcloud.tech)
|
||||
|
||||
## hacking
|
||||
|
||||
## Developing / Hacking
|
||||
|
||||
Co-op Cloud's docs are created with the [mkdocs-material](https://squidfunk.github.io/mkdocs-material/) framework.
|
||||
|
||||
To install dependencies and serve local build of site, simply run:
|
||||
|
||||
```
|
||||
make
|
||||
```
|
||||
|
||||
Theme docs are [here](https://squidfunk.github.io/mkdocs-material/setup/changing-the-colors/) and [there](https://squidfunk.github.io/mkdocs-material/reference/).
|
||||
Useful docs for theming and content reference:
|
||||
|
||||
- [Changing the colors](https://squidfunk.github.io/mkdocs-material/setup/changing-the-colors/)
|
||||
- [Reference](https://squidfunk.github.io/mkdocs-material/reference/)
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
display_url: "https://docs.coopcloud.tech/"
|
||||
logo_url: "/img/coop_cloud_logo_pink.png"
|
||||
backend:
|
||||
name: gitea
|
||||
repo: coop-cloud/docs.coopcloud.tech
|
||||
branch: main
|
||||
app_id: c5bb5fe3-d24d-4246-b790-7455a271d1e8
|
||||
site_domain: docs.coopcloud.tech
|
||||
api_root: https://git.coopcloud.tech/api/v1
|
||||
base_url: https://git.coopcloud.tech
|
||||
auth_endpoint: https://git.coopcloud.tech/login/oauth/authorize
|
||||
media_folder: img
|
||||
public_folder: /img
|
||||
collections:
|
||||
- name: 'docs'
|
||||
label: 'Docs'
|
||||
create: true
|
||||
folder: 'docs/'
|
||||
slug: '{{slug}}'
|
||||
fields:
|
||||
- label: 'Title'
|
||||
name: 'title'
|
||||
widget: 'string'
|
||||
- label: "Body"
|
||||
name: "body"
|
||||
widget: "markdown"
|
||||
@@ -0,0 +1,12 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="robots" content="noindex" />
|
||||
<title>Co-op Cloud: Docs Editor</title>
|
||||
</head>
|
||||
<body>
|
||||
<script src="https://unpkg.com/decap-cms@latest/dist/decap-cms.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -15,3 +15,4 @@ title: Membership
|
||||
| ruangrupa | - | - | Henry `@babystepper:matrix.org` |
|
||||
| UTAW | - | - | `@javielico:matrix.org` |
|
||||
| ??? | - | - | `@mirsal:1312.media` |
|
||||
| Klasse & Methode | - | - | `@p4u1_f4u1:matrix.org` |
|
||||
|
||||
+14
-24
@@ -1,25 +1,25 @@
|
||||
---
|
||||
title: "Resolution 013: Budget 007: Operator sync - 2023-10-14"
|
||||
title: "Resolution 013: Budget 007: Operator sync - 2024-01-??"
|
||||
---
|
||||
|
||||
- Deadline: 2023-10-28
|
||||
!!! note
|
||||
|
||||
This resolution has been amended! The main change was to remove automatic
|
||||
git synchronisation; please see [the file
|
||||
history](https://git.coopcloud.tech/coop-cloud/docs.coopcloud.tech/commits/branch/main/docs/federation/resolutions/in-progress/013.md) for a full run-down.
|
||||
|
||||
- Deadline: 2024-01-XX
|
||||
- Size: Large
|
||||
|
||||
### Summary
|
||||
|
||||
As highlighted in several tickets (e.g. [`#434`](https://git.coopcloud.tech/coop-cloud/organising/issues/434), [`#467`](https://git.coopcloud.tech/coop-cloud/organising/issues/467)), several operators working together on the same server routinely run into deployment instability. This is due to the fact that we do not store or sync the deployment version of the apps.
|
||||
As highlighted in several tickets (e.g. [`#434`](https://git.coopcloud.tech/coop-cloud/organising/issues/434), [`#467`](https://git.coopcloud.tech/coop-cloud/organising/issues/467)), several operators working together on the same server routinely run into deployment instability. This is due to the fact that we do not store the deployment version of the apps.
|
||||
|
||||
With this proposal, we would like to address the synchronisation of app deployment versions. This is being called "Operator sync". What follows is the design proposal which has already received feedback from operators on [this pad](https://pad.riseup.net/p/IebZQkpe3OOpYyVT8f1j-keep).
|
||||
|
||||
### Details (Budget 007)
|
||||
|
||||
We support a config file (`$ABRA_DIR/config.yml`) which has these defaults:
|
||||
|
||||
```yaml
|
||||
---
|
||||
operator:
|
||||
sync: false
|
||||
```
|
||||
We add support a config file (`$ABRA_DIR/config.yml`) which has these defaults:
|
||||
|
||||
We also add a `abra config` command which has the following shape:
|
||||
|
||||
@@ -44,22 +44,12 @@ There is also a new command `abra app sync <domain>` which triggers a synchronis
|
||||
|
||||
When `abra app deploy/upgrade/rollback/sync` is run, here's what we do:
|
||||
|
||||
* `git pull` on the sync repository
|
||||
* if there are changes, pull them in & log them
|
||||
* if there is a merge conflict, bail out and ask operator to resolve them
|
||||
|
||||
`abra` will search for Git repositories under `$ABRA_DIR/servers/...`. A single Git repository at the root (`$ABRA_DIR/servers/.git`) and on the individual server level (`$ABRA_DIR/servers/example.com/.git`) are supported. Both solution work alongside each other and symlinks are resolved.
|
||||
|
||||
The way to avoid merge conflicts will be to never move the `OPERATOR_SYNC_VERSION` env var (see below) from the line it is on in the app env config. `abra` will always insert it just under the `TYPE` env var.
|
||||
|
||||
The initial implementation asks operators to initialise their own Git repositories.
|
||||
|
||||
* Read the `OPERATOR_SYNC_VERSION` env var as the version to deploy / upgrade from / rollback from
|
||||
* upgrade: if deployed version does not match `OPERATOR_SYNC_VERSION`, warn before overview
|
||||
* rollback: same as above!
|
||||
|
||||
* Run the deployment
|
||||
* if successful, record a new `OPERATOR_SYNC_VERSION`, commit & push the changes
|
||||
* if successful, record a new `OPERATOR_SYNC_VERSION`
|
||||
* if unsuccessful, do not record a `OPERATOR_SYNC_VERSION` and ask operator to resolve
|
||||
|
||||
If `--chaos` is passed, we use the short commit hash instead of the version label.
|
||||
@@ -74,10 +64,10 @@ OPERATOR_SYNC_VERSION=4.0.0+v1.93.0 # managed by Abra
|
||||
|
||||
Operator documentation will also be provided.
|
||||
|
||||
**Budget amount**: 400 EUR (20 hrs * 20 EUR/hr)
|
||||
**Budget amount**: 200 EUR (10 hrs * 20 EUR/hr)
|
||||
|
||||
**Who will implement this**: ??? (was `@decentral1se` but no more)
|
||||
**Who will implement this**: (someone?)
|
||||
|
||||
**When will the money be spent**: Before mid November 2023.
|
||||
**When will the money be spent**: Before mid-February 2024
|
||||
|
||||
**What is the money for**: Implementing the first steps of operator sync.
|
||||
@@ -0,0 +1,46 @@
|
||||
---
|
||||
title: "Resolution 016: Budget 008: Backup-bot-two Documentation and Specification - 27-01-2024"
|
||||
---
|
||||
|
||||
- Deadline: 10th February 2024
|
||||
- Size: Large
|
||||
|
||||
### Summary
|
||||
|
||||
> (Co-written by p4u1 & d1)
|
||||
|
||||
The new backup-bot-two implementation is nearly finished. The only remaining step is to implement restore functionality. In a recently meeting with Moritz, p4u1 & d1, we discussed how to design and implement it. The mintues are [here](https://pad.riseup.net/p/UEC2JUPGb6tmRCZ7RX9X-keep).
|
||||
|
||||
In this meeting, we realised that there is already a lot of implicit, undocumented knowledge about how backup-bot-two & abra work together. How the restore interface will work is more or less designed in the meeting, with general agreement.
|
||||
|
||||
In order to communicate that design, we feel we need to have clear documentation and a specification on how things work. This will make sure we have consensus before commiting more budget to implementing the final step. It will also help operators pick up, use & extend backup-bot-two in the future.
|
||||
|
||||
In this resolution, we want to propose to write the initial documentation and specification for the new [backup-bot-two](https://git.coopcloud.tech/coop-cloud/backup-bot-two/).
|
||||
|
||||
The existing documentation for the old backupbot should be taken into account wherever possible.
|
||||
|
||||
### Details (Budget 008)
|
||||
|
||||
Documentation should be for:
|
||||
|
||||
- Operators using the backup-bot-two
|
||||
- Maintainers of recipes
|
||||
|
||||
The documentation should have:
|
||||
|
||||
- Examples on using Abra with the backupbot
|
||||
- Examples of recipe configurations
|
||||
- Detailed explanation of features and their limitations
|
||||
|
||||
The Specification should include:
|
||||
|
||||
- Detailed specification on how annotations work
|
||||
- With the specification it should be possible to implement backup and restore
|
||||
without looking at the backupbot-two code
|
||||
|
||||
---
|
||||
|
||||
- Budget amount: 200 EUR (10 hrs * 20 EUR/hr)
|
||||
- Who will implement this: p4u1
|
||||
- When will the money be spent: Before the end of February
|
||||
- What is the money for: Writing documentation and specification for backup-bot-two
|
||||
@@ -0,0 +1,19 @@
|
||||
---
|
||||
title: "Resolution 17: BeWater joins the Co-op Cloud Federation - 30-01-2024"
|
||||
---
|
||||
|
||||
- Deadline: 13-02-2024
|
||||
- Size: Large
|
||||
|
||||
### Summary
|
||||
|
||||
[BeWater Co-op](https://bewater.contact).
|
||||
|
||||
`@decentral1se` is a member and has been active in Abra hacking & coordination
|
||||
on several issues. BeWater maintains several small-scale Co-op Cloud
|
||||
deployments.
|
||||
|
||||
### Details
|
||||
|
||||
BeWater is just starting and we're currently unable to pay the membership fees
|
||||
at this time and ask for a waiver for 1 year. To be revisited on 30-01-2025.
|
||||
-1
@@ -5,7 +5,6 @@ title: "Resolution 014: Budget 008: Critical Fixes - 2023-12-06"
|
||||
- Deadline: 2023-12-24
|
||||
- Size: Large
|
||||
|
||||
|
||||
## Summary
|
||||
|
||||
We (decentral1se, wykwit, moritz, knoflook) have identified bugs and lacking features that are a big obstacle to using abra.
|
||||
@@ -0,0 +1,19 @@
|
||||
---
|
||||
title: "Resolution 15: Klasse & Methode joins the Co-op Cloud Federation - 25-01-2024"
|
||||
---
|
||||
|
||||
- Deadline: 08-02-2024
|
||||
- Size: Large
|
||||
|
||||
### Summary
|
||||
|
||||
[Klasse & Methode - IT Kollektiv Stuttgart](https://codeberg.org/Klasse-Methode).
|
||||
|
||||
`@p4u1` has been active in Abra hacking & coordination on several issues. K & M
|
||||
manage a Co-op Cloud deployment with 9 apps running at the time of the
|
||||
proposal.
|
||||
|
||||
### Details
|
||||
|
||||
K & M is volunteer based and are unable to pay the membership fees at this time
|
||||
and ask for a waiver for 1 year. To be revisited on 25-01-2025.
|
||||
@@ -1,8 +1,23 @@
|
||||
---
|
||||
title: Maintainers guide
|
||||
title: Maintainers Guide
|
||||
---
|
||||
|
||||
Welcome to the maintainers guide! Maintainers are typically individuals who have a stake in building up and maintaining our digital configuration commons, the recipe configurations. Maintainers help keep recipes configurations up to date, respond to issues in a timely manner, help new users within the community and recruit new maintainers when possible.
|
||||
|
||||
- [New maintainers tutorial](/maintainers/tutorial): If you want to package a recipe and/or become a maintainer, start here :rocket:
|
||||
- [Packaging handbook](/maintainers/handbook): One-stop shop for all you need to know to package recipes :package:
|
||||
<div class="grid cards" markdown>
|
||||
|
||||
- __New maintainers tutorial__
|
||||
|
||||
If you want to package a recipe and/or become a maintainer, start here :rocket:
|
||||
|
||||
[Get Started](/maintainers/tutorial){ .md-button .md-button--primary }
|
||||
|
||||
- __Packaging handbook__
|
||||
|
||||
One-stop shop for all you need to know to package recipes :package:
|
||||
|
||||
[Read Handbook](/maintainers/handbook){ .md-button .md-button--primary }
|
||||
|
||||
</div>
|
||||
|
||||
Maintainers are encouraged to submit documentation patches! Sharing is caring :sparkling_heart:
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
---
|
||||
title: Operations handbook
|
||||
title: Operators Handbook
|
||||
---
|
||||
|
||||
## Understanding `~/.abra`
|
||||
|
||||
+18
-3
@@ -2,7 +2,22 @@
|
||||
title: Operators Guide
|
||||
---
|
||||
|
||||
Welcome to the operators guide! Operators are typically individuals, members of tech co-ops or collectives who provide services powered by Co-op Cloud. This documentation is meant to help new & experienced operators manage their deployments as well as provide a space for sharing tricks & tips for keeping things running smoothly. Operators are encouraged to submit documentation patches! Sharing is caring :sparkling_heart:
|
||||
Welcome to the operators guide! Operators are typically individuals, members of tech co-ops or collectives who provide services powered by Co-op Cloud. This documentation is meant to help new & experienced operators manage their deployments as well as provide a space for sharing tricks & tips for keeping things running smoothly.
|
||||
|
||||
- [New operators tutorial](/operators/tutorial): If you want to become an operator, start here :rocket:
|
||||
- [Operations handbook](/operators/handbook): One-stop shop for all you need to know to manage a deployment :ribbon:
|
||||
<div class="grid cards" markdown>
|
||||
|
||||
- __New Operators Tutorial__
|
||||
|
||||
If you want to become an operator, start your journey here :rocket:
|
||||
|
||||
[Get started](tutorial.md){ .md-button .md-button--primary }
|
||||
|
||||
- __Operators Handbook__
|
||||
|
||||
One-stop shop for all you need to know to manage a deployment :ribbon:
|
||||
|
||||
[Read Handbook](handbook.md){ .md-button .md-button--primary }
|
||||
|
||||
</div>
|
||||
|
||||
Operators are encouraged to submit documentation patches! Sharing is caring :sparkling_heart:
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
---
|
||||
title: New operators tutorial
|
||||
title: New Operators Tutorial
|
||||
---
|
||||
|
||||
## The moving parts
|
||||
|
||||
@@ -4,6 +4,20 @@ title: Organisers Guide
|
||||
|
||||
Welcome to the organisers guide! Organisers are folks who focus on the social work in the project. Speaking for the project at talks, helping new tech co-ops & collectives join, keeping an eye out for funding opportunities, seeing what things come up in the community chats, etc. It's important work.
|
||||
|
||||
We're still working out what it looks like to do this kind of work in the project. If you like the idea of this kinda of work and/or are already doing it, please send patches to improve this documentation :rocket:
|
||||
<div class="grid cards" markdown>
|
||||
|
||||
- [Organising handbook](/organisers/handbook): One-stop shop for all you need to know to organise in the community :sparkles:
|
||||
- __Organisers handbook__
|
||||
|
||||
One-stop shop for all you need to know to organise in the community :sparkles:
|
||||
|
||||
[Read Handbook](/organisers/handbook){ .md-button .md-button--primary }
|
||||
|
||||
- __Say Hello First__
|
||||
|
||||
If you like what you see, but are not sure how to best contribute :speech_left:
|
||||
|
||||
[Get In Touch](/get-involved/){ .md-button .md-button--primary }
|
||||
|
||||
</div>
|
||||
|
||||
We're still working out what it looks like to do this kind of work in the project. If you like the idea of this kinda of work and/or are already doing it, please send patches to improve this documentation :rocket:
|
||||
|
||||
@@ -4,6 +4,14 @@
|
||||
--md-primary-fg-color--dark: #ee4a33;
|
||||
}
|
||||
|
||||
/* Button styling tweaks */
|
||||
|
||||
.md-button {
|
||||
margin: .25em !important;
|
||||
padding: .15em .6em !important;
|
||||
font-size: .85em !important;
|
||||
}
|
||||
|
||||
/* Navbar styling tweaks */
|
||||
|
||||
.md-search__form {
|
||||
|
||||
+21
-10
@@ -26,20 +26,28 @@ theme:
|
||||
copyright: Copyleft 2023 Co-op Cloud
|
||||
|
||||
markdown_extensions:
|
||||
- meta
|
||||
- admonition
|
||||
- attr_list
|
||||
- codehilite:
|
||||
guess_lang: false
|
||||
- def_list
|
||||
- footnotes
|
||||
- md_in_html
|
||||
- meta
|
||||
- toc:
|
||||
permalink: true
|
||||
- attr_list
|
||||
- pymdownx.tabbed
|
||||
- pymdownx.superfences
|
||||
- pymdownx.tilde
|
||||
- pymdownx.magiclink
|
||||
- pymdownx.betterem:
|
||||
smart_enable: all
|
||||
- pymdownx.details
|
||||
- pymdownx.emoji:
|
||||
emoji_index: !!python/name:materialx.emoji.twemoji
|
||||
emoji_generator: !!python/name:materialx.emoji.to_svg
|
||||
emoji_generator: !!python/name:material.extensions.emoji.to_svg
|
||||
emoji_index: !!python/name:material.extensions.emoji.twemoji
|
||||
- pymdownx.magiclink
|
||||
- pymdownx.mark
|
||||
- pymdownx.smartsymbols
|
||||
- pymdownx.superfences
|
||||
- pymdownx.tabbed
|
||||
- pymdownx.tilde
|
||||
|
||||
nav:
|
||||
- "Introduction":
|
||||
@@ -101,12 +109,15 @@ nav:
|
||||
- federation/resolutions/passed/010.md
|
||||
- federation/resolutions/passed/011.md
|
||||
- federation/resolutions/passed/012.md
|
||||
- federation/resolutions/in-progress/014.md
|
||||
- federation/resolutions/passed/014.md
|
||||
- federation/resolutions/passed/015.md
|
||||
- "In progress":
|
||||
- federation/resolutions/in-progress/index.md
|
||||
- federation/resolutions/in-progress/013.md
|
||||
- federation/resolutions/in-progress/016.md
|
||||
- federation/resolutions/in-progress/017.md
|
||||
- "Draft":
|
||||
- federation/resolutions/drafts/index.md
|
||||
- federation/resolutions/drafts/013.md
|
||||
- "Finance": federation/finance.md
|
||||
- "Membership": federation/membership.md
|
||||
- "Minutes":
|
||||
|
||||
+14
-3
@@ -1,4 +1,15 @@
|
||||
markdown~=3.2
|
||||
|
||||
mkdocs~=1.5.3
|
||||
mkdocs-material~=9.5.7
|
||||
mkdocs-material-extensions~=1.3.1
|
||||
mkdocs-awesome-pages-plugin==2.9.2
|
||||
mkdocs-material-extensions==1.3.1
|
||||
mkdocs-material==9.4.14
|
||||
mkdocs==1.5.3
|
||||
pygments~=2.16
|
||||
pymdown-extensions~=10.2
|
||||
|
||||
# Requirements for plugins
|
||||
babel~=2.10
|
||||
colorama~=0.4
|
||||
paginate~=0.5
|
||||
regex>=2022.4
|
||||
requests~=2.26
|
||||
|
||||
Reference in New Issue
Block a user