Skip to content

feat(validation): ship read-only endpoint access checks - #83

Merged
alexlovelltroy merged 3 commits into
mainfrom
security/phase1-endpoint-validation
Nov 6, 2026
Merged

alexlovelltroy merged 3 commits into
mainfrom
security/phase1-endpoint-validation

Conversation

@alexlovelltroy

Copy link
Copy Markdown
Member

Description

This pull request introduces the new read-only openchami-validate-endpoints tool and associated versioned endpoint validation policies to the OpenCHAMI RPM. It updates packaging, documentation, and the test workflow to support endpoint validation and comparison before and after upgrades. The validator is explicitly run by operators and does not change service state, but provides structured evidence of endpoint and JWT access policy. Documentation is added to guide usage and interpretation.

Endpoint validation tooling and policies:

  • Added the openchami-validate-endpoints script to the RPM and ensured it is installed into /usr/bin/ along with versioned JSON policies under /usr/share/openchami/validation/policies/. [1] [2]
  • Declared python3 as a required dependency for the validator tool.
  • Added comprehensive documentation in docs/endpoint-validation.md describing the validator, its usage, policy schema, and upgrade workflow.
  • Updated the main README.md and docs/metadata-security.md to reference the new endpoint validator and its role in upgrade and security verification. [1] [2]

Packaging and licensing:

  • Updated openchami.spec to include the validator tool and policies, and to install related documentation and license files. [1] [2]
  • Added the MIT license text for OpenCHAMI to LICENSES/MIT.txt.

Test and workflow updates:

  • Added a test-validator target to the Makefile for running endpoint validation tests, and updated .PHONY accordingly. [1] [2]
  • Updated the GitHub Actions workflow triggers to include the validator script, policies, and spec file.

Checklist

  • My code follows the style guidelines of this project
  • I have added/updated comments where needed
  • I have added tests that prove my fix is effective or my feature works
  • I have run make test (or equivalent) locally and all tests pass
  • I have updated the relevant documentation (CLI examples, man pages, README, other docs, etc.)
  • DCO Sign-off: All commits are signed off (git commit -s) with my real name and email
  • REUSE Compliance:
    • Each new/modified source file has SPDX copyright and license headers
    • Any non-commentable files include a <filename>.license sidecar
    • All referenced licenses are present in the LICENSES/ directory

Type of Change

  • Bug fix
  • New feature
  • Breaking change
  • Documentation update
  • Dependency update
  • Build system/CI

Signed-off-by: Alex Lovell-Troy <alovelltroy@lanl.gov>
@alexlovelltroy alexlovelltroy linked an issue Nov 6, 2026 that may be closed by this pull request
27 tasks
Signed-off-by: Alex Lovell-Troy <alovelltroy@lanl.gov>
Comment thread validation/policies/release-v1.json Resolved
Comment thread docs/endpoint-validation.md Resolved
synackd
synackd previously approved these changes Nov 6, 2026

@synackd synackd left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Two wording nits, but overall looks good. Approving with rewording comments. Tested manually.

Signed-off-by: Alex Lovell-Troy <alovelltroy@lanl.gov>
@alexlovelltroy
alexlovelltroy merged commit 595b3a8 into main Nov 6, 2026
3 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.

[SECURITY] Define and test secure, persistent, upgrade-safe release defaults

2 participants