GithubHelp home page GithubHelp logo

sudo-kraken / multiplatform-terraform-module-actions Goto Github PK

View Code? Open in Web Editor NEW
4.0 1.0 0.0 104 KB

Automate VM deployments with this repository, featuring Terraform modules for AWS and VMware. Seamlessly integrated with Packer-generated templates for Ubuntu, Rocky Linux, and Windows Server, my GitHub Actions ensure swift, efficient infrastructure setup

License: GNU General Public License v3.0

HCL 58.38% Shell 2.27% PowerShell 39.35%
actions aws github-actions iac iac-module iac-terraform packer packer-template terraform terraform-module

multiplatform-terraform-module-actions's Introduction

Typing SVG

Repo Languages and Tools

Repo Languages and Tools

Terraform Ansible Git GitHub Actions Linux Kubernetes AWS Docker Nginx Bash PowerShell Python Grafana Prometheus


Buy Me A Coffee

Overview

This repository, is the second part of my infrastructure-as-code (IAC) pipeline, it leverages Terraform to deploy virtual machines and other resources. It's designed to work in tandem with my other repository, which uses Packer in vSphere to create the necessary templates for these deployments. There are additional modules here which do not utilise the other repo such as the AWS modules for VPC's and EKS.

Note

Within this repo, you'll find multiple Terraform modules capable of provisioning and customising a variety of resources across different providers such as AWS and VMware. Each module is accompanied by its own README, providing detailed instructions and prerequisites. It's crucial to read these READMEs thoroughly before proceeding with any deployment.

Deploying a Virtual Machine using Terraform

This section guides you through deploying a VM using one of our Terraform modules, executed via a GitHub runner - a critical component for running Terraform in a GitHub Action.

Prerequisites

Before diving into deployment, ensure you have:

  • Configured the necessary infrastructure elements (VLANs for VMware, VPC's, IAM roles etc. for AWS).
  • Cloned this repository to your GitHub account, renaming it appropriately.
  • Secured access to the organisation-level GitHub secrets if using this within a GitHub org.
  • Familiarised yourself with the repository's structure and content.
  • To clone the GitHub repository using the CLI use following command:
        $ git clone https://github.com/sudo-kraken/multiplatform-terraform-module-actions.git
    

Integration with my Packer Repository (vSphere Modules Only)

My Terraform vSphere-based modules are designed to use VM templates created by my Packer repository. Make sure you have the latest templates from the Packer repo, as they're essential for the VM deployment process.

Executing the IAC Actions

The actions within this repo will generate a custom main.tf files to call the individual modules contained here, be sure to follow each of the modules instructions.

All of the acitons perform the following functions:

  1. Generates a main.tf file: This file contains the Terraform configuration code that specifies the desired infrastructure resources, such as virtual machines, networks, and storage.

  2. Executes the main.tf file: The code uses the Terraform CLI (Command-Line Interface) to apply the configuration defined in the main.tf file. This triggers the provisioning of the infrastructure resources specified in the configuration.

Note

Make sure to provide the necessary input variables and authentication credentials, such as access keys or service account credentials, for the Terraform execution to succeed.

multiplatform-terraform-module-actions's People

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 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.