Thanks for contributing to the project!🥰 I am glad you are here. Hoping that you liked the project.
I have setup Codespaces to install and run a Kuberentes cluster for you. You could directly dive into contributing without worrying abut the local setup! ](https://codespaces.new/kitarp29/kube-ez)
- I will be stating the rules for contributing to the project.
- Most important is that you should be able to run the project locally.
- And I will try to make it as easy as possible for you.
- Also this is for future Me, who will definitely forget how and why I did it, what I did 😅
- Always raise an issue before making the pull request.
- Try to wait for the issue to get assigned to you.
- Make signed and small commits in your Pull Request.
- Fork the Repository and then work.
- Comment your code as much as possible.
- Try to write modular code, I also tried to avoid Spaghetti🍝 code.
- Always raise an Issue before making the pull request.
- Make signed and small commits in your pull request.
- State the work you did in the issue and in the pull request.
- Fork the Repository and then work.
-
Run the following command:
$ git clone https://github.com/kitarp29/kube-ez.git $ cd kube-ez
-
Make sure you have Golang installed on your system.
go --version
This project when built used
go version go1.18.3 linux/amd64
-
If
go.mod
file is not present, then run the following command:go mod init kube-ez
-
Now, run the following command:
go mod tidy
This command will pull all the latest packages from the internet.
-
Steps to run the project are mentioned in the INSTALL.md
🐋 Docker Image Link
It's a basic container based on the latest release of Golang. The tag 2.0 works well.
-
api:
- api.go:
This file contains the main logic of the project. It has all the functions that interact with the client-go library. It also has the
main()
function that starts with the server. It will help us run the project even outside the cluster.
- api.go:
This file contains the main logic of the project. It has all the functions that interact with the client-go library. It also has the
-
install:
- install.go: This file contains the logic of the install command. It will apply the changes to the cluster. It handles all the requests related to Helm charts. It helps us add/upgrade/delete the charts.
-
apply:
- apply.go: This file contains the logic of the apply command. It will apply the changes to the cluster. It helps apply any YAML /JSON File to our cluster.
-
yamls:
- sa.yaml: YAML to apply desired ServiceAccount for the project.
- crb.yaml: YAML to apply desired CustomResourceDefinition for the project.
- pod.yaml: YAML to apply the desired Pod for the project.
-
server.go
- This file contains the logic of the server command. It will start the server. It will start the server and listen on the port
8000
. It has all the routes for the project.
- This file contains the logic of the server command. It will start the server. It will start the server and listen on the port
-
Dockerfile
-
Markdown files
-
License file