When creating a new repository based on this template, you should name it terraform-<provider>-<module-name>
. For
example, if you were creating a module for creating an S3 bucket, you would name your repository something like
terraform-aws-s3-bucket
.
After creating a repository based on this template you will need to do the following steps manually:
Go to the Issues page for your new repository and create the following labels:
no release
release:major
release:minor
release:patch
These labels are required for the release workflow to work properly.
Once you have a basic working module, you will need to manually create an initial v1.0.0 release by tagging a commit
with v1.0.0
and pushing it to the repository. Then you can create a new release in GitHub using this tag. The release
name should be Release 1.0.0
assuming the initial version is 1.0.0.
After the initial release is made, future releases will be created automatically by the release workflow.
After you have an initial release available, you will need to add your module to the Terraform Registry. Simply follow this link and log in with your GitHub account. Then just select the new repository, agree to the terms, and click "Publish module".
If the repository does not show up in the list it may mean you have named the repository incorrectly or the repository may not have any releases.
You will need to update the README to reflect the new module. Remove this section and update the remaining sections to reflect the new module.
A basic description of the module and why you would use it.
First, you need a decent understanding of how to use Terraform. Hit the docs for that.
Additional Prereqs
module "my_module" {
source = "7Factor/module-name/aws"
version = "~> 1"
some_var = var.some_var
}