Compare commits

..

1 Commits

Author SHA1 Message Date
decentral1se 266004f6ba
beta release post 2022-06-03 01:02:49 +02:00
1 changed files with 26 additions and 26 deletions

View File

@ -16,17 +16,17 @@ We're delighted to announce that the public beta of Co-op Cloud is here at last!
Before we dive in, if you're new to the project, [you'll probably want to start with our project launch post on `autonomic.zone`](https://autonomic.zone/blog/co-op-cloud/), and if you're still curious, follow along on [our (sometimes) monthly blog posts](https://coopcloud.tech/blog/) to get the full context.
So, what does "alpha"/"beta" quality software even mean!?
So, what does "alpha" and "beta" quality software even mean!?
Alpha meant that the project could fundamentally change at any time! Things were still super experimental and we were trying to find out how to make things work.
Beta means things won't fundamentally change! We're pretty confident that we have a stable base now, the moving parts of the project fit well together and things are relatively easy to maintain as we bring in new changes.
Despite the experimental nature of the project so far, we've seen a lot of people picking up Co-op Cloud, setting up deployments and getting rad with us. Folks are reporting back that it is helping them get their work done, and fits their use cases. It makes daily work convenient, and is relatively easy to learn. To everyone who took the risk of getting involved in the alpha and even pre-alpha stages of this project: you are amazing and we couldn't have done it without you :heart:
Despite the experimental nature of the project so far, we've seen a lot of people picking up Co-op Cloud, setting up deployments and getting rad with us. Folks are reporting back that it is helping them get their work done, and fits their needs. It makes daily work convenient, and is relatively easy to learn. To everyone who took the risk of getting involved in the alpha and even pre-alpha stages of this project: you are amazing and we couldn't have done it without you :heart:
## The beta bikemap in review
At the start of all this, we laid our goals out in a document we called [The Beta Bikemap](https://pad.autonomic.zone/s/C3uuqfSCk) (because roads are usually for cars, and bikes > cars). While we believe we did not yet fully address 3 of the goals ([Continuous integration testing for apps](https://pad.autonomic.zone/s/C3uuqfSCk#Continuous-integration-testing-for-apps), [Payments and billing](https://pad.autonomic.zone/s/C3uuqfSCk#Payments-and-billing), [Pen Testing/security](https://pad.autonomic.zone/s/C3uuqfSCk#Pen-Testingsecurity)) we're happy to say we think we did a good job with the 12 others! Here's the breakdown as we see it:
At the start of all this, we laid our goals out in a document we called [The Beta Bikemap](https://pad.autonomic.zone/s/C3uuqfSCk) (because roads are usually for cars, and bikes > cars). While we believe we did not yet fully address 3 of the goals ([Continuous integration testing for apps](https://pad.autonomic.zone/s/C3uuqfSCk#Continuous-integration-testing-for-apps), [Payments and billing](https://pad.autonomic.zone/s/C3uuqfSCk#Payments-and-billing), [Pen Testing/security](https://pad.autonomic.zone/s/C3uuqfSCk#Pen-Testingsecurity)) we're happy to say we think we did a good job with the 12 others!
### [Command-line tool sustainability](https://pad.autonomic.zone/s/C3uuqfSCk#Command-line-tool-sustainability)
@ -44,7 +44,7 @@ We've since managed to successfully implement [`abra` in the Go programming lang
### [Versioning and deploy stability](https://pad.autonomic.zone/s/C3uuqfSCk#Versioning-and-deploy-stability)
One of our main goals for `abra` and Co-op Cloud apps was stability. We want things to run smoothly while we maintain our deployments. We now have a system in place which we think is quite workable:
One of our main goals for `abra` and Co-op Cloud apps was stability. We want things to run smoothly when we maintain and upgrade our deployments. We've been working hard on this one and have managed to come up with several moving parts which we think help make Co-op Cloud deployments more reliable.
- Recipes can be versioned & published with `abra` to our [recipe catalogue](https://recipes.coopcloud.tech/). Each recipe uses a [variation](https://docs.coopcloud.tech/maintainers/handbook/#how-are-recipes-are-versioned) of [semantic versioning](https://semver.org/) which helps maintainers communicate what kind of changes are coming in the new version.
@ -52,23 +52,23 @@ One of our main goals for `abra` and Co-op Cloud apps was stability. We want thi
- We've implemented `deploy` / `upgrade` / `rollback` commands in `abra` so that folks can easily control the deployment state of their apps. We've set up a system of [release notes](https://docs.coopcloud.tech/maintainers/handbook/#how-do-i-write-version-release-notes) for recipes so that maintainers can leave helpful notes for operators when doing deployments. These notes are shown at deploy-time, so operators will be warned and hopefully avoid any heartbreak.
- `abra catalogue generate` parsin the entire recipes listing and generating [a JSON format catalogue listing](https://recipes.coopcloud.tech/recipes.json). The data for this catalogue is gathered automagically from the recipe `README.md` files.
- `abra catalogue generate` features an implementation which parses all recipe repositories and generates [a JSON format catalogue listing](https://recipes.coopcloud.tech/recipes.json). The data for this catalogue is gathered automagically from the recipe `README.md` files. This catalogue is then consumed by `abra` in order to reason about deployment state and determine available versions.
### [Backup and restore](https://pad.autonomic.zone/s/C3uuqfSCk#Backup-and-restore)
Standardising the way backup/restore are done was always seen as a boon for time-saving and re-use as it is one of the main guarantees that turns a deployment into a "production deployment".
We struggled to arrive at a single "works for everyone" solution. Instead, we aimed for a general solution which is flexible and also open to other tools. Several groups do backups very differently so we had to have something that was customisable.
We struggled to arrive at a single "works for everyone" solution. Instead, we aimed for a general solution which is flexible and also open to other approaches. We've heard from several groups who do backups very differently, so we had to have something that was customisable.
We then developed two approaches to doing backup/restore. One using `abra` and another using a [run-time bot](https://git.coopcloud.tech/coop-cloud/backup-bot-two). [We documented](https://docs.coopcloud.tech/maintainers/handbook/#how-do-i-configure-backuprestore) both of these methods and have seen several folks using it to great effect.
We developed two approaches to doing backup/restore. One using `abra` (e.g. `abra app backup` / `abra app restore`) and another using a [run-time bot](https://git.coopcloud.tech/coop-cloud/backup-bot-two). [We documented](https://docs.coopcloud.tech/maintainers/handbook/#how-do-i-configure-backuprestore) both of these methods and have seen several folks using it to great effect.
The core of our approach was to use [Docker object labels](https://docs.docker.com/config/labels-custom-metadata/) to mark backup/restore commands and configuration inside the recipe configuration. This suited our approach of maintaining the entire production state of the deployment inside the configuration.
The core of our approach was to use [Docker object labels](https://docs.docker.com/config/labels-custom-metadata/) to mark backup/restore commands inside the recipe configuration. This suited our approach of maintaining the entire production state of the deployment inside the recipe.
Then, tools like `abra` and `backup-bot-two` can read these labels at run-time and do backup/restore work. Other implementations are possible and welcome change sets on this.
Tools like `abra` and `backup-bot-two` can read these labels at run-time and do backup/restore work. Other implementations are possible and we welcome change sets.
### [Co-op Cloud “The Organisation”](https://pad.autonomic.zone/s/C3uuqfSCk#Co-op-Cloud-%E2%80%9CThe-Organisation%E2%80%9D)
Co-op Cloud isn't just about digital infrastructure and libre software. We also wanted to develop sustainable and democratic governance and decision making around our digital configuration commons.
Co-op Cloud isn't just about digital infrastructure and libre software. We also wanted to develop sustainable and democratic governance around our digital configuration commons.
We've been regularly astounded (to the point of questioning reality) by the amount of wonderful folks who have turned up and started organising in & around Co-op Cloud.
@ -107,15 +107,13 @@ We think more libre software projects should be thinking about how to use money
We wanted to expand the choice of libre software apps that folks could deploy so that different needs could be met. Certainly, we've seen that a lot of experimentation and testing needs to happen in order to understand if a software is a good pick. Also, we wanted to make it easy to package new apps for Co-op Cloud.
Amazingly, we currently have 90+ libre software apps packaged under our [`git.coopcloud.tech/coop-cloud/...`](https://git.coopcloud.tech/coop-cloud) repository listing. Most of those appear also under the [recipe catalogue listing](https://recipes.coopcloud.tech/) and will slowly appear once maintainers bring them into the catalogue.
We now currently have 90+ libre software apps packaged under our [`git.coopcloud.tech/coop-cloud/...`](https://git.coopcloud.tech/coop-cloud) repository listing. Most of those appear also under the [recipe catalogue listing](https://recipes.coopcloud.tech/) or will slowly appear once maintainers bring them into the catalogue.
We expanded the [recipe documentation](https://docs.coopcloud.tech/maintainers/) in order to make it clear how to work with recipes in Co-op Cloud. We've since seen several new folks jump in and start packaging libre software without much help or guidance from us at all.
We expanded the [recipe documentation](https://docs.coopcloud.tech/maintainers/) in order to make it clear how to work with recipes in Co-op Cloud. We've since seen several new folks jump in and start packaging libre software without much help or guidance from us.
### [Documentation](https://pad.autonomic.zone/s/C3uuqfSCk#Documentation)
[`docs.coopcloud.tech`](https://docs.coopcloud.tech/) has been heavily revamped and redesigned from the ground up!
We expanded the idea of "roles" in the project, such as "operators" and "maintainers" and made sure to document all the recipe packaging tips, tricks & hacks.
[`docs.coopcloud.tech`](https://docs.coopcloud.tech/) has been heavily revamped and redesigned from the ground up! We expanded the idea of "roles" in the project, such as "operators" and "maintainers" and made sure to document all the recipe packaging tips, tricks & hacks. Writing solid documentation has been our focus and will continue to be.
### [UI / UX testing](https://pad.autonomic.zone/s/C3uuqfSCk#UI--UX-testing)
@ -123,29 +121,29 @@ We have been doing extensive interface and experience testing since the pre-alph
We have been using `abra` extensively in our own deployments and projects for the entire period. We've encouraged other collectives to join us in this process and raise issues when they run into problems.
The result of all this is [263 closed issues](https://git.coopcloud.tech/coop-cloud/organising/issues?q=&type=all&sort=&state=closed&labels=&milestone=0&assignee=0) on our shared issue tracker.
The results can be seen in [263 closed reports](https://git.coopcloud.tech/coop-cloud/organising/issues?q=&type=all&sort=&state=closed&labels=&milestone=0&assignee=0) on our shared issue tracker.
### [Portability testing (software/hardware)](https://pad.autonomic.zone/s/C3uuqfSCk#Portability-testing-softwarehardware)
We wanted Co-op Cloud deployments to run on new and old hardware and of course be compatible with current day cloud providers.
Thankfully, `abra` could be cross-compiled to support several platforms: GNU/Linux, ARM (several versions) and MacOS. All versions can be seen on our [`abra` release page](https://git.coopcloud.tech/coop-cloud/abra/releases).
Thankfully, `abra` can be cross-compiled to support several mainstream platforms: GNU/Linux, ARM (several versions) and MacOS. All versions can be seen on our [`abra` release page](https://git.coopcloud.tech/coop-cloud/abra/releases).
We've setup release automation for automagic cross-platform build and also see space for supporting new platforms as members request it.
We set up release automation for automagic cross-platform builds and also see space for supporting new platforms as the needs arise.
### [Cloud provisioning portability](https://pad.autonomic.zone/s/C3uuqfSCk#Cloud-provisioning-portability-Hetzner-DO-Linode-etc)
A fact of reality today is that a lot of democratic tech collectives are in a position of only being able to use corporate cloud server providers. This is due to a lot of reasons (and we're also working on [changing that](https://servers.coop/)) but we didn't want to ignore this and not have some sort of support for it.
A fact of reality today is that a lot of democratic tech collectives are in a position of only being able to use corporate cloud server providers. This is due to a lot of reasons (and we're also working on [changing that](https://servers.coop/)) but we didn't want to ignore this and not have some form of support for it.
`abra` now supports the creation of servers through integrations with [Servers.coop](https://servers.coop) and [Hetzner](https://www.hetzner.com/) via the `abra server new` command interface.
Also, it's possible to work with cloud-based DNS providers via `abra` via the `abra record` command interface. Creating, editing and removing DNS records via [Gandi](https://www.gandi.net/en-GB) is currently supported.
We are happy to have these implementation to show what is possible. The implementations are extendable and we are happy to receive change sets for new integrations based on need.
We are happy to have these implementations to show what is possible. They are extendable and we are happy to receive change sets for new integrations based on needs.
### [Design and aesthetics](https://pad.autonomic.zone/s/C3uuqfSCk#Cloud-provisioning-portability-Hetzner-DO-Linode-etc)
We established a branding and aesthetic through conversation about our values and how we want the project to be perceived. This design brief was then implemented across all our public sites such as [`coopcloud.tech`](https://coopcloud.tech), [`docs.coopcloud.tech`](https://docs.coopcloud.tech) & [`recipes.coopcloud.tech`](https://recipes.coopcloud.tech).
We established branding and a aesthetic through conversation about our values and how we want the project to be represented. This design brief was then implemented across all our public sites such as [`coopcloud.tech`](https://coopcloud.tech), [`docs.coopcloud.tech`](https://docs.coopcloud.tech) & [`recipes.coopcloud.tech`](https://recipes.coopcloud.tech).
### [Public communications](https://pad.autonomic.zone/s/C3uuqfSCk#Public-communications)
@ -171,23 +169,25 @@ As the public beta is now in effect, we are focusing on the following:
- Fixing bugs & delivering new features in [`abra`](https://docs.coopcloud.tech/abra/).
- Getting the documentation and website translated.
- Looking for new public funding.
## Public Money, Public Power
We'd like to take a moment to say a **HUGE** thanks to our the [ECF](https://culturalfoundation.eu/) who [funded this work towards the public beta](https://culturalfoundation.eu/stories/cosround4-autonomic-co-operative). We couldn't have gotten this far without your support and understanding during this process.
We'd like to say a **HUGE** thanks to our the [ECF](https://culturalfoundation.eu/) who [funded this work towards the public beta](https://culturalfoundation.eu/stories/cosround4-autonomic-co-operative). We couldn't have gotten this far without their support and understanding during this process.
We feel it is important to emphasise that funding democratic technology collectives with public money delivers democratic outcomes!
All our work has been copyleft licensed and made open and available as a digital configuration commons for others to re-use and build upon. ["Code paid by the people should be available to the people!"](https://publiccode.eu/)
All our work is copyleft licensed and made open and available as a digital configuration commons for others to re-use and build upon. ["Code paid by the people should be available to the people!"](https://publiccode.eu/)
Furthermore, our governance and organising models remain open & for voluntary participation following the spirit of [the co-operative principles](https://www.ica.coop/en/cooperatives/cooperative-identity), so we are also building our social & political commons.
Furthermore, our governance and organising models are open & for voluntary participation following the spirit of [the co-operative principles](https://www.ica.coop/en/cooperatives/cooperative-identity), so we are also building our social & political commons.
On a personal note, as members of [Autonomic](https://autonomic.zone/), the idea of Co-op Cloud was rooted in our practical needs. We needed a democratically organised digital infrastructure project we could rely on. However, more than that, the project was also conceived as a way to put into practice our anti-capitalist politics. We still see Co-op Cloud as a way other collectives can organise to dismantle "Big Tech" today.
As members of [Autonomic](https://autonomic.zone/), the idea of Co-op Cloud was rooted in our practical needs. We needed a democratically organised digital infrastructure project we could rely on. However, more than that, the project was also conceived as a way to put into practice our anti-capitalist politics. We still see Co-op Cloud as a way other collectives can organise to dismantle "Big Tech" today.
## Get Radical with us
Feel free to [get involved](https://docs.coopcloud.tech/get-involved/) :tada:
We'd love to see more folks [get involved](https://docs.coopcloud.tech/get-involved/) :tada:
If you're thinking about setting up a technology co-op, you have a software stack sitting around waiting for you to pick up now. We have the technology. It's built by tech co-ops for tech co-ops.