diff --git a/docs/content/contributing/terraform/terraform-contribution-flow/repository-creation-process.md b/docs/content/contributing/terraform/terraform-contribution-flow/repository-creation-process.md index 79e865a94..f832b2ec4 100644 --- a/docs/content/contributing/terraform/terraform-contribution-flow/repository-creation-process.md +++ b/docs/content/contributing/terraform/terraform-contribution-flow/repository-creation-process.md @@ -4,30 +4,6 @@ linktitle: Repository Creation Process description: Terraform Core Team Repository Creation Process for the Azure Verified Modules (AVM) program --- -This section describes the process for AVM core team members who are responsible for creating Terraform Module repositories. - -{{% notice style="important" %}} - -This contribution flow is for **AVM Core Team members** only. - -{{% /notice %}} - -### 1. Find Issues Ready for Repository Creation - -1. When a module owner is ready to start development, they will add the  Status: Ready For Repository Creation 📝  label to the proposal via a comment [issue](https://github.com/Azure/Azure-Verified-Modules/issues). -1. To find issues that are ready for repository creation, click this [link](https://github.com/Azure/Azure-Verified-Modules/labels/Status%3A%20Ready%20For%20Repository%20Creation%20%3Amemo%3A) -1. Open one of the issues to find the details you need. - 1. Module name: This will be in the format `avm--`. e.g. `avm-res-network-virtualnetwork` - 1. Module owner GitHub handle: This will be in the content of the issue - 1. Module owner display name: You may need to look this up in the open source portal - 1. Module description: If this does not exist, then create one. The description will automtically be prefixed with `Terraform Azure Verified Module for ...`, where `` is either Resource, Pattern, or Utility - 1. Resource provider namespace: You may need to look this up if not included in the issue - 1. Resource type: You may need to look this up if not included in the issue - 1. Module alternative names: Consider if it would be useful to search for this module using other names. If so, add them here. This is a comma separated list of names - 1. Module comments: Any comments you want to add to the module index CSV file - 1. Owner secondary GitHub handle: This is optional. If the module owner has a secondary GitHub handle - 1. Owner secondary display name: This is optional. If the module owner has a secondary display name - ### 2. Create the repository 1. Open a PowerShell terminal @@ -150,108 +126,10 @@ This contribution flow is for **AVM Core Team members** only. 1. The repository is public 1. The Collaborators and teams are correct -### 3. Request the GitHub App Install - -1. Create a new issue at -1. Update the issue with the following details: - 1. Title: `[GitHub App] Installation Request - Azure Verified Modules` - 1. Body - replace `` with the URL of the repository you created in step 2: - - ```markdown - > __Note:__ If the app is listed on the [Auto-Approved list](https://docs.opensource.microsoft.com/github/apps/approvals/), you do not need to complete this form. - - You complete these steps: - - - [x] Confirm the app is not in the [Auto-Approved list](https://docs.opensource.microsoft.com/github/apps/approvals/) - - [x] Fill out and verify the information in this form - - [x] Update the title to reflect the org/repo and/or app name - - [x] Submit the native request within the GitHub user interface - - Operations will help complete these steps: - - - [ ] Approve the app if already requested on GitHub natively - - [ ] Close this issue - - Finally, you'll complete any configuration with the app or your repo that is required once approved. - - # My request - - - GitHub App name: Azure Verified Modules - - - GitHub organization in which the app would be installed: Azure - - - Is this an app created by you and/or your team? - - - [x] Yes, this is an app created by me and/or my team - - [ ] No, this is a Microsoft 1st-party app created by another team - - [ ] No, this is a 3rd-party marketplace app - - - If this __is an app created by you and/or your team__, please provide some ownership information in case future questions come up: - - - Service Tree ID: our service tree ID is: Unchanged - - A few specific individuals at Microsoft if we have questions (corporate email list):Unchanged - - An optional team discussion list: Unchanged - - - Is this an app you/your team created to address [reduced PAT lifetimes](https://aka.ms/opensource/tsg/pat)? - - [x] Yes - - [ ] No - - - Are you looking for this app to be installed on individual repos or all repos in an organization? - - - [x] Individual repos: - - [ ] All repos in an organization - - - Does this app have any side-effects if it is installed into all repos in an organization? Side effects can include creating labels, issues, pull requests, automatic checks on PRs, etc. - - - [ ] Yes, it has side effects and you should be careful if installing to all repos in an org - - [x] No side effects - - - Please provide a description of the app's functionality and what are you trying to accomplish by utilizing this app: - - Unchanged - - - For any major permissions (org admin, repo admin, etc.), can you explain what they are and why they are needed? - - Unchanged - - - Any other notes or information can you provide about the app? - ``` - -1. Submit the issue - -### 4. Notify the Module Owner and Update the Issue Status - -1. Add a comment to the issue you found in step 1 to let the module owner know that the repository has been created and is be ready for them to start development. - - ```markdown - @ The module repository has now been created. You can find it at . - - The final step of repository configuration is still in progress, but you will be able to start developing your code immediately. - - The final step is to create the environment and credentials require to run the end to end tests. If the environment called `test` is not available in 48 hours, please let me know. - - Thanks - ``` - -1. Add the  Status: Repository Created 📄  label to the issue -1. Remove the  Status: Ready For Repository Creation 📝  label from the issue - -### 5. Merge the Pull Request for the metadata CSV file - -1. Open the pull request for the metadata CSV file shown in the script output look [here](https://github.com/Azure/avm-terraform-governance/pulls) if you lost the link -1. Review the changes to ensure they are correct and only adding 1 new line for the module you just created -1. If everything looks good, merge the pull request - -### 6. Wait for the GitHub App to be installed - -Once the GitHub App has been installed, the sync to create the environment and credentials will be triggered automatically at 15:30 UTC on week days. However, you can also trigger it manually by running the following command in the `tf-repo-mgmt` folder: - -```pwsh -$moduleName = "avm-res-network-virtualnetwork" # Replace with the module name (do not include the "terraform-azurerm" prefix) +### 3. GitHub App Install -./scripts/Invoke-WorkflowDispatch.ps1 ` - -inputs @{ - repositories = "$moduleName" - plan_only = $false - } -``` +The script will automatically create an issue to get the Azure Verified modules GitHub app installed, +It will output the issue URL. +You should monitor the status of this issue as it is requried for the AVM team to be able to manage your repo. +The sync to create the test environment details and credentials will be triggered automatically at 15:30 UTC on week days. +If you do not see the test environment on your repo within two business days, then reach out to the AVM team.