Skip to content

Latest commit

 

History

History
90 lines (59 loc) · 3.6 KB

CONTRIBUTING.md

File metadata and controls

90 lines (59 loc) · 3.6 KB

Contributing guidelines

This document gives an overview of how to contribute to Terraform Baseline repositories.

💡 Requesting changes

Open an issue in this repository.

📝 Making changes

  1. Create a new branch. For external contributors, create a fork.
  2. Commit your changes.
  3. Create a pull request (PR).
  4. If a relevant issue exists, link your PR to that issue.

✅ Reviewing changes

  1. If any resources are added or updated, ensure that they follow the best practices for resources.

  2. If any variables are added or updated, ensure that they follow the best practices for variables.

  3. If any outputs are added or updated, ensure that they follow the best practices for outputs.

  4. If any meta-arguments (count, for_each) or -blocks (lifecycle) are used, ensure that they follow the best practices for meta-arguments.

  5. Check if there are any breaking changes that will require users to update their module calls:

    • Add variable without default value.
    • Update variable type.
    • Update output value.
    • Rename variable or output.
    • Remove variable or output.
    • Remove moved block.

    Changing required provider versions do not count as breaking. It is expected of users to keep providers up-to-date.

  6. Ensure that the PR title follows the Conventional Commits specificiation and is using one of the following allowed types:

    • feat: add or remove something (resource, argument, nested block, variable or output)
    • fix: fix something broken
    • refactor: change something without adding, removing or fixing anything
    • docs: document something
    • chore: everything else

🤝 Roles and responsibilities

This section describes the various roles and responsibilities in the Terraform Baseline project.

🦸‍♀️ External contributors

An external contributor should:

  • Create forks of Terraform Baseline repositories.
  • Create issues and pull requests in Terraform Baseline repositories.

👨‍🎓 Contributors

A contributor must:

A contributor should:

  • Have basic understanding of Terraform.
  • Have basic understanding of Terraform Baseline best practices.
  • Create module repositories.

👷‍♀️ Maintainers

A maintainer must:

A maintainer should:

  • Have complete understanding of Terraform.
  • Have complete understanding of Terraform Baseline best practices.
  • Communicate and share with other maintainers.

👮‍♂️ Administrators

An administrator must:

An administrator should:

  • Configure module repositories.
  • Publish modules to Terraform Registry.
  • Archive deprecated module repositories.
  • Recruit people to the above roles 🤗