mirror of
https://github.com/tolerryan/NewWatari.git
synced 2026-10-12 10:47:41 +00:00
setup tor
This commit is contained in:
98
lxc/tor/main.tf
Normal file
98
lxc/tor/main.tf
Normal file
@@ -0,0 +1,98 @@
|
||||
terraform {
|
||||
required_providers {
|
||||
proxmox = {
|
||||
source = "bpg/proxmox"
|
||||
version = "0.97.1"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# ------------------------------------------------------------------
|
||||
# Optional second disk – create it only when the flag is true.
|
||||
# ------------------------------------------------------------------
|
||||
resource "proxmox_virtual_environment_container" "example_template" {
|
||||
description = "Managed by Terraform"
|
||||
start_on_boot = var.start_on_boot
|
||||
unprivileged = var.unprivileged
|
||||
|
||||
features {
|
||||
nesting = var.nesting_enabled
|
||||
}
|
||||
|
||||
wait_for_ip {
|
||||
ipv4 = true
|
||||
}
|
||||
|
||||
# ---- Disk(s) ----------------------------------------------------
|
||||
disk {
|
||||
datastore_id = var.datastore_id # <- primary disk
|
||||
size = var.disk_size_gb # in GB
|
||||
}
|
||||
|
||||
dynamic "disk" { # <-- optional second disk
|
||||
for_each = var.second_disk_enabled ? [1] : []
|
||||
|
||||
content {
|
||||
datastore_id = var.second_disk_datastore
|
||||
size = var.second_disk_size_gb
|
||||
}
|
||||
}
|
||||
|
||||
# ------------------------------------------------------------------
|
||||
# Mount points – uncomment and set if you need to mount a volume.
|
||||
# ------------------------------------------------------------------
|
||||
#mount_point {
|
||||
# volume = var.mount_volume
|
||||
# size = "4G"
|
||||
# path = "/mnt/local"
|
||||
#}
|
||||
|
||||
# ---- Initialization -------------------------------------------------
|
||||
initialization {
|
||||
dns {
|
||||
servers = ["1.1.1.1", "8.8.8.8"]
|
||||
}
|
||||
|
||||
hostname = var.hostname
|
||||
|
||||
ip_config {
|
||||
ipv4 {
|
||||
address = var.ip_address
|
||||
gateway = var.gateway
|
||||
}
|
||||
}
|
||||
|
||||
user_account {
|
||||
password = var.password
|
||||
# keys = [trimspace(tls_private_key.example.public_key_openssh)]
|
||||
}
|
||||
}
|
||||
|
||||
# ---- Network ----------------------------------------------------
|
||||
network_interface {
|
||||
name = "veth0"
|
||||
mtu = 1450
|
||||
}
|
||||
|
||||
node_name = var.node_name
|
||||
|
||||
operating_system {
|
||||
template_file_id = var.template_file_id
|
||||
type = "debian"
|
||||
}
|
||||
|
||||
tags = [
|
||||
"deb13",
|
||||
"terraform",
|
||||
]
|
||||
|
||||
cpu {
|
||||
cores = "var.cores"
|
||||
}
|
||||
|
||||
startup {
|
||||
order = "4"
|
||||
up_delay = "60"
|
||||
down_delay = "60"
|
||||
}
|
||||
}
|
||||
71
lxc/tor/vars.tf
Normal file
71
lxc/tor/vars.tf
Normal file
@@ -0,0 +1,71 @@
|
||||
# ---------------------------------------------------------------
|
||||
# General container settings (things that rarely change)
|
||||
# ---------------------------------------------------------------
|
||||
variable "start_on_boot" {
|
||||
type = bool
|
||||
default = true
|
||||
}
|
||||
|
||||
variable "unprivileged" {
|
||||
type = bool
|
||||
default = true
|
||||
}
|
||||
|
||||
variable "nesting_enabled" {
|
||||
type = bool
|
||||
default = true
|
||||
}
|
||||
|
||||
# ---------------------------------------------------------------
|
||||
# Disk sizes (primary + optional)
|
||||
# ---------------------------------------------------------------
|
||||
variable "datastore_id" {
|
||||
type = string
|
||||
default = "local-lvm"
|
||||
}
|
||||
|
||||
variable "disk_size_gb" {
|
||||
type = number
|
||||
default = 64
|
||||
}
|
||||
|
||||
variable "second_disk_enabled" {
|
||||
type = bool
|
||||
default = false
|
||||
}
|
||||
|
||||
variable "second_disk_datastore" {
|
||||
type = string
|
||||
default = "local-lvm"
|
||||
}
|
||||
|
||||
variable "second_disk_size_gb" {
|
||||
type = number
|
||||
default = 8
|
||||
}
|
||||
|
||||
variable "cores" {
|
||||
type = number
|
||||
default = 1
|
||||
}
|
||||
|
||||
|
||||
# ---------------------------------------------------------------
|
||||
# Initialization specifics
|
||||
# ---------------------------------------------------------------
|
||||
variable "hostname" { default = "wikmd" }
|
||||
variable "ip_address" { default = "192.168.0.56/24" }
|
||||
variable "gateway" { default = "192.168.0.1" }
|
||||
variable "password" { default = "example" }
|
||||
variable "cores" { default = "2" }
|
||||
|
||||
# ---------------------------------------------------------------
|
||||
# Node & template file
|
||||
# ---------------------------------------------------------------
|
||||
variable "node_name" { default = "watari" }
|
||||
variable "template_file_id" { default = "local:vztmpl/debian-13-standard_13.4-sudo_amd64.tar.zst" }
|
||||
|
||||
# ---------------------------------------------------------------
|
||||
# (Optional) Mount point volume name – set if you enable mounts
|
||||
# ---------------------------------------------------------------
|
||||
# variable "mount_volume" { default = "" }
|
||||
@@ -86,6 +86,10 @@ resource "proxmox_virtual_environment_container" "example_template" {
|
||||
"terraform",
|
||||
]
|
||||
|
||||
cpu {
|
||||
cores = "var.cores"
|
||||
}
|
||||
|
||||
startup {
|
||||
order = "3"
|
||||
up_delay = "60"
|
||||
|
||||
@@ -44,13 +44,19 @@ variable "second_disk_size_gb" {
|
||||
default = 8
|
||||
}
|
||||
|
||||
variable "cores" {
|
||||
type = number
|
||||
default = 1
|
||||
}
|
||||
|
||||
# ---------------------------------------------------------------
|
||||
# Initialization specifics
|
||||
# ---------------------------------------------------------------
|
||||
variable "hostname" { default = "wikmd" }
|
||||
variable "ip_address" { default = "192.168.0.56/24" }
|
||||
variable "ip_address" { default = "192.168.0.11/24" }
|
||||
variable "gateway" { default = "192.168.0.1" }
|
||||
variable "password" { default = "example" }
|
||||
variable "cores" { default = "1" }
|
||||
|
||||
# ---------------------------------------------------------------
|
||||
# Node & template file
|
||||
|
||||
Reference in New Issue
Block a user