Skip to content

docs(demos): add config-driven GKE CUJ with evidence verify#917

Merged
mchmarny merged 2 commits into
mainfrom
docs/cuj1-gke-config
May 15, 2026
Merged

docs(demos): add config-driven GKE CUJ with evidence verify#917
mchmarny merged 2 commits into
mainfrom
docs/cuj1-gke-config

Conversation

@mchmarny

Copy link
Copy Markdown
Member

Summary

Adds demos/cuj1-gke-config.md — a config-driven variant of demos/cuj1-gke.md where a single AICRConfig file drives recipe, bundle, and validate, and the post-deploy validate emits a signed recipe-evidence bundle verified with aicr evidence verify.

Motivation / Context

Showcases the --config surface end-to-end (snapshot is the only step still using bare flags — that gap is tracked in #913) and the recipe-evidence flow on the live UAT GKE cluster. Validated against the cluster provisioned by gh workflow run uat-gcp.yaml -f skip_delete=true -f skip_tests=true.

Three currently-required workarounds are documented inline, each linked to its tracking issue, so the demo runs end-to-end on a tagged-release binary today.

Fixes: N/A
Related: #913 (snapshot --config), #914 (helmfile CRD/CR ordering), #915 (GKE ResourceQuota / priorityClass), #916 (validator image tag on tagged-release binaries)

Type of Change

  • Documentation update

Component(s) Affected

  • Docs/examples (docs/, examples/)

Implementation Notes

Testing

  • yamllint tests/uat/gcp/config.yaml clean.
  • Full demo flow walked manually end-to-end against the UAT GKE H100 cluster (snapshot → recipe → dry-run validate → bundle → helmfile install → conformance validate + emit → evidence verify). Pointer-based verify returns exit 0; manifest-hash chain validates 100% of bundled files; phase results: conformance passed 10/0/0.

Risk Assessment

  • Low — Isolated change, well-tested, easy to revert

Rollout notes: Docs-only PR plus two trivial config tweaks. No code paths affected; the UAT config CIDR widen does not change the set of authorized network names and only adds three adjacent IPs (.32, .33, .35) to the existing nw3 block.

Checklist

  • Tests pass locally (make test with -race) — N/A (no Go changes)
  • Linter passes (make lint) — yamllint clean on touched YAML
  • I did not skip/disable tests to make CI green
  • I added/updated tests for new functionality — N/A
  • I updated docs if user-facing behavior changed — this is the doc
  • Changes follow existing patterns in the codebase
  • Commits are cryptographically signed (git commit -S)

mchmarny added 2 commits May 15, 2026 04:55
Adds demos/cuj1-gke-config.md as a config-driven variant of cuj1-gke.md:
a single AICRConfig file drives recipe, bundle, and validate; the
post-deploy validate emits a signed recipe-evidence bundle and the
demo finishes with `aicr evidence verify`.

Calls out three currently-required workarounds inline, each linked to
its tracking issue (#914 helmfile CRD/CR ordering, #915 GKE
ResourceQuota priorityClass admission, #916 validator image tag on
tagged-release binaries).
Side-effects of validating demos/cuj1-gke-config.md against the UAT GKE
cluster:

- .gitignore: ignore artifacts the demo writes to the repo root
  (aicr-config.yaml, snapshot.yaml, dry-run.json, evidence/,
  report.json, evidence-result.json).
- tests/uat/gcp/config.yaml: widen nw3 from 128.77.49.34/32 to
  128.77.49.32/30 so adjacent egress addresses (.33) also pass the GKE
  control-plane authorized-networks check.
@mchmarny mchmarny requested a review from a team as a code owner May 15, 2026 11:57
@mchmarny mchmarny self-assigned this May 15, 2026
@coderabbitai

coderabbitai Bot commented May 15, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

This PR adds infrastructure and documentation support for a configuration-driven CUJ 1 GKE workflow. Changes include: (1) updated .gitignore to exclude AICR-generated outputs like configs, snapshots, evidence directories, and reports; (2) new demos/cuj1-gke-config.md documentation file explaining the complete CUJ 1 GKE workflow driven by a single AICRConfig YAML, from snapshot and recipe generation through validation, bundle deployment, evidence emission, signature verification, and distributed training job execution; and (3) a small test configuration update changing a GKE authorized network CIDR for nw3 from /32 to /30.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~5 minutes

🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely describes the main change: adding a config-driven GKE CUJ demo with evidence verification.
Description check ✅ Passed The description is comprehensive and directly related to the changeset, providing context, motivation, implementation details, and testing evidence.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/cuj1-gke-config

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@demos/cuj1-gke-config.md`:
- Around line 9-12: The blockquote lines in the demo text (the three lines
starting with ">       The will be..." etc.) have extra spaces after the '>';
remove the surplus spaces so each blockquote line uses a single '>' followed by
one space ("> ") and correct the typo "The will" to "The plan" or appropriate
wording in that same block (identify and edit the three quoted lines in the
block starting with "Note: This demo duplicates...") to restore proper Markdown
blockquote formatting.
- Line 10: The sentence "The will be to generalize the cluster validation and
evidence collection" is missing a subject; replace it with a complete phrase
such as "The goal will be to generalize the cluster validation and evidence
collection" (or "This will be to generalize..." / "The aim will be to
generalize...") in the demos/cuj1-gke-config.md content to fix the grammar while
preserving the intended meaning.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Enterprise

Run ID: e94ee0c6-6eb4-4b53-bf7e-3eea24eba687

📥 Commits

Reviewing files that changed from the base of the PR and between ca62d0c and 2432ba9.

📒 Files selected for processing (3)
  • .gitignore
  • demos/cuj1-gke-config.md
  • tests/uat/gcp/config.yaml

Comment thread demos/cuj1-gke-config.md
Comment thread demos/cuj1-gke-config.md
@mchmarny mchmarny merged commit efd392e into main May 15, 2026
32 of 33 checks passed
@mchmarny mchmarny deleted the docs/cuj1-gke-config branch May 15, 2026 12:02
@github-actions

Copy link
Copy Markdown
Contributor

Coverage Report ✅

Metric Value
Coverage 75.9%
Threshold 75%
Status Pass
Coverage Badge
![Coverage](https://img.shields.io/badge/coverage-75.9%25-green)

No Go source files changed in this PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants