Skip to content

Commit 0d66546

Browse files
SecAI-Hubclaude
andcommitted
Epic 3: Quickstart for normal humans — ISO/OVA/QCOW2 first, rebase advanced
Replace the Fedora-expertise-required quickstart with a "Choose Your Path" table leading to four install methods: - Path A: ISO (recommended) — download, flash USB, boot, setup wizard - Path B: OVA — download, import into VirtualBox/VMware - Path C: QCOW2 — download, create KVM VM - Path D: Rebase (advanced) — for existing Fedora Silverblue operators Zero references to "rebase" in beginner paths. Digest pinning moved to "Advanced / Operator Install" section. Each path has copy-paste commands for Linux/macOS/Windows and "What you should see after boot" descriptions. Verification section: one canonical checksum command per platform (no extra tools required for beginners). Advanced cosign/SLSA verification linked separately. README updated: quickstart table with links to each path, bootstrap commands under "Advanced / Operator Install", new docs in tables. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 734e723 commit 0d66546

2 files changed

Lines changed: 193 additions & 21 deletions

File tree

README.md

Lines changed: 19 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -46,41 +46,36 @@ Built on [uBlue](https://universal-blue.org/) (Fedora Atomic / Silverblue). All
4646

4747
## Quickstart
4848

49-
### Install (Fedora Atomic)
49+
Download, verify, boot, run the setup wizard. See [docs/install/quickstart.md](docs/install/quickstart.md) for full details.
50+
51+
| Method | Time | Best For |
52+
|--------|------|----------|
53+
| [**ISO**](docs/install/quickstart.md#path-a-install-from-iso-real-pc) (Recommended) | ~30 min | Real PC, full security |
54+
| [**OVA**](docs/install/quickstart.md#path-b-import-vm--virtualbox--vmware-ova) | ~15 min | Try it first (VirtualBox/VMware) |
55+
| [**QCOW2**](docs/install/quickstart.md#path-c-import-vm--kvm--proxmox--qemu-qcow2) | ~15 min | KVM / Proxmox |
56+
| [**Rebase**](docs/install/quickstart.md#path-d-advanced--rebase-from-existing-fedora) | ~45 min | Existing Fedora Silverblue |
57+
58+
After boot, the setup wizard guides you through profile selection, system verification, and model import.
59+
60+
### Advanced / Operator Install
61+
62+
For production deployments with digest pinning and signing policy configuration:
5063

5164
```bash
52-
# 1. Download and review the signed bootstrap script
65+
# Review the bootstrap script, then run with a pinned digest
5366
curl -sSfL https://raw.githubusercontent.com/SecAI-Hub/SecAI_OS/main/files/scripts/secai-bootstrap.sh \
5467
-o /tmp/secai-bootstrap.sh
5568
less /tmp/secai-bootstrap.sh
56-
57-
# 2. Run the bootstrap (configures signing policy + verified rebase)
58-
# Use --digest from the latest release for production installs
5969
sudo bash /tmp/secai-bootstrap.sh --digest sha256:RELEASE_DIGEST
60-
61-
# 3. Reboot and run the setup wizard
6270
sudo systemctl reboot
63-
sudo /usr/libexec/secure-ai/secai-setup-wizard.sh
6471
```
6572

66-
The bootstrap script verifies the image signature and configures the signing policy
67-
**before** the rebase, so the first pull uses the signed transport — no unverified
68-
pull is ever performed. See the [latest release](https://github.com/SecAI-Hub/SecAI_OS/releases/latest)
69-
for the digest, or omit `--digest` for evaluation.
70-
71-
See [docs/install/](docs/install/) for detailed guides: [bare metal](docs/install/bare-metal.md) | [virtual machine](docs/install/vm.md) | [development](docs/install/dev.md) | [recovery](docs/install/recovery-bootstrap.md)
73+
See [bare metal](docs/install/bare-metal.md) | [virtual machine](docs/install/vm.md) | [development](docs/install/dev.md) | [recovery](docs/install/recovery-bootstrap.md)
7274

7375
### Get Your First Model
7476

7577
Open `http://127.0.0.1:8480`, go to **Models**, and click **Download** on any model in the catalog. The 7-stage quarantine pipeline runs automatically. Once promoted, the model is ready to use.
7678

77-
Or via CLI:
78-
79-
```bash
80-
sudo cp your-model.gguf /var/lib/secure-ai/quarantine/incoming/
81-
journalctl -u secure-ai-quarantine-watcher -f # watch pipeline
82-
```
83-
8479
---
8580

8681
## Architecture
@@ -317,6 +312,8 @@ All CI jobs are defined in [`.github/workflows/ci.yml`](.github/workflows/ci.yml
317312
| [FAQ](docs/faq.md) | Common questions |
318313
| [Glossary](docs/glossary.md) | Key terms and concepts |
319314
| [Non-Goals](docs/non-goals.md) | What SecAI OS does NOT try to do |
315+
| [Why is this safe?](docs/why-is-this-safe.md) | Plain-language security explanation |
316+
| [Telemetry Policy](docs/telemetry-policy.md) | No-telemetry guarantee |
320317

321318
### Component Docs
322319

@@ -349,6 +346,7 @@ All CI jobs are defined in [`.github/workflows/ci.yml`](.github/workflows/ci.yml
349346

350347
| Guide | Description |
351348
|-------|-------------|
349+
| [Quickstart](docs/install/quickstart.md) | Choose your path: ISO, OVA, QCOW2, or rebase |
352350
| [Bare Metal](docs/install/bare-metal.md) | Fresh install on dedicated hardware |
353351
| [Virtual Machine](docs/install/vm.md) | VirtualBox, VMware, KVM/QEMU |
354352
| [Development](docs/install/dev.md) | Local dev without OS rebase |

docs/install/quickstart.md

Lines changed: 174 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,174 @@
1+
# Quickstart
2+
3+
Get SecAI OS running in the fewest steps possible. Choose the path that fits your hardware.
4+
5+
## Choose Your Install Path
6+
7+
| Method | Time | Difficulty | Best For |
8+
|--------|------|-----------|----------|
9+
| **ISO** (Recommended) | ~30 min | Easy | Real PC, full security |
10+
| **VM Import (OVA)** | ~15 min | Easy | Try it first (VirtualBox/VMware) |
11+
| **VM Import (QCOW2)** | ~15 min | Easy | KVM / Proxmox / QEMU |
12+
| **Rebase** (Advanced) | ~45 min | Moderate | Existing Fedora Silverblue |
13+
14+
---
15+
16+
## Path A: Install from ISO (Real PC)
17+
18+
This gives you the full security stack including Secure Boot, TPM2, and hardware isolation.
19+
20+
**1. Download the ISO**
21+
22+
Go to the [latest release](https://github.com/SecAI-Hub/SecAI_OS/releases/latest) and download `secai-os-<version>-x86_64.iso`.
23+
24+
**2. Write to USB**
25+
26+
Linux/macOS:
27+
```bash
28+
sudo dd if=secai-os-*.iso of=/dev/sdX bs=4M status=progress
29+
sync
30+
```
31+
32+
Windows: Use [Rufus](https://rufus.ie) — select the ISO, choose your USB drive, and click Start.
33+
34+
**3. Boot from USB**
35+
36+
Restart your computer. Enter the boot menu (usually F12, F2, or Esc) and select the USB drive. Follow the installer prompts.
37+
38+
**4. First boot**
39+
40+
After installation completes and the system reboots, open a browser to:
41+
```
42+
http://127.0.0.1:8480
43+
```
44+
45+
**What you should see:** The SecAI OS setup wizard. It will ask you to choose a privacy profile, verify system health, and import your first AI model.
46+
47+
---
48+
49+
## Path B: Import VM — VirtualBox / VMware (OVA)
50+
51+
For evaluation. Note: VM installs cannot use TPM2 sealing or Secure Boot chain verification.
52+
53+
**1. Download the OVA**
54+
55+
Go to the [latest release](https://github.com/SecAI-Hub/SecAI_OS/releases/latest) and download `secai-os-<version>.ova`.
56+
57+
> OVA may not be available in every release. If absent, use Path C (QCOW2) or Path A (ISO).
58+
59+
**2. Import**
60+
61+
- **VirtualBox:** File → Import Appliance → select the OVA → Import
62+
- **VMware:** File → Open → select the OVA → Import
63+
64+
**3. Start the VM and open the UI**
65+
66+
Start the VM. After boot, open a browser to the VM's IP on port 8480:
67+
```
68+
http://<vm-ip>:8480
69+
```
70+
71+
If using NAT networking, forward port 8480 from the VM to your host, then use `http://127.0.0.1:8480`.
72+
73+
**What you should see:** The setup wizard with profile selection, system check, and model import.
74+
75+
---
76+
77+
## Path C: Import VM — KVM / Proxmox / QEMU (QCOW2)
78+
79+
**1. Download the QCOW2**
80+
81+
Go to the [latest release](https://github.com/SecAI-Hub/SecAI_OS/releases/latest) and download `secai-os-<version>.qcow2`.
82+
83+
> QCOW2 may not be available in every release. If absent, use Path A (ISO).
84+
85+
**2. Create a VM**
86+
87+
```bash
88+
# Example: create and start a KVM VM using the downloaded disk
89+
virt-install \
90+
--name secai-os \
91+
--memory 16384 \
92+
--vcpus 4 \
93+
--disk path=secai-os-*.qcow2,format=qcow2 \
94+
--import \
95+
--os-variant fedora42 \
96+
--network default \
97+
--noautoconsole
98+
```
99+
100+
**3. Access the UI**
101+
102+
```bash
103+
# Find the VM's IP
104+
virsh domifaddr secai-os
105+
# Open in browser
106+
xdg-open http://<vm-ip>:8480
107+
```
108+
109+
**What you should see:** The setup wizard.
110+
111+
---
112+
113+
## Path D: Advanced — Rebase from Existing Fedora
114+
115+
If you already have Fedora Silverblue (F42+), you can rebase directly. This is the operator path.
116+
117+
See [bare-metal.md](bare-metal.md) for the full bootstrap flow with digest pinning and signing policy configuration.
118+
119+
```bash
120+
# Quick version (evaluation only — use --digest for production)
121+
curl -sSfL https://raw.githubusercontent.com/SecAI-Hub/SecAI_OS/main/files/scripts/secai-bootstrap.sh \
122+
-o /tmp/secai-bootstrap.sh
123+
less /tmp/secai-bootstrap.sh # Review first
124+
sudo bash /tmp/secai-bootstrap.sh
125+
sudo systemctl reboot
126+
```
127+
128+
After reboot, open `http://127.0.0.1:8480` and run the setup wizard.
129+
130+
---
131+
132+
## After Boot: First-Time Setup
133+
134+
Regardless of install path, the setup wizard guides you through:
135+
136+
1. **Choose your privacy level** — Maximum Privacy (default), Web-Assisted Research, or Full Lab
137+
2. **System check** — verifies core services are running
138+
3. **Import a model** — upload a `.gguf` model file (it goes through the 7-stage quarantine pipeline automatically)
139+
4. **Start chatting** — once the model is promoted, you're ready
140+
141+
---
142+
143+
## Verify Your Install (Optional)
144+
145+
After downloading any release artifact, you can verify its integrity.
146+
147+
**Linux / macOS:**
148+
```bash
149+
curl -sSfL https://github.com/SecAI-Hub/SecAI_OS/releases/latest/download/SHA256SUMS -o SHA256SUMS
150+
sha256sum -c SHA256SUMS --ignore-missing
151+
```
152+
153+
**Windows (PowerShell):**
154+
```powershell
155+
Invoke-WebRequest -Uri "https://github.com/SecAI-Hub/SecAI_OS/releases/latest/download/SHA256SUMS" -OutFile SHA256SUMS
156+
$expected = (Get-Content SHA256SUMS | Select-String "secai-os").Line.Split()[0]
157+
$actual = (Get-FileHash "secai-os-*.iso" -Algorithm SHA256).Hash.ToLower()
158+
if ($expected -eq $actual) { "OK: checksum matches" } else { "FAIL: checksum mismatch" }
159+
```
160+
161+
For advanced verification (cosign signatures, SLSA3 provenance), see [sample-release-bundle.md](../docs/sample-release-bundle.md) or run:
162+
```bash
163+
make verify-release
164+
```
165+
166+
---
167+
168+
## Next Steps
169+
170+
- [Import a GGUF Model](../examples/import-gguf-model.md)
171+
- [Enable Web Search](../examples/enable-web-search.md)
172+
- [Vault Management](../examples/lock-unlock-vault.md)
173+
- [Security Dashboard](http://127.0.0.1:8480/security) — verify your appliance health
174+
- [Why is this safe?](../docs/why-is-this-safe.md) — plain-language security explanation

0 commit comments

Comments
 (0)