Skip to content

Latest commit

 

History

History
58 lines (39 loc) · 2.02 KB

CONTRIBUTING.md

File metadata and controls

58 lines (39 loc) · 2.02 KB

Contributing Guidelines

We are grateful for your willingness to contribute to this project! We are interested in any features, bug fixes, new usage examples, etc.

How to Contribute

  1. Fork this repository, develop, and test your changes.
  2. Submit a pull request.
  3. Make sure all GitHub actions pass successfully.

NOTE: In order to make testing and merging of PRs easier, please submit changes for different fixes/features/improvements in separate PRs.

Technical Requirements

  • Must follow Golang best practices
  • Must pass the CI job for linting. Please run make lint in the root of the project to know if the project complies with the requirements.
  • New code must be covered by tests and pass the corresponding CI job. Please run make test in the root of the project.
  • All changes require reviews from the responsible organization members before the merge.

Once changes have been merged, the release will be done by the responsible organization members.

🛠 Development

You can easily run the controller by following these steps:

  1. Create a Kubernetes cluster or change the kubectl context to the existing one.
make cluster
  1. Make changes.
  2. Build the controller image and load it into the cluster.
make docker-build
make docker-load
  1. Deploy the helm chart with your image. If your changes require updating the Helm chart itself, please open a corresponding PR in this repository https://github.com/NCCloud/charts
helm repo add nccloud https://nccloud.github.io/charts
helm install metadata-reflector nccloud/metadata-reflector --set image.tag="0.1.0-dev" # override the tag with the built image

Alternatively, configure the environment variables according to environments.md and run the project.

export NAMESPACES="default,namespace1" # Metadata Reflector will be limited to these namespaces
go run cmd/manager/main.go
  1. Destroy the cluster once you are doing testing your changes.
make cluster-delete