Skip to content

Commit

Permalink
Update README.
Browse files Browse the repository at this point in the history
  • Loading branch information
gnutix committed Dec 5, 2023
1 parent fc740b6 commit fbe54a8
Showing 1 changed file with 41 additions and 23 deletions.
64 changes: 41 additions & 23 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,23 +2,27 @@

Is your favorite butler, who's able to run and monitor jobs to be executed on virtual machines in the cloud.

## First use
## Dependencies

You need to add the Alfred host key to your known_hosts:

```
ssh-keyscan -H alfred.tipee.dev >> ~/.ssh/known_hosts
```
- bash
- docker
- ssh
- tar
- zstd

## Deploy
## Setup

Done manually from Github Actions. **Beware that jobs are stopped during the deployment.**
1. Install the required dependencies.
2. Download Alfred's client binary and put it in your `$PATH`.
3. Your SSH key must be added to Alfred remote server by an administrator.
4. Add the Alfred host key to your known_hosts: `ssh-keyscan -H alfred.tipee.dev >> ~/.ssh/known_hosts`
5. You should now be able to run `alfred version` and see the version of the remote server.

## Setup dev environment

### Required tools

- Standard tools (`make`, `docker`)
- `make`
- [Go 1.21+](https://go.dev/doc/install)
- [Reflex](https://github.com/cespare/reflex)
- `go install github.com/cespare/reflex@latest`
Expand All @@ -33,35 +37,49 @@ Done manually from Github Actions. **Beware that jobs are stopped during the dep

### Run alfred

Run the client :
#### Commands

Run the client:
```shell
source hack/alfred.alias
alfred
alfred [commands...]
```

Run the server:
```shell
make bin/alfred-server
bin/alfred-server [options...]
```

Run the server :
Run the server (with auto-reload):
```shell
make run-server
```

### OpenStack credentials
#### Remote configuration

By default, the `alfred` client will connect to the production server.

For development, you can override the default remote by setting the `ALFRED_REMOTE="localhost:25373"` environment variable to point to your local server.
You can also pass the `--remote localhost:25373` to `alfred`'s commands each time.

#### OpenStack credentials

To run alfred server with the OpenStack provisioner, you need credentials to access the OpenStack API.
Ask [@BastienClement](https://github.com/BastienClement).

### Remote configuration
## Project maintenance

By default, the `alfred` client will connect to the production server.
### Releasing the client binary

For development, you can override the default remote by setting the `ALFRED_REMOTE` environment variable to point to your local server.
Releasing a new version of the client binary is done by creating a release on GitHub. The binaries are automatically
created for different platforms by a GitHub Action.

## Alfred nodes' image
### Deploying the server binary

Creating the Alfred node image is done using [Packer](https://www.packer.io/) in a separate project. Ask [@BastienClement](https://github.com/BastienClement).
Deployment is done manually using a GitHub Action. **Beware that running jobs are stopped during the deployment.**

### Dependencies
### Updating Alfred nodes' image

- bash
- docker
- ssh
- zstd
The Alfred nodes' image is maintained using [Packer](https://www.packer.io/) in a separate repository.
Ask [@BastienClement](https://github.com/BastienClement), he's the only one who can do it for now...

0 comments on commit fbe54a8

Please sign in to comment.