Compare commits

..

No commits in common. "main" and "v0.5.1" have entirely different histories.
main ... v0.5.1

5 changed files with 2 additions and 106 deletions

View File

@ -6,50 +6,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
## [0.5.10] - 2025-01-13
### Fixed
- make sure to not brick my reverse proxy
## [0.5.8] - 2025-01-12
### Fixed
- should've been equal
## [0.5.7] - 2025-01-12
### Added
- add trigger
## [0.5.6] - 2025-01-12
### Added
- remove range from ip
## [0.5.5] - 2025-01-12
### Other
- add caddy extension
## [0.5.4] - 2025-01-12
### Fixed
- add port for proxy
## [0.5.3] - 2025-01-12
### Added
- add remote node configuration
### Docs
- further docs
- add some docs
## [0.5.2] - 2025-01-11
### Added
- add ability to set disk size
## [0.5.1] - 2025-01-11
### Added

View File

@ -1,3 +0,0 @@
# clank node
Setup up a virtual machine easily, and get an internal hostname for named usage

View File

@ -1,4 +0,0 @@
@${name}-node ${replace(name, "_", "-")}.nodes.i.kjuulh.io
handle @${name}-node {
reverse_proxy ${split("/", ip)[0]}:80
}

38
node.tf
View File

@ -3,11 +3,6 @@ locals {
hostname = var.name
domain = var.domain
})
node_config = templatefile("${path.module}/files/node.caddy", {
name = var.name
ip = var.ip_address
})
}
# Create a local copy of the file, to transfer to Proxmox
@ -16,11 +11,6 @@ resource "local_file" "cloud_init_deb12_node" {
filename = "${path.module}/files/user_data_cloud_init_deb12_${var.name}.cfg"
}
resource "local_file" "node_caddy" {
content = local.node_config
filename = "${path.module}/files/${var.name}.caddy"
}
# Transfer the file to the Proxmox Host
resource "null_resource" "cloud_init_deb12_node" {
connection {
@ -40,37 +30,13 @@ resource "null_resource" "cloud_init_deb12_node" {
]
}
resource "null_resource" "node_caddy_template" {
triggers = {
file_content = fileexists(local_file.node_caddy.filename) ? filemd5(local_file.node_caddy.filename) : timestamp()
}
connection {
type = "ssh"
user = "root"
private_key = var.ssh_private
host = var.proxy_ip
port = var.proxy_port
}
provisioner "file" {
source = local_file.node_caddy.filename
destination = "${var.proxy_location}/${var.name}.caddy"
}
depends_on = [
local_file.node_caddy
]
}
# Create the VM
resource "proxmox_vm_qemu" "node" {
## Wait for the cloud-config file to exist
depends_on = [
null_resource.cloud_init_deb12_node,
null_resource.node_caddy_template
null_resource.cloud_init_deb12_node
]
name = var.name
@ -118,7 +84,7 @@ resource "proxmox_vm_qemu" "node" {
disk {
storage = "local"
# The size of the disk should be at least as big as the disk in the template. If it's smaller, the disk will be recreated
size = var.disk_size
size = "10G"
}
}
}

View File

@ -8,21 +8,6 @@ variable "proxmox_ip" {
default = "10.0.11.0"
}
variable "proxy_ip" {
description = "which ip to use for the caddy file"
default = "10.0.9.0"
}
variable "proxy_port" {
description = "which port to use for the caddy file"
default = 222
}
variable "proxy_location" {
description = "which where to place the files upstream"
default = "/root/wireguard/nodes"
}
variable "proxmox_node" {
description = "which node is the vm associated"
default = "clank-smolboks-0"
@ -72,7 +57,3 @@ variable "cpu" {
variable "memory" {
default = 512
}
variable "disk_size" {
default = "10G"
}