diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 4ff82f0..76dd5e9 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -52,37 +52,38 @@ jobs: run: terraform apply -auto-approve working-directory: "terraform" - - name: Install Ansible - shell: bash - run: | - sudo apt-get update - sudo apt-get install -y ansible rsync +#### Needs review / determine if worth keeping +# - name: Install Ansible +# shell: bash +# run: | +# sudo apt-get update +# sudo apt-get install -y ansible rsync - - name: Set up SSH - run: | - mkdir -p ~/.ssh - echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/vlans_rsa - chmod 600 ~/.ssh/vlans_rsa - cat > ~/.ssh/config <<'EOF' - Host * - StrictHostKeyChecking no - UserKnownHostsFile=/dev/null - EOF +# - name: Set up SSH +# run: | +# mkdir -p ~/.ssh +# echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/vlans_rsa +# chmod 600 ~/.ssh/vlans_rsa +# cat > ~/.ssh/config <<'EOF' +# Host * +# StrictHostKeyChecking no +# UserKnownHostsFile=/dev/null +# EOF - - name: Run playbook - run: | - ansible-playbook ansible/playbooks/docker_copy.yml -i ansible/inventory/inventory.yml -u cloud --private-key ~/.ssh/vlans_rsa +# - name: Configure Git +# run: | +# git config user.name "git-bot" +# git config user.email "got-bot@text.com" - - name: Configure Git - run: | - git config user.name "git-bot" - git config user.email "got-bot@text.com" +# - name: Commit and push to Gitea +# run: | +# git remote set-url origin https://$GITEA_USERNAME:${{ secrets.GIT_BOT_TOKEN }}@tea.charcarservices.uk/CC/N8N.git +# git add terraform/vm_data.yml ansible/inventory/inventory.yml +# git diff --cached --quiet || git commit -m "chore: update terraform outputs" +# git push origin HEAD:main +# env: +# GITEA_USERNAME: git-bot # or your bot account - - name: Commit and push to Gitea - run: | - git remote set-url origin https://$GITEA_USERNAME:${{ secrets.GIT_BOT_TOKEN }}@tea.charcarservices.uk/CC/N8N.git - git add terraform/vm_data.yml ansible/inventory/inventory.yml - git diff --cached --quiet || git commit -m "chore: update terraform outputs" - git push origin HEAD:main - env: - GITEA_USERNAME: git-bot # or your bot account +# - name: Run playbook +# run: | +# ansible-playbook ansible/playbooks/docker_copy.yml -i ansible/inventory/inventory.yml -u cloud --private-key ~/.ssh/vlans_rsa diff --git a/.gitea/workflows/destroy_module.yml b/.gitea/workflows/destroy_module.yml index b6eaf38..22a56f5 100644 --- a/.gitea/workflows/destroy_module.yml +++ b/.gitea/workflows/destroy_module.yml @@ -9,6 +9,15 @@ on: default: "terraform" type: string + tfvars_file: + description: "Which tfvars file to use" + required: true + default: "single.tfvars.example" + type: choice + options: + - single.tfvars.example + - multi.tfvars.example + jobs: destroy: runs-on: ubuntu-latest @@ -22,6 +31,12 @@ jobs: - name: Checkout uses: actions/checkout@v4 + - name: Check files & Select tfvars + shell: bash + run: | + cp "${{ inputs.tfvars_file || 'single.tfvars.example' }}" terraform.tfvars + cat terraform.tfvars + - name: Setup Terraform uses: hashicorp/setup-terraform@v4 diff --git a/terraform/modules/proxmox_ubuntu_cloudinit_clone/main.tf b/terraform/modules/proxmox_ubuntu_cloudinit_clone/main.tf index 02f065d..e39d521 100644 --- a/terraform/modules/proxmox_ubuntu_cloudinit_clone/main.tf +++ b/terraform/modules/proxmox_ubuntu_cloudinit_clone/main.tf @@ -1,10 +1,10 @@ resource "proxmox_virtual_environment_file" "cloud_config" { content_type = "snippets" - datastore_id = "local" - node_name = "pop" + datastore_id = "hlst" + node_name = "${var.node_name}" source_raw { - file_name = "vm.cloud-config.yaml" # The name of the snippet file + file_name = "${var.vm_name}_vm.cloud-config.yaml" # The name of the snippet file data = <<-EOF #cloud-config hostname: ${var.vm_name} diff --git a/terraform/modules/proxmox_ubuntu_cloudinit_clone/variables.tf b/terraform/modules/proxmox_ubuntu_cloudinit_clone/variables.tf index 9dc2c4a..fbdca9e 100644 --- a/terraform/modules/proxmox_ubuntu_cloudinit_clone/variables.tf +++ b/terraform/modules/proxmox_ubuntu_cloudinit_clone/variables.tf @@ -4,9 +4,6 @@ variable "pm_api_token" { default = "terraform@pve!provider=760580c4-5c1f-462b-9 variable "storage" { default = "hlst" } variable "bridge" { default = "vmbr0" } -variable "os_type" { - default = "alpine" -} variable "instance_configs" { type = list(object({ @@ -110,7 +107,6 @@ variable "vm_name" { variable "vm_user_sshkey" { description = "Admin user SSH key of the VM" type = string - default = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDRlWaLBt/qmWY01Cd6jN/YxLnlT+6lg+evEdN/dIajirdTj1rCbAdlG3WYvo+4BpN17HK3/eGQpGUMbgI/8MVd8YPODcD34gaNX0w2v66BwHx+S6BZUpz5T2IoQT0JtSv/TtFICoff5gXdNRpfd4eWsmTioEqLA6oToJLE4dn3jvAzFi9y7fyLqvuoQMmPidYYJjGT30eiULtXNspoEP+GmuWmVEu+znzMWaKDWKdOsii4Cv1aWCRKSDDRzDBrZI2mP+Vm4HDQBdgDYRw4ehumMDtfaSjyJCnrk691bIM+wxzICuIEecg5kq5HcUPvo2mFyWPAEXb5xlXnuopYEBd7 Generated By NeoServer" } diff --git a/terraform/modules/proxmox_ubuntu_cloudinit_template/main.tf b/terraform/modules/proxmox_ubuntu_cloudinit_template/main.tf index 1bc862d..14470ac 100644 --- a/terraform/modules/proxmox_ubuntu_cloudinit_template/main.tf +++ b/terraform/modules/proxmox_ubuntu_cloudinit_template/main.tf @@ -7,11 +7,11 @@ locals { resource "proxmox_virtual_environment_file" "cloud_config" { content_type = "snippets" - datastore_id = "local" - node_name = "pop" + datastore_id = "hlst" + node_name = "${var.node_name}" source_raw { - file_name = "vm.cloud-config.yaml" # The name of the snippet file + file_name = "${var.vm_name}_vm.cloud-config.yaml" # The name of the snippet file data = <<-EOF #cloud-config hostname: ${var.vm_name} diff --git a/terraform/variables.tf b/terraform/variables.tf index 7555c66..1d1fb0b 100644 --- a/terraform/variables.tf +++ b/terraform/variables.tf @@ -54,7 +54,6 @@ variable "vm_defaults" { node_datastore = "hlst" vm_bios = "ovmf" vm_machine = "q35" - vm_user_sshkey = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDRlWaLBt/qmWY01Cd6jN/YxLnlT+6lg+evEdN/dIajirdTj1rCbAdlG3WYvo+4BpN17HK3/eGQpGUMbgI/8MVd8YPODcD34gaNX0w2v66BwHx+S6BZUpz5T2IoQT0JtSv/TtFICoff5gXdNRpfd4eWsmTioEqLA6oToJLE4dn3jvAzFi9y7fyLqvuoQMmPidYYJjGT30eiULtXNspoEP+GmuWmVEu+znzMWaKDWKdOsii4Cv1aWCRKSDDRzDBrZI2mP+Vm4HDQBdgDYRw4ehumMDtfaSjyJCnrk691bIM+wxzICuIEecg5kq5HcUPvo2mFyWPAEXb5xlXnuopYEBd7 Generated By NeoServer" bridge = "vmbr0" vm_cpu = 2 vm_ram = 4096