Compare commits

..

5 Commits

Author SHA1 Message Date
decentral1se 83052876be
beta release post 2022-06-02 16:06:24 +02:00
Aadil Ayub 18b54193c7 simplify client logo markup
continuous-integration/drone/push Build is passing Details
2022-06-02 18:54:40 +05:00
Aadil Ayub 51ce171de1 add ECF Logo + clean up styles
continuous-integration/drone/push Build is passing Details
2022-06-02 18:45:12 +05:00
decentral1se da06fa2aed
warning, coming another time
continuous-integration/drone/push Build is passing Details
2022-06-02 11:25:31 +02:00
decentral1se 2ad0ae2847
fix link
continuous-integration/drone/push Build is passing Details
continuous-integration/drone Build is running Details
Closes #31
2022-05-31 10:26:23 +02:00
6 changed files with 216 additions and 36 deletions

View File

@ -16,7 +16,7 @@ enableemoji = true
[params]
[params.links]
docs = "https://docs.coopcloud.tech/"
docsfaq = "https://docs.coopcloud.tech/faq/"
docsfaq = "https://docs.coopcloud.tech/intro/faq/"
getinvolved = "https://docs.coopcloud.tech/get-involved/"
autonomicSite = "https://autonomic.zone"

View File

@ -8,8 +8,189 @@ imageCredit: "... from the Internet Gardening collection by Trav Fryer (are.na/t
description: "Public Beta"
---
STUFF
We're delighted to announce that the public beta of Co-op Cloud is here at last! There has never been a better time to get involved in Co-op Cloud because the software kinda actually maybe works now :laughing: Read on to see what we've been up to for the last 2 years...
<!--more-->
OTHER STUFF
## Alpha :point_right: Beta
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!?
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:
## 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:
### [Command-line tool sustainability](https://pad.autonomic.zone/s/C3uuqfSCk#Command-line-tool-sustainability)
In the early days, we started off with a [Bash implementation of `abra`](https://git.coopcloud.tech/coop-cloud/abra-bash), our command-line tool for administrating Co-op Cloud deployments. One of our more ambitious goals was to re-implement this Bash script in a programming language which would help us work with data structures, formats & 3rd party APIs in a more manageable way.
We've since managed to successfully implement [`abra` in the Go programming language](https://git.coopcloud.tech/coop-cloud/abra)! There were some serious doubts along the way about whether we were just getting lost in a [second system syndrome](https://en.wikipedia.org/wiki/Second-system_effect) (yes, our Bash implementation was "small, elegant, and successful" :smile:) but we managed! Here's to 16,766 lines of Go code :beers:. Some of the improvements include:
- Abra is now distributed as a statically compiled single binary which is simple to install and start using. The binary works for several popular platforms, and we've seen a huge reduction in reported installation issues.
- New features such as the scripts interface, cloud server/DNS integration and recipe catalogue generation command, while staying feature complete with the original Bash implementation.
- Improvements to abra's test-suite-of-sorts, release automation & management, and fairly [comprehensive documentation](https://docs.coopcloud.tech/abra/).
- No longer relying on having Docker installed on your local work machine. We've managed to make `abra` a fully compatible Docker daemon client which can interact via the remote HTTP API. This makes us more resilient to corporate shenanigans (if docker dies/gets taken over/etc. we already have their code integrated into ours)
### [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:
- 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.
- We've [extensively documented](https://docs.coopcloud.tech/maintainers/) ways to work with and maintain recipes so that anyone can join in and help.
- 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.
### [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 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.
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.
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.
### [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.
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.
To formalise Co-op Cloud as a shared resource, we've proposed to form a [federation](https://coopcloud.tech/blog/federation-proposal/) of participating members that will democratically manage the project. The proposal is still out for review and feedback and we're working on concretising our next steps with groups who are engaging with it.
Beyond this, we'd like to give a huge shout-out to the folks who are using Co-op Cloud & those who are maintaining recipes, operating deployments and generally enthusiastic about the project.
Lists are always incomplete but we'll try anyway! Here is the cast of Co-op Cloud Comrades so far:
- [Local-IT](https://local-it.org) (operators, maintainers)
- [Threndol Tutoring](https://threndoltutoring.com/) (end-users)
- [ruangrupa & `lumbung.space`](https://lumbung.space/about/) (end-users)
- [Servers Co-op](https://servers.coop/) (operators & end-users)
- [Vermont Real Estate Co-operative](https://vrec.coop/) (end-users)
- [United Tech & Allied Workers](https://utaw.tech/) (operators & end-users)
- [Industrial Workers of the World](https://iww.org.uk/) (end-users)
- [Autonomic Co-operative](https://autonomic.zone/) (operators, maintainers)
- [Neuronic Games](https://www.neuronicgames.com/) (end-users)
- [Fashion Revolution](https://www.fashionrevolution.org/) (end-users)
- [Biobulkbende](https://biobulkbende.org/) (operators & maintainers)
- [Third Sector Accountancy](https://www.thirdsectoraccountancy.coop/) (end-users)
- [Anarchy Rules](https://anarchyrules.info/) (end-users)
- [Doop Coop](https://doop.coop) (design work & feedback)
### [Compensating contributors](https://pad.autonomic.zone/s/C3uuqfSCk#Compensating-contributors)
We didn't want to be another project which asks people to do free work them. Instead, we set up an [Open Collective](https://opencollective.com/coop-cloud), [wrote clear documentation about how to get paid](https://docs.coopcloud.tech/get-involved/#compensation) and simply paid people for their contributions!
We're proud to report that we paid out around 2,000 euros worth of funding for contributions by external contributors. It was a pleasure to open up space for people to actually get paid for their work and to re-distribute the available funding to other individuals, groups and projects.
We think more libre software projects should be thinking about how to use money for building collective power. In the (slightly edited) words of [LURK](https://lurk.org/):
> Big tech and an abusive misunderstanding of free and open source software practices have led us to believe that software production, server maintenance and on-line services should be free as in gratis. However there is no such things as a free lunch and software does not exist in a vacuum. If we want sustainable alternatives, these alternatives and the humans behind them, need to be supported.
### [Wider libre apps selection](https://pad.autonomic.zone/s/C3uuqfSCk#Wider-libre-apps-selection)
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 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.
### [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.
### [UI / UX testing](https://pad.autonomic.zone/s/C3uuqfSCk#UI--UX-testing)
We have been doing extensive interface and experience testing since the pre-alpha stages of the project. This is mainly due to ["dog fooding"](https://en.wikipedia.org/wiki/Eating_your_own_dog_food) we've taken.
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.
### [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).
We've setup release automation for automagic cross-platform build and also see space for supporting new platforms as members request it.
### [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.
`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.
### [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).
### [Public communications](https://pad.autonomic.zone/s/C3uuqfSCk#Public-communications)
Beyond organising the project internally, we also wanted to communicate clearly to both a general public and a more technical audience what it is exactly that we are doing. We wanted to build up an online community infrastructure, so that we could invite people to join the discussion and stay informed.
We've managed to run our public communication through several mediums:
- We set up a [Mastodon](https://joinmastodon.org/) account over on [social.coop/@coopcloud](https://social.coop/@coopcloud).
- We created a [Matrix space](https://docs.coopcloud.tech/intro/contact/#matrix) on [`matrix.autonomic.zone`](https://matrix.autonomic.zone/_matrix/static/) for real-time chat
- We ran a (mostly) monthly blog post update on [`coopcloud.tech`](https://coopcloud.tech/blog/) to give a more general status update.
## Beta :point_right: :question:
As the public beta is now in effect, we are focusing on the following:
- Making time to welcome new folks into the project.
- Working with collectives to concretise how our federation might work in practice. [Our proposal](https://coopcloud.tech/blog/federation-proposal/) is still open for feedback and constructive critique. We want to try to make small steps in co-operation to realise this federation as a well functioning governance body.
- Stabilising how we maintain recipes between several collectives.
- Fixing bugs & delivering new features in [`abra`](https://docs.coopcloud.tech/abra/).
- 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 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/)
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.
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.
## Get Radical with us
Feel free to [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.
We even have [these amazing flyers](https://TODO) now! Print, distribute, share, spread the word :trumpet:
:v:

View File

@ -53,7 +53,7 @@ A warm beverage & a comfy chair is recommended for your review session -- it is
In terms of feedback, we want to emphasise that we don't have to figure it all out right now. What is more important is that we lay the foundations for democratically working it out as we go. Any red flags, major concerns & blockers to participation would be great to discover at this early stage. All feeback & constructive criticism is welcome!
We are happy to hear from folks on any of the communication channels that we have. Please see our [contact docs](https://docs.coopcloud.tech/intro/contact/) for more. We will gather all feedback, discussions & follow up with people by the end of April 2022, and we are aiming to publish the proposal as final by mid May 2022.
We are happy to hear from folks on any of the communication channels that we have. Please see our [contact docs](https://docs.coopcloud.tech/intro/contact/) for more. We will gather all feedback, discussions & follow up with people by the end of April 2022, and we are aiming to publish the proposal as final by mid May 2022 (**UPDATE**: based on feedback, we've removed this deadline as we work out more details with groups who are engaging with this. More to come Soon :tm:).
Thank you for your time!

View File

@ -324,6 +324,11 @@ div.thumbnail {
.autonomic {
display: flex;
justify-content: space-between;
@media (max-width: 800px) {
.column.is-one-quarter.is-full-mobile {
flex: unset;
}
}
}
.cofunders {
@ -332,20 +337,16 @@ div.thumbnail {
.client-logos {
margin-top: 4rem;
display: flex;
flex-direction: column;
justify-content: center;
gap: 3rem;
.first-row{
display: grid;
grid-template-columns: 1fr 1fr 1fr;
place-items: center;
}
.second-row {
display: flex;
justify-content: center;
display: grid;
grid-template-columns: 1fr 1fr 1fr;
@media (max-width: 480px) { grid-template-columns: 1fr 1fr; }
place-items: center;
gap: 1rem;
img {
object-fit: contain;
padding: 1.5rem;
height: 150px;
}
}
}

View File

@ -21,25 +21,23 @@
</div>
<div class="client-logos">
<div class="first-row">
<div>
<a href="https://www.neuronicgames.com/"><img src='/logos/neuronic-games.png'></a>
</div>
<div>
<a href="https://www.fashionrevolution.org/"><img src='/logos/fashion-rev.svg' height="150px"></a>
</div>
<div>
<a href="https://biobulkbende.org/"><img src='/logos/biobulkbende.png'></a>
</div>
<div>
<a href="https://www.neuronicgames.com/"><img src='/logos/neuronic-games.png'></a>
</div>
<div class="second-row">
<div>
<a href="https://www.thirdsectoraccountancy.coop/"><img src='/logos/third-sector-accountancy.svg' style="height:150px;"></a>
</div>
<div>
<a href="https://anarchyrules.info/"><img src='/logos/anarchy-rules.png' style="height:150px;"></a>
</div>
<div>
<a href="https://www.fashionrevolution.org/"><img src='/logos/fashion-rev.svg'></a>
</div>
<div>
<a href="https://biobulkbende.org/"><img src='/logos/biobulkbende.png'></a>
</div>
<div>
<a href="https://www.thirdsectoraccountancy.coop/"><img src='/logos/third-sector-accountancy.svg'></a>
</div>
<div>
<a href="https://anarchyrules.info/"><img src='/logos/anarchy-rules.png'></a>
</div>
<div>
<a href="https://culturalfoundation.eu/"><img src="/logos/ecf.png" alt="European Cultural Foundation"></a>
</div>
</div>
</div>

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB