I want to share the steps which I performed to setup developer environment by just using a browser to start contributing to Meshery codebase in minutes. I am using GitHub Codespaces and Minikube for this.
- After forking the main Meshery repo, start a Codespace(8 core) for it from the GitHub repository page.
- In the codespace terminal, go to the parent folder(of the current folder) called workspaces and start the Minikube cluster:
minikube start --cpus 4 --memory 8192 --kubernetes-version=v1.16.1
- Install Mesheryctl:
$ curl -L https://meshery.io/install | PLATFORM=docker bash -
- Start the Meshery server:
mesheryctl system start
- Connect the Meshery server and your kubernetes cluster using these two commands:
docker network connect bridge meshery_meshery_1
docker network connect minikube meshery_meshery_1
- To allow Meshery to auto detect your config file, Run:
kubectl config view --minify --flatten > config_minikube.yaml
- A
config_minikube.yaml
file will be created in the workspaces folder. - Now the Meshery UI server will be available on a port provided by Codespaces. and you can check that Meshery will be connected to your Minikube kubernetes cluster.
- Follow the steps mentioned on this GitHub page to install required dependencies and start the UI development server.
- You’ll notice that this UI development server is unable to detect the already logged in user(and your kubernetes cluster) and shows a proxy error in Meshery UI. We can fix this by changing the
target
variable in ui_dev_server.js file in bothui
&provider_ui
directory with the value of port on which our Meshery server is running(available from step 8). This will remove the proxy error from the UI development server(http://localhost:3000
).
Now, you are ready to contribute to the Meshery project right from your browser or you can also open it in the installed VS Code.