Skip to content

feat(KLEF-129): Plan and implement crates blueprints and contruct#29

Merged
isaacwallace123 merged 8 commits intomainfrom
feat/KLEF-129-Plan_And_Implement_Crates_Blueprints_And_Contruct
Apr 9, 2026
Merged

feat(KLEF-129): Plan and implement crates blueprints and contruct#29
isaacwallace123 merged 8 commits intomainfrom
feat/KLEF-129-Plan_And_Implement_Crates_Blueprints_And_Contruct

Conversation

@NathanRoos
Copy link
Copy Markdown
Contributor

Pull Request

Summary

Implements the crate catalog system. A structured way to define installable server types (crates), their user-facing configuration (blueprints), and their technical deployment recipes (constructs). On startup, the platform syncs the catalog from the public crate-registry GitHub repo into Postgres and exposes it via REST API.

Related Issues

Closes #


Changes

What's Included

  • Domain types: Crate, Blueprint, Construct with full field definitions including config fields, resources, runtime hints, ports, outputs, and extensions
  • Database migrations: crates, blueprints, and constructs tables with JSONB columns for nested fields
  • Postgres repository with upsert-on-conflict for all three types
  • REST endpoints: GET /api/v1/crates, /crates/{id}, /blueprints, /blueprints/{id}, /constructs, /constructs/{id}
  • Registry sync adapter that fetches index.json then {crate}/{version}/blueprint.json + construct.json for each entry — supports file:// for local development
  • Config: CRATE_REGISTRY_URL env var (defaults to the official GitHub URL)
  • Wired into bootstrap: sync runs on startup, non-fatal on error

What's Not Included


Testing

How Was This Tested?

No automated tests. Tested manually via docker-compose. Confirmed GET /api/v1/crates returns the Minecraft crate with all four blueprints (PaperMC, Forge, Fabric, Velocity) after the platform syncs on startup.

Test Coverage

  • Unit tests added or updated
  • Integration tests added or updated
  • Manually tested end-to-end

Breaking Changes

Does this PR introduce breaking changes?

  • Yes
  • No

If yes, describe the impact and any required migration steps:


Security Considerations

  • This PR affects authentication or authorization logic
  • This PR touches secrets, tokens, or environment variables
  • This PR affects infrastructure, deployment pipelines, or network configuration

If any box is checked, describe the security impact and any mitigations applied:


Documentation

Does this PR require documentation updates?

  • Yes
  • No

If yes, check all that apply:

  • README.md
  • ARCHITECTURE.md
  • API reference
  • Architecture diagrams (C4 / DDD)
  • /docs

UI/UX (If Applicable)

  • Includes new components or views
  • Changes styles or theme tokens
  • Responsive behavior verified
  • Requires design approval

Screenshots or recordings:


Pre-Merge Checklist

  • PR title follows semantic format (feat:, fix:, chore:, docs:, refactor:, test:)
  • All CI checks passing
  • Code follows project style guidelines
  • No debug logs or commented-out code left in
  • Dependencies reviewed (no unnecessary additions)
  • No sensitive information included

Reviewer Notes

@NathanRoos NathanRoos self-assigned this Apr 8, 2026
@github-actions github-actions bot added the feature New feature or enhancement label Apr 8, 2026
@isaacwallace123 isaacwallace123 merged commit 7b4f004 into main Apr 9, 2026
7 checks passed
@isaacwallace123 isaacwallace123 deleted the feat/KLEF-129-Plan_And_Implement_Crates_Blueprints_And_Contruct branch April 9, 2026 02:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature New feature or enhancement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants