Choose one of the following coding challenges to complete.
Create a git repository that contains Ansible and Terraform code for deploying two postgresql clusters to AWS with the following requirements:
- The Postgresql clusters will each be deployed to an EC2 instance (don’t use RDS) in a different VPC. One for Dev and one for Prod.
- The Ansible code will have a playbook for each environment in the root directory.
- The code for installing Postgresql will be in a role.
- You will use group vars to configure postgresql_max_connections to 30 in prod and 20 in dev.
- The Postgresql clusters will each have a database named db1.
- There will be two users in prod and four users in dev.
- Prod
- admin
- service1
- Dev
- admin
- service1
- user1
- user2
- Prod
- The admin user in each database will be a super user.
- You must provide your code in full so we can deploy it (you do not need to provide access to the Postgresql clusters, only to the code)
- Your code is clean and readable
- Steps for deploying the Postgresql clusters are in the README.md
- The fewer the number of steps needed to deploy, the better.
Create a git repository that contains code for deploying an AWS EKS cluster with the following requirements:
- There will be two Auto Scaling groups for the workers nodes
- Each ASG will launch 1 - 3 worker node instances
- The cluster will automatically update DNS records in a private Route53 zone from kubernetes resources (ingresses, Services, etc)
- The cluster will have one admin user and two regular users
- The cluster will have three namespaces
- default
- user-1
- user-2
- The admin user will have full permissions on all namespaces
- The users will have read/write access to only their namespaces
- You can use any tools you want to complete the challenge
- You must provide your code in full so we can replicate your cluster (you do not need to provide access to the cluster, only to the code)
- Your code is clean and readable
- You must document any steps that are not automated in the README.md