https://github.com/sovereigncloudstack/cluster-gen
Generate Cluster objects based on SCS Cluster Stacks
https://github.com/sovereigncloudstack/cluster-gen
k8s
Last synced: 21 days ago
JSON representation
Generate Cluster objects based on SCS Cluster Stacks
- Host: GitHub
- URL: https://github.com/sovereigncloudstack/cluster-gen
- Owner: SovereignCloudStack
- License: apache-2.0
- Created: 2024-06-25T05:58:31.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-12-04T14:40:42.000Z (7 months ago)
- Last Synced: 2025-02-11T17:55:10.100Z (5 months ago)
- Topics: k8s
- Language: TypeScript
- Homepage: https://cluster-gen.moin.k8s.scs.community
- Size: 119 KB
- Stars: 1
- Watchers: 4
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Cluster Gen
Web UI for creating Cluster objects based on SCS Cluster Stacks.
## Workflow
- Read ClusterClass schema definitions from the kube-apiserver of your cluster via the API provided by [capi-jsgen](https://github.com/SovereignCloudStack/capi-jsgen)
- Render yaml form with live editor
- On Download: perform form validation, create yaml file and open up download prompt## Built with
- [Next.js](https://nextjs.org/)
- [Typescript](https://www.typescriptlang.org/)
- [pnpm](https://pnpm.io/)
- [Tailwind CSS](https://tailwindcss.com/)
- [shadcn/ui](https://ui.shadcn.com/)
- [react-jsonschema-form](https://github.com/rjsf-team/react-jsonschema-form)
- [capi-jsgen](https://github.com/SovereignCloudStack/capi-jsgen)## Setup
### Requirements
- A running cluster in which you apply your ClusterClass definitions
- An instance of [capi-jsgen](https://github.com/SovereignCloudStack/capi-jsgen) running in your cluster### Develop locally
#### Prerequisites
- [pnpm](https://pnpm.io/installation)
#### Environment variables
- Create a `.env` file similar to `.env.example` in the root of the application and fill in all values.
#### Start the development server
```bash
pnpm i
pnpm dev
```### Build for production
```bash
pnpm build
pnpm start
```#### Docker
```bash
docker build -t cluster-gen .
docker run -p 3000:3000 cluster-gen
```#### Helm
Inside `charts/` you can find a minimal chart to deploy Cluster Gen on Kubernetes with a Service and an Ingress.
### Release
A new [release](https://github.com/SovereignCloudStack/cluster-gen/releases) and build is [triggered](https://github.com/SovereignCloudStack/cluster-gen/blob/main/.github/workflows/release.yml) by a version tag push
```bash
git tag v0.0.x
git push origin v0.0.x
```