Some personal terraform files for my infra and lab environment.
- HCL 97.9%
- Makefile 1.6%
- Shell 0.5%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| org-buetow-base | ||
| org-buetow-bastion | ||
| org-buetow-ecs | ||
| org-buetow-eks | ||
| org-buetow-elb | ||
| s3-org-buetow-backup | ||
| s3-org-buetow-tfstate | ||
| .gitignore | ||
| LICENSE | ||
| Makefile | ||
| README.md | ||
Terraform
TODO's
- Input variables which services (ECS) to start.
- Cloudwatch monitoring with E-Mail alert of the services.
Manual steps
Create fluxdb_password
Go to AWS Secrets manager manually and create it!
Domain Domain TLS certificate
Create DNS zone and TLS certificate in AWS manually. E.g. create cool.buetow.org zone and a TLS certificate for cool.buetow.org,*.cool.buetow.org. Add the Certificate ARN to the org-buetow-base's output as zone_certificate_arn.
Create base environment
Then, create VPC, subnets and EFS in org-buetow-base.
Use the bastion to set up some EFS subdirs
Then, create subdirectories in EFS, using org-buetow-bastion. E.g., have something like this created:
[paul@earth]~/git/terraform/org-buetow-bastion% ssh ec2-user@bastion.aws.buetow.org find /mnt
/mnt
/mnt/efs
/mnt/efs/ec2
/mnt/efs/ec2/nextcloud
/mnt/efs/ecs
/mnt/efs/ecs/anki-sync-server
/mnt/efs/ecs/vaultwarden
/mnt/efs/ecs/wallabag
/mnt/efs/ecs/wallabag/data/db
/mnt/efs/ecs/wallabag/data/assets
/mnt/efs/ecs/audiobookshelf
Also, manually activate daily EFS backup via AWS console.
Set up Application loadbalancer
In org-buetow-elb
Now set up Fargate/ECS
In org-buetow-ecs