Overview
FlagOS images are layered. Each layer builds on the one below it and has a distinct concern.
base
A vendor’s SDK/toolkit installed on an OS base. A base image is only about:
- the base operating system (the containerfile’s
FROM), - the supported SDK version (the backend name, e.g.
cuda12.8,cann9.0.0), - and the contents installed on top (system packages + vendor SDK packages).
It has nothing to do with Python, Torch, or Triton versions — those are a
runtime concern. Built from base/<vendor>-<backend> by base/build.py, tagged
flagos-base-<vendor>-<backend>:<version>-<revision>.
runtime
Built on a base image; adds the Python interpreter and the software stack
(Torch, Triton, FlagTree, FlagGems). Built by runtime/build.py, image
flagos-runtime-<vendor>-<backend>.
application (future)
Built on a runtime image; packages a ready-to-run application (vLLM, Megatron-LM, SGLang, …).
Registry & source of truth
All images go to a single registry configured in .github/build-config.yml,
differing only by a path prefix per layer. configs.yaml holds each backend’s
dependencies and environment; the base/<name> containerfiles carry the OS + SDK.
The catalogs and per-image pages here are generated from those files.