Skip to content

headlamp-crossplane-plugin

A Headlamp™ plugin that adds a Crossplane section to the sidebar with views for Providers, Managed Resources, and Compositions.

Development

Prerequisites

  • Node.js >= 18
  • npm
  • kind, kubectl, helm (for local cluster)
npm install

Local development (recommended)

The cluster setup and plugin iteration is managed centrally from the ui-frontend repo. Both this plugin and the kiosk plugin are built and synced together.

One-time setup (creates the kind cluster, deploys Headlamp with latest ArtifactHub plugin releases, port-forwards to localhost:8090):

# from ui-frontend/ or from this repo
task dev

Every time you change plugin code (builds + hot-syncs all local plugins into the pod, no restart needed):

# from ui-frontend/ or from this repo
task update

Then hard-refresh the browser (Cmd+Shift+R) to pick up the new build.

Important: The build entry point is src/index.tsx. Do not edit the root index.tsx — it is not used by the build tool and will be ignored.

Build for production

npm run build
# Output: dist/main.js

Release

Trigger a release via the GitHub Actions release workflow by clicking Run workflow and entering the semver version (e.g. v0.1.0). The workflow:

  • Checks the tag doesn't already exist
  • Builds the plugin and uploads main.js + a headlamp-crossplane-<version>.tar.gz as GitHub Release assets
  • Creates the git tag and GitHub Release with auto-generated notes
  • Opens a PR with the updated artifacthub/<version>/artifacthub-pkg.yml — merge it to complete the ArtifactHub publish

Once the PR is merged, the plugin is installable via Headlamp's plugin manager using its ArtifactHub URL.

First-time setup: See the ArtifactHub Headlamp plugins documentation. Register the repository on artifacthub.io (type: Headlamp, packages URL: https://github.com/openmcp-project/crossplane-ui-plugin/artifacthub), then fill in the repositoryID and owner email in artifacthub/artifacthub-repo.yml.

Support, Feedback, Contributing

This project is open to feature requests/suggestions, bug reports etc. via GitHub issues. Contribution and feedback are encouraged and always welcome. For more information about how to contribute, the project structure, as well as additional contribution information, see our Contribution Guidelines.

Code of Conduct

We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone. By participating in this project, you agree to abide by its Code of Conduct at all times.

Licensing

Copyright © Linux Foundation Europe. OpenControlPlane is a project of NeoNephos Foundation. For applicable policies including privacy policy, terms of use and trademark usage guidelines, please see https://linuxfoundation.eu. Linux is a registered trademark of Linus Torvalds. Please see our LICENSE for copyright and license information. Detailed information including third-party components and their licensing/copyright information is available via the REUSE tool.

NeoNephos foundation logo

Releases

Packages

Used by

Contributors

Languages