"Great to see you here! We are happy you are considering contributing to Kubero." @mms-gianni
All contributions are welcome. For simple typo's, just open a PR. For bigger ideas/changes we kindly ask you to reach out on discord or open an issue first before you put a lot of work into it. We are very happy to discuss your ideas and help you to get started.
Willing to contribute something, but you don't know where to start? Have a look into the Roadmap.
- Setup your development environment
- Fork the repository and checkout the code
- Create a new branch
- Make your changes
- Open a PR
Infrastructure
Code
To get started with Kubero development, you will need the following toolbelt:
- Docker
- Kind (Kubernetes in Docker)
- Kubectl
- Kubero CLI
- Git
- Code editor of your choice (VSCode, Webstorm, Atom, ...)
Run kubero install
with the CLI and select kind
.
This will install a local cluster with a single node and all required components.
You can skip the kubero-UI step since we will use our local code.
kind export kubeconfig --name kubero-XXX --kubeconfig ./kubeconfig
This step exports the kubeconfig for your local cluster, making it available for Kubero.
Although optional, creating a separate namespace helps prevent interference with the local in-cluster Kubero-UI instance.
kubectl create namespace kubero-dev
- Fork the Kubero repository to your GitHub account.
- Clone your forked repository to your local machine.
git clone https://github.com/YOUR_USERNAME/kubero.git
cd kubero
Navigate to the server directory, and rename the .env.template file to .env to set up the required environment variables.
cd server
mv .env.template .env
Install the dependencies, and start the server:
yarn install
yarn dev
Next, set up the client JavaScript part:
cd client
yarn install
yarn watch
You should now be able to access your local development instance at http://localhost:2000
If you need additional services (such as Gitea or GitHub integration), run the following command to start them via Docker:
docker-compose up -d
If any services are missing, you can add them to the docker-compose.yml
file.
Nope. No extra database is required. All data is stored in the Kubernetes cluster.