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:
Yann Autissier
2026-09-03 18:50:49 +02:00
parent c08c379565
commit ac41e6e5f9
2 changed files with 28 additions and 4 deletions
+12
View File
@@ -1,5 +1,17 @@
# 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
- move the stack catalogue and the docker build contexts to the myos-stacks project
+16 -4
View File
@@ -61,6 +61,9 @@ sudo git clone https://github.com/aya/myos-stacks /usr/local/share/myos
## Usage
```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 STACK=host # a group of stacks, see stack/host/host.mk
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 |
| `STACK=<refs>` | stacks to act on |
| `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
myos print-COMPOSE_FILE # show a variable
myos print-COMPOSE_PROJECT_NAME
myos debug # show debug variables
myos doc # self documentation from the make comments
myos env COMPOSE_FILE # show a variable
myos env COMPOSE_PROJECT_NAME
myos config <stack> # the rendered compose file
```
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`).
## 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
```sh