add the installer, and document the 2.0 CLI
install.sh handles a system or a user prefix, clones the catalogue on demand and writes the machine config in the right place for the distribution.
This commit is contained in:
@@ -1,5 +1,17 @@
|
|||||||
# CHANGELOG
|
# CHANGELOG
|
||||||
|
|
||||||
|
## v2.0.0-dev - 2026-09-03
|
||||||
|
|
||||||
|
- new bash CLI (`bin/myos`, `lib/`): one model for a project directory, a
|
||||||
|
catalogue stack, a group and a host singleton
|
||||||
|
- unknown command or unknown stack now fails, instead of succeeding silently
|
||||||
|
- default compose project is `<user>-<env>-<app>`; set
|
||||||
|
`MYOS_PROJECT_FORMAT=user-app-env` on deployments created before this
|
||||||
|
- `myos ls`, `myos env`, `myos doctor` to inspect an installation
|
||||||
|
- `install.sh`, and the catalogue is looked up beside the installation
|
||||||
|
- agent skill in `skills/myos/`, contributor notes in `AGENTS.md`
|
||||||
|
- the make engine still works and is still covered by the golden tests
|
||||||
|
|
||||||
## v1.1 - 2026-09-03
|
## v1.1 - 2026-09-03
|
||||||
|
|
||||||
- move the stack catalogue and the docker build contexts to the myos-stacks project
|
- move the stack catalogue and the docker build contexts to the myos-stacks project
|
||||||
|
|||||||
@@ -61,6 +61,9 @@ sudo git clone https://github.com/aya/myos-stacks /usr/local/share/myos
|
|||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
|
myos doctor # check the installation first
|
||||||
|
myos ls # what stacks are reachable
|
||||||
|
myos -n up host # print what it would run
|
||||||
myos up # the stack of the current directory
|
myos up # the stack of the current directory
|
||||||
myos up STACK=host # a group of stacks, see stack/host/host.mk
|
myos up STACK=host # a group of stacks, see stack/host/host.mk
|
||||||
myos up STACK=host/fabio # a single stack
|
myos up STACK=host/fabio # a single stack
|
||||||
@@ -108,16 +111,25 @@ Networks: `default` = `_<project>` (private to the project), `private` =
|
|||||||
| `ENV=<env>` | environment: selects `.env.<env>` and the `<name>.<env>.yml` overlays |
|
| `ENV=<env>` | environment: selects `.env.<env>` and the `<name>.<env>.yml` overlays |
|
||||||
| `STACK=<refs>` | stacks to act on |
|
| `STACK=<refs>` | stacks to act on |
|
||||||
| `SERVICE=<name>` | target one compose service (`exec`, `run`, `logs`, `scale`) |
|
| `SERVICE=<name>` | target one compose service (`exec`, `run`, `logs`, `scale`) |
|
||||||
|
| `MYOS_PROJECT_FORMAT` | `user-env-app` (default) or `user-app-env` for deployments made before myos 2.0 |
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
myos print-COMPOSE_FILE # show a variable
|
myos env COMPOSE_FILE # show a variable
|
||||||
myos print-COMPOSE_PROJECT_NAME
|
myos env COMPOSE_PROJECT_NAME
|
||||||
myos debug # show debug variables
|
myos config <stack> # the rendered compose file
|
||||||
myos doc # self documentation from the make comments
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The make targets keep working: `print-VAR`, `stack-<stack>-<command>`,
|
||||||
|
`<command>@<env>`, and a project `Makefile` that includes `make/include.mk`.
|
||||||
|
|
||||||
`SETUP_UFW=true` enables the ufw/ufw-docker integration (`myos setup-ufw`).
|
`SETUP_UFW=true` enables the ufw/ufw-docker integration (`myos setup-ufw`).
|
||||||
|
|
||||||
|
## For agents
|
||||||
|
|
||||||
|
`skills/myos/SKILL.md` is a skill describing how to drive myos, with
|
||||||
|
references on the conventions, the commands and the failure modes.
|
||||||
|
`AGENTS.md` covers changing myos itself.
|
||||||
|
|
||||||
## Tests
|
## Tests
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
|
|||||||
Reference in New Issue
Block a user