https://github.com/harleymckenzie/tf-codepipeline-website
Terraform configuration for provisioning a deployment pipeline with CodePipeline and the infrastructure required
https://github.com/harleymckenzie/tf-codepipeline-website
codepipeline terraform
Last synced: about 1 month ago
JSON representation
Terraform configuration for provisioning a deployment pipeline with CodePipeline and the infrastructure required
- Host: GitHub
- URL: https://github.com/harleymckenzie/tf-codepipeline-website
- Owner: harleymckenzie
- Created: 2021-07-06T18:56:35.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2022-04-10T17:16:14.000Z (about 4 years ago)
- Last Synced: 2024-02-18T16:46:20.483Z (over 2 years ago)
- Topics: codepipeline, terraform
- Language: HCL
- Homepage:
- Size: 66.4 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# hmckenzie.net Terraform Stack
**Note**: This project was created for the purpose of my own personal portfolio website.
While there are customisable variables, I have set the default and flexibility to match my own personal needs.
## Prerequisites
- S3 Bucket
- A bucket containing the static web content (I'm personally using Hugo)
- Another bucket to store the CodePipeline artifacts
- Your own domain hosted in Route 53
- A Key Pair in the region this is being deployed in
- A connection to have been manually created to your repo in CodePipeline
## Requirements
| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | ~> 1.1.0 |
| [aws](#requirement\_aws) | ~> 3.48.0 |
## Providers
| Name | Version |
|------|---------|
| [aws](#provider\_aws) | 3.48.0 |
## Modules
| Name | Source | Version |
|------|--------|---------|
| [acm-certificate](#module\_acm-certificate) | ./modules/acm-certificate | n/a |
| [apache-web-app](#module\_apache-web-app) | ./modules/apache-web-app | n/a |
| [codepipeline-web-deploy](#module\_codepipeline-web-deploy) | ./modules/codepipeline-web-deploy | n/a |
| [route53-dns](#module\_route53-dns) | ./modules/route53-dns | n/a |
| [vpc-base](#module\_vpc-base) | ./modules/vpc-base | n/a |
## Resources
| Name | Type |
|------|------|
| [aws_region.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/region) | data source |
## Inputs
| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [apex-domain](#input\_apex-domain) | (optional) The apex domain of the hostname being used for the frontend. This can be left blank if the apex is being used for the frontend. | `string` | `""` | no |
| [codepipeline-bucket](#input\_codepipeline-bucket) | Name of the S3 bucket to use for CodePipeline | `string` | n/a | yes |
| [codestar-connection-arn](#input\_codestar-connection-arn) | The ARN of the codestar connection used to connect to the VC (ie GitHub) | `string` | n/a | yes |
| [env](#input\_env) | Name of the environment, such as 'live' or 'development' | `string` | n/a | yes |
| [hostname](#input\_hostname) | Hostname to use for the frontend | `string` | n/a | yes |
| [keypair](#input\_keypair) | Name of the key to associate with the web instance | `string` | n/a | yes |
| [name](#input\_name) | The name to assign to the environment | `string` | n/a | yes |
| [permitted\_ssh\_ips](#input\_permitted\_ssh\_ips) | List of IPs to permit SSH access to on the web instances | `list(string)` | n/a | yes |
| [web-ami](#input\_web-ami) | AMI to use for the web instance | `string` | n/a | yes |
| [web-bucket](#input\_web-bucket) | Name of the S3 bucket containing the web content | `string` | n/a | yes |
| [web-instance-type](#input\_web-instance-type) | Instance type to use for the web servers | `string` | `"t2.micro"` | no |
## Outputs
No outputs.
#### Diagram

# Author
[Harley McKenzie](https://hmckenzie.net) - Creator