{"id":18677806,"url":"https://github.com/clastix/kamaji-console","last_synced_at":"2025-04-12T02:39:04.419Z","repository":{"id":228814569,"uuid":"637701960","full_name":"clastix/kamaji-console","owner":"clastix","description":"Console for Kamaji, the Kubernetes Control Plane Manager","archived":false,"fork":false,"pushed_at":"2025-04-11T16:04:28.000Z","size":13256,"stargazers_count":9,"open_issues_count":8,"forks_count":2,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-04-12T02:38:57.381Z","etag":null,"topics":["cluster-api","hosted-control-planes","kamaji","managed-kubernetes","managed-kubernetes-cluster"],"latest_commit_sha":null,"homepage":"https://kamaji.clastix.io","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/clastix.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-05-08T08:26:37.000Z","updated_at":"2025-04-08T08:37:04.000Z","dependencies_parsed_at":"2024-04-22T16:38:31.445Z","dependency_job_id":"ac0304a9-6002-47ba-a89d-c325b45bdd38","html_url":"https://github.com/clastix/kamaji-console","commit_stats":null,"previous_names":["clastix/kamaji-console"],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clastix%2Fkamaji-console","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clastix%2Fkamaji-console/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clastix%2Fkamaji-console/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clastix%2Fkamaji-console/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/clastix","download_url":"https://codeload.github.com/clastix/kamaji-console/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248507244,"owners_count":21115562,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cluster-api","hosted-control-planes","kamaji","managed-kubernetes","managed-kubernetes-cluster"],"created_at":"2024-11-07T09:35:03.925Z","updated_at":"2025-04-12T02:39:04.413Z","avatar_url":"https://github.com/clastix.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Kamaji Console\n\nView and control Kamaji with a simple user interface from the web.\n\n![Kamaji Console](.github/images/flow.gif)\n\n## Deploy on Kubernetes\n\nA sample manifest is available: `deploy/kamaji-console.yaml`.\nTo deploy the console in the admin cluster, edit the manifest according to your environment and apply:\n\n```bash\nkubectl apply -f deploy/\n```\n\nAlternatively, install with Helm:\n\n    helm repo add clastix https://clastix.github.io/charts\n    helm repo update\n    helm install console clastix/kamaji-console -n kamaji-system --create-namespace\n\n## Application Delivery\n\nApplication Delivery with Kamaji is achieved with [Project Sveltos](https://projectsveltos.github.io/sveltos/).\n\nThe menu item will connect directly to the Project Sveltos [Dashboard](https://github.com/projectsveltos/dashboard)\nwhen the following environment variables are set:\n\n- `SVELTOS_NAMESPACE`: Kubernetes Namespace where the Project Sveltos Dashboard has been installed\n- `SVELTOS_SECRET_NAME`: Kubernetes Secret name of the Project Sveltos Dashboard token\n- `SVELTOS_URL`: FQDN of the Project Sveltos Dashboard to access\n\n\u003e When all these inputs are provided, Kamaji Console will redirect the user directly to the Project Sveltos Dashboard,\n\u003e without the need for typing manually the required token.\n\n## Development\n\nCreate a `.env` file with the information contained in [.env.example](.env.example)\n\n```bash\n$ npm install\n$ npm run dev\n```\n\nThe console requires connectivity to the Management cluster's Kubernetes API Server.\n\n## Storybook\n\nThis repo contains visual UI tests using storybook. To run storybook\n\n```bash\n$ npm run storybook\n```\n\n## Connect to a child cluster\n\nWhen reading child cluster resources such as Nodes the console uses the Tenant Control Plane admin `kubeconfig` in order to connect to the child cluster.\n\nThis could be problematic when running in outside-of-the-cluster or in dev mode (`npm run dev`):\ngiven the console uses raw `kubeconfig` to connect to the clusters,\nensure the required connectivity with the Tenant Control Plane API Server is working as expected.\n\nA valid `kubeconfig` to connect to the management cluster must be provided by using Service Account data\n(e.g.: running in a Pod) or by declaring a valid `kubeconfig`.\n\n\u003e When the console is running as `NODE_ENV=production` it takes for granted as running in a Pod in the management cluster,\n\u003e connecting to the Tenant Control Plane API Server using the Kubernetes Service FQDN.\n\n## Generating OpenAPI client from kubernetes API Specification\n\nOpenAPI client can be generated using the [OpenAPI Generator](https://openapi-generator.tech) tool.\nSee the [OpenAPI Generator](https://openapi-generator.tech/docs/installation) documentation for installation instructions.\n\nThe console uses the OpenAPI client generated from the Kubernetes API specification.\n\nA `kamaji` Kubernetes cluster is required, with a proxied Kubernetes API Server:\n\n```bash\n$ kubectl proxy --port=8080\n```\n\nGenerate the OpenAPI client:\n\n```bash\nopenapi-generator generate -g typescript-node  -i http://localhost:8080/openapi/v2 -o src/gen\n```\n\nThe generated client will be placed in the `src/gen` directory.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclastix%2Fkamaji-console","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fclastix%2Fkamaji-console","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclastix%2Fkamaji-console/lists"}