Skip to content

Repository files navigation

@freelensapp/kamaji-extension

Home GitHub Release Integration tests npm

Freelens extension for Kamaji.

Manage Kamaji resources directly from your Freelens cluster view.

Compatibility

This extension is intended for clusters where Kamaji CRDs are installed and available.

Note: Tested on kind. Feedback on other cluster types welcome.

Features

The extension provides full CRUD management for Kamaji resources:

  • Tenant Control Planes: Create, Edit, Delete + kubeconfig download
  • Datastores: Create, Edit, Delete
  • Admin Access: Export tenant kubeconfig for external cluster access

Tenants list

Kamaji Tenants List

Displays Kamaji Tenant Control Planes with key runtime details:

  • Tenant name and namespace
  • Provisioning status
  • Pod readiness
  • Control plane endpoint
  • Kubernetes version and datastore info

Create tenant

Kamaji Tenant Create Dialog

Create Tenant Control Planes through a guided form:

  • Name, namespace, and replicas
  • Kubernetes version selection
  • Datastore selection
  • Provider profile presets: Generic, kind, AWS (NLB), Azure (internal LB) — automatically pre-fills service annotations for each provider
  • Service type (LoadBalancer, ClusterIP, NodePort)
  • Advanced section: API port, Konnectivity port, API address, advertise address, Service CIDR, Pod CIDR, DNS IPs, Certificate SANs, admission controllers, service annotations / labels, deployment node selector
  • Edit YAML: toggle a raw YAML editor pre-populated from the form; the YAML is applied as-is when confirmed, allowing full customization beyond what the form exposes

Download tenant kubeconfig

Kamaji Download Kubeconfig Action

Download the tenant admin kubeconfig directly from the tenant context menu.
Use this kubeconfig to connect Freelens to tenant clusters generated by Kamaji.

Datastore details

Kamaji Datastore Details

Inspect datastore configuration and usage details:

  • Driver type
  • Endpoints
  • Number of tenants using the datastore

Install

To install or upgrade: open Freelens and go to Extensions (ctrl+shift+E or cmd+shift+E), and install @freelensapp/kamaji-extension.

or:

Use the following URL in the browser: freelens://app/extensions/install/%40freelensapp%2Fkamaji-extension

Build from source

Prerequisites

Use NVM or mise-en-place or windows-nvm to install the required Node.js version.

From the root of this repository:

nvm install
# or
mise install
# or
winget install CoreyButler.NVMforWindows
nvm install 22.14.0
nvm use 22.14.0

Install Pnpm:

corepack install
# or
curl -fsSL https://get.pnpm.io/install.sh | sh -
# or
winget install pnpm.pnpm

Build extension

corepack pnpm i
corepack pnpm build
corepack pnpm pack

Install built extension

The tarball for the extension will be placed in the current directory.

In Freelens, navigate to the Extensions list and provide the path to the tarball to be loaded, or drag and drop the extension tarball into the Freelens window. After loading for a moment, the extension should appear in the list of enabled extensions.

License

Copyright (c) 2025-2026 Freelens Authors.

MIT License