Teil 2 - Terraform - Proxmox Provider

Homelab Sep. 18, 2020

Im letzten Teil haben wir über die grundlegende Installation von Terraform gesprochen.

Damit wir unser Proxmox direkt ansprechen können, müssen sogenannte Provider installiert werden. Ich zeige euch Schritt für Schritt, wie ihr das machen könnt.

Installation

Download des Providers

cd /tmp
git clone https://github.com/Telmate/terraform-provider-proxmox.git

Installation des Proxmox Provider

go install github.com/Telmate/terraform-provider-proxmox/cmd/terraform-provider-proxmox
go install github.com/Telmate/terraform-provider-proxmox/cmd/terraform-provisioner-proxmox

Damit das Plugin richtig erkannt wird, muss eine gewisse Ordnerstruktur vorhanden sein

mkdir -p ~/.terraform.d/plugins/github.com/telmate/proxmox/1.0.0/linux_amd64/

Verschieben der Plugins

cp ~/projects/bin/terraform-provider-proxmox ~/.terraform.d/plugins/github.com/telmate/proxmox/1.0.0/linux_amd64/

cp ~/projects/bin/terraform-provisioner-proxmox ~/.terraform.d/plugins/github.com/telmate/proxmox/1.0.0/linux_amd64/

Test des Proxmox Providers

Nun haben wir die notwendige Schritte übernehmen und wollen natürlich auch testen, ob die Installation erfolgreich verlaufen ist.Dafür erstellen wir ein Projekt Ordner und wechseln dorthin

mkdir tfproxmox
cd tfproxmox

Nun erstellen wir mithilfe von einem Texteditor, in meinen Fall nano folgende Datei und speichern diese ab.

nano provider.tf

terraform {
  required_providers {
    proxmox = {
     source = "telmate.com/tf/proxmox"
    }
  }
}

Als letzten Schritt, testen wir, ob dies erfolgreich war.

terraform init 

Ist alles richtig sollte folgender Text erscheinen

Initializing the backend...

Initializing provider plugins...
- Finding latest version of telmate.com/tf/proxmox...
- Installing telmate.com/tf/proxmox v0.1.0...
- Installed telmate.com/tf/proxmox v0.1.0 (unauthenticated)

The following providers do not have any version constraints in configuration,
so the latest version was installed.

To prevent automatic upgrades to new major versions that may contain breaking
changes, we recommend adding version constraints in a required_providers block
in your configuration, with the constraint strings suggested below.

* telmate.com/tf/proxmox: version = "~> 0.1.0"

Terraform has been successfully initialized!

You may now begin working with Terraform. Try running "terraform plan" to see
any changes that are required for your infrastructure. All Terraform commands
should now work.

If you ever set or change modules or backend configuration for Terraform,
rerun this command to reinitialize your working directory. If you forget, other
commands will detect it and remind you to do so if necessary.

Zusammenfassend haben wir Terraform + den Proxmox Provider installiert und können im letzten Teil der Serie, die eigentliche Automatisierung mit Terraform starten.

Sollten es Probleme geben, schreibt hier gerne die Kommentare und/oder per Mail.

Tags