summaryrefslogtreecommitdiff
path: root/final/main.tf
blob: dc1a4ca44a49c8eaddbf5be6c2c6de30e535273d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
terraform {
  required_providers {
    incus = {
      source  = "lxc/incus"
      version = "0.4.0"
    }
  }
}

provider "incus" {
  # Configuration options
  generate_client_certificates = true
  accept_remote_certificate    = true

  remote {
    name    = "incus-server"
    default = true
    scheme  = "https"
    port    = "8443"
    address = "192.168.2.67"
    token   = "eyJjbGllbnRfbmFtZSI6Implbm5raW5zIiwiZmluZ2VycHJpbnQiOiIxNmViYmE5YjU2ZGQwOGVmZTRkZjIwMGUzM2JhZDBjNmU5ZTQ5ZTlkZDM4MDhiNWE2MDkzNDgyZGQzOTI2ZTliIiwiYWRkcmVzc2VzIjpbIjE5Mi4xNjguMi42Nzo4NDQzIl0sInNlY3JldCI6ImIwNjhlMGY0ZjM3M2ExMzE0MmY3NDI1ZTc4NTVlZjg5YmFiN2ZiZDkyMWY3MzhjNDJkN2E2MTc4ZmM0YzUwMzIiLCJleHBpcmVzX2F0IjoiMDAwMS0wMS0wMVQwMDowMDowMFoifQ=="
  }
}

data "template_file" "cloud-init" {
  template = file("${path.module}/cloud-init.yaml")
}

resource "incus_project" "lamp" {
  name        = "lamp"
  description = "terraform - cloud-init - ansible"
}

resource "incus_profile" "lamp" {
  project = "lamp"
  name    = "default"
  config = {
    "cloud-init.user-data" = data.template_file.cloud-init.rendered
  }
  device {
    type = "nic"
    name = "eth0"
    properties = {
      nictype = "bridged"
      parent  = "br0"
    }
  }
  device {
    type = "disk"
    name = "root"
    properties = {
      pool = "default"
      path = "/"
    }
  }
}