bin | ||
completion | ||
deploy | ||
tests | ||
.drone.yml | ||
.gitignore | ||
abra | ||
CHANGELOG.md | ||
makefile | ||
README.md |
abra
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 yourabra
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
Install
Install the latest stable release:
curl https://install.abra.autonomic.zone | bash
or the bleeding-edge development version:
curl https://install.abra.autonomic.zone | 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.autonomic.zone | 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 abra-apps.json
You'll need to install the following requirements:
- requests (
apt install python3-requests
/pip install requests
) - skopeo (check the install docs)
- jq (
sudo apt-get install jq
or see the install docs) - yq (see the install docs)
Then run ./bin/app-json.py
(source) and it will spit out the JSON file into deploy/apps.coopcloud.tech/apps.json.
Releasing
abra
- 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.autonomic.zone/installer
git commit
the above changes and then tag it withgit tag <your-new-version>
git push
andgit push --tags
- Deploy a new installer script
make release-installer
- Tell the world (CoTech forum, Matrix public channel, Autonomic mastodon, etc.)
apps.coopcloud.tech
$ make release-apps