Code Monkey home page Code Monkey logo

test's Introduction

This is an exercise used to filter interview candidates by assessing your approach to development and use of infrastructure as code tooling. This has been tested using terraform v0.14.5 we advise you use this version.

Here we have some terraform to build a simple VPC network, for now we have just one instance running the web server Nginx in its default configuration, serving up the default welcome page. To run this use the following command...

terraform init && terraform apply -var-file=dublin.tfvars

We want this to be extended. You're tasked with making the alterations detailed below. After completing each stage, a test to show the things are still working would be to run the following command. Expect to see the Nginx welcome page HTML.

terraform output nginx_domain | xargs curl
  1. We want to be able to run the same stack closer to our customers in the US. Please build the same stack in the us-east-1 (Virginia) region, leaving the existing one in place too. Feel free to modify the code and or structure as much as needed in order to do this, you'll need to consider terraform state each stack should have its own state but don't feel you need to go as far as setting up remote state. As for a CIDR the new VPC use whatever you feel like, providing it is compliant with RFC-1918 and does not overlap with the dublin network.

  2. Virginia has several availability zones, we want to use 4. Yet we still want to run the stack in Ireland using the 3 AZs there. Modify the Virgina stack to span 4 AZs do this however you like, but consider that we would like to see reuse of code.

  3. The EC2 instance running Nginx went down over the weekend, we had an outage, it's been decided that we need a solution that is more resilient than just a single instance. Please implement a solution that you'd be confident would continue to run in the event one instance goes down.

  4. We are looking to improve the security and segregation of our network we've decided we would like private subnets that are not addressable on the internet. Modify the VPC to meet this requirement, the private subnets should still have egress internet connectivity.

  5. In order to provide a consistent environment on the teams CI server and each engineer's workstation we've decided it would make sense to run terraform in Docker. Create a Dockerfile and a wrapper script that will enable this. THe script should be callable with the same arguments as the terraform cli tool, i.e. init/plan/apply etc

test's People

Contributors

suresh4test avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.