Commit bc2f77d
feat: v0.2.4 -- pipeline orchestrator + globals SSOT + Day-0 AI refresh
Major changes for v0.2.4:
* mios-pipeline.{sh,ps1}: canonical 11-phase end-to-end orchestrator
(Questions -> Stage -> MiOS-DEV -> Overlay -> Account -> Install ->
Smoketest -> Build -> Deploy -> Boot -> Repeat). Legacy build-mios.*,
install.*, automation/bootstrap.sh become workers; each carries a
CANONICAL ENTRY POINT NOTICE pointing at the new orchestrator.
* automation/lib/globals.{sh,ps1}: single registry for VERSION + USERS/UIDs
+ IMAGES + PORTS + URLS + REPOS + PATHS + FILES + SYSTEMD UNITS +
CONTAINERS + COLORS. Wired into common.sh so every script that already
sources it inherits the constants for free. Containerfile LABEL now
parameterized via ARG MIOS_VERSION; build-mios.ps1 injects --build-arg.
* User account state baked at OVERLAY TIME (not firstboot patching):
/usr/lib/sysusers.d/10-mios.conf + automation/31-user.sh +
/usr/lib/tmpfiles.d/mios-user.conf cover passwd/subuid/subgid/linger/
home-skel. wsl-firstboot stripped to hostname + defensive logging.
user@1000.service enabled by preset so logind-condition-gated WSL still
spawns the user systemd manager + dbus user bus.
* Distrobox aichat + Quadlet 5.6+ finalization:
- usr/share/containers/systemd/mios-aichat.{build,image} declarative
- etc/containers/storage.conf.d/30-mios-additionalstores.conf bridges
rootful build storage to rootless distrobox view (Universal Blue
pattern)
- usr/bin/mios-ai opinionated entrypoint -> /usr/bin/aichat shim ->
distrobox-assemble create on first call -> in-container aichat with
'mios' client at MIOS_AI_ENDPOINT
- usr/share/applications/mios-ai.desktop launcher (Terminal=true)
* Cockpit Metrics + PCP suite: mios.toml [packages.cockpit] now includes
cockpit-pcp + cockpit-sosreport + cockpit-kdump + pcp-zeroconf +
pcp-pmda-systemd + pcp-pmda-openmetrics. 90-mios.preset enables
pmcd/pmlogger/pmproxy. Eliminates the 'pmlogger.service is not running'
Metrics-tab error.
* Configurator HTML SSOT surface (usr/share/mios/configurator/index.html):
- Progressive-disclosure <details> sections grouped by pipeline phase
(each section carries a phase-badge naming the consumer)
- :root CSS variables default to the MiOS Hokusai palette; new
applyColorsToRoot() helper makes the configurator self-skin WYSIWYG
on every palette edit
- Color resolution chain closed: tools/lib/userenv.sh exports
MIOS_COLOR_* / MIOS_ANSI_* from mios.toml [colors];
etc/profile.d/mios-colors.sh OSC sequences read MIOS_ANSI_*:- defaults
instead of hardcoded values + sources install.env defensively
* Boot-time fixes from journal triage:
- mios-mcp.service: stop chmod-ing read-only /srv/ai/mcp
- mios-forge.container: User=816 numeric (container has no
'mios-forge' name in /etc/passwd; fixed 'unable to find user' error)
- mios-cockpit-link: ConditionVirtualization=!wsl (no value on WSL)
- cockpit.socket: ReusePort=yes (WSL2 wslhost.exe port-linger)
- mios-ai LocalAI: Volume=/srv/ai/{outputs,collections}:/data/{outputs,collections}
canonical paths LocalAI v4 hardcodes (was failing EACCES)
- ollama.service: dropped stale ConditionPathExists=/usr/local/bin/ollama
drop-in (ollama runs as Quadlet container, not host binary)
- usr/share/containers/systemd/ollama.container: ContainerName=mios-ollama
so firstboot script's polling matches
- tmpfiles.d dedupe: /var/lib/ceph (mios-ceph owns), /etc/mios
(mios-infra owns), /var/lib/rancher/k3s/server (mios-k3s owns),
/var/lib/ipa-client/sysrestore (mios-freeipa owns); ceph-crash dir
pre-created
- 08-system-files-overlay.sh extended perm-normalization to
/usr/lib/{udev,tmpfiles,sysusers,modprobe,sysctl,binfmt}.d (Windows
NTFS executable-bit bleed)
* Acknowledgement gate (automation/lib/agreements-banner.{sh,ps1}):
scrollable summary opens with the MiOS ASCII banner, walks the
research-project framing + license chain + third-party agreements +
data/network posture, requires explicit 'Acknowledged' / 'No thanks'
by default. Bash uses less -RFXK + /dev/tty so it works under
curl|bash; PS uses Out-Host -Paging. Escape hatches preserved
(MIOS_AGREEMENT_ACK=accepted for CI, MIOS_AGREEMENT_BANNER=quiet,
MIOS_REQUIRE_AGREEMENT_ACK=0).
* Day-0 AI files refreshed:
- usr/share/mios/ai/system.md fully rewritten with v0.2.4 SSOT table,
pipeline-phase awareness, overlay-time user-account principle,
5 Architectural Laws, tool surface (chat-completions + responses),
failure mode contract
- mios_build tool def points at mios-pipeline (was: legacy
mios-build-local.ps1)
- kb manifest, eval JSON, llms.txt bumped to v0.2.4 / kb 2026.05.04
- tools/lib/userenv.sh slot map extended with [colors].* ->
MIOS_COLOR_* / MIOS_ANSI_* exports
* Global version unification: VERSION=0.2.4, mios.toml [meta]=0.2.4,
Containerfile LABEL parameterized, MOTD reads /usr/share/mios/VERSION
dynamically (auto-derived from /ctx/VERSION at overlay time -- single
source of truth at repo root)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>1 parent 502a0b3 commit bc2f77d
104 files changed
Lines changed: 3025 additions & 558 deletions
File tree
- automation
- lib
- config
- artifacts
- bootstrap
- etc
- containers/systemd
- profile.d
- tools/lib
- usr
- bin
- libexec/mios
- lib
- bootc/kargs.d
- environment.d
- mios/tools
- chat-completions-api
- responses-api
- modprobe.d
- profile.d
- systemd
- system-preset
- system
- cockpit.socket.d
- nvidia-cdi-refresh.service.d
- ollama.service.d
- sysusers.d
- tmpfiles.d
- var/lib/mios/evals
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
17 | 25 | | |
18 | 26 | | |
19 | 27 | | |
20 | 28 | | |
21 | | - | |
| 29 | + | |
22 | 30 | | |
23 | 31 | | |
24 | 32 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
790 | 790 | | |
791 | 791 | | |
792 | 792 | | |
793 | | - | |
| 793 | + | |
794 | 794 | | |
795 | 795 | | |
796 | 796 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
| 2 | + | |
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
| 2 | + | |
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
20 | 33 | | |
21 | 34 | | |
22 | 35 | | |
| |||
110 | 123 | | |
111 | 124 | | |
112 | 125 | | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
113 | 152 | | |
114 | 153 | | |
115 | 154 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
| 2 | + | |
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
| 2 | + | |
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
| 2 | + | |
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| |||
0 commit comments