Compare commits
25 Commits
destroy/no
...
1b6eca0f69
| Author | SHA1 | Date | |
|---|---|---|---|
| 1b6eca0f69 | |||
|
|
9551e0ad53 | ||
|
|
ffc1c1e785 | ||
| 3e55a72767 | |||
|
|
fcbd6a0b1d | ||
|
|
7227782d4f | ||
|
|
6dec58856e | ||
|
|
437d7ab8d1 | ||
|
|
ac2db5a1cf | ||
|
|
74b2fb8175 | ||
|
|
1acd33cb87 | ||
|
|
f9edeb8be5 | ||
|
|
661fb95830 | ||
|
|
50ae59602c | ||
|
|
507c102dad | ||
| b26ff582a4 | |||
|
|
ec07db08db | ||
| 114bfb9772 | |||
| 5509e14066 | |||
| df088a7903 | |||
| dcec6c3648 | |||
| a0ee1b8a4b | |||
| 39d4e2ac65 | |||
| 6d06cfac02 | |||
| e669353638 |
@@ -16,6 +16,7 @@ jobs:
|
||||
pull-requests: write
|
||||
|
||||
env:
|
||||
TF_VAR_SSH_KEY: ${{ secrets.SSH_KEY }}
|
||||
TF_VAR_TS_AUTHKEY: ${{ secrets.TAILSCALE_KEY }}
|
||||
TF_VAR_ssh_key: ${{ secrets.SSH_PUBLIC_KEY }}
|
||||
|
||||
|
||||
@@ -14,8 +14,10 @@ jobs:
|
||||
pull-requests: write
|
||||
|
||||
env:
|
||||
TF_VAR_TS_AUTHKEY: ${{ secrets.TAILSCALE_KEY }}
|
||||
TF_VAR_ssh_key: ${{ secrets.SSH_PUBLIC_KEY }}
|
||||
TF_VAR_SSH_KEY: ${{ secrets.SSH_KEY }}
|
||||
TF_VAR_TS_AUTHKEY: ${{ secrets.TAILSCALE_KEY }}
|
||||
TF_VAR_ssh_key: ${{ secrets.SSH_PUBLIC_KEY }}
|
||||
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
|
||||
@@ -17,10 +17,9 @@ jobs:
|
||||
pull-requests: write
|
||||
|
||||
env:
|
||||
TF_VAR_TAILSCALE_KEY: ${{ secrets.TAILSCALE_KEY }}
|
||||
TF_VAR_SSH_KEY: ${{ secrets.SSH_KEY }}
|
||||
TF_VAR_TS_AUTHKEY: ${{ secrets.TAILSCALE_KEY }}
|
||||
TF_VAR_ssh_key: ${{ secrets.SSH_PUBLIC_KEY }}
|
||||
|
||||
# TF_VAR_ssh_key: ${{ secrets.SSH_PUBLIC_KEY }}
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
|
||||
@@ -4,7 +4,6 @@ data "template_file" "cloud_init_alpaca" {
|
||||
template = file("${path.module}/files/cloud_init.yaml")
|
||||
|
||||
vars = {
|
||||
ssh_key = var.ssh_key
|
||||
hostname = "alpaca-${count.index + 1}"
|
||||
domain = "home.arpa"
|
||||
TS_AUTHKEY = var.TS_AUTHKEY
|
||||
@@ -18,20 +17,20 @@ resource "local_file" "cloud_init_alpaca" {
|
||||
filename = "${path.module}/files/cloud_init_alpaca_${count.index + 1}.yaml"
|
||||
}
|
||||
|
||||
resource "null_resource" "upload_cloud_init_alpaca" {
|
||||
count = var.alpaca_vm_count
|
||||
|
||||
connection {
|
||||
type = "ssh"
|
||||
user = "root"
|
||||
host = var.target_node
|
||||
}
|
||||
|
||||
provisioner "file" {
|
||||
source = local_file.cloud_init_alpaca[count.index].filename
|
||||
destination = "/var/lib/vz/snippets/cloud_init_alpaca_${count.index + 1}.yaml"
|
||||
}
|
||||
}
|
||||
#resource "null_resource" "upload_cloud_init_alpaca" {
|
||||
# count = var.alpaca_vm_count
|
||||
#
|
||||
# connection {
|
||||
# type = "ssh"
|
||||
# user = "root"
|
||||
# host = var.target_node
|
||||
# }
|
||||
#
|
||||
# provisioner "file" {
|
||||
# source = local_file.cloud_init_alpaca[count.index].filename
|
||||
# destination = "/var/lib/vz/snippets/cloud_init_alpaca_${count.index + 1}.yaml"
|
||||
# }
|
||||
#}
|
||||
|
||||
### Llama cloud-init template
|
||||
data "template_file" "cloud_init_llama" {
|
||||
@@ -39,7 +38,6 @@ data "template_file" "cloud_init_llama" {
|
||||
template = file("${path.module}/files/cloud_init.yaml")
|
||||
|
||||
vars = {
|
||||
ssh_key = var.ssh_key
|
||||
hostname = "llama-${count.index + 1}"
|
||||
domain = "home.arpa"
|
||||
TS_AUTHKEY = var.TS_AUTHKEY
|
||||
@@ -53,18 +51,18 @@ resource "local_file" "cloud_init_llama" {
|
||||
filename = "${path.module}/files/cloud_init_llama_${count.index + 1}.yaml"
|
||||
}
|
||||
|
||||
resource "null_resource" "upload_cloud_init_llama" {
|
||||
count = var.llama_vm_count
|
||||
|
||||
connection {
|
||||
type = "ssh"
|
||||
user = "root"
|
||||
host = var.target_node
|
||||
}
|
||||
|
||||
provisioner "file" {
|
||||
source = local_file.cloud_init_llama[count.index].filename
|
||||
destination = "/var/lib/vz/snippets/cloud_init_llama_${count.index + 1}.yaml"
|
||||
}
|
||||
}
|
||||
#resource "null_resource" "upload_cloud_init_llama" {
|
||||
# count = var.llama_vm_count
|
||||
#
|
||||
# connection {
|
||||
# type = "ssh"
|
||||
# user = "root"
|
||||
# host = var.target_node
|
||||
# }
|
||||
#
|
||||
# provisioner "file" {
|
||||
# source = local_file.cloud_init_llama[count.index].filename
|
||||
# destination = "/var/lib/vz/snippets/cloud_init_llama_${count.index + 1}.yaml"
|
||||
# }
|
||||
#}
|
||||
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
#cloud-config
|
||||
hostname: ${hostname}
|
||||
fqdn: ${hostname}.${domain}
|
||||
ssh_authorized_keys:
|
||||
- ${ssh_key}
|
||||
|
||||
runcmd:
|
||||
- curl -fsSL https://tailscale.com/install.sh | sh
|
||||
- tailscale up --auth-key=${TS_AUTHKEY}
|
||||
- tailscale set --ssh
|
||||
|
||||
|
||||
9
terraform/files/cloud_init_base.yaml
Normal file
9
terraform/files/cloud_init_base.yaml
Normal file
@@ -0,0 +1,9 @@
|
||||
#cloud-config
|
||||
hostname: ${hostname}
|
||||
fqdn: ${hostname}.${domain}
|
||||
|
||||
runcmd:
|
||||
- curl -fsSL https://tailscale.com/install.sh | sh
|
||||
- tailscale up --auth-key=${TS_AUTHKEY}
|
||||
- tailscale set --ssh
|
||||
|
||||
@@ -20,17 +20,16 @@ resource "proxmox_vm_qemu" "alpacas" {
|
||||
vmid = 500 + count.index + 1
|
||||
target_node = var.target_node
|
||||
clone = var.clone_template
|
||||
full_clone = false
|
||||
full_clone = true
|
||||
agent = 1
|
||||
|
||||
sockets = var.sockets
|
||||
cores = var.cores
|
||||
memory = var.memory
|
||||
scsihw = "virtio-scsi-pci"
|
||||
boot = "order=scsi0"
|
||||
ipconfig0 = "ip=dhcp"
|
||||
cicustom = "user=local:snippets/cloud_init_alpaca_${count.index + 1}.yaml"
|
||||
depends_on = [null_resource.upload_cloud_init_alpaca]
|
||||
sockets = var.sockets
|
||||
cores = var.cores
|
||||
memory = var.memory
|
||||
scsihw = "virtio-scsi-pci"
|
||||
boot = "order=scsi0"
|
||||
ipconfig0 = "ip=dhcp"
|
||||
cicustom = "user=local:snippets/cloud_init_alpaca_${count.index + 1}.yaml"
|
||||
|
||||
disk {
|
||||
slot = "scsi0"
|
||||
@@ -53,17 +52,16 @@ resource "proxmox_vm_qemu" "llamas" {
|
||||
vmid = 600 + count.index + 1
|
||||
target_node = var.target_node
|
||||
clone = var.clone_template
|
||||
full_clone = false
|
||||
full_clone = true
|
||||
agent = 1
|
||||
|
||||
sockets = var.sockets
|
||||
cores = var.cores
|
||||
memory = var.memory
|
||||
scsihw = "virtio-scsi-pci"
|
||||
boot = "order=scsi0"
|
||||
ipconfig0 = "ip=dhcp"
|
||||
cicustom = "user=local:snippets/cloud_init_llama_${count.index + 1}.yaml"
|
||||
depends_on = [null_resource.upload_cloud_init_llama]
|
||||
sockets = var.sockets
|
||||
cores = var.cores
|
||||
memory = var.memory
|
||||
scsihw = "virtio-scsi-pci"
|
||||
boot = "order=scsi0"
|
||||
ipconfig0 = "ip=dhcp"
|
||||
cicustom = "user=local:snippets/cloud_init_llama_${count.index + 1}.yaml"
|
||||
|
||||
disk {
|
||||
slot = "scsi0"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"version": 4,
|
||||
"terraform_version": "1.11.4",
|
||||
"terraform_version": "1.8.3",
|
||||
"serial": 31,
|
||||
"lineage": "7a39dd41-1655-172c-950b-b8c5398caf69",
|
||||
"outputs": {},
|
||||
|
||||
@@ -79,9 +79,3 @@ variable "TS_AUTHKEY" {
|
||||
description = "Tailscale auth key used in cloud-init"
|
||||
}
|
||||
|
||||
|
||||
variable "ssh_key" {
|
||||
type = string
|
||||
description = "Public SSH key used by cloud-init"
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user