add terransible project
This commit is contained in:
parent
8c793d3d59
commit
de457e8e38
14
terraform/projects/terransible/deploy_tf.yml
Normal file
14
terraform/projects/terransible/deploy_tf.yml
Normal file
@ -0,0 +1,14 @@
|
||||
---
|
||||
- name: Deploy a Terraform infrastructure
|
||||
hosts: localhost
|
||||
tasks:
|
||||
- name: terraform apply
|
||||
cloud.terraform.terraform:
|
||||
project_path: /home/vez/homelab/terraform/projects/terransible
|
||||
state: present
|
||||
register: tf_return
|
||||
|
||||
- name: Ping
|
||||
hosts: servers
|
||||
tasks:
|
||||
- ping:
|
2
terraform/projects/terransible/inventory.yml
Normal file
2
terraform/projects/terransible/inventory.yml
Normal file
@ -0,0 +1,2 @@
|
||||
---
|
||||
plugin: cloud.terraform.terraform_provider
|
24
terraform/projects/terransible/main.tf
Normal file
24
terraform/projects/terransible/main.tf
Normal file
@ -0,0 +1,24 @@
|
||||
module "pve_vm" {
|
||||
source = "../../modules/pve_vm"
|
||||
node_name = "zenith"
|
||||
vm_name = "zenith-vm"
|
||||
vm_cpu = 2
|
||||
vm_ram = 2048
|
||||
vm_vlan = 66
|
||||
}
|
||||
|
||||
output "vm_ip" {
|
||||
value = module.pve_vm.vm_ip
|
||||
}
|
||||
|
||||
resource "ansible_group" "servers" {
|
||||
name = "servers"
|
||||
}
|
||||
resource "ansible_host" "vm" {
|
||||
name = "zenith-vm.lab.vezpi.me"
|
||||
groups = ["servers"]
|
||||
variables = {
|
||||
ansible_host = module.pve_vm.vm_ip
|
||||
}
|
||||
}
|
||||
|
21
terraform/projects/terransible/provider.tf
Normal file
21
terraform/projects/terransible/provider.tf
Normal file
@ -0,0 +1,21 @@
|
||||
terraform {
|
||||
required_providers {
|
||||
proxmox = {
|
||||
source = "bpg/proxmox"
|
||||
}
|
||||
ansible = {
|
||||
source = "ansible/ansible"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
provider "proxmox" {
|
||||
endpoint = var.proxmox_endpoint
|
||||
api_token = var.proxmox_api_token
|
||||
insecure = false
|
||||
ssh {
|
||||
agent = false
|
||||
private_key = file("~/.ssh/id_ed25519")
|
||||
username = "root"
|
||||
}
|
||||
}
|
10
terraform/projects/terransible/variables.tf
Normal file
10
terraform/projects/terransible/variables.tf
Normal file
@ -0,0 +1,10 @@
|
||||
variable "proxmox_endpoint" {
|
||||
description = "Proxmox URL endpoint"
|
||||
type = string
|
||||
}
|
||||
|
||||
variable "proxmox_api_token" {
|
||||
description = "Proxmox API token"
|
||||
type = string
|
||||
sensitive = true
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user