Contributing to Vald

Vald is an open source project.

We appreciate your help!

Table of Contents

Contributing Issue

We use Github Issues to track issues within this repository. If you can determine the problem you are facing is a bug or issue, you can easily submit in the issues.

If you are unsure whether you have found a bug or security-related issues, please consider asking in the Vald Slack first. If the behavior you are seeing is confirmed as a bug or issue, it can easily be re-raised in the issue tracker.

Bug Report

A bug is a demonstrable problem which produce incorrect result or to behave in unintended ways.

Bug reports are helpful for developers who maintain the Vald project.
A good bug report should not leave others needing to ask you for more information constantly.
Please try to write as detail as possible in your bug report.

When filing an issue, make sure to answer these five questions:

  1. What version of Vald are you using (vald docker image version)?
  2. What operating system and processor architecture are you using?
  3. What did you do?
  4. What did you expect to see?
  5. What did you see instead?

Please submit the bug report here

Proposal

The Vald is being developed based on the design-driven process.
The significant change to the library or the architecture should be discussed first.

We may ask for the detailed documentation before your proposal is accepted.
Your proposal will be reviewed, discussed and decide whether it is accepted or declined.

Please submit the proposal here

Feature Request

Feature request is welcome.

Before opening an issue, please make sure your idea fits the project.
You can request the feature and convince the project maintainers to accept your feature request.

Please provide the problem and solution associated with the feature request as detail as possible.

NOTE: If you’d like to contribute the new feature which may affect the current Vald architecture or design, you should discuss with Vald team first.

Please submit the feature request here

Security Issue Report

The Vald team and community take serious concern about security issues.

Sensitive security-related issues should be reported to the security channel in the Vald Slack.

We appreciate your efforts to disclose your findings.
If the security issue is caused by a third-party module, we will contact the module owner and ask for the fix.

We will consider to use another third-party module if the vulnerable module is not actively maintained anymore.

Please submit the security issue report here

Contributing Source Code

Before contributing source code

Follow these steps to make a contribution to any of our open source repositories:

  1. Ensure that you have completed our CLA Agreement

  2. Set your name and email (these should match the information on your submitted CLA)

    git config --global user.name "Firstname Lastname"
    git config --global user.email "your_email@example.com"
    

How to contributing source code

  1. Fork the repository ( https://github.com/vdaas/vald/fork )
  2. Create your feature branch (git checkout -b [type]/[area]/[description])
  3. Commit your changes on your branch (git commit -am ‘Add some feature’)
  4. Run tests (make test)
  5. Push to the forked branch (git push origin my-new-feature)
  6. Create new Pull Request

Each pull request and commit should be small enough to contain only one purpose.

Your pull request is much more likely to be accepted if:

  • Your pull request includes tests

  • Your pull request includes benchmark results

  • Your pull request is small and focused with a clear message that conveys the intent of your change

Branch naming convention

Name your branches with prefixes: [type]/[area]/[description]

FieldExplanationNaming Rule
typeThe PR typeThe type of PR can be feature, bug, refactoring, benchmark, security, documentation, dependencies, ci, test, or etc…
areaArea of contextThe area of PR can be gateway, agent, agent-sidecar, lb-gateway, or etc…
descriptionSummarized description of your branchThe description must be hyphenated. Please use [a-zA-Z0-9] and hyphen as characters, and do not use any other characters.

(*) If you changed multiple areas, please list up each area with “-”.

For example, when you add new feature for internal/servers, the name of branch will be feature/internal/add-newfeature-for-servers.