github.com/anth0d/nomad@v0.0.0-20221214183521-ae3a0a2cad06/e2e/terraform/provision-nomad/tls.tf (about) 1 resource "tls_private_key" "nomad" { 2 algorithm = "ECDSA" 3 ecdsa_curve = "P384" 4 } 5 6 resource "tls_cert_request" "nomad" { 7 private_key_pem = tls_private_key.nomad.private_key_pem 8 ip_addresses = [var.instance.public_ip, var.instance.private_ip, "127.0.0.1"] 9 dns_names = ["${var.role}.global.nomad"] 10 11 subject { 12 common_name = "${var.role}.global.nomad" 13 } 14 } 15 16 resource "tls_locally_signed_cert" "nomad" { 17 cert_request_pem = tls_cert_request.nomad.cert_request_pem 18 ca_private_key_pem = var.tls_ca_key 19 ca_cert_pem = var.tls_ca_cert 20 21 validity_period_hours = 720 22 23 # Reasonable set of uses for a server SSL certificate. 24 allowed_uses = [ 25 "key_encipherment", 26 "digital_signature", 27 "client_auth", 28 "server_auth", 29 ] 30 } 31 32 resource "local_sensitive_file" "nomad_client_key" { 33 content = tls_private_key.nomad.private_key_pem 34 filename = "keys/agent-${var.instance.public_ip}.key" 35 } 36 37 resource "local_sensitive_file" "nomad_client_cert" { 38 content = tls_locally_signed_cert.nomad.cert_pem 39 filename = "keys/agent-${var.instance.public_ip}.crt" 40 }