# abra [![Build Status](https://drone.autonomic.zone/api/badges/coop-cloud/abra/status.svg)](https://drone.autonomic.zone/coop-cloud/abra) > https://coopcloud.tech The Co-op Cloud utility belt 🎩🐇 `abra` is a command-line tool for managing your own [Co-op Cloud](https://coopcloud.tech). 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](https://docs.coopcloud.tech/roadmap/), the `abra` release > versioning scheme is not following [semver](https://semver.org/) 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](./CHANGELOG.md). ## Documentation > [docs.coopcloud.tech](https://docs.coopcloud.tech) ## Install Requirements: - `pwqgen` (optional) - `pwgen` (optional) - `curl` - `docker` - `bash` >= 4 Install the latest stable release: ```sh curl https://install.abra.coopcloud.tech | bash ``` or the bleeding-edge development version: ```sh curl https://install.abra.coopcloud.tech | bash -s -- --dev ``` The source for this script is [here](./deploy/install.abra.coopcloud.tech/installer). ## Container An [image](https://hub.docker.com/r/thecoopcloud/abra) is also provided. ``` docker run thecoopcloud/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](http://docopt.org/). If you add arguments then you need to run `make docopt` ro regenerate the parser. Please remember to update the [CHANGELOG](./CHANGELOG.md) when you make a change. ## Releasing ### `abra` > [install.abra.coopcloud.tech](https://install.abra.coopcloud.tech) - Change the `x.x.x` header in [CHANGELOG.md](./CHANGELOG.md) to reflect new version and mark date - Update the version in [abra](./abra) - Update the version in [deploy/install.abra.coopcloud.tech/installer](./deploy/install.abra.coopcloud.tech/installer) - `git commit` the above changes and then tag it with `git tag ` - `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.)