Skip to content

feat(KLEF): Add frontend_url support to plugin system#21

Merged
isaacwallace123 merged 1 commit intomainfrom
feat/frontend-plugin-url
Apr 1, 2026
Merged

feat(KLEF): Add frontend_url support to plugin system#21
isaacwallace123 merged 1 commit intomainfrom
feat/frontend-plugin-url

Conversation

@NathanRoos
Copy link
Copy Markdown
Contributor

Pull Request

Summary

  • Adds frontend_url field to the plugin domain so frontend-only plugins can serve a JS bundle to the panel
  • Exposes installed plugins via the admin API with frontend_url included so the panel knows where to load each plugin's script from
  • Frontend-only plugins (no gRPC addr) are now treated as healthy/running instead of being marked as unreachable

Related Issues

Closes #


Changes

What's Included

  • internal/core/plugins/domain/plugin.go — adds FrontendURL field to plugin struct
  • internal/core/plugins/adapters/persistence/store.go — reads/writes frontend_url column
  • internal/core/plugins/adapters/http/handler.go — includes frontend_url in installed plugins response
  • internal/core/plugins/application/manager.go — skips gRPC health check for plugins with no gRPC addr
  • Dockerfile — resolves merge conflict, uses GOWORK=off go mod download consistent with build step

What's Not Included


Testing

How Was This Tested?

Tested manually to see if the plugins worked

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

…plugins API

Plugin domain now carries a FrontendURL field. The persistence store reads and writes it, the HTTP handler exposes it in the installed plugins response, and the manager handles frontend-only plugins (no gRPC addr) without treating them as unhealthy.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@NathanRoos NathanRoos self-assigned this Apr 1, 2026
@NathanRoos NathanRoos added the feature New feature or enhancement label Apr 1, 2026
@github-actions github-actions bot added the chore Maintenance/devex label Apr 1, 2026
@isaacwallace123 isaacwallace123 merged commit ec52f83 into main Apr 1, 2026
10 checks passed
@isaacwallace123 isaacwallace123 deleted the feat/frontend-plugin-url branch April 1, 2026 04:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

chore Maintenance/devex feature New feature or enhancement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants