Skip to content

Latest commit

 

History

History
110 lines (66 loc) · 4.89 KB

File metadata and controls

110 lines (66 loc) · 4.89 KB

Code contributing guide

Welcome to pg_tde - the Transparent Database Encryption for PostgreSQL!

We're glad that you would like to become a Percona community member and participate in keeping open source open.

You can contribute in one of the following ways:

  1. Reach us on our Forums.
  2. Submit a bug report or a feature request
  3. Submit a pull request (PR) with the code patch
  4. Contribute to documentation

By contributing, you agree to the Percona Community code of conduct.

Submit a bug report or a feature request

All bug reports, enhancements and feature requests are tracked in Jira issue tracker. If you would like to suggest a new feature / an improvement or you found a bug in pg_tde, please submit the report to the PG project.

Start by searching the open tickets for a similar report. If you find that someone else has already reported your issue, then you can upvote that report to increase its visibility.

If there is no existing report, submit your report following these steps:

  1. Sign in to Jira issue tracker. You will need to create an account if you do not have one.
  2. In the Summary, Description, Steps To Reproduce, Affects Version fields describe the problem you have detected or an idea that you have for a new feature or improvement.
  3. As a general rule of thumb, try to create bug reports that are:
  • Reproducible: describe the steps to reproduce the problem.
  • Unique: check if there already exists a JIRA ticket to describe the problem.
  • Scoped to a Single Bug: only report one bug in one JIRA ticket

Submit a pull request

Though not mandatory, we encourage you to first check for a bug report among Jira issues and in the PR list: perhaps the bug has already been addressed.

For feature requests and enhancements, we do ask you to create a Jira issue, describe your idea and discuss the design with us. This way we align your ideas with our vision for the product development.

If the bug hasn’t been reported / addressed, or we’ve agreed on the enhancement implementation with you, do the following:

  1. Fork this repository

  2. Clone this repository on your machine

  3. Create a separate branch for your changes. If you work on a Jira issue, please include the issue number in the branch name so it reads as <JIRAISSUE>-my_branch.

  4. Make your changes. Follow the guidelines outlined in the PostgreSQL Coding Standard to improve code readability.

  5. Test your changes locally. See the Running tests section for more information.

  6. To update the documentation describing your changes, see Documentation contribution.

  7. Commit the changes. Add the Jira issue number at the beginning of your message subject, so that is reads as <JIRAISSUE> : My commit message. Follow this pattern for your commits:

    PG-1234:  Main commit message.
    <Blank line>
    Details of fix.
    

    See the commit message guidelines for more information.

  8. Open a pull request to Percona

  9. Our team will review your code and if everything is correct, will merge it. Otherwise, we will contact you for additional information or with the request to make changes.

Build pg_tde

To build pg_tde from source code, you require the following:

  • git
  • Meson or make
  • gcc or clang
  • Percona Server for PostgreSQL 17 or later

Refer to the Building from source code section for guidelines.

Run tests

You can find the tests in the sql and t directories.

Run manually

  1. Change the directory to pg_tde

  2. Build and install pg_tde with the following commands:

    meson setup -Dpg_config=/path/to/postgresql/bin/pg_config ./build
    cd build
    meson install
  3. Start OpenBao and OpenKMIP

  4. Run the tests using the following command:

    meson install && meson test --print-errorlogs

Run automatically

The tests are run automatically with GitHub actions once you create a pull request.

Documentation contribution

To contribute to the documentation, see the following Documentation contribution guide.

After your pull request is merged

Once your pull request is merged, you are an official Percona Community Contributor. Welcome to the community!