The one and only, babra, the OG abra written in Bash
This repository has been archived on 2024-10-23. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
decentral1se 0ff08b5d34
All checks were successful
continuous-integration/drone/push Build is passing
Add missing dep and make special place in docs
2021-06-03 09:58:28 +02:00
bin Fallback app name in app.json creation 2021-05-30 19:49:54 +02:00
completion Add Bash completion for abra recipe .. 2021-05-30 14:33:57 +02:00
deploy Remove app which is gone away now 2021-06-01 00:08:21 +02:00
tests Add debugging for tests 2021-04-07 01:29:43 +02:00
.drone.yml Also depend on tests [ci skip] 2021-06-03 09:44:47 +02:00
.gitignore Don't ignore JSON, we'll need it 2021-04-02 15:49:08 +02:00
abra Bump new patch release 2021-05-31 23:59:38 +02:00
CHANGELOG.md Add change log entry [ci skip] 2021-06-03 09:55:35 +02:00
Dockerfile Add missing dep and make special place in docs 2021-06-03 09:58:28 +02:00
makefile Add docker image publishing 2021-06-03 09:43:44 +02:00
README.md Add missing dep and make special place in docs 2021-06-03 09:58:28 +02:00

abra

Build Status

https://coopcloud.tech

The Co-op 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.

Container

An image is also provided.

docker run decentral1se/abra app ls

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