Improve terraform secrets management

This commit is contained in:
Paul-Henri Froidmont 2023-02-07 23:25:29 +01:00
parent 4b0dee3a16
commit 4be62a69ed
Signed by: phfroidmont
GPG key ID: BE948AFD7E7873BE
7 changed files with 57 additions and 40 deletions

49
terraform/config.tf Normal file
View file

@ -0,0 +1,49 @@
terraform {
backend "http" {
address = "https://gitlab.com/api/v4/projects/22845244/terraform/state/prod"
lock_address = "https://gitlab.com/api/v4/projects/22845244/terraform/state/prod/lock"
lock_method = "POST"
unlock_address = "https://gitlab.com/api/v4/projects/22845244/terraform/state/prod/lock"
unlock_method = "DELETE"
username = "phfroidmont"
}
required_providers {
hcloud = {
source = "hetznercloud/hcloud"
version = "1.24.1"
}
hetznerdns = {
source = "timohirt/hetznerdns"
version = ">= 2.2.0"
}
sops = {
source = "carlpett/sops"
version = "~> 0.7"
}
}
}
data "sops_file" "secrets" {
source_file = "../secrets.enc.yml"
}
provider "hcloud" {
token = data.sops_file.secrets.data["hcloud.token"]
}
provider "hetznerdns" {
apitoken = data.sops_file.secrets.data["hcloud.dns_token"]
}
resource "hcloud_ssh_key" "froidmpa-desktop" {
name = "froidmpa-desktop"
public_key = file("../ssh_keys/froidmpa-desktop.pub")
}
resource "hcloud_ssh_key" "froidmpa-laptop" {
name = "froidmpa-laptop"
public_key = file("../ssh_keys/froidmpa-laptop.pub")
}