Skip to content

hackatorium/terraform-int

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

terraform-int

This is a repository of Terraform configuration to stand up our lab infrstructure. To use this repository, you must install Terraform. After that:

# Initialize providers and cache
terraform init

# Verify that the configuration seems valid
terraform plan

# Execute the plan
terraform apply

# Reverse, or destroy what was created
terraform destroy

What does this provision?

For our lab environment, this creates clones of Ubuntu Cloud Images on ProxMoxand configures the needed hardware/resources for those VMs. Below is a summary:

# Name vCPU RAM (MB) Usage
1. auth.int.hackatorium.com 12 2048 Keycloak AuthN/AuthZ/SSO
2. git.int.hackatorium.com 12 2048 Gitea Source Control
3. build.int.hackatorium.com 12 2048 Jenkins DevOps
4. backup.int.hackatorium.com 12 2048 rsync Backups
5. logging.int.hackatorium.com 12 2048 Graylog syslogd and log aggregation
6. status.int.hackatorium.com 12 2048 Uptime-Kuma Uptime monitoring and incident/outage status
7. cloud.int.hackatorium.com 12 2048 NextCloud End-user cloud storage
8. draw.int.hackatorium.com 12 2048 Draw.io Self-hosted diagramming
9. netboot.int.hackatorium.com 12 2048 netboot.xyz PXE booting
10. pihole.int.hackatorium.com 12 2048 Pi-Hole DNS and ad-blocking
11. docs.int.hackatorium.com 12 2048 Bookstack Documentation
12. soc.int.hackatorium.com 12 2048 Wazuh for SOC / The Hive for IR
13. cti.int.hackatorium.com 12 12288 OpenCTI
14. misp.int.hackatorium.com 12 2048 MISP

NOTE: This will use 38,912 GB of RAM if you do not choose "Ballooning" in ProxMox.

There is a VLAN 50 where these machines live, and DNS entries as follows:

Hostname IP Address
auth.int.hackatorium.com 192.168.50.2
automation.int.hackatorium.com 192.168.50.11
backup.int.hackatorium.com 192.168.50.5
build.int.hackatorium.com 192.168.50.13
cloud.int.hackatorium.com 192.168.50.21
cti.int.hackatorium.com 192.168.50.32
cyberchef.int.hackatorium.com 192.168.50.23
docs.int.hackatorium.com 192.168.50.6
draw.int.hackatorium.com 192.168.50.24
git.int.hackatorium.com 192.168.50.12
kanban.int.hackatorium.com 192.168.50.25
logging.int.hackatorium.com 192.168.50.4
misp.int.hackatorium.com 192.168.50.33
netboot.int.hackatorium.com 192.168.50.7
pihole.int.hackatorium.com 192.168.50.8
soc.int.hackatorium.com 192.168.50.31
speedtest.int.hackatorium.com 192.168.50.22
status.int.hackatorium.com 192.168.50.3

The italics items may be addressed later.

Installing Terraform

Here are instructions on how to install Terraform on Windows, macOS, and Linux:

Windows:

  1. Download the Terraform binary for Windows from the official website: Terraform Downloads
  2. Extract the downloaded ZIP file to a directory of your choice.
  3. Add the directory where the Terraform executable is located to your system's PATH environment variable. This step allows you to run Terraform from any command prompt.
  4. Open a Command Prompt or PowerShell window and verify the installation by running the following command:
terraform --version

macOS:

  1. Install Homebrew, a popular package manager for macOS, if you haven't already. You can install Homebrew by running the following command in your terminal:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  1. Once Homebrew is installed, use it to install Terraform by running:
brew install terraform
  1. Verify the installation by running:
terraform --version

Linux:

  1. Download the Terraform binary for Linux from the official website: Terraform Downloads
  2. Extract the downloaded archive to a directory of your choice.
  3. Move the Terraform executable to a directory included in your system's PATH environment variable or add the directory where the executable is located to the PATH.
  4. Open a terminal and verify the installation by running:
terraform --version

About

Terraform config for internal network.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages