Skip to content

Conversation

@yi-chen-roger
Copy link

Move internal/builder to pkg/builder to provide a public API for OPA bundle compilation. This allows external users to build bundles from multiple sources with namespace isolation.

Changes:

  • Move internal/builder -> pkg/builder
  • Create pkg/builder/config.go for public configuration types
    • Requirement: source dependencies with path mounting
    • Dir: directory configuration with filters
    • Transform: Rego query transformations
  • Add comprehensive documentation in pkg/builder/doc.go
  • Update internal/service to use pkg/builder
  • Convert internal config.Requirement to builder.Requirement

Public API:

  • Builder: fluent builder with Build method
  • Source: represents policy/data sources
  • Requirement: minimal dependency type (no internal deps)
  • Dir, Transform: configuration types
  • PackageConflictErr: namespace conflict error

All tests passing. External users can now use pkg/builder without importing any internal packages.

Move internal/builder to pkg/builder to provide a public API for
OPA bundle compilation. This allows external users to build bundles
from multiple sources with namespace isolation.

Changes:
- Move internal/builder -> pkg/builder
- Create pkg/builder/config.go for public configuration types
  - Requirement: source dependencies with path mounting
  - Dir: directory configuration with filters
  - Transform: Rego query transformations
- Add comprehensive documentation in pkg/builder/doc.go
- Update internal/service to use pkg/builder
- Convert internal config.Requirement to builder.Requirement

Public API:
- Builder: fluent builder with Build method
- Source: represents policy/data sources
- Requirement: minimal dependency type (no internal deps)
- Dir, Transform: configuration types
- PackageConflictErr: namespace conflict error

All tests passing. External users can now use pkg/builder without
importing any internal packages.

Signed-off-by: Yi Chen <[email protected]>
@yi-chen-roger yi-chen-roger marked this pull request as draft January 29, 2026 20:14
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