SibillaOS v0.3.0
The operations release: SibillaOS grows from a working demo into something you can run and watch on real infrastructure, and it stops being x86-only. Upgrading from 0.2.0 means reinstalling; an APT repository for in-place package updates is planned for the next cycle.
What is new
One CLI. sibilla is the single entry point: sibilla status, sibilla model, sibilla tls, sibilla metrics, sibilla webui, sibilla connect. The old sibilla-* commands keep working as aliases. sibilla status is now a real health view (engine state, models actually served by the engine, disk usage of the model store, GPU utilization, gateway reachability in the configured mode) and exits nonzero when the engine or gateway is down, so scripts can use it as a check. sibilla model rm and sibilla model prune reclaim disk and refuse to touch the served model.
Cloud image, on two architectures. Alongside the ISO, each release now ships a qcow2 cloud image for amd64 and arm64. Attach your own cloud-init user-data (user, SSH keys) as on any Ubuntu cloud image; the LLM stack configures itself at first boot, detecting the hardware it actually landed on, GPU included. Works with Proxmox, libvirt, Ampere and Graviton instances, and anything that speaks cloud-init.
Observability. sudo sibilla metrics enable serves Prometheus metrics at /metrics/gateway, behind the same bearer token as the API: request rate, latency histograms, status codes, upstream health. A ready-made Grafana dashboard and a Prometheus scrape configuration live in docs/observability/. With vLLM as the engine, its native metrics pass through the gateway at /metrics; Ollama at the pinned version exposes no Prometheus endpoint (verified in its source; the pin will be revisited).
Security baseline. The firewall is on from the first boot, with only SSH and the gateway port open; Open WebUI's port stays closed until you open it deliberately (the enable command prints how), and sibilla tls --acme opens 80/443 itself. Automatic security updates are enabled by default. The systemd sandbox now covers the gateway and first-boot units and both containers run with no-new-privileges; CI asserts these directives on every install.
Fixes worth noting: sibilla webui enable no longer blocks silently until the multi-GB image pull completes; the llmfit tarball is verified against its published sha256 on both architectures; the llmd packages declare their real curl dependency instead of inheriting it from the base images.
What has been verified
Every commit goes through a pipeline that builds the ISO, boots it under BIOS and UEFI, performs a complete unattended installation, and exercises the whole surface on the installed system: real chat completion, TLS certificate issuance and the full auth matrix, multi-model serving, the webui plumbing, the metrics endpoint (on, authenticated, surviving TLS mode switches), the firewall state, the sandbox directives, prune keeping the served model. New in this release: the cloud image is built and then deployed in CI with a plain user seed on both amd64 and arm64, with a chat completion obtained on amd64.
Honest limits of the pipeline: GitHub's arm64 runners have no KVM, so the arm64 deploy runs under TCG emulation; the API surface (gateway auth, served model, health view) is asserted there, token generation is exercised but not asserted. The Open WebUI web interface itself and the vLLM path on physical datacenter GPUs remain outside CI; reports are welcome.
Installation
From the ISO (amd64): download all .part files and SHA256SUMS, reassemble, verify, write to a USB drive:
$ cat sibillaos-0.3.0-amd64.iso.part* > sibillaos-0.3.0-amd64.iso
$ sha256sum -c SHA256SUMS
$ sudo dd if=sibillaos-0.3.0-amd64.iso of=/dev/sdX bs=4M status=progressFrom the cloud image (amd64 or arm64): verify against SHA256SUMS-cloud-<arch>, then boot the qcow2 with your cloud-init user-data as you would the stock Ubuntu cloud image. Give the VM at least 8 GB of RAM and 10 GB of disk plus room for your model.
Known limitations
The default gateway mode is plain HTTP with a mandatory bearer token; enable TLS with sibilla tls before exposing the port beyond the machine. The arm64 build is available as the cloud image only; an arm64 ISO is deferred. The curated catalog only contains permissively licensed, non-gated models; gated models require a Hugging Face token and are not supported yet. Sharded GGUF repositories are not supported by the Ollama pull path.
Licensing
SibillaOS components are licensed under Apache-2.0. The images bundle vLLM (Apache-2.0), Ollama (MIT) and llmfit (MIT); Open WebUI is pulled at the user's request and is not part of the images. NVIDIA drivers are installed from the Ubuntu restricted component and are not redistributed by this project. Models are downloaded by the user from Hugging Face under their respective licenses.
Checksums
See the attached SHA256SUMS (ISO) and SHA256SUMS-cloud-<arch> (cloud images) files.
What's Changed
- release: v0.3.0 - operations (unified CLI, cloud images, metrics, security baseline) by @engineering87 in #2
Full Changelog: v0.2.0...v0.3.0