name: Terraform Deploy on: workflow_dispatch: inputs: instance_mode: description: "Instance mode" required: true default: "single" type: choice options: - single - multi service_name: description: "Service name (e.g. n8n)" required: false default: "" vm_name: description: "VM name (e.g. n8n-01)" required: false default: "" node_name: description: "Proxmox node (e.g. pop)" required: false default: "" app_port: description: "App port (e.g. 5678)" required: false default: "5678" vm_tags: description: "VM tags, comma-separated (e.g. agentic,prod)" required: false default: "agentic" jobs: terraform: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Build tfvars env: VM_USER_SSHKEY: ${{ secrets.VM_USER_SSHKEY }} APP_PORT: ${{ github.event.inputs.app_port }} VM_TAGS: ${{ github.event.inputs.vm_tags }} run: | # Convert comma-separated tags to HCL list TAGS_HCL=$(echo "$VM_TAGS" | tr ',' '\n' | sed 's/^/"/;s/$/"/' | paste -sd ',' | sed 's/^/[/;s/$/]/') cat > ci.tfvars <