Skip to content

docs(ROSAENG-61476): add PQC readiness assessment for osdctl - #961

Open
fullsend-ai-coder[bot] wants to merge 2 commits into
masterfrom
agent/ROSAENG-61476-pqc-assessment
Open

docs(ROSAENG-61476): add PQC readiness assessment for osdctl#961
fullsend-ai-coder[bot] wants to merge 2 commits into
masterfrom
agent/ROSAENG-61476-pqc-assessment

Conversation

@fullsend-ai-coder

@fullsend-ai-coder fullsend-ai-coder Bot commented Sep 10, 2026

Copy link
Copy Markdown

Summary

Adds a Post-Quantum Cryptography (PQC) readiness assessment document for osdctl as part of the ROSA PQC initiative (HCMSEC-3301, Phase 1-2: Discovery & Dependency Mapping).

The assessment inventories all cryptographic paths in the repository, maps upstream dependencies, and evaluates migration readiness:

  • EC2 Ed25519 key pair creation (cmd/jumphost/create.go): The only directly actionable crypto path — a single-line KeyType constant change when AWS EC2 supports PQC key types. Blocked on AWS.
  • Hive SSH key retrieval (cmd/cluster/ssh/key.go): Algorithm-agnostic code that retrieves opaque key bytes. No osdctl changes needed — blocked on OpenShift/Hive installer.
  • No direct crypto/* imports: All cryptographic operations are delegated to AWS SDK and Kubernetes API.
  • Network verification NoTls flag and HCP certificate monitoring: Not directly PQC-related; read-only or delegated to upstream libraries.

The document also includes an upstream dependency map, SSM Session Manager evaluation as an SSH alternative, and timeline alignment with HCMSEC-3301 Phase 3/4 milestones.

Testing

  • Verified all SSH and crypto findings against the actual source code
  • Ran go vet ./... to confirm no Go code was affected
  • Secret scan passed on all changed files
  • No production code changes — documentation only

Related to https://redhat.atlassian.net/browse/ROSAENG-61476

Post-script verification

  • Branch is not main/master (agent/ROSAENG-61476-pqc-assessment)
  • Secret scan passed (gitleaks — c02ab22b7faf938a24ff7f1a084ae3c650f07759..HEAD)
  • PR body secret scan passed (gitleaks — no-git)

Add a Post-Quantum Cryptography readiness assessment document that
inventories all cryptographic paths in osdctl and maps upstream
dependencies for PQC migration. Key findings:

- EC2 Ed25519 key pair creation in jumphost code is the primary
  actionable item (single-line constant change when AWS supports
  PQC key types)
- Hive SSH key retrieval is algorithm-agnostic and requires no
  code changes
- No direct crypto/* standard library imports exist in osdctl
  source; all crypto operations are delegated to AWS SDK and
  Kubernetes API
- Both active crypto paths are blocked on upstream providers

This is a discovery/inventory task for HCMSEC-3301 Phase 1-2.
No production code changes are included.

Related to ROSAENG-61476
@fullsend-ai-coder fullsend-ai-coder Bot added the ready-for-review Triggers review agent dispatch label Sep 10, 2026
@openshift-ci
openshift-ci Bot requested review from petrkotas and zmird-r September 10, 2026 03:09
@openshift-ci

openshift-ci Bot commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: fullsend-ai-coder[bot]
Once this PR has been reviewed and has the lgtm label, please assign joshbranham for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci Bot added the needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. label Sep 10, 2026
@openshift-ci

openshift-ci Bot commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

Hi @fullsend-ai-coder[bot]. Thanks for your PR.

I'm waiting for a openshift member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work.

Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@coderabbitai

coderabbitai Bot commented Sep 10, 2026

Copy link
Copy Markdown

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Advanced

Run ID: 37b8b26c-72c9-4166-87ab-f0a53946ed5c

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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

@fullsend-ai-review

fullsend-ai-review Bot commented Sep 10, 2026

Copy link
Copy Markdown

🤖 Finished Review · ✅ Success · Started 3:10 AM UTC · Completed 3:27 AM UTC

Commit: c1ce2f7 · View workflow run →

Runtime: claude · Model: opus → claude-opus-4-6 · Effort: high · Cost: $5.40

@fullsend-ai-review fullsend-ai-review Bot added the risk/moderate PR risk: moderate label Sep 10, 2026
@fullsend-ai-review

fullsend-ai-review Bot commented Sep 10, 2026

Copy link
Copy Markdown

Risk Assessment: moderate (2/5)

Details

Documentation-only PR by a bot adding a single new markdown file (224 lines); blast_radius=medium and new-file Tier 2 baseline lift the score above 1, but no protected paths, security-sensitive files, CI, or dependency changes keep it at moderate.

Previous run

Risk Assessment: moderate (2/5)

Details

Documentation-only PR by a bot adding a single new markdown file. No protected paths, no security-sensitive files, no CI or dependency changes. The only file is brand new with no git history (Tier 2 baseline). No linked GitHub issue.

@fullsend-ai-review

fullsend-ai-review Bot commented Sep 10, 2026

Copy link
Copy Markdown

Review

Findings

Low

  • [technical accuracy] docs/assessments/pqc-assessment.md:100 — The document states that parseCertificate() reads NotAfter, RenewalTime, and DNSNames fields, but omits that it also parses and evaluates a Ready condition from the certificate's status conditions (lines 335–339 of parser.go). This omission does not affect the PQC analysis conclusion since the function is still read-only JSON parsing.
Previous run

Review

Findings

Medium

  • [file naming and placement convention] docs/pqc-assessment.md — The docs/ directory contains 176 auto-generated CLI reference files (following the osdctl_*.md naming pattern produced by cobra doc-gen). The new pqc-assessment.md is a hand-authored assessment document that does not follow this naming convention and is a fundamentally different document category. While the cobra doc generator would not overwrite this file (it generates files named after command paths), placing it alongside auto-generated docs breaks the directory's uniform purpose and may confuse contributors about whether it is auto-generated or manually maintained.
    Remediation: Move this document to a dedicated location such as docs/assessments/ or docs/security/ to separate it from auto-generated CLI reference material.

Low

  • [technical accuracy] docs/pqc-assessment.md:120 — The document states that parseCertificate() parses certificate status "from ManifestWork resources." In the actual code at cmd/hcp/status/parser.go, parseCertificate() is invoked from parseLiveResources() (lines 65–73) for keys with the certificate- prefix — these are standalone certificate resources in the OCM live resources map, not ManifestWork resources.
    Remediation: Update the description to clarify that the function parses ingress certificate status from standalone certificate resources, not from ManifestWork resources.

Next steps:

  • /fs-fix — agent addresses review findings automatically
  • /fs-fix <your instruction> — agent fixes with your specific guidance
  • Push commits directly — review re-runs automatically on push
  • /fs-fix-stop — disable automatic fix runs for this PR

fullsend-ai-review[bot]

This comment was marked as outdated.

@fullsend-ai-coder

fullsend-ai-coder Bot commented Sep 10, 2026

Copy link
Copy Markdown
Author

🤖 Finished Fix · ✅ Success · Started 3:29 AM UTC · Completed 3:37 AM UTC

Commit: c1ce2f7 · View workflow run →

Runtime: claude · Model: opus → claude-opus-4-6 · Effort: high · Cost: $1.40

- Move pqc-assessment.md from docs/ to docs/assessments/ to separate
  hand-authored assessment from auto-generated CLI reference docs
- Fix technical inaccuracy: parseCertificate() parses standalone
  certificate resources, not ManifestWork resources

Addresses #961
@fullsend-ai-coder

Copy link
Copy Markdown
Author

🔧 Fix agent — iteration 1 (bot-triggered)

Addressed both review findings: (1) moved pqc-assessment.md to docs/assessments/ to separate it from auto-generated CLI reference docs, and (2) fixed technical inaccuracy about parseCertificate() data source from ManifestWork to standalone certificate resources.

Fixed (2):

  1. file naming and placement convention (docs/assessments/pqc-assessment.md): Moved pqc-assessment.md from docs/ to docs/assessments/ to separate the hand-authored assessment document from the 177 auto-generated CLI reference files that follow the osdctl_*.md naming convention
  2. technical accuracy (docs/assessments/pqc-assessment.md): Corrected the description of parseCertificate() to clarify it parses standalone certificate resources in the OCM live resources map (keys with certificate- prefix), not ManifestWork resources

Tests: passed

Next steps:

  • /fs-review — request a re-review of the changes
  • /fs-fix <your instruction> — run another fix pass with specific guidance
  • Push commits directly — review re-runs automatically on push
    Updated by fullsend fix agent

@fullsend-ai-review

fullsend-ai-review Bot commented Sep 10, 2026

Copy link
Copy Markdown

🤖 Finished Review · ✅ Success · Started 3:39 AM UTC · Completed 3:53 AM UTC

Commit: 7c94143 · View workflow run →

Runtime: claude · Model: opus → claude-opus-4-6 · Effort: high · Cost: $4.30

@fullsend-ai-review
fullsend-ai-review Bot dismissed their stale review September 10, 2026 03:53

Superseded by updated review

@fullsend-ai-review fullsend-ai-review Bot added the ready-for-merge All reviewers approved — ready to merge label Sep 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. ready-for-merge All reviewers approved — ready to merge ready-for-review Triggers review agent dispatch risk/moderate PR risk: moderate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants