Skip to content

Latest commit

 

History

History
130 lines (89 loc) · 3.56 KB

CONTRIBUTING.md

File metadata and controls

130 lines (89 loc) · 3.56 KB

Want to contribute?

Great! We welcome contributions of all kinds, big or small! This includes bug reports, code fixes, documentation improvements, and code examples.

Before you dive in, please take a moment to read through this guide.

Reporting issue

We use GitHub to manage the issues. Please open a new issue directly there.

Getting Started

Setting Up Your Environment

  • Head over to GitHub and fork the 5GSec Nimbus repository.
  • Clone your forked repository onto your local machine.
    git clone [email protected]:<your-username>/nimbus.git

Install development tools

You'll need these tools for a smooth development experience:

Project Setup

Building Locally

  • Install development tools (mentioned above).

  • Build Nimbus using:

    make build

Testing Local Build

Against the Cluster (without installing as workload):

Nimbus operator

  • Generate code and manifests:

    make manifests generate
  • Install CRDs:

    make install
  • Run the operator:

    make run

Adapters

  • Navigate to adapter's directory:
    cd pkg/adapter/<adapter-name>
  • Run it:
    make run

In the Cluster (installing as workload):

Follow this guide to install Nimbus or the complete suite.

Alternatively, follow this guide to install individual adapters.

Contributing Code

Understanding the Project

Before contributing to any Open Source project, it's important to have basic understanding of what the project is about. It is advised to try out the project as an end user.

Pull Requests and Code Reviews

We use GitHub pull requests for code contributions. All submissions, including those from project members, require review before merging. We typically aim for two approvals per pull request, with reviews happening within a week or two. Feel free to ping reviewers if you haven't received feedback within that timeframe.

Commit Messages

We follow the Conventional Commits specification for clear and consistent commit messages.

Please make sure you have added the Signed-off-by: footer in your git commit. In order to do it automatically, use the --signoff flag:

git commit --signoff

With this command, git would automatically add a footer by reading your name and email from git config.

Testing and Documentation

Tests and documentation are not optional, make sure your pull requests include:

  • Tests that verify your changes and don't break existing functionality.
  • Updated documentation reflecting your code changes.
  • Reference information and any other relevant details.

Commands to run tests

  • Integration tests:

    make integration-test
  • End-to-end tests: Requires installing the complete suite, follow this

    make e2e-test