Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sovereigncloudstack/cluster-gen
Generate Cluster objects based on SCS Cluster Stacks
https://github.com/sovereigncloudstack/cluster-gen
k8s
Last synced: 1 day 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 (3 months ago)
- Default Branch: main
- Last Pushed: 2024-09-18T21:38:03.000Z (9 days ago)
- Last Synced: 2024-09-26T02:29:12.262Z (1 day ago)
- Topics: k8s
- Language: TypeScript
- Homepage: https://cluster-gen.moin.k8s.scs.community
- Size: 566 KB
- Stars: 0
- Watchers: 4
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Cluster Gen
Proof of concept Web UI for creating Cluster objects based on SCS Cluster Stacks.
## Workflow
- Read cluster stack and clusterclass templates
- Render/populate yaml in live editor with good defaults
- On "Download": perform form validation, create yaml file and open up download prompt (all client-side)## Limitations (to be implemented)
- ClusterClass and Cluster Stack templates are [hard-coded](src/components/cluster-form.tsx#L90) and limited to the `scs/alpha` Cluster Stacks
- Ideally they should reflect the current state of each specific Cluster Stack (e.g. metal3/kamaji)
- Possbile solution: Either fetch and parse the ClusterClasses using the GitHub API or use the schema provided by [kube-apiserver](https://github.com/SovereignCloudStack/cluster-gen/issues/3)
- Cluster Stack releases are [hard-coded](src/components/clusterstack-form.tsx#L116)
- Possible solution: Use GitHub API to get releases## 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/)## Setup
### Prerequisites
- [pnpm](https://pnpm.io/installation)
### Develop locally
```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
```