Main Points
- We are managing >10k lines of code currently
- We are going to be managing much more soon
- Need a way to establish a pattern so that it doesn't get out of control
- Need a general purpose wrapper to call modularized stacks
- Break up permissions
- Protected repos with prod configs
Agenda
Repo Design
- Meta repo designs vs ....
- 1 .meta file now
- Move to multiple .meta files
- Shell scripts to "shallow" clone / semi clone
- Insight meta repo?
- Bash vs Python wrapper
- yq + inventory
- Dynamic dependencies
- New wrapper
- State + rollback
Improvements last session
- Move to ansible + packer
- Allows ASGs and more discrete configuration
- k8s
- Still need to move to TF calls
Current tree each environment
.
├── ansible
│ └── roles
│ ├── ansible-alertmanager
...
├── configs
├── global
│ ├── cloudtrail
│ ├── groups
│ ├── roles
│ ├── policies
│ └── profiles
├── helpers
├── k8s
│ ├── consul-helm
│ └── locust
├── packer
│ └── remote
│ └── ubuntu-18
└── us-east-1
├── bastion
│ ├── dns
│ ├── ec2
│ ├── iam
│ ├── keys-bucket
│ ├── keys-object
│ ├── sg
│ └── user-data
├── citizen
│ ├── ec2
│ ├── keys
│ └── sg
├── consul
│ ├── asg
│ ├── dns
│ ├── keys
│ ├── packer
│ └── sg
├── eip
│ └── eip-main
├── firewalls
│ ├── lambda-sg-cron-t1
│ └── lambda-sg-cron-t3
├── keys
│ ├── keys
│ └── main-key-pair
├── logging
│ └── log-config-bucket
│ └── data
├── nat-main
│ ├── ami
│ ├── dns
│ ├── ec2
│ ├── keys
│ ├── sg
│ └── user-data
├── network
│ ├── dns
│ ├── dns-main
│ ├── peering-main
│ ├── peering-mgmt-services
│ ├── peering-mgmt-support
│ ├── peering-support-services
│ ├── svcs-elb-dns
│ ├── vpc
│ ├── vpc-main
│ ├── vpc-mgmt
│ ├── vpc-services
│ └── vpc-support
├── nlb
│ ├── dns
│ ├── nlb
│ └── nlb-logging-bucket
├── prep
│ ├── dns
│ ├── ec2
│ ├── ec2-1
│ ├── ec2-configuration
│ ├── ec2-configuration-1
│ ├── iam
│ ├── keys
│ ├── packer
│ ├── sg
│ ├── user-data
│ └── user-data-1
├── prep-t1-a
│ ├── ansible
│ ├── ec2
│ ├── iam
│ ├── keys
│ ├── packer
│ ├── sg
│ └── user-data
├── sentry
│ ├── asg
│ ├── packer
│ ├── sg
│ └── user-data
└── services
├── ecr
├── eks
├── prometheus
├── sg
└── sg-prometheus
318 directories