Skip to content

d33ds/infra-wizard-main

Repository files navigation

Infra Wizard

Infra Wizard is a shell-based launcher for Terraform and Ansible infrastructure modules. It creates an isolated working directory for each deployment and provides menu-driven deploy, destroy, DNS, and maintenance workflows.

Use only in environments you own or are explicitly authorized to administer. Review every Terraform plan before applying it. Infrastructure deployments can incur cost and expose network services.

Repository status

This public-ready tree contains source code and configuration examples only. Credentials, certificates, Terraform state, runtime workspaces, provider binaries, internal development material, and organization-specific values are excluded.

Requirements

  • Linux or WSL
  • Bash 4+
  • Terraform 1.8+
  • Ansible
  • curl, jq, unzip, and an SSH client
  • Provider credentials for the modules you intend to use

Run ./install_tools.sh on Debian/Ubuntu to install or download the main dependencies. Review the script before running it with elevated privileges.

Quick start

git clone https://github.com/d33ds/infra-wizard.git
cd infra-wizard
cp vars.example.sh vars.sh
chmod 600 vars.sh
./install_tools.sh
./wizard.sh

Provider credentials should be supplied through environment variables, a local vars.sh, or a non-versioned Terraform variable file. Never put live secrets in module defaults.

Configuration

vars.sh is optional and ignored by Git. Start with vars.example.sh. Common Terraform environment variables include:

export TF_VAR_do_token="..."
export DIGITALOCEAN_SSH_KEY_IDS="12345,67890"
export TF_VAR_aws_access_key="..."
export TF_VAR_aws_secret_key="..."
export TF_VAR_CLOUDFLARE_TOKEN="..."

Azure modules can use the standard ARM_* environment variables or explicit Terraform variables. Certificate-based modules require a local PFX file; PFX files are ignored and are not included in this repository.

See docs/CONFIGURATION.md for the complete model.

Repository layout

modules/       Terraform and Ansible deployment modules
.maintenance/ Temporary Ansible maintenance workspace
lib/           Focused launcher libraries
scripts/       Repository analysis and maintenance utilities
tools/         Local tool downloads (ignored)
wizard.sh      Small interactive entry point
wiki/          Markdown source for the GitHub Wiki
docs/          Maintainer and user documentation

Documentation

License

Licensed under the GNU General Public License v3.0 or later. See LICENSE.

Releases

Packages

Contributors

Languages