This commit is contained in:
Greyscale 2025-01-16 09:57:50 +01:00
parent 432f5a4f37
commit 15575361e7
6 changed files with 33 additions and 33 deletions

View file

@ -5,8 +5,8 @@ module "volume" {
volume_name_explicit = true volume_name_explicit = true
driver = "local" driver = "local"
driver_opts = { driver_opts = {
"type" = "nfs" "type" = "nfs"
"o" = "addr=${module.efs_file_system.dns_name},rw,nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2" "o" = "addr=${module.efs_file_system.dns_name},rw,nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2"
"device" = ":/" "device" = ":/"
} }
} }

View file

@ -9,10 +9,10 @@ module "admin" {
networks = [module.network] networks = [module.network]
converge_enable = false converge_enable = false
traefik = { traefik = {
domain = var.domain domain = var.domain
ssl = true ssl = true
rule = "Host(`${var.domain}`) && PathPrefix(`/admin`)" rule = "Host(`${var.domain}`) && PathPrefix(`/admin`)"
port = 80 port = 80
} }
placement_constraints = var.placement_constraints placement_constraints = var.placement_constraints
} }

View file

@ -1,11 +1,11 @@
locals { locals {
config = { config = {
server_url = var.domain server_url = var.domain
listen_addr = "0.0.0.0:8080" listen_addr = "0.0.0.0:8080"
metrics_listen_addr = "0.0.0.0:9090" metrics_listen_addr = "0.0.0.0:9090"
grpc_listen_addr = "0.0.0.0:50443" grpc_listen_addr = "0.0.0.0:50443"
grpc_allow_insecure = false grpc_allow_insecure = false
private_key_path = "/var/lib/headscale/private.key" private_key_path = "/var/lib/headscale/private.key"
noise = { noise = {
private_key_path = "/var/lib/headscale/noise_private.key" private_key_path = "/var/lib/headscale/noise_private.key"
} }
@ -15,22 +15,22 @@ locals {
] ]
derp = { derp = {
server = { server = {
enabled = false enabled = false
region_id = 999 region_id = 999
region_code = "headscale" region_code = "headscale"
region_name = "Headscale Embedded DERP" region_name = "Headscale Embedded DERP"
stun_listen_addr = "0.0.0.0:3478" stun_listen_addr = "0.0.0.0:3478"
} }
urls = [ urls = [
"https://controlplane.tailscale.com/derpmap/default", "https://controlplane.tailscale.com/derpmap/default",
] ]
paths = [] paths = []
auto_update_enabled = true auto_update_enabled = true
update_frequency = "24h" update_frequency = "24h"
} }
disable_check_updates = false disable_check_updates = false
ephemeral_node_inactivity_timeout = "30m" ephemeral_node_inactivity_timeout = "30m"
node_update_check_interval= "10s" node_update_check_interval = "10s"
# Database bits # Database bits
db_type = "postgres" db_type = "postgres"
@ -48,12 +48,12 @@ locals {
#tls_letsencrypt_challenge_type = "HTTP-01" #tls_letsencrypt_challenge_type = "HTTP-01"
#tls_letsencrypt_listen = ":http" #tls_letsencrypt_listen = ":http"
tls_cert_path = "" tls_cert_path = ""
tls_key_path = "" tls_key_path = ""
# Logs # Logs
log = { log = {
level = "info" level = "info"
format = "text" format = "text"
} }
# ACL # ACL
@ -62,12 +62,12 @@ locals {
# DNS # DNS
dns_config = { dns_config = {
override_local_dns = true override_local_dns = true
nameservers = ["1.1.1.1"] nameservers = ["1.1.1.1"]
magic_dns = true magic_dns = true
base_domain = var.domain base_domain = var.domain
} }
unix_socket = "/var/run/headscale.sock" unix_socket = "/var/run/headscale.sock"
unix_socket_permission = "0770" unix_socket_permission = "0770"
logtail = { logtail = {

View file

@ -11,11 +11,11 @@ module "headscale" {
} }
networks = [module.network] networks = [module.network]
converge_enable = false converge_enable = false
command = ["headscale", "serve"] command = ["headscale", "serve"]
traefik = { traefik = {
domain = var.domain domain = var.domain
ssl = true ssl = true
port = 8080 port = 8080
} }
placement_constraints = var.placement_constraints placement_constraints = var.placement_constraints
} }

View file

@ -1,10 +1,10 @@
variable "image" { variable "image" {
description = "The headscale image to deploy" description = "The headscale image to deploy"
default = "headscale/headscale:0.22.3" default = "headscale/headscale:0.22.3"
} }
variable "admin_image" { variable "admin_image" {
description = "The headscale admin image to deploy" description = "The headscale admin image to deploy"
default = "goodieshq/headscale-admin:0.1.7b" default = "goodieshq/headscale-admin:0.1.7b"
} }
variable "stack_name" { variable "stack_name" {
description = "The name of the stack" description = "The name of the stack"

View file

@ -1,4 +1,4 @@
module "network" { module "network" {
source = "../../docker/network" source = "../../docker/network"
stack_name = var.stack_name stack_name = var.stack_name
} }