This repository has been archived on 2021-07-03. You can view files and clone it, but cannot push or open issues or pull requests.
abra/README.md
2021-05-31 21:10:51 +02:00

3.7 KiB

abra

Build Status codecov

https://coopcloud.tech

The cooperative cloud utility belt 🎩🐇

abra is a command-line tool for managing your own Co-op Cloud. It can provision new servers, create applications, deploy them, run backup and restore operations and a whole lot of other things. It is the go-to tool for day-to-day operations when managing a Co-op Cloud instance.

Change log

🔥 🔥 🔥 Please note, while we are still in public alpha, the abra release versioning scheme is not following semver conventions because we are still in the exploratory phases of building this tool. Please read the changes before upgrading your abra installation as there are most likely breaking changes coming each release. Sorry for any inconvenience caused, we're working hard to make this tool stable. Semver will be respected when we reach public beta. 🔥 🔥 🔥

See CHANGELOG.md.

Documentation

docs.coopcloud.tech

Install

Requirements:

  • pwqgen (optional)
  • pwgen (optional)
  • curl
  • docker
  • bash >= 4

Install the latest stable release:

curl https://install.abra.coopcloud.tech | bash

or the bleeding-edge development version:

curl https://install.abra.coopcloud.tech | bash -s -- --dev

The source for this script is here.

Update

Run abra upgrade to automatically download and install the latest release version.

To update the development version, run abra upgrade --dev.

Hack

It's written in Bash version 4 or greater!

Install it via curl https://install.abra.coopcloud.tech | bash -s -- --dev, then you can hack on the source in ~/.abra/src.

The command-line interface is generated via docopt. If you add arguments then you need to run make docopt ro regenerate the parser.

Please remember to update the CHANGELOG when you make a change.

Generating a new apps.json

You'll need to install the following requirements:

Then run ./bin/app-json.py (source) and it will spit out the JSON file into deploy/apps.coopcloud.tech/apps.json.

Releasing

abra

install.abra.coopcloud.tech

  • Change the x.x.x header in CHANGELOG.md to reflect new version and mark date
  • Update the version in abra
  • Update the version in deploy/install.abra.coopcloud.tech/installer
  • git commit the above changes and then tag it with git tag <your-new-version>
  • git push and git push --tags
  • Deploy a new installer script make release-installer
  • Tell the world (CoTech forum, Matrix public channel, Autonomic mastodon, etc.)

apps.coopcloud.tech

apps.coopcloud.tech

$ make release-apps