You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
DEFAULTS-POLICY: every boolean ships true; incompatibility gating moves to systemd Condition*
Project-wide invariant: every boolean feature flag in the profile
(`[quadlets.enable]`, `[ai] enable_*`, etc.) ships `true`. The system
never disables a component via static config; when a component is
incompatible with the host (wrong virtualization layer, missing
required path, missing hardware), systemd `Condition*` directives in
the underlying unit short-circuit it at boot/pre-boot and the unit
silently no-ops. Operators can still set a flag to `false` to
force-disable a component even when it would otherwise run.
Profile changes (usr/share/mios/profile.toml — vendor defaults):
- [ai] enable_ollama: false → true
- [quadlets.enable] mios-ceph, mios-k3s, crowdsec-dashboard, ollama,
cloudws-guacamole, cloudws-pxe-hub, guacamole-postgres, guacd:
false → true (mios-ai was already true).
- Inline policy comment added to the section so future edits don't
silently revert.
Quadlet Condition gating (etc/containers/systemd/ + usr/share/containers/systemd/):
- mios-ai.container: ConditionPathIsDirectory=/etc/mios/ai
- mios-ceph.container: ConditionPathExists=/etc/ceph/ceph.conf,
ConditionVirtualization=!container
- mios-k3s.container: ConditionVirtualization=!wsl + !container
- cloudws-guacamole.container: After=guacamole-postgres.service,
ConditionVirtualization=!container
- cloudws-pxe-hub.container: ConditionVirtualization=!wsl + !container
- crowdsec-dashboard.container: After=crowdsec.service,
ConditionPathExists=/etc/crowdsec/config.yaml
- guacamole-postgres.container, guacd.container:
ConditionVirtualization=!container
- ollama.container: no condition (CPU fallback always works);
documented inline that operators must opt out via profile.toml to
disable.
Doc updates:
- INDEX.md §5 (new): Defaults policy section + active gating table
listing every condition-gated unit and the deployment scenarios
where it skips.
- CLAUDE.md: short policy summary cross-referencing INDEX.md §5.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
0 commit comments