Skip to content

raffertyuy/RazTerraform

Repository files navigation

RazTerraform Templates

This repository contains standalone Terraform templates for Azure, inspired by the Azure Terraform Quickstart Templates.

Each template is designed to be completely self-contained and deployable independently. Unless otherwise specified, the templates default to the lowest pricing tiers available to minimize costs.

Repository Structure

├── examples/              # Standalone Terraform examples
│   ├── 101-*/            # Basic templates (1-2 services)
│   ├── 201-*/            # Intermediate templates (3-4 services)
│   └── 301-*/            # Advanced templates (5+ services)
├── scripts/               # Shared utility scripts
│   └── load-env.ps1      # Centralized environment variable loader
└── docs/                  # Documentation

Also see the File Structure Documentation for detailed information about the workspace organization and how to create new templates.

Available Templates

Basic Templates (101-*)

Intermediate Templates (201-*)

Vibe Coding

This codebase supports vibe coding using GitHub Copilot. For more details, read the VIBE CODING GUIDE.

Getting Started

Prerequisites

Quick Start

  1. Choose a template from the examples/ directory
  2. Navigate to the template directory
  3. Set up Azure authentication (see below)
  4. Customize the variables in terraform.tfvars as needed
  5. Deploy the template:
terraform init
terraform plan
terraform apply

Authentication Setup

Each template includes environment variable setup for Azure authentication:

  1. Copy environment configuration:

    cp .env.example .env
  2. Edit .env with your Azure subscription ID:

    # Get your subscription ID
    az account show --query id -o tsv
    
    # Add it to .env file
    ARM_SUBSCRIPTION_ID=your-subscription-id-here
  3. Load environment variables:

    # PowerShell (local script)
    .\load-env.ps1
    
    # Or use centralized script
    ..\..\scripts\load-env.ps1

Authentication Methods

These templates use the AzureRM provider's default authentication methods:

  • Azure CLI authentication (recommended for local development)
  • Environment variables (ARM_SUBSCRIPTION_ID, ARM_CLIENT_ID, etc.)
  • Managed Identity (for Azure-hosted environments)
  • Service Principal with client credentials
  • Azure PowerShell authentication

No hardcoded credentials are required in the templates.

Contributing

When contributing new templates:

  1. Follow the established file structure and naming conventions
  2. Include comprehensive documentation
  3. Provide example configurations
  4. Use cost-optimized default values
  5. Follow Terraform best practices
  6. Test thoroughly before submitting

About

Collection of Terraform Templates

Resources

License

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors