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
config_minikube.yamlfile 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
targetvariable in ui_dev_server.js file in both
provider_uidirectory 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(
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.