You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: update reference value docs and bump sandboxed-policies to 0.2.* (#95)
* docs: update documentation and bump sandboxed-policies to 0.2.*
Documentation updates:
- Rewrite docs/firmware-reference-values.md for container-based veritas
approach covering both Azure and bare metal platforms
- Update README.md secrets section: replace get-pcr.sh reference with
unified collect-firmware-refvals.sh, add Azure and bare metal commands
- Fix AGENTS.md: correct values-spoke.yaml filename, add baremetal-gpu
cluster group, update companion chart table to reflect registry-based
consumption instead of stale local paths
Chart version bump:
- Bump sandboxed-policies chartVersion from 0.1.* to 0.2.* in all four
profiles (v0.2.0 adds Azure-conditional peer-pods policy)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: address linter error and update README
- Fix AGENTS.md: capitalize "Git" (textlint terminology rule)
- Fix README.md: correct topology count (four, not three)
- Fix README.md: update RHDP description to say "reference value collection"
- Add version history for v5.3 through v5.6 releases
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: AGENTS.md
+12-11Lines changed: 12 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,7 +17,7 @@ This file provides rules and context for any AI coding assistant working in this
17
17
Use the **first** approach that fits your requirement:
18
18
19
19
1.**Helm charts** — Declarative Kubernetes resources in `/charts/`, deployed by ArgoCD. Preferred for installing operators, configuring CRDs, and creating Kubernetes resources.
20
-
2.**ACM policies** — Red Hat Advanced Cluster Management policies for propagating configuration from hub to spoke clusters and enforcing multi-cluster governance. Reference: `charts/hub/sandbox-policies/templates/`.
20
+
2.**ACM policies** — Red Hat Advanced Cluster Management policies for propagating configuration from hub to spoke clusters and enforcing multi-cluster governance. Reference: `validatedpatterns/sandboxed-policies-chart`.
21
21
3.**Imperative framework (Ansible)** — Playbooks in `/ansible/`, executed as Kubernetes Jobs on a 10-minute schedule. **Must be idempotent.** Use for API calls, runtime data lookups, and multi-step orchestration that cannot be expressed declaratively. Register playbooks in `clusterGroup.imperative.jobs` as an ordered list.
22
22
4.**Out-of-band scripts** — `/scripts/` or `/rhdp/`. Last resort for one-time setup or local development tooling. These are not managed by GitOps.
23
23
@@ -48,32 +48,33 @@ Use the **first** approach that fits your requirement:
Several charts in this repository have companion repositories for independent versioning and reuse. Develop and test in this repository first (charts deploy via `path:`), then sync changes to the companion repository.
57
+
These charts are published independently and consumed from the `charts.validatedpatterns.io` Helm registry via `chart:` + `chartVersion:` in the values files.
58
58
59
-
|Local Path | Companion Repository | Purpose |
59
+
|Chart Name | Repository | Purpose |
60
60
|---|---|---|
61
-
|`charts/hub/trustee/`|`trustee-chart`| Trustee / KBS on hub|
|`sandboxed-containers`|`validatedpatterns/sandboxed-containers-chart`| Sandboxed runtime on spoke |
64
64
65
-
Large features may require coordinated changes across multiple companion repos. References are org-agnostic — contributors should fork all relevant repos as needed.
65
+
Changes to companion charts require a release (Git tag) before the pattern can consume them. Update the `chartVersion:` field in the values files to pick up new releases.
66
66
67
67
## Cluster Groups
68
68
69
69
Set via `main.clusterGroupName` in `values-global.yaml`.
70
70
71
71
| Cluster Group | Values File | Role | Description |
72
72
|---|---|---|---|
73
-
|`simple`|`values-simple.yaml`| Hub (single cluster) | All components on one cluster |
74
-
|`baremetal`|`values-baremetal.yaml`| Hub (single cluster) | TDX + LVM storage on bare metal |
73
+
|`simple`|`values-simple.yaml`| Hub (single cluster) | All components on one Azure cluster |
74
+
|`baremetal`|`values-baremetal.yaml`| Hub (single cluster) | TDX/SNP + LVM storage on bare metal |
75
+
|`baremetal-gpu`|`values-baremetal-gpu.yaml`| Hub (single cluster) | Bare metal + NVIDIA H100 GPU support |
1.**Single cluster** (`simple` clusterGroup) — deploys all components (Trustee, Vault, ACM, sandboxed containers, workloads) in one cluster on Azure. This breaks the RACI separation expected in a remote attestation architecture but simplifies testing and demonstrations.
12
12
@@ -29,6 +29,10 @@ Breaking change from v4. Uses GA releases of the CoCo stack with Kyverno-based i
29
29
-**5.0** — Kyverno-based `cc_init_data` injection (replaces MutatingAdmissionPolicy), OSC 1.12 / Trustee 1.1 GA, external chart repositories, self-signed certificates via cert-manager, multi-cluster support via ACM. Requires OCP 4.19.28+.
30
30
-**5.1** — Bare metal support for Intel TDX and AMD SEV-SNP via NFD auto-detection. Currently tested on SNO (Single Node OpenShift) configurations only.
31
31
-**5.2** — NVIDIA H100 confidential GPU support for bare metal (`baremetal-gpu` clusterGroup). Adds GPU Operator, IOMMU configuration, CC Manager, and sample CUDA workload.
32
+
-**5.3** — DRY refactor of trustee and kyverno overrides, Kyverno CRD label fix, pattern infrastructure update.
33
+
-**5.4** — Firmware reference values workflow for bare metal attestation via veritas. Adds `collect-firmware-refvals.sh`, RVPS integration, and hardened attestation policy (trustee-chart v0.5.0).
34
+
-**5.5** — Trustee-chart v0.7.0 (td_attributes.debug path fix). Unified reference value collection for Azure and bare metal via veritas container.
@@ -62,12 +66,15 @@ Breaking change from v4. Uses GA releases of the CoCo stack with Kyverno-based i
62
66
- OpenShift pull secret saved at `~/pull-secret.json` (download from [console.redhat.com](https://console.redhat.com/openshift/downloads))
63
67
- Fork the repository — ArgoCD reconciles cluster state against your fork, so changes must be pushed to your remote
64
68
65
-
### Secrets and PCR setup
69
+
### Secrets and reference value setup
66
70
67
-
These scripts generate the cryptographic material and attestation measurements needed by Trustee and the peer-pod VMs. Run them once before your first deployment.
71
+
These scripts generate the cryptographic material and attestation reference values needed by Trustee. Run them once before your first deployment.
68
72
69
73
1.`bash scripts/gen-secrets.sh` — generates KBS key pairs, PCCS certificates/tokens (for bare metal), and copies `values-secret.yaml.template` to `~/values-secret-coco-pattern.yaml`
70
-
2.`bash scripts/get-pcr.sh` — retrieves PCR measurements from the peer-pod VM image and stores them at `~/.coco-pattern/measurements.json` (requires `podman`, `skopeo`, and `~/pull-secret.json`). **Azure only.** Bare metal uses manual PCR collection — see [docs/pcr-reference-values-bare-metal.md](docs/pcr-reference-values-bare-metal.md) for the procedure. Store the measurements at `~/.coco-pattern/measurements.json`.
-**Azure:**`make collect-azure-refvals` — pulls PCR measurements from the dm-verity image via veritas. Saves to `~/.coco-pattern/measurements.json`.
76
+
-**Bare metal:**`make collect-firmware-refvals` — computes firmware measurements from OCP release artifacts via veritas. Saves to `~/.coco-pattern/firmware-reference-values.json`. For bare metal, also uncomment the `firmwareReferenceValues` section in `~/values-secret-coco-pattern.yaml`.
77
+
- See [docs/firmware-reference-values.md](docs/firmware-reference-values.md) for detailed workflow and options.
71
78
3. Review and customise `~/values-secret-coco-pattern.yaml` — this file is loaded into Vault and provides secrets to the pattern. For bare metal, uncomment the PCCS secrets section and provide your Intel PCS API key.
72
79
73
80
> **Note:**`gen-secrets.sh` will not overwrite existing secrets. Delete `~/.coco-pattern/` if you need to regenerate.
@@ -173,4 +180,4 @@ Deployment commands:
173
180
- Single cluster: `bash rhdp/wrapper.sh <azure-region>` (e.g. `bash rhdp/wrapper.sh eastasia`)
0 commit comments