open-policy-agent / open-policy-agent/java-opa-sdk

Enforce manifest roots and surface revision/metadata

Open
#63 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bundles evaluator services
Dominant language
Java
Stars
16
Forks
24
Avg merge
8h 17m
Merged PRs (30d)
15

Description

BundleAssembler parses .manifest into a Map<String,Object> and stores it on the Bundle, but nothing reads it. Per the OPA bundle spec, the roots field is required to constrain which paths a bundle owns and to detect overlap when multiple bundles are loaded. Revision and custom metadata are also exposed by OPA but currently inaccessible.

  • Validate roots at activation: reject paths in the bundle that fall outside any root.
  • Detect collisions across active bundles (overlapping roots → activation error).
  • Expose revision and metadata via typed accessors on Bundle (or its successor — see the manifest-typing issue).
  • Tests covering: missing roots, root-violation in data/policy paths, cross-bundle overlap.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with BundleAssembler and Bundle, then trace the activation flow where manifests are parsed and bundles become active. Check the OPA bundle specification and the manifest-typing issue before designing typed accessors. Done means missing roots, root violations in data and policy paths, and overlaps across active bundles are rejected, with revision and metadata accessible and covered by tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
backend-api-design, security
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.