We welcome contributions! If you'd like to contribute to Lighthouse, please:
- Fork the repository.
- Create a new branch for your feature or bugfix.
- Submit a pull request.
- A Kubernetes Cluster (Can run locally with Kind of other tools)
or akubeconfigfile of a remotely accessible Kubernetes cluster - A mongodb instance (For now, we only supporting mongodb but have plans to support more)
- Golang dev environment
kind create cluster --name lighthouse
- Set
RUN_MODE=DEVELOP - Set
KUBE_CONFIG_FILE=YOUR_KUBECONFIG_FILENAME. Kubeconfig file is expected in$HOME/.kubedirectory. - Set
CONTROLLER_GRPC_TLS_ENABLED="true" - Set
MONGO_URI=YOUR_MONGO_CONNECTION_URI
go mod tidy
go run pkg/controller/main.go
go run pkg/agent/main.go
cd frontend
npm install
npm start
protoc --go_out=. --go-grpc_out=. pkg/common/pb/PROTO_FILE_NAME
cd pkg/k8s_test
go test
-- for specific func
go test -run TestFunctionA
-- coverage
go tool cover --html=coverage.out
-- to view in browser
go tool cover --html=coverage.out