This is a templated way to create a set of infrastructure resources needed for development of an Open Source project.
- GitHub Repository
- Discord Webhook for GitHub status notifications
- DNS using
projektdragon.dev
TODO:
- Automated creation of images from Dockerfiles
- Persistant application hosting (via Kubernetes?)
Ensure terraform-docs is installed.
brew install terraform-docs
Include the bootstrap template README and then from the Terraform module.
make docs
The GitHub repositories within ProjektDragon will be bootstrapped using this module here.
In order to support this workflow, the following cloud tools are being used:
If you need additional access to either of above tools contact Reulan#0003 on Discord.
Name | Version |
---|---|
terraform | >= 0.12.24 |
cloudflare | ~> 2.0 |
Name | Version |
---|---|
cloudflare | ~> 2.0 |
github | n/a |
tfe | n/a |
Name | Description | Type | Default | Required |
---|---|---|---|---|
cloudflare_domain_name | Name for the Cloudflare domain. | string |
"projektdragon.dev" |
no |
cloudflare_enabled | Enable Cloudflare DNS record creation for zone ID specified. | bool |
false |
no |
cloudflare_record_name | Subdomain to create | string |
"live" |
no |
cloudflare_record_type | DNS Record type (A, CNAME, TXT) | string |
"CNAME" |
no |
cloudflare_record_value | What the record should point to. | string |
"projektdragon.stream" |
no |
cloudflare_zone_id | Zone ID for the Cloudflare domain. | string |
n/a | yes |
discord_enabled | Reports GitHub status notifications for the repository to Discord webhook. | bool |
false |
no |
discord_webhook_secret | Discord Webhook Settings | string |
n/a | yes |
github_enabled | Creates a GitHub repository and sets up branch protection | bool |
false |
no |
github_gitignore_template | What language to generate a .gitignore for. | string |
"Terraform" |
no |
github_has_downloads | n/a | bool |
false |
no |
github_has_issues | n/a | bool |
true |
no |
github_has_projects | n/a | bool |
false |
no |
github_has_wiki | n/a | bool |
false |
no |
github_license_template | Software license | string |
"mit" |
no |
github_manual_repo | Was this repository created via the UI? | bool |
false |
no |
github_private_repo | Is this repository hidden to the public? | bool |
false |
no |
service_description | Brief description on what the service does or accomplishes. | string |
"the most thoughtful description" |
no |
service_name | The name of the GitHub repository + Terraform Workspace. | string |
"bootstrap-template" |
no |
service_url | GitHub repository URL. | string |
"http://projektdragon.com" |
no |
terraform_cloud_enabled | Creates a Terraform workspace to store and apply Terraform remotely. | bool |
false |
no |
tfc_auto_apply | Automatically runs terraform apply. | bool |
false |
no |
tfc_file_triggers_enabled | Execute a terraform plan when .tf files are changed in a PR or commit. | bool |
true |
no |
tfc_remote_execution | When terraform cli commands are run, invoke in the cloud. | bool |
true |
no |
tfc_vcs_oauth_token | Terraform Cloud Enterprise | string |
n/a | yes |
tfc_working_directory | Path of .tf files relative to root directory. | string |
"" |
no |
No output.