Giter Club home page Giter Club logo

terraform-bastion's Introduction

Terraform Bastion Modules

These Terraform modules manage an Amazon Web Services (AWS) or Google Cloud Platform (GCP) bastion and its Auto Scaling Group, Identity and Access Management (IAM) resources, remote logging, SSH users and firewall access. The Auto Scaling Group will recreate the bastion if there is an issue with the compute instance or the availability zone where it is running.

The configuration scripts assume the Ubuntu operating system, which is configured as follows:

  • Packages are updated, and the bastion is rebooted if required.
  • If SSH hostkeys are present in the configurable object-storage bucket and path, they are copied to the bastion to retain its previous SSH identity. If there are no host keys in the storage bucket, the current keys are copied there.
  • A logging agent is installed and configured to ship logs from these files to cloud log storage:
    • /var/log/syslog
    • /var/log/auth.log
  • A host record, named using the bastion_name module input, is added to a configurable Route53 or Google DNS zone for the current public IP address of the bastion. This happens via a script configured to run each time the bastion boots.
  • Automatic updates are configured, using a configurable time to reboot, and the email address to receive errors.
  • By default sudo access is removed from the ubuntu user unless the remove_root_access input is set to "false."
  • An additional one-time script can be executed, for one-off configuration not included in this module.
  • Additional SSH users can be created and populated with their own authorized_keys file.

Using The Modules

Each module has individual development and releases. For additional detail, please see the ReadMe for each module:

Contributing

We are happy to share this internal module with the community. We appreciate suggestions for improvement, and recommend starting by opening an issue. Please see contributing.md for details.

Join the Fairwinds Open Source Community

The goal of the Fairwinds Community is to exchange ideas, influence the open source roadmap, and network with fellow Kubernetes users. Chat with us on Slack join the user group to get involved!

Love Fairwinds Open Source? Share your business email and job title and we'll send you a free Fairwinds t-shirt!

Other Projects from Fairwinds

Enjoying terraform-bastion? Check out some of our other projects:

  • Polaris - Audit, enforce, and build policies for Kubernetes resources, including over 20 built-in checks for best practices
  • Goldilocks - Right-size your Kubernetes Deployments by compare your memory and CPU settings against actual usage
  • Pluto - Detect Kubernetes resources that have been deprecated or removed in future versions
  • Nova - Check to see if any of your Helm charts have updates available
  • rbac-manager - Simplify the management of RBAC in your Kubernetes clusters

terraform-bastion's People

Contributors

ivanfetch avatar dosullivan avatar bambash avatar toilal avatar bbensky avatar azahorscak avatar reactiveops-bot avatar rbren avatar fairmay avatar sammc3 avatar ivanfetch-wt 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.