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

90 lines
2.9 KiB
Markdown

# 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 <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.)