The Control Plane UI for the OpenControlPlane project. Manage Projects, Workspaces, and Managed Control Planes — and explore the Kubernetes resources running inside them — without installing any additional tooling.
| I am a… | Start here |
|---|---|
| End User — exploring what the UI can do | End User Guide |
| Operator — deploying this in my org | Operator Guide |
| Contributor — extending or improving the codebase | Contributor Guide |
npm i
cp frontend-config.json public/frontend-config.json # edit backendUrl
cp .env.template .env # fill OIDC values
npm run dev # http://localhost:5173See the Contributor Guide for full setup, build, and testing instructions.
npm run generate-graphql-types -- <token>Types are generated from the kubernetes-graphql-gateway schema. The token is prefixed with Bearer automatically. See Which access token for how to obtain one.
The schema is fetched from the kubernetes-graphql-gateway. Getting the required access token depends on how you deploy your platform. For OIDC setups, use kubelogin (kubectl oidc-login) to obtain the token — this is an example of an IDP-centered setup. More guidance coming soon.
kubectl oidc-login get-token \
--oidc-issuer-url=<according to your setup> \
--oidc-client-id=<according to your setup> \
--oidc-extra-scope=offline_access \
--oidc-extra-scope=email \
--oidc-extra-scope=profile \
--oidc-use-pkce \
--grant-type=auto | jq .status.token -r
The frontend is currently incompatible with Safari on localhost. To develop locally with Safari:
- In
server/encrypted-session.ts, setsecure: falsein both cookie occurrences. - In
server.ts, comment out thehelmetregistration.
Do not commit these changes.
The schema is fetched from the kubernetes-graphql-gateway. Getting the required access token depends on how you deploy your platform. For OIDC setups, use kubelogin (kubectl oidc-login) to obtain the token — this is an example of an IDP-centered setup. More guidance coming soon.
kubectl oidc-login get-token
--oidc-issuer-url=<according to your setup>
--oidc-client-id=<according to your setup> --oidc-extra-scope=offline_access
--oidc-extra-scope=email
--oidc-extra-scope=profile
--oidc-use-pkce
--grant-type=auto | jq .status.token -r
Issues and feature requests: GitHub Issues
Contribution guidelines: CONTRIBUTING.md — DCO required, open an issue first.
Security vulnerabilities: Security Policy — do not open a public issue.
By participating in this project you agree to the Code of Conduct.
Copyright OpenControlPlane contributors. LICENSE. Detailed third-party information: REUSE tool.
OpenControlPlane is part of ApeiroRA, an EU Important Project of Common European Interest (IPCEI-CIS).
Copyright Linux Foundation Europe. For web site terms of use, trademark policy and other project policies please see https://linuxfoundation.eu/en/policies.