Skip to content

About

UI frontend for @openmcp-project

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

4 stars

Watchers

3 watching

Forks

Latest commit

 

History

719 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

REUSE status

ui-frontend

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.

→ Full Documentation

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

Quick Start (Development)

npm i
cp frontend-config.json public/frontend-config.json   # edit backendUrl
cp .env.template .env                                  # fill OIDC values
npm run dev                                            # http://localhost:5173

See the Contributor Guide for full setup, build, and testing instructions.

Generating GraphQL Types

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.

Which access token

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

Safari Support

The frontend is currently incompatible with Safari on localhost. To develop locally with Safari:

  1. In server/encrypted-session.ts, set secure: false in both cookie occurrences.
  2. In server.ts, comment out the helmet registration.

Do not commit these changes.


Which access token

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

Support & Contributing

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.

Code of Conduct

By participating in this project you agree to the Code of Conduct.

Licensing

Copyright OpenControlPlane contributors. LICENSE. Detailed third-party information: REUSE tool.


BMWK-EU funding logo

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.

About

UI frontend for @openmcp-project

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

4 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages