<p align="center">
    <img width="400" src="./misc/resources/logo.svg" />
</p>

Control plane for "edge" (and OpenWRT-based) devices.

> ⚠ Emissary is currently in a very alpha stage ! Expect breaking changes...

## Quickstart

**Dependencies**
- [Go >= 1.21](https://go.dev/)
- `GNU Make`

```shell
# Start server and a local agent
make watch

# In an other terminal

# Create an admin token
make .emissary-admin-token

# Create a new tenant
make .emissary-tenant

# Create a new writer token for this tenant
make .emissary-token

# Claim the agent for your newly created tenant
make claim-agent

# Query your agents
./bin/server client agent query

# Load sample specs for your agent
make load-sample-specs

## Optional: reset your workspace
make clean
```

## Install

### Manually

Download the pre-compiled binaries from the [releases page](https://forge.cadoles.com/arcad/emissary/releases) and copy them to the desired location.

## Documentation

See [`doc`](./doc/README.md)

## Licence & mentions

[AGPL-3.0](https://www.gnu.org/licenses/agpl-3.0.html#license-text)

Logo by [@aardouin](https://forge.cadoles.com/aardouin)
