This is the mono-repo for the Open Sovereign AI Cloud (OSAC) project. It hosts multiple components as subdirectories, each retaining its own documentation:
- fulfillment-service/ — a gRPC server (with REST gateway)
that manages infrastructure resources such as clusters, hosts, compute instances, and
networking. It uses PostgreSQL for storage and OPA for authorization, and ships an
osacCLI alongside the service binary. - osac-operator/ — a Kubernetes operator that reconciles the
custom resources created by the fulfillment service (or elsewhere), such as
ClusterOrder,ComputeInstance,Tenant,VirtualNetwork,Subnet, andSecurityGroup. It provisions infrastructure via Ansible Automation Platform and includes a console proxy for KubeVirt VM console/VNC access. - osac-aap/ — the Ansible automation layer: playbooks, roles, and collections that provision and manage infrastructure resources (networking, compute, bare-metal hosts, OpenShift clusters) when triggered by osac-operator via Ansible Automation Platform (AAP).
- osac-csi-driver/ — an aggregating CSI meta-driver that presents a single CSI identity to Kubernetes and routes storage requests to vendor-specific CSI drivers (NetApp Trident, VAST, Pure Storage) based on storage tier resolution from the fulfillment service.
See each subdirectory's README.md (and docs/, where present) for setup, build, test, and
deployment instructions specific to that component.
The root go.work file wires fulfillment-service, osac-operator (plus its
api submodule), bare-metal-fulfillment-operator, and osac-csi-driver together as a Go
workspace, so cross-module changes can be built and tested locally without publishing
intermediate versions. Go tooling run from the repo root will automatically use the
workspace; no extra flags are needed.
Warning
Be mindful of the content you commit to this repository. Do not commit any material containing Red Hat confidential content, including information about future product development plans.