1 Commits

Author SHA1 Message Date
cuddle-please
d09c1e24d9 chore(release): 0.1.0
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2024-11-29 23:17:27 +00:00
5 changed files with 20 additions and 72 deletions

View File

@@ -6,55 +6,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased] ## [Unreleased]
## [0.5.2] - 2025-01-11
### Added
- add ability to set disk size
## [0.5.1] - 2025-01-11
### Added
- add on boot true for all nodes
## [0.5.0] - 2024-12-01
### Added
- remove private variables
- remove provider
## [0.4.0] - 2024-11-30
### Added
- install churn
## [0.3.0] - 2024-11-30
### Added
- allow password to be null
### Fixed
- revert changes to ip
## [0.2.3] - 2024-11-29
### Fixed
- use source for remote file
## [0.2.2] - 2024-11-29
### Fixed
- make sure file names align
## [0.2.1] - 2024-11-29
### Fixed
- cores and bootdisk
## [0.2.0] - 2024-11-29
### Added
- include template
## [0.1.0] - 2024-11-29 ## [0.1.0] - 2024-11-29
### Added ### Added

View File

@@ -1,10 +0,0 @@
#cloud-config
runcmd:
- apt update
- apt install -y qemu-guest-agent neovim ranger
- systemctl start qemu-guest-agent
- systemctl enable --now sshd
- curl https://git.front.kjuulh.io/kjuulh/churn-v2/raw/branch/main/install.sh | bash
fqdn: ${hostname}.${domain}

13
node.tf
View File

@@ -22,7 +22,7 @@ resource "null_resource" "cloud_init_deb12_node" {
provisioner "file" { provisioner "file" {
source = local_file.cloud_init_deb12_node.filename source = local_file.cloud_init_deb12_node.filename
destination = "/var/lib/vz/snippets/cloud_init_deb12_${var.name}.yml" destination = "/var/lib/vz/snippets/cloud_init_deb12_node_${var.name}.yml"
} }
depends_on = [ depends_on = [
@@ -47,10 +47,10 @@ resource "proxmox_vm_qemu" "node" {
os_type = "cloud-init" os_type = "cloud-init"
# Cloud init options # Cloud init options
cicustom = "vendor=local:snippets/cloud_init_deb12_${var.name}.yml" cicustom = "vendor=local:snippets/cloud_init_deb12_node.yml"
ipconfig0 = "ip=${var.ip_address},gw=${var.gateway}" ipconfig0 = "ip=${var.ip_address},gw=${var.gateway}"
cores = var.cpu cpu = var.cpu
memory = var.memory memory = var.memory
agent = 1 agent = 1
@@ -65,8 +65,6 @@ resource "proxmox_vm_qemu" "node" {
bootdisk = "scsi0" bootdisk = "scsi0"
scsihw = "virtio-scsi-single" scsihw = "virtio-scsi-single"
onboot = true
serial { serial {
id = 0 id = 0
} }
@@ -84,7 +82,7 @@ resource "proxmox_vm_qemu" "node" {
disk { disk {
storage = "local" 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 # 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"
} }
} }
} }
@@ -103,8 +101,7 @@ resource "proxmox_vm_qemu" "node" {
## TF to think this needs to be rebuilt on every apply ## TF to think this needs to be rebuilt on every apply
lifecycle { lifecycle {
ignore_changes = [ ignore_changes = [
network, network
bootdisk
] ]
} }
} }

View File

@@ -8,3 +8,10 @@ terraform {
required_version = ">= 0.13" required_version = ">= 0.13"
} }
provider "proxmox" {
pm_api_url = var.proxmox_url
pm_user = var.proxmox_user
pm_password = var.proxmox_password
pm_tls_insecure = true
}

View File

@@ -3,6 +3,14 @@ variable "proxmox_url" {
default = "https://proxmox.i.kjuulh.io/api2/json" default = "https://proxmox.i.kjuulh.io/api2/json"
} }
variable "proxmox_user" {
description = "proxmox username (eg. <name>@pve)"
}
variable "proxmox_password" {
description = "proxmox password"
}
variable "proxmox_ip" { variable "proxmox_ip" {
description = "the ip address of the proxmox instance" description = "the ip address of the proxmox instance"
default = "10.0.11.0" default = "10.0.11.0"
@@ -47,7 +55,6 @@ variable "ssh_private" {
variable "user_password" { variable "user_password" {
sensitive = true sensitive = true
default = null
} }
variable "cpu" { variable "cpu" {
@@ -57,7 +64,3 @@ variable "cpu" {
variable "memory" { variable "memory" {
default = 512 default = 512
} }
variable "disk_size" {
default = "10G"
}