|
1 | 1 | # How to contribute |
| 2 | +> "Great to see you here! We are happy you are considering contributing to Kubero." @mms-gianni |
2 | 3 |
|
3 | | -All contributions are welcome. For simple typos, just open a PR. |
4 | | -For bigger ideas it might be better to open an issue first before you put a lot of work into it. |
| 4 | +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. |
5 | 5 |
|
6 | | -Want to contribute, but don't know where to start? Have a look into the [Roadmap](https://github.com/orgs/kubero-dev/projects/1). |
| 6 | +Willing to contribute something, but you don't know where to start? Have a look into the [Roadmap](https://github.com/orgs/kubero-dev/projects/1). |
7 | 7 |
|
| 8 | +## Contribution Process |
8 | 9 | 1. Setup your development environment |
9 | | -2. Fork the repository |
| 10 | +2. Fork the repository and checkout the code |
10 | 11 | 3. Create a new branch |
11 | 12 | 4. Make your changes |
12 | 13 | 5. Open a PR |
13 | 14 |
|
| 15 | +## Techstack |
| 16 | +**Infrastructure** |
| 17 | +- [Kubernetes](https://kubernetes.io/) |
| 18 | +- [Operator SDK](https://sdk.operatorframework.io/) |
| 19 | +- [Helm (Operator)](https://helm.sh/) |
| 20 | +- [Kind (Development)](https://kind.sigs.k8s.io/) |
| 21 | + |
| 22 | +**Code** |
| 23 | +- [Express](https://expressjs.com/) |
| 24 | +- [TypeScript](https://www.typescriptlang.org/) |
| 25 | +- [Vue.js](https://vuejs.org/) |
| 26 | +- [Vuetify](https://vuetifyjs.com/en/) |
| 27 | + |
| 28 | + |
14 | 29 | ## Development setup for the Kubero UI |
15 | 30 |
|
16 | 31 | ### Requirements |
17 | | -- docker |
18 | | -- kind |
19 | | -- kubectl |
20 | | -- kubero-cli |
21 | | -- git |
22 | 32 |
|
| 33 | +<<<<<<< HEAD |
23 | 34 |
|
24 | 35 | ### 1) Start a local Kubernetes cluster with Kind |
| 36 | +======= |
| 37 | +To get started with Kubero development, you will need the following toolbelt: |
| 38 | + |
| 39 | +- Docker |
| 40 | +- Kind (Kubernetes in Docker) |
| 41 | +- Kubectl |
| 42 | +- [Kubero CLI](https://github.com/kubero-dev/kubero-cli/releases/latest) |
| 43 | +- Git |
| 44 | +- Code editor of your choice (VSCode, Webstorm, Atom, ...) |
| 45 | + |
| 46 | +### 1) Start a Local Kubernetes Cluster with Kind |
| 47 | +>>>>>>> dev-setup |
25 | 48 | Run `kubero install` with the [CLI](https://github.com/kubero-dev/kubero-cli/releases/latest) and select `kind`. |
26 | 49 | This will install a local cluster with a single node and all required components. |
27 | 50 |
|
28 | 51 | You can skip the kubero-UI step since we will use our local code. |
29 | 52 |
|
| 53 | +<<<<<<< HEAD |
30 | 54 | ### 2) Export the kubeconfig |
| 55 | +======= |
| 56 | +### 2) Export the Kubeconfig |
| 57 | +>>>>>>> dev-setup |
31 | 58 | ```bash |
32 | 59 | kind export kubeconfig --name kubero-XXX --kubeconfig ./kubeconfig |
33 | 60 | ``` |
| 61 | +This step exports the kubeconfig for your local cluster, making it available for Kubero. |
34 | 62 |
|
| 63 | +<<<<<<< HEAD |
35 | 64 | ### 3) Create a dev namespace |
36 | 65 | This step is optional but will avoid interference with the local InCluster kubero-ui instance. |
| 66 | +======= |
| 67 | +### 3) Create a Development Namespace (Optional) |
| 68 | +Although optional, creating a separate namespace helps prevent interference with the local in-cluster Kubero-UI instance. |
| 69 | +>>>>>>> dev-setup |
37 | 70 | ```bash |
38 | 71 | kubectl create namespace kubero-dev |
39 | 72 | ``` |
40 | 73 |
|
| 74 | +<<<<<<< HEAD |
41 | 75 | ### 4) Prepare your local code |
42 | 76 | Fork the repository https://github.com/kubero-dev/kubero into your account. |
43 | 77 |
|
44 | 78 | Clone your Fork to your local disk. |
45 | 79 |
|
46 | 80 | ### 5) Configure Kubero's environment |
| 81 | +======= |
| 82 | +### 4) Checkout the Code |
| 83 | +1. Fork the [Kubero](https://github.com/kubero-dev/kubero) repository to your GitHub account. |
| 84 | +2. Clone your forked repository to your local machine. |
| 85 | + |
| 86 | +>>>>>>> dev-setup |
| 87 | +```bash |
| 88 | +git clone https://github.com/YOUR_USERNAME/kubero.git |
| 89 | +cd kubero |
| 90 | +``` |
| 91 | + |
| 92 | +### 5) Start Your Local Instance |
| 93 | +Navigate to the server directory, and rename the .env.template file to .env to set up the required environment variables. |
47 | 94 | ```bash |
| 95 | +cd server |
48 | 96 | mv .env.template .env |
49 | 97 | ``` |
50 | 98 |
|
| 99 | +<<<<<<< HEAD |
51 | 100 | ### 6) Start local node server |
52 | 101 | This will start the server part. |
| 102 | +======= |
| 103 | +Install the dependencies, and start the server: |
| 104 | +>>>>>>> dev-setup |
53 | 105 | ```bash |
54 | | -cd server |
55 | 106 | yarn install |
56 | 107 | yarn dev |
57 | 108 | ``` |
58 | 109 |
|
| 110 | +<<<<<<< HEAD |
59 | 111 | Initiate the client JS part. |
| 112 | +======= |
| 113 | +Next, set up the client JavaScript part: |
| 114 | +>>>>>>> dev-setup |
60 | 115 | ```bash |
61 | 116 | cd client |
62 | 117 | yarn install |
63 | 118 | yarn watch |
64 | 119 | ``` |
65 | 120 |
|
| 121 | +<<<<<<< HEAD |
66 | 122 | You should be able to reach your local dev instance via http://localhost:2000 |
67 | 123 |
|
68 | 124 | ### 7) start optional services |
69 | 125 | If you need any additional services (Gitea, Github ...), just run `docker-compose up -d`, or add it to the `docker-compose.yml` file, if it is missing. |
| 126 | +======= |
| 127 | +You should now be able to access your local development instance at http://localhost:2000 |
| 128 | + |
| 129 | +### 6) Start Additional Services (Optional) |
| 130 | +If you need additional services (such as Gitea or GitHub integration), run the following command to start them via Docker: |
| 131 | +```bash |
| 132 | +docker-compose up -d |
| 133 | +``` |
| 134 | +If any services are missing, you can add them to the `docker-compose.yml` file. |
| 135 | +>>>>>>> dev-setup |
70 | 136 |
|
71 | 137 | Nope. No extra database is required. All data is stored in the Kubernetes cluster. |
72 | 138 |
|
0 commit comments