ordinary 0.1.0

Core of the Ordinary Framework.
Documentation
# Ordinary

## Initialization

Each admin server can be run with a dedicated environment context. You first initialize an environment to run the admin server off of.

You initialize an environment with an environment name (in the example below it's `my-admin-environment`), a port, and a password for the root user.

```sh
cargo run -p ordinary init my-environment 8080 mYpAsSWorD123!
```

After the above command is run, it will spit out a link that can be pasted into the browser to reveal the MFA QR code. Saving this code in an authenticator app will be necessary for logging in to the web-based admin console.

## Running

You can run an admin server by providing it with the environment name. The admin server starts up on port 8080 and serves the web-based admin console.

```sh
cargo run -p ordinary start my-environment
```

## Commands

All configuration and deployment can be managed via the CLI and Web Console. Each command -- whether issued from the CLI or the Console -- is sent as an HTTP request to the running admin server.

### Auth

Logging in results in the acquiring of a refresh token, which is then used to fetch finer-grained access tokens.

#### Login

```sh
cargo run -p ordinary login 0.0.0.0:8080 root mYpAsSWorD123! 000000
```

#### Logout

```sh
cargo run -p ordinary logout 0.0.0.0:8080
```

### Users

Console users are created in order to deploy and manage applications.

#### List

Lists all users that are in groups your user has access to.

```sh
cargo run -p ordinary user 0.0.0.0:8080 list
```

#### Create

Create a new user with the username `swatters` a password that is `asdf1234` and an initial group assignment to `my-group`.

This command will produce the same base64 encoded QR code png for MFA.

```sh
cargo run -p ordinary user 0.0.0.0:8080 create swatters asdf1234 my-group
```

#### Delete

*Can only be done by the `root` user.* The conventional way to offboard a user up until the point of deletion is just to remove them from every group that they were previously assigned. 

```sh
cargo run -p ordinary user 0.0.0.0:8080 delete swatters
```

#### Assign

#### Remove