Skip to content

feat!: establish Lightkite as the independent mainline - #8

Merged
realmroot[bot] merged 24 commits into
mainfrom
feat/realmroot-native-kubernetes
Aug 29, 2026
Merged

realmroot[bot] merged 24 commits into
mainfrom
feat/realmroot-native-kubernetes

Conversation

@realmroot

@realmroot realmroot Bot commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

Summary

Establish Lightkite as an independently maintained Kubernetes dashboard based on Kite v0.15.0.

  • replace Kite-local identity, authorization, and privileged stored kubeconfigs with provider-neutral OIDC/OAuth 2.1 and Kubernetes RBAC
  • integrate a credential-free cluster catalog through the Kubernetes Cluster Inventory API
  • use native Kubernetes resource APIs for dashboard operations
  • remove the embedded AI/agent feature, private tunnel implementation, automatic self-update, and legacy local authorization paths
  • retain dashboard capabilities such as Helm, metrics, and search where they fit the new architecture
  • rename the product and deployment assets to Lightkite
  • document fresh-install-only semantics and start the independent release line at v0.1.0

Compatibility

This is intentionally a breaking fork. Existing Kite installations are not upgraded in place. The inherited Kite tags remain repository ancestry only.

Verification

  • make pre-commit
  • make test docs-build build
  • Go tests and static analysis
  • frontend: 23 test files / 71 tests
  • architecture, deployment, Kubernetes compatibility, and Helm validation
  • production frontend and backend builds
  • VitePress documentation build

🤖 Created by Jarvis via Realmroot

jarvis added 24 commits August 19, 2026 15:49
Replace shared kubeconfigs and Kite-local authorization with Realmroot OIDC BFF sessions and per-user Kubernetes clients. Keep a credential-free multi-cluster catalog, add a transport-only tunnel agent, remove privileged terminal paths, and include a kind OIDC demo.
Replace provider-specific configuration and claim mapping with standard OIDC discovery, configurable scopes and claims, and platform admin groups. Keep Realmroot only as an isolated deployment example.
Share one credential-free transport per cluster, inject the current OIDC ID token per request, and remove per-user informer and version probes.

Add a transparent Kubernetes API gateway, remove application-side resource RBAC checks, and restrict Prometheus to the Kubernetes service proxy.

BREAKING CHANGE: config files now accept only credential-free cluster catalog metadata; local identity, API key, LDAP, OAuth provider, and Kite RBAC sections are unsupported.
Delegate user authentication to standard OIDC and resource authorization to Kubernetes RBAC. Remove Kite-local identity, RBAC, API-key, passkey, LDAP, and embedded AI subsystems.\n\nUse credential-free cluster metadata with per-request user tokens, shared cluster runtimes, Kubernetes-authorized Helm, metrics, search, terminal, and resource history flows. Add the DPoP-protected Realmroot Resource Server, agent access audit API/UI, deployment hardening, compatibility checks, documentation, and full native-authorization E2E coverage.\n\nBREAKING CHANGE: local authentication, Kite RBAC, API keys, embedded AI, and credential-bearing cluster configuration are removed. Kubernetes API servers must trust the configured OIDC issuer and enforce user permissions through native RBAC.
Delete obsolete helpers, handlers, model types, and tests that are not reachable from the production application. Restore the persisted login prompt in bootstrap responses and remove duplicate startup validation.
Request the Hub catalog resource during PKCE, use its access token only for catalog APIs, and continue forwarding the shared-client ID token to Kubernetes. Cover the protocol boundary in backend tests and document the deployment contract.
Route ordinary CRUD, watch, metrics, events, and subresource operations through the transparent Kubernetes gateway while retaining product-specific aggregates. Record mutations at the gateway boundary and remove Helm auto-upgrade.

BREAKING CHANGE: legacy Kite resource CRUD endpoints and Helm auto-upgrade are removed.
Delete the Cluster Agent enrollment and reverse-tunnel implementation, keep only credential-free reachable API endpoints, and resolve Kubernetes resource API versions through live discovery instead of a hardcoded version table. Hub Agent audit remains owned by Hub and Kite integrates only through standard Cluster Inventory and Kubernetes APIs.\n\nBREAKING CHANGE: cluster connectionMode, tunnel enrollment, Cluster Agent settings, and JWT_SECRET are removed; legacy tunnel entries are disabled during migration.
Rename the product, Go module, binary, container image, Helm chart, Kubernetes resources, UI, and documentation. Document the independent relationship to upstream Kite and preserve the existing KITE_* configuration and persisted compatibility identifiers.

BREAKING CHANGE: The Go module, executable, image, Helm chart, and default Kubernetes resource names now use lightkite.
Remove Kite-to-Lightkite upgrade guidance, align installation examples and the SQLite filename with the Lightkite name, and remove stale tunnel and jwtSecret documentation. Keep the existing KITE_* environment variable interface unchanged.
Begin an independent Lightkite release line. Treat inherited upstream Kite tags as repository ancestry rather than upgrade predecessors.
Install ripgrep in CI and release quality jobs before running Makefile verification targets.
Attach the test identity provider to the kind network and forward the control-plane localhost issuer directly to its container address, avoiding host NAT differences on CI runners.
@realmroot
realmroot Bot merged commit baf72ca into main Aug 29, 2026
5 checks passed
@realmroot
realmroot Bot deleted the feat/realmroot-native-kubernetes branch August 29, 2026 23:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants