Skip to content

Commit e964897

Browse files
SecAI-Hubclaude
andcommitted
Add Releases & Packages section to README, fix container image reference
- Add comprehensive Releases & Packages section covering OCI image, tagged release artifacts, verification commands, and diffusion runtime - Fix stale ghcr.io/sec_ai/secai_os reference to ghcr.io/secai-hub/secai_os Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent d0d51b5 commit e964897

1 file changed

Lines changed: 70 additions & 1 deletion

File tree

README.md

Lines changed: 70 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,11 +163,80 @@ See [docs/threat-model.md](docs/threat-model.md) for threat classes, residual ri
163163
### Verify Image Signatures
164164

165165
```bash
166-
cosign verify --key cosign.pub ghcr.io/sec_ai/secai_os:latest
166+
cosign verify --key cosign.pub ghcr.io/secai-hub/secai_os:latest
167167
```
168168

169169
---
170170

171+
## Releases & Packages
172+
173+
### Container Image (OCI)
174+
175+
Every push to `main` builds a signed OCI image via [BlueBuild](https://blue-build.org/):
176+
177+
```
178+
ghcr.io/secai-hub/secai_os:latest # rolling latest
179+
ghcr.io/secai-hub/secai_os:42 # Fedora 42 base
180+
```
181+
182+
Install with digest pinning (recommended for production):
183+
184+
```bash
185+
sudo bash secai-bootstrap.sh --digest sha256:RELEASE_DIGEST
186+
```
187+
188+
The image is cosign-signed. Verify before pulling:
189+
190+
```bash
191+
cosign verify --key cosign.pub ghcr.io/secai-hub/secai_os:latest
192+
```
193+
194+
### Tagged Releases
195+
196+
Tagged releases (`v*`) are built by the [Release workflow](.github/workflows/release.yml) and include:
197+
198+
| Artifact | Description |
199+
|----------|-------------|
200+
| `<service>-linux-amd64` | Static Go binary (x86_64) |
201+
| `<service>-linux-arm64` | Static Go binary (ARM64) |
202+
| `<service>-sbom.cdx.json` | Per-service CycloneDX SBOM |
203+
| `SHA256SUMS` | Checksums for all release artifacts |
204+
| `SHA256SUMS.sig` | Cosign signature over checksums |
205+
| `IMAGE_DIGEST` | OCI image digest for this release |
206+
| `IMAGE_REF_PINNED` | Fully qualified digest-pinned image reference |
207+
| `RELEASE_MANIFEST.json` | Machine-readable release manifest (binaries, SBOMs, provenance, build metadata) |
208+
209+
Go services shipped as release binaries: `airlock`, `registry`, `tool-firewall`, `gpu-integrity-watch`, `mcp-firewall`, `policy-engine`, `runtime-attestor`, `integrity-monitor`, `incident-recorder`.
210+
211+
Python services (`ui`, `agent`, `quarantine`, `diffusion-worker`, `search-mediator`) are baked into the OCI image and do not ship as standalone binaries.
212+
213+
### Verify a Release
214+
215+
```bash
216+
# Download and verify checksums
217+
curl -sSfL https://github.com/SecAI-Hub/SecAI_OS/releases/download/v0.1.0/SHA256SUMS -o SHA256SUMS
218+
curl -sSfL https://github.com/SecAI-Hub/SecAI_OS/releases/download/v0.1.0/SHA256SUMS.sig -o SHA256SUMS.sig
219+
cosign verify-blob --key cosign.pub --signature SHA256SUMS.sig SHA256SUMS
220+
sha256sum -c SHA256SUMS
221+
222+
# Or use the Makefile (clones repo, runs full verification)
223+
make verify-release
224+
```
225+
226+
See [docs/sample-release-bundle.md](docs/sample-release-bundle.md) for the full artifact structure and [docs/release-policy.md](docs/release-policy.md) for release channels (stable/candidate/dev).
227+
228+
### Diffusion Runtime (On-Demand)
229+
230+
The ~2–5 GB diffusion runtime (PyTorch, diffusers, transformers) is **not** included in the base image. It is acquired on-demand when a user first visits the Generate page:
231+
232+
1. Backend auto-detected (CUDA / ROCm / CPU)
233+
2. Wheels downloaded from PyTorch/PyPI with full hash verification against committed manifests
234+
3. Installed into an isolated venv, smoke tested, and enabled
235+
236+
Trust anchors: [`diffusion-runtime-manifest.yaml`](files/scripts/diffusion-runtime-manifest.yaml) + per-backend lockfiles (`diffusion-{cpu,cuda,rocm}.lock`). Air-gapped installs supported via `--from-local`.
237+
238+
---
239+
171240
## Hardware Support
172241

173242
GPU is **auto-detected at first boot**. No manual configuration needed.

0 commit comments

Comments
 (0)