diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..9010caa --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,42 @@ +--- +name: Bug report +about: Report a bug to help us improve +title: "bug: " +labels: "kind/bug" +assignees: "" +--- + +> [!CAUTION] +> Remember to redact any sensitive information such as authentication credentials or license keys. + +**Describe the bug** +A clear and concise description of what the bug is. + +**To Reproduce** +Steps to reproduce the behavior: + +1. Go to '...' +2. Click on '....' +3. Scroll down to '....' +4. See error + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Screenshots** +If applicable, add screenshots to help explain your problem. + +**Environment:** + +- Module Version: [e.g. 1.0.0] +- Terraform Version: [e.g. 0.14.5] +- Provider Version: [e.g. AWS 3.0] + +**Additional context** +Add any other context about the problem here. + +**Open Source Acknowledgment** + +- [ ] I understand that this is an open-source project maintained by volunteers. While the team will make efforts to + address this issue, I acknowledge that there may not be an immediate resolution, and the issue might not be addressed + if it doesn't align with the project's goals or resources. diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml deleted file mode 100644 index be73c66..0000000 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ /dev/null @@ -1,48 +0,0 @@ -name: Bug Report -description: File a bug report -labels: ["triage"] -body: - - type: markdown - attributes: - value: | - Thanks for reporting a bug 🐛! - - Please search open/closed issues before submitting. Someone might have had the similar problem before 😉! - - - type: textarea - id: description - attributes: - label: Description - description: A brief description of the issue. - validations: - required: true - - - type: textarea - id: steps - attributes: - label: Steps to reproduce - description: | - Explain how to reproduce the issue in the development environment. - - - type: input - id: version - attributes: - label: Version - description: The release version of the backend or branch/commit. - placeholder: v6.1.0 - validations: - required: true - - - type: input - id: os-version - attributes: - label: Operating system - description: The operating system this issue occurred with. - placeholder: Linux/macOS/Windows - - - type: textarea - id: additional-information - attributes: - label: Additional information - description: | - Use this section to provide any additional information you might have (e.g screenshots or screencasts). diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..f4ca8a9 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,25 @@ +--- +name: Feature request +about: Suggest a feature or enhancement +title: "feat: " +labels: "kind/enhancement" +assignees: "" +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. "I am always frustrated when [...]" + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. + +**Open Source Acknowledgment** + +- [ ] I understand that this is an open-source project maintained by volunteers. While the team will make efforts to + address this issue, I acknowledge that there may not be an immediate resolution, and the issue might not be addressed + if it doesn't align with the project's goals or resources. diff --git a/.github/PULL_REQUEST/pull_request.md b/.github/PULL_REQUEST/pull_request.md new file mode 100644 index 0000000..206bfd2 --- /dev/null +++ b/.github/PULL_REQUEST/pull_request.md @@ -0,0 +1,22 @@ +--- +name: Pull Request +about: Suggest changes or fixes to the codebase +title: "feat: " +labels: "kind/enhancement" +assignees: "" +--- + +**Description** +A clear and concise description of the changes proposed in this pull request. + +**Related Issues** +Reference any related issues or pull requests here. + +**Checklist** + +- [ ] Code compiles and tests are passing. +- [ ] Documentation is updated (if necessary). +- [ ] Tests are added or updated to cover changes. + +**Additional Information** +Include any additional information or context that might be helpful for the reviewers. diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..18707bb --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,79 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our community include: + +- Demonstrating empathy and kindness toward other people +- Being respectful of differing opinions, viewpoints, and experiences +- Giving and gracefully accepting constructive feedback +- Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience +- Focusing on what is best not just for us as individuals, but for the overall community + +Examples of unacceptable behavior include: + +- The use of sexualized language or imagery, and sexual attention or advances of any kind +- Trolling, insulting or derogatory comments, and personal or political attacks +- Public or private harassment +- Publishing others' private information, such as a physical or email address, without their explicit permission +- Other conduct which could reasonably be considered inappropriate in a professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, and will communicate reasons for moderation decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and it also applies when an individual is officially representing the community in public spaces. Examples of representing our community include using an official e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at [security@asyrafnorafandi.dev](mailto:security@asyrafnorafandi.dev). All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing clarity around the nature of the violation and an explanation of why the behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series of actions. + +**Consequence**: A warning with consequences for continued behavior. No interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, for a specified period of time. This includes avoiding interactions in community spaces as well as external channels like social media. Violating these terms may lead to a temporary or permanent ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public communication with the community for a specified period of time. No public or private interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, is allowed during this period. Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community standards, including sustained inappropriate behavior, harassment of an individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within the community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 2.1, available at [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html](https://www.contributor-covenant.org/version/2/1/code_of_conduct.html). + +Community Impact Guidelines were inspired by [Mozilla's code of conduct enforcement ladder](https://github.com/mozilla/diversity). + +For answers to common questions about this code of conduct, see the FAQ at [https://www.contributor-covenant.org/faq](https://www.contributor-covenant.org/faq). Translations are available at [https://www.contributor-covenant.org/translations](https://www.contributor-covenant.org/translations). + +[homepage]: https://www.contributor-covenant.org diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..f167c36 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,64 @@ +# Contributing to AWS EC2 Group Module + +Thank you for considering contributing to this project! We welcome contributions from the community and aim to make it as easy as possible to get involved. + +## Code of Conduct + +This project adheres to the [Contributor Covenant Code of Conduct](CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code. Please report unacceptable behavior to [security@asyrafnorafandi.dev](mailto:security@asyrafnorafandi.dev). + +## Reporting Issues + +If you encounter a bug, performance issue, or have a question, please check our [issue tracker](https://github.com/asyrafnorafandi/terraform-aws-ec2-group/issues) and ensure the issue has not been reported already. If it hasn't, feel free to [open a new issue](.github/ISSUE_TEMPLATE/bug_report.md). + +## How to Contribute + +1. **Fork the repository** and create your branch from `main`. +2. **Write clear and concise code** that follows our [style guide](STYLE_GUIDE.md). +3. **Test your changes** to ensure the module behaves as expected. +4. **Create a pull request** following the template provided. + - Include a clear description of what the PR changes. + - Reference the issue number your PR is related to (if applicable). + - Ensure that your changes follow the [Coding Guidelines](#coding-guidelines). +5. **Wait for reviews** and address any feedback. + +## Submitting Pull Requests + +All pull requests should: + +- Be based on the latest `main` branch. +- Include tests for the proposed changes. +- Pass all checks (linting, testing). +- Provide a detailed description of the change and its impact. + +## Coding Guidelines + +To ensure consistency across the codebase, please adhere to the following standards: + +- **Code Formatting:** You can run the following command to format your code: + + ```bash + terraform fmt + ``` + +- **Commit Messages:** Follow [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) for commit messages. For example: + - `fix: resolve navbar alignment issue` + - `feat: add user authentication` + +--- + +## Testing + +Please make sure all tests pass before submitting a PR. If you add new functionality, include corresponding unit/integration tests. + +- **Run Tests:** + + ```bash + terraform init + terraform test + ``` + +- **End-to-End Testing:** If applicable, ensure your changes work across various environments by adding E2E tests. + +--- + +Thank you for contributing! diff --git a/README.md b/README.md index 350cc50..0980e17 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# Terraform Module Template +# Terraform Module - AWS EC2 Group -This repository is a boilerplate to start writing your own Terraform Module +Terraform module to create a group of multiple EC2 instances with monitoring. Useful for deploying multiple blockchain nodes. ## Features: @@ -78,11 +78,12 @@ You are all set to go to write your custom Terraform Module! 🚀 --- + ## Requirements -| Name | Version | -|------|---------| -| [terraform](#requirement\_terraform) | >= 1.0 | +| Name | Version | +| ------------------------------------------------------------------------ | ------- | +| [terraform](#requirement_terraform) | >= 1.0 | ## Providers @@ -103,4 +104,5 @@ No inputs. ## Outputs No outputs. + diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 0000000..cdb1929 --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,43 @@ +# Security Policy + +We take security seriously and appreciate your efforts to responsibly disclose vulnerabilities. + +## Supported Versions + +We release updates to the latest major version and may backport critical security patches to prior versions. + +| Version | Supported | +| ------- | ------------------ | +| x.x.x | :white_check_mark: | +|