# abra ## 🔥 🔥 🔥 D E P R E C A T E D 🔥 🔥 🔥 [`abra`](https://git.coopcloud.tech/coop-cloud/abra) served us well but we're porting it to [Golang](https://golang.org) over in [`go-abra`](https://git.coopcloud.tech/coop-cloud/go-abra). To learn more about the reasons for that, see [this blog post](https://coopcloud.tech/blog/this-month-in-coop-cloud-july/). This means this repository and tool are officially deprecated as of August 1rst 2021. We will still provide bug security fixes but no new features will be developed in `abra`. Feel free to go on using it and reporting issues against this issue tracker. Thanks for all the good times Bash. ## 🔥 🔥 🔥 D E P R E C A T E D 🔥 🔥 🔥 --- [![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) ## Requirements - `curl` - `docker` - `bash` >= 4 ## Install Install the latest stable release: ```sh curl https://install.abra.coopcloud.tech | bash ``` The source for this script is [here](./deploy/install.abra.coopcloud.tech/installer). You can pass options to the script like so (e.g. install the bleeding edge development version): ```sh curl https://install.abra.coopcloud.tech | bash -s -- --dev ``` Other options available are as follows: - **--no-prompt**: non-interactive installation - **--no-deps**: do not attempt to install [requirements](#requirements) ## 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.)