Skip to content

fix: airgap deployment regression fixes - #106

Merged
butler54 merged 4 commits into
validatedpatterns:mainfrom
butler54:fix/airgap-regression-fixes
Aug 19, 2026
Merged

fix: airgap deployment regression fixes#106
butler54 merged 4 commits into
validatedpatterns:mainfrom
butler54:fix/airgap-regression-fixes

Conversation

@butler54

Copy link
Copy Markdown
Collaborator

Summary

Fixes found during V8 regression test on air-gapped bare metal (OCP 4.22.8, Intel TDX SNO).

  • registry:2 config mount bug: podman create mounted config.yml to /auth/ but registry:2 reads from /etc/docker/registry/config.yml — registry silently fell back to port 5000 with no TLS
  • sudo dependency removed: per-user cert dir (~/.config/containers/certs.d/) handles container tool TLS without sudo
  • registries.d sigstore fix: Intel, HashiCorp, and NVIDIA images on registry.connect.redhat.com lack cosign .sig manifests — use-sigstore-attachments: false eliminates the entire B-3a manual mirror step
  • gen-secrets.sh: removed stale PCCS references, added airgap deployment guidance
  • imageset-config digest: httpd-24:latest resolves to a different manifest list than the digest hardcoded in chart values.yaml — must mirror the exact digest
  • CoCo workload image overrides: CoCo guest VMs pull images via kata agent which has no IDMS/ITMS — added commented-out override pattern for airgap users

Test plan

  • Full airgap deployment on APAC lab node-02 (OCP 4.22.8, Intel TDX SNO)
  • All 5 CoCo workload pods Running (hello-openshift 3/3, kbs-access 2/2)
  • KBS attestation affirming (POST /attest 200)
  • oc-mirror v2 mirrors Intel/HashiCorp/NVIDIA with zero errors (registries.d fix)
  • No sudo required throughout deployment

🤖 Generated with Claude Code

butler54 and others added 4 commits August 19, 2026 06:23
- Mount config.yml to /etc/docker/registry/config.yml (registry:2
  ignores config at /auth/config.yml — silent fallback to port 5000)
- Remove sudo dependency — per-user cert dir for container tools
- Add registries.d/no-sigstore-certified.yaml for Intel/HashiCorp/NVIDIA
  (eliminates B-3a manual mirror step entirely)
- Replace B-3a section with note that registries.d handles it
- Update B-3 verification (remove idms-manual-mirrors.yaml reference)

Validated on APAC lab node-02 regression test (OCP 4.22.8, Intel TDX).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
PCCS is no longer used. Bare metal TDX uses pcsclient.py for DCAP
collateral collection (make collect-dcap-collateral). Added airgap
deployment section pointing to DEPLOY-RUNBOOK.md.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Charts hardcode httpd-24@sha256:68a91ff... but oc-mirror with :latest
mirrors the current tag which resolves to a different manifest list
digest. Must mirror the exact digest the charts reference.

Also updated Intel image comments to reference registries.d fix instead
of stale "pushed to Quay" references.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
CoCo guest VMs pull images via the kata agent which has no access to
IDMS/ITMS mirror redirects. For airgap deployments, the image URL must
point directly to the mirror registry.

Added commented-out override blocks with MIRROR_REGISTRY_HOST placeholder
for hello-openshift, kbs-access-curl (image + initImage), and
kbs-access-sealed.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@butler54
butler54 requested a review from a team August 19, 2026 06:25
@butler54
butler54 merged commit 212d621 into validatedpatterns:main Aug 19, 2026
4 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant