Giter Club home page Giter Club logo

infrastructure-as-code-training's Introduction

Infrastructure-as-code Training

This repo contains materials for learning how to use infrastructure-as-code practices, including:

  1. An example Ruby on Rails app used for demonstration purposes.
  2. A Packer example that shows how to create an AMI that has Ruby on Rails installed and contains the code from the example Rails app.
  3. A Docker example that shows how to create a Docker container that has Node.js installed and runs a simple Node "Hello, World" web server.
  4. A basic Terraform example that shows an intro to Terraform.
  5. A full Terraform example that shows more advanced Terraform usage, including how to take the AMI created by the Packer example, deploy it on AWS, and run the example Rails app.

Note: all the code in this repo is used only for demonstration and teaching purposes and should not be used in production. If you need help using Packer, Terraform, or any other DevOps tools in production, reach out to us at Gruntwork.

infrastructure-as-code-training's People

Contributors

brikis98 avatar dependabot[bot] avatar dmattia avatar infraredgirl avatar josh-padnick avatar maxymvlasov avatar oredavids avatar rhoboat avatar robmorgan avatar yorinasub17 avatar zackproser avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

infrastructure-as-code-training's Issues

Can't build the docker-example

I'm in macOS Catalina 10.15.6 running docker 19.03.8.

When I follow the instructional video and docker build -t simpleserver ., the first RUN command that installs nodejs and npm halts in a menu asking me to select my time zone interactively. Apparently docker builds aren't interactive, so this just hangs, and there's no way around it.

If I add ARG DEBIAN_FRONTEND=noninteractive near the beginning of the Dockerfile, then the first install appears to go fine, but I run up against an issue when I RUN npm install -g nodemon: "The command '/bin/sh -c npm install -g nodemon' returned a non-zero code: 1"

Slipping in to an ubuntu image with docker run -it --rm ubuntu bash, I can run those commands in sequence without a problem. (I get a different problem when I run ln -s /usr/bin/nodejs /usr/bin/node, because it tells me that symbolic link already exists, but that's beside the point.)

I've tried adding ENV TZ=America/Denver near the top of the Dockerfile in the hope this would allow the installer to just use it and not have to ask and not be confused by the absence of a timezone specification, but this was in vain.

tl;dr Something is broken.

This example lacks VPC and subnet creation

Error applying plan:

1 error(s) occurred:

  • aws_security_group.example_rails_app: Error creating Security Group: VPCIdNotSpecified: No default VPC for this user
    status code: 400, request id: 63262f17-1d3e-4a7b-8f4e-7894597d6e54

Fix or remove CircleCI build

Currently we've got a Github check running the project in CircleCI, but we don't actually have it configured. As part of this issue, we should:

  • make a decision if we want a CircleCI pipeline to run - e.g. some terraform validate steps, or some other relevant steps
  • if yes, then add a configuration file & make sure it passes
  • if no, then disable this check for the project from CircleCI here

Why?
Currently, almost every PR in this repo is appearing with a broken build because of the missing CircleCI configuration. This is not a big problem, so this task is more a housekeeping type of job.

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.