Contributing
Welcome to the Meridio project! We appreciate your interest in contributing to our open source project. This guide will help you understand the contribution process and how to get started.
Code of Conduct
Before getting started, please review our code of conduct here. We strive to maintain a friendly and inclusive environment where everyone can feel welcome and respected.
Development Environment
Getting a development environment where to run and test Meridio might be complex. To run a simple development environment, follow this guide here.
Makefile
The default make command will build, tag and push all components. You can configure the version with the VERSION variable, the registry with the REGISTRY variable.
Each component can be build, tag and pushed individually:
make base-imagemake stateless-lbmake proxymake tapamake ipammake nspmake example-targetmake frontendmake operatormake init
Linter
We use golangci-lint for code linting. To run the linter, execute the following command from the project root directory:
make lint
Generator
To generate the manifests:
make manifests
To generate the API Code:
make generate-controller
To generate the code from proto files:
make proto
To generate the code from mocks:
make generate
To generate the Helm Chart:
make generate-helm-chart VERSION=latest REGISTRY="registry.nordix.org/cloud-native/meridio" NSM_REPOSITORY="cloud-native/nsm"
Unit Tests
To run unit tests, execute the following command:
make test
End-to-End Tests
End-to-end tests are located in the test/e2e directory. To run the end-to-end tests, follow this guide here.
Security Scan
To run the security scanners, follow this guide here.
Documentation
The project documentation is located in the docs directory. Please ensure that your contributions to the documentation are accurate and up-to-date.
The project website is located in the website directory. Execute the following command to compile and run the website:
cd website
npm install
npm run start
Contributing Guidelines
- Please ensure that your contributions are thoroughly tested.
- Follow the existing code style and conventions.
- Ensure that your commit messages are descriptive and meaningful.
- If your contribution introduces new dependencies, please update the project documentation accordingly.
Thank you for considering contributing to Meridio. We appreciate your help and look forward to reviewing your contributions!