All Projects → JamesDLD → Terraform

JamesDLD / Terraform

Licence: unlicense
Share Terraform best practices and custom modules with the community

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Terraform

digitalgov.gov
Digital.gov — Helping the government community deliver better digital services.
Stars: ✭ 167 (+328.21%)
Mutual labels:  best-practices, policy
K3sup
bootstrap Kubernetes with k3s over SSH < 1 min 🚀
Stars: ✭ 4,012 (+10187.18%)
Mutual labels:  automation, vm
datree
Prevent Kubernetes misconfigurations from reaching production (again 😤 )! From code to cloud, Datree provides an E2E policy enforcement solution to run automatic checks for rule violations. See our docs: https://hub.datree.io
Stars: ✭ 5,744 (+14628.21%)
Mutual labels:  best-practices, policy
Kubestriker
A Blazing fast Security Auditing tool for Kubernetes
Stars: ✭ 213 (+446.15%)
Mutual labels:  automation, azure
Azure Policy
Repository for Azure Resource Policy built-in definitions and samples
Stars: ✭ 758 (+1843.59%)
Mutual labels:  azure, policy
blockyarchive
Blocky archive - multithreaded archiver offering bit rot protection and sector level recoverability
Stars: ✭ 88 (+125.64%)
Mutual labels:  backup, recovery
Burry.sh
Cloud Native Infrastructure BackUp & RecoveRY
Stars: ✭ 260 (+566.67%)
Mutual labels:  recovery, backup
Azure
Azure-related repository
Stars: ✭ 78 (+100%)
Mutual labels:  automation, azure
Pg probackup
Backup and recovery manager for PostgreSQL
Stars: ✭ 383 (+882.05%)
Mutual labels:  recovery, backup
Clean Code Dotnet
🛁 Clean Code concepts and tools adapted for .NET
Stars: ✭ 4,425 (+11246.15%)
Mutual labels:  azure, best-practices
Generator Jekyll Starter Kit
🚀 Jekyll Progressive Web App Generator.
Stars: ✭ 139 (+256.41%)
Mutual labels:  automation, best-practices
Bash Toolkit
Este proyecto esá destinado a ayudar a los sysadmin
Stars: ✭ 13 (-66.67%)
Mutual labels:  automation, backup
Learn Devops
🚧 Learn the craft of "DevOps" (Developer Operations) to Deploy your App and Monitor it so it stays "Up"!
Stars: ✭ 139 (+256.41%)
Mutual labels:  automation, azure
docker-kubernetes-course
Demoing Kubernetes/AKS features
Stars: ✭ 42 (+7.69%)
Mutual labels:  backup, policy
Hashi Up
bootstrap HashiCorp Consul, Nomad, or Vault over SSH < 1 minute
Stars: ✭ 113 (+189.74%)
Mutual labels:  automation, vm
opal
Policy and data administration, distribution, and real-time updates on top of Open Policy Agent
Stars: ✭ 459 (+1076.92%)
Mutual labels:  azure, policy
Duplicacy Autobackup
💾 Painless automated backups to multiple storage providers with Docker and duplicacy.
Stars: ✭ 214 (+448.72%)
Mutual labels:  azure, backup
Docker Swarm
🐳🐳🐳 This repository is part of a blog series on Docker Swarm example using VirtualBox, OVH Openstack, Azure and Amazon Web Services AWS
Stars: ✭ 43 (+10.26%)
Mutual labels:  automation, azure
Wal E
Continuous Archiving for Postgres
Stars: ✭ 3,313 (+8394.87%)
Mutual labels:  recovery, backup
Pgbackrest
Reliable PostgreSQL Backup & Restore
Stars: ✭ 766 (+1864.1%)
Mutual labels:  azure, backup

Repository inventory

Id Description Build Status
Application Gateway Tutoriel on medium.com on how to build an Azure Application Gateway N/A
Best-Practice Share a list of best practices and tutoriels when using Terraform on Azure Build Status
Azure DevOps - Intro Share articles about CI/CD, Azure DevOps and Terraform on Azure. Build Status
CreateAzureRm-Infra Share Terraform script that reveal how to create a VPC in Azure and how application client can create their resources Build Status

Azure and Terraform

Simple and Powerful

HashiCorp Terraform enables you to safely and predictably create, change, and improve infrastructure. It is an open source tool that codifies APIs into declarative configuration files that can be shared among team members, treated as code, edited, reviewed, and versioned.

The following table is a quick comparison feedback between Terraform and Azure ARM template.

Comparison Terraform ARM Template
Pro Common language to deal with several providers (Azure including AzureRm and Azure AD, AWS, Nutanix, VMware, Docker,...)

Detect if a resource's parameter could be updated in place or if the resources need to be re created

Compliant test could be done easily to ensure that what you have deployed remains coherent

Facilitating CICD testing as the "plan" function tells you exactly what need to be done

If the Terraform resource doesn't exist we can execute ARM template from the Terraform resource "azurerm_template_deployment"
Microsoft Azure ownership

Detect if a resource's parameter could be updated in place or if the resources need to be re created through the What-if feature

Compliant test could be done easily to ensure that what you have deployed remains coherent through the What-if feature

Facilitating CICD testing as the the What-if feature tells you exactly what need to be done

If the ARM template could not be used, we can launch a Deployment Scripts from an ARM template

Variety of parameters types

Deployment log stored in the Azure Resource Group
Cons Could not use secure object as parameter

New release might not be delivered as fast if it was the provider own tool
AzureRm only, we can mitigate this cons using Deployment Scripts

The deployment mode "complete" permits to guarantee that your RG contains exactly what you want but the ARM template could be hard to read depending on the number of resources you put on it

About the Terraform's modules

On of the objective here is to share Terraform custom modules with the community with the following guidelines :

  • a module is used when we need to call a given number of resources several times and the same way, for exemple : when creating a VM we need nic, disks, backup, log monitoring, etc ..
  • a module doesn't contain any static values
  • a module is called using variables
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].