|
| 1 | +# Inspired by: |
| 2 | +# - The previous RFC template. |
| 3 | +# - the OpenTofu RFC template: https://raw.githubusercontent.com/opentofu/opentofu/main/.github/ISSUE_TEMPLATE/rfc.yml |
| 4 | +# - The Terragrunt RFC template: https://raw.githubusercontent.com/gruntwork-io/terragrunt/master/.github/ISSUE_TEMPLATE/02-rfc.yml |
| 5 | + |
| 6 | +name: RFC |
| 7 | +description: Submit a Request For Comments (RFC). |
| 8 | +labels: ["rfc", "pending-decision"] |
| 9 | +body: |
| 10 | + - type: markdown |
| 11 | + attributes: |
| 12 | + value: | |
| 13 | + # Request For Comments |
| 14 | +
|
| 15 | + This form will guide you through the process for submitting a Request For Comments (RFC) for a change. |
| 16 | +
|
| 17 | + ## Before you start |
| 18 | +
|
| 19 | + - Make sure you search for an issue that would already cover your RFC in the [issues tab](https://github.com/gruntwork-io/terragrunt/issues?q=is%3Aissue). |
| 20 | + - Search through [Terragrunt documentation](https://terragrunt.gruntwork.io/docs/) to see if your RFC is already supported. |
| 21 | +
|
| 22 | + ## After you submit |
| 23 | +
|
| 24 | + - Share your RFC with your community for feedback and reactions! The more activity and feedback you get, the more likely it is to be reviewed by the maintainers. |
| 25 | + - If your RFC has enough traction, it will be reviewed by the maintainers and a decision will be made. |
| 26 | + - Once a decision is made, one of two things will happen: |
| 27 | + 1. If the RFC is accepted, the `pending-decision` label will be replaced with the `accepted` label. At this stage, pull requests can be submitted by maintainers or the community to implement the RFC, with a description including `Closes #<RFC number>`. |
| 28 | + 2. If the RFC is rejected, the `pending-decision` label will be replaced with the `rejected` label. The maintainers will provide a reason for the rejection. If applicable, it might be made clear that a new RFC with changes is welcome. |
| 29 | +
|
| 30 | + - type: textarea |
| 31 | + id: summary |
| 32 | + attributes: |
| 33 | + label: Summary |
| 34 | + description: A brief summary of the RFC. |
| 35 | + validations: |
| 36 | + required: true |
| 37 | + |
| 38 | + - type: textarea |
| 39 | + id: motivation |
| 40 | + attributes: |
| 41 | + label: Motivation |
| 42 | + description: What is the problem you're trying to solve? What are the goals you're trying to achieve? |
| 43 | + validations: |
| 44 | + required: true |
| 45 | + |
| 46 | + - type: textarea |
| 47 | + id: proposal |
| 48 | + attributes: |
| 49 | + label: Proposal |
| 50 | + description: | |
| 51 | + In a manner that is as specific as possible, describe the proposal you have in mind. This should include: |
| 52 | + - As minimally technical a description of the proposal as possible. |
| 53 | + - An explanation of how the proposal addresses the motivation above. |
| 54 | + - Examples of how the proposal might present itself to a user if implemented. |
| 55 | + validations: |
| 56 | + required: true |
| 57 | + |
| 58 | + - type: textarea |
| 59 | + id: technical-details |
| 60 | + attributes: |
| 61 | + label: Technical Details |
| 62 | + description: | |
| 63 | + Provide technical details for the proposal. This should include: |
| 64 | + - List of components that will be affected by the proposal. |
| 65 | + - How those components will be affected. |
| 66 | + - Any documentation that will help in understanding or developing a solution to the proposal. |
| 67 | + validations: |
| 68 | + required: true |
| 69 | + |
| 70 | + - type: textarea |
| 71 | + id: press-release |
| 72 | + attributes: |
| 73 | + label: Press Release |
| 74 | + description: If this RFC were implemented, how would you describe it to the community in a mock press release? |
| 75 | + validations: |
| 76 | + required: true |
| 77 | + |
| 78 | + - type: textarea |
| 79 | + id: drawbacks |
| 80 | + attributes: |
| 81 | + label: Drawbacks |
| 82 | + description: What are the drawbacks of the proposal, if any? |
| 83 | + validations: |
| 84 | + required: false |
| 85 | + |
| 86 | + - type: textarea |
| 87 | + id: alternatives |
| 88 | + attributes: |
| 89 | + label: Alternatives |
| 90 | + description: What are the alternatives to the proposal, if any? |
| 91 | + validations: |
| 92 | + required: false |
| 93 | + |
| 94 | + - type: textarea |
| 95 | + id: migration-strategy |
| 96 | + attributes: |
| 97 | + label: Migration Strategy |
| 98 | + description: If this proposal requires a migration strategy for existing code bases, what is it? |
| 99 | + validations: |
| 100 | + required: false |
| 101 | + |
| 102 | + - type: textarea |
| 103 | + id: unresolved-questions |
| 104 | + attributes: |
| 105 | + label: Unresolved Questions |
| 106 | + description: | |
| 107 | + What parts of the proposal are still unresolved? |
| 108 | + - Is there anything that you're unsure about? |
| 109 | + - Are there any questions that you have that you haven't answered yet? |
| 110 | + - Would you like to encourage feedback on any particular part of the proposal you haven't fully fleshed out? |
| 111 | + validations: |
| 112 | + required: false |
| 113 | + |
| 114 | + - type: textarea |
| 115 | + id: references |
| 116 | + attributes: |
| 117 | + label: References |
| 118 | + description: | |
| 119 | + Are there any references that should be linked here? |
| 120 | + - Links to other RFCs, issues, or documentation. |
| 121 | + validations: |
| 122 | + required: false |
| 123 | + |
| 124 | + - type: textarea |
| 125 | + id: poc-pull-request |
| 126 | + attributes: |
| 127 | + label: Proof of Concept Pull Request |
| 128 | + description: If you have a proof of concept or an in-draft pull request that demonstrates the proposal, please link it here. |
| 129 | + validations: |
| 130 | + required: false |
| 131 | + |
| 132 | + - type: checkboxes |
| 133 | + id: support |
| 134 | + attributes: |
| 135 | + label: Support Level |
| 136 | + description: Please let us know if you are a paying customer. This helps us prioritize RFCs that are important to our customers. |
| 137 | + options: |
| 138 | + - label: I have Terragrunt Enterprise Support |
| 139 | + required: false |
| 140 | + - label: I am a paying Gruntwork customer |
| 141 | + required: false |
| 142 | + |
| 143 | + - type: input |
| 144 | + id: customer-name |
| 145 | + attributes: |
| 146 | + label: Customer Name |
| 147 | + description: If you are a paying Gruntwork customer, please provide your name. |
| 148 | + validations: |
| 149 | + required: false |
| 150 | + |
0 commit comments