feat: initial commit
- have been working on this for some time now
This commit is contained in:
@@ -0,0 +1,8 @@
|
||||
almalinux/8/cloud:
|
||||
remote: images
|
||||
aliases:
|
||||
- almalinux8
|
||||
almalinux/9/cloud:
|
||||
remote: images
|
||||
aliases:
|
||||
- almalinux9
|
||||
@@ -0,0 +1,21 @@
|
||||
brwan1:
|
||||
type: bridge
|
||||
config:
|
||||
bridge.mtu: 1500
|
||||
ipv4.nat: false
|
||||
dns.mode: none
|
||||
dns.domain: main.unkin.net
|
||||
brcom1:
|
||||
type: bridge
|
||||
config:
|
||||
bridge.mtu: 1500
|
||||
ipv4.nat: false
|
||||
dns.mode: none
|
||||
dns.domain: main.unkin.net
|
||||
brdmz1:
|
||||
type: bridge
|
||||
config:
|
||||
bridge.mtu: 1500
|
||||
ipv4.nat: false
|
||||
dns.mode: none
|
||||
dns.domain: main.unkin.net
|
||||
@@ -0,0 +1,321 @@
|
||||
# special devices
|
||||
gpu:
|
||||
description: "Pass-through Intel GPU"
|
||||
project: null
|
||||
config: {}
|
||||
devices:
|
||||
- type: gpu
|
||||
name: intel_gpu
|
||||
properties:
|
||||
gputype: physical
|
||||
vendorid: "8086"
|
||||
uid: "0"
|
||||
gid: "39"
|
||||
mode: "0660"
|
||||
gpu-render-only:
|
||||
description: "Pass /dev/dri/renderD128 for headless VAAPI workloads"
|
||||
project: null
|
||||
config: {}
|
||||
devices:
|
||||
- type: unix-char
|
||||
name: renderD128
|
||||
properties:
|
||||
source: /dev/dri/renderD128
|
||||
path: /dev/dri/renderD128
|
||||
uid: "0"
|
||||
gid: "39"
|
||||
mode: "0660"
|
||||
kvm:
|
||||
description: "Pass-through /dev/kvm to container"
|
||||
project: null
|
||||
config: {}
|
||||
devices:
|
||||
- type: unix-char
|
||||
name: kvm
|
||||
properties:
|
||||
path: /dev/kvm
|
||||
mode: "0666"
|
||||
fuse:
|
||||
description: "Pass-through /dev/fuse to container"
|
||||
project: null
|
||||
config: {}
|
||||
devices:
|
||||
- type: unix-char
|
||||
name: fuse
|
||||
properties:
|
||||
path: /dev/fuse
|
||||
mode: "0666"
|
||||
kmsg:
|
||||
description: "Pass-through /dev/kmsg to container"
|
||||
project: null
|
||||
config: {}
|
||||
devices:
|
||||
- type: unix-char
|
||||
name: kmsg
|
||||
properties:
|
||||
path: /dev/kmsg
|
||||
mode: "0660"
|
||||
tun:
|
||||
description: "Pass-through /dev/net/tun to container"
|
||||
project: null
|
||||
config: {}
|
||||
devices:
|
||||
- type: unix-char
|
||||
name: tun
|
||||
properties:
|
||||
path: /dev/net/tun
|
||||
mode: "0666"
|
||||
sys_fs_rw:
|
||||
description: "Enable read-write mount of the /sys filesystem"
|
||||
project: null
|
||||
config:
|
||||
raw.lxc: |
|
||||
lxc.mount.auto=sys:rw
|
||||
devices: []
|
||||
docker:
|
||||
description: "Enable Docker inside unprivileged container"
|
||||
project: null
|
||||
config:
|
||||
security.nesting: true
|
||||
security.syscalls.intercept.mknod: true
|
||||
security.syscalls.intercept.setxattr: true
|
||||
linux.kernel_modules: overlay,ip_tables,br_netfilter,nf_nat,xt_conntrack
|
||||
devices: []
|
||||
|
||||
# cephfs
|
||||
shared_media_all:
|
||||
description: "Mount /shared/media directly into the container"
|
||||
project: null
|
||||
config: {}
|
||||
devices:
|
||||
- type: disk
|
||||
name: media-all
|
||||
properties:
|
||||
source: /shared/media
|
||||
path: /shared/media
|
||||
shared_media_movies:
|
||||
description: "Mount /shared/media/movies directly into the container"
|
||||
project: null
|
||||
config: {}
|
||||
devices:
|
||||
- type: disk
|
||||
name: media-movies
|
||||
properties:
|
||||
source: /shared/media/movies
|
||||
path: /shared/media/movies
|
||||
shared_media_tvseries:
|
||||
description: "Mount /shared/media/tvseries directly into the container"
|
||||
project: null
|
||||
config: {}
|
||||
devices:
|
||||
- type: disk
|
||||
name: media-tvseries
|
||||
properties:
|
||||
source: /shared/media/tvseries
|
||||
path: /shared/media/tvseries
|
||||
shared_apps_gitea:
|
||||
description: "Mount /shared/apps/gitea directly into the container"
|
||||
project: null
|
||||
config: {}
|
||||
devices:
|
||||
- type: disk
|
||||
name: gitea-shared
|
||||
properties:
|
||||
source: /shared/apps/gitea
|
||||
path: /shared/apps/gitea
|
||||
shared_apps_nomad:
|
||||
description: "Mount /shared/apps/nomad directly into the container"
|
||||
project: null
|
||||
config: {}
|
||||
devices:
|
||||
- type: disk
|
||||
name: nomad-shared
|
||||
properties:
|
||||
source: /shared/apps/nomad
|
||||
path: /shared/apps/nomad
|
||||
shared_apps_packagerepo:
|
||||
description: "Mount /shared/apps/packagerepo directly into the container"
|
||||
project: null
|
||||
config: {}
|
||||
devices:
|
||||
- type: disk
|
||||
name: packagerepo-shared
|
||||
properties:
|
||||
source: /shared/apps/packagerepo
|
||||
path: /shared/apps/packagerepo
|
||||
shared_apps_jellyfin:
|
||||
description: "Mount /shared/apps/jellyfin directly into the container"
|
||||
project: null
|
||||
config: {}
|
||||
devices:
|
||||
- type: disk
|
||||
name: jellyfin-shared
|
||||
properties:
|
||||
source: /shared/apps/jellyfin
|
||||
path: /shared/apps/jellyfin
|
||||
|
||||
# storage
|
||||
disk10:
|
||||
description: "Add 10GB root disk"
|
||||
project: null
|
||||
config: {}
|
||||
devices:
|
||||
- type: disk
|
||||
name: root
|
||||
properties:
|
||||
pool: fastpool
|
||||
size: 10GB
|
||||
path: /
|
||||
disk20:
|
||||
description: "Add 20GB root disk"
|
||||
project: null
|
||||
config: {}
|
||||
devices:
|
||||
- type: disk
|
||||
name: root
|
||||
properties:
|
||||
pool: fastpool
|
||||
size: 20GB
|
||||
path: /
|
||||
disk30:
|
||||
description: "Add 30GB root disk"
|
||||
project: null
|
||||
config: {}
|
||||
devices:
|
||||
- type: disk
|
||||
name: root
|
||||
properties:
|
||||
pool: fastpool
|
||||
size: 30GB
|
||||
path: /
|
||||
# networking
|
||||
net_wan1_eth0:
|
||||
description: "Add eth0 on wan1 bridge"
|
||||
project: null
|
||||
config: {}
|
||||
devices:
|
||||
- type: nic
|
||||
name: eth0
|
||||
properties:
|
||||
parent: brwan1
|
||||
nictype: bridged
|
||||
net_com1_eth0:
|
||||
description: "Add eth0 on com1 bridge"
|
||||
project: null
|
||||
config: {}
|
||||
devices:
|
||||
- type: nic
|
||||
name: eth0
|
||||
properties:
|
||||
parent: brcom1
|
||||
nictype: bridged
|
||||
net_com1_eth1:
|
||||
description: "Add eth1 on com1 bridge"
|
||||
project: null
|
||||
config: {}
|
||||
devices:
|
||||
- type: nic
|
||||
name: eth1
|
||||
properties:
|
||||
parent: brcom1
|
||||
nictype: bridged
|
||||
net_dmz1_eth0:
|
||||
description: "Add eth0 on dmz1 bridge"
|
||||
project: null
|
||||
config: {}
|
||||
devices:
|
||||
- type: nic
|
||||
name: eth0
|
||||
properties:
|
||||
parent: brdmz1
|
||||
nictype: bridged
|
||||
net_dmz1_eth1:
|
||||
description: "Add eth1 on dmz1 bridge"
|
||||
project: null
|
||||
config: {}
|
||||
devices:
|
||||
- type: nic
|
||||
name: eth1
|
||||
properties:
|
||||
parent: brdmz1
|
||||
nictype: bridged
|
||||
# cpu/memory
|
||||
1core256:
|
||||
description: "1 core, 256MB RAM"
|
||||
project: null
|
||||
config:
|
||||
boot.autostart: true
|
||||
limits.cpu: 1
|
||||
limits.memory: 256MB
|
||||
limits.memory.enforce: hard
|
||||
limits.memory.swap: false
|
||||
devices: []
|
||||
1core512:
|
||||
description: "1 core, 512MB RAM"
|
||||
project: null
|
||||
config:
|
||||
boot.autostart: true
|
||||
limits.cpu: 1
|
||||
limits.memory: 512MB
|
||||
limits.memory.enforce: hard
|
||||
limits.memory.swap: false
|
||||
1core1024:
|
||||
description: "1 core, 1GB RAM"
|
||||
project: null
|
||||
config:
|
||||
boot.autostart: true
|
||||
limits.cpu: 1
|
||||
limits.memory: 1024MB
|
||||
limits.memory.enforce: hard
|
||||
limits.memory.swap: false
|
||||
devices: []
|
||||
2core1024:
|
||||
description: "2 cores, 1GB RAM"
|
||||
project: null
|
||||
config:
|
||||
boot.autostart: true
|
||||
limits.cpu: 2
|
||||
limits.memory: 1024MB
|
||||
limits.memory.enforce: hard
|
||||
limits.memory.swap: false
|
||||
devices: []
|
||||
2core2048:
|
||||
description: "2 cores, 2GB RAM"
|
||||
project: null
|
||||
config:
|
||||
boot.autostart: true
|
||||
limits.cpu: 2
|
||||
limits.memory: 2048MB
|
||||
limits.memory.enforce: hard
|
||||
limits.memory.swap: false
|
||||
devices: []
|
||||
2core4096:
|
||||
description: "2 cores, 4GB RAM"
|
||||
project: null
|
||||
config:
|
||||
boot.autostart: true
|
||||
limits.cpu: 2
|
||||
limits.memory: 4096MB
|
||||
limits.memory.enforce: hard
|
||||
limits.memory.swap: false
|
||||
devices: []
|
||||
4core4096:
|
||||
description: "4 cores, 4GB RAM"
|
||||
project: null
|
||||
config:
|
||||
boot.autostart: true
|
||||
limits.cpu: 4
|
||||
limits.memory: 4096MB
|
||||
limits.memory.enforce: hard
|
||||
limits.memory.swap: false
|
||||
devices: []
|
||||
4core8192:
|
||||
description: "4 cores, 8GB RAM"
|
||||
project: null
|
||||
config:
|
||||
boot.autostart: true
|
||||
limits.cpu: 4
|
||||
limits.memory: 8192MB
|
||||
limits.memory.enforce: hard
|
||||
limits.memory.swap: false
|
||||
devices: []
|
||||
@@ -0,0 +1,5 @@
|
||||
fastpool:
|
||||
driver: zfs
|
||||
description: nvme backed zfs store
|
||||
config:
|
||||
source: fastpool/data/incus
|
||||
@@ -0,0 +1,8 @@
|
||||
imagestore:
|
||||
pool: fastpool
|
||||
description: location to store images
|
||||
hashicorp-vault:
|
||||
pool: fastpool
|
||||
description: store passed to vault servers
|
||||
config:
|
||||
size: 20GB
|
||||
@@ -0,0 +1,21 @@
|
||||
locals {
|
||||
puppet_cert_ca = get_env("PUPPET_CERT_CA")
|
||||
puppet_cert_pub = get_env("PUPPET_CERT_PUB")
|
||||
puppet_cert_priv = get_env("PUPPET_CERT_PRIV")
|
||||
puppetdb_url = get_env("PUPPETDB_URL")
|
||||
puppetca_url = get_env("PUPPETCA_URL")
|
||||
cobbler_url = get_env("COBBLER_URL")
|
||||
cobbler_password = get_env("COBBLER_PASSWORD")
|
||||
cobbler_username = get_env("COBBLER_USERNAME")
|
||||
}
|
||||
|
||||
inputs = {
|
||||
puppet_cert_ca = local.puppet_cert_ca
|
||||
puppet_cert_pub = local.puppet_cert_pub
|
||||
puppet_cert_priv = local.puppet_cert_priv
|
||||
puppetdb_url = local.puppetdb_url
|
||||
puppetca_url = local.puppetca_url
|
||||
cobbler_url = local.cobbler_url
|
||||
cobbler_username = local.cobbler_username
|
||||
cobbler_password = local.cobbler_password
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
description: Hashicorp Vault Server
|
||||
cobbler_mgmt_classes:
|
||||
- roles::infra::storage::vault
|
||||
profiles:
|
||||
- disk10
|
||||
- net_com1_eth0
|
||||
- 2core2048
|
||||
disk_devices:
|
||||
- name: hashicorp-vault
|
||||
type: disk
|
||||
properties:
|
||||
path: /data
|
||||
source: hashicorp-vault
|
||||
pool: fastpool
|
||||
@@ -0,0 +1,56 @@
|
||||
locals {
|
||||
node_name = "prodnxsr0009"
|
||||
config_common = yamldecode(file("${get_terragrunt_dir()}/../config_common.yaml"))
|
||||
config_specific = yamldecode(file("${get_terragrunt_dir()}/config.yaml"))
|
||||
config = merge(local.config_common, local.config_specific)
|
||||
instance_name = basename(get_terragrunt_dir())
|
||||
}
|
||||
|
||||
inputs = merge(
|
||||
{
|
||||
name = local.instance_name
|
||||
},
|
||||
local.config
|
||||
)
|
||||
|
||||
include "root" {
|
||||
path = find_in_parent_folders("root.hcl")
|
||||
}
|
||||
|
||||
include "instances" {
|
||||
path = find_in_parent_folders("instances.hcl")
|
||||
expose = true
|
||||
merge_strategy = "deep"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
paths = ["${get_repo_root()}/config/nodes/${local.node_name}"]
|
||||
}
|
||||
|
||||
terraform {
|
||||
source = "${get_repo_root()}/modules/instance"
|
||||
#before_hook "load_node_Venv" {
|
||||
# commands = ["apply", "plan", "destroy", "init"]
|
||||
# execute = ["bash", "-c", "../../../../../../ci/set_node_env.sh"]
|
||||
#}
|
||||
}
|
||||
|
||||
generate "incus" {
|
||||
path = "incus.tf"
|
||||
if_exists = "overwrite_terragrunt"
|
||||
contents = <<-EOF
|
||||
provider "incus" {
|
||||
generate_client_certificates = true
|
||||
accept_remote_certificate = true
|
||||
|
||||
remote {
|
||||
name = "${basename(get_terragrunt_dir())}"
|
||||
scheme = "https"
|
||||
address = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_addr}"
|
||||
port = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_port}"
|
||||
token = "${get_env("INCUS_TOKEN_${upper(local.node_name)}")}"
|
||||
default = true
|
||||
}
|
||||
}
|
||||
EOF
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
description: Hashicorp Vault Server
|
||||
cobbler_mgmt_classes:
|
||||
- roles::infra::storage::vault
|
||||
profiles:
|
||||
- disk10
|
||||
- net_com1_eth0
|
||||
- 2core2048
|
||||
disk_devices:
|
||||
- name: hashicorp-vault
|
||||
type: disk
|
||||
properties:
|
||||
path: /data
|
||||
source: hashicorp-vault
|
||||
pool: fastpool
|
||||
@@ -0,0 +1,52 @@
|
||||
locals {
|
||||
node_name = "prodnxsr0010"
|
||||
config_common = yamldecode(file("${get_terragrunt_dir()}/../config_common.yaml"))
|
||||
config_specific = yamldecode(file("${get_terragrunt_dir()}/config.yaml"))
|
||||
config = merge(local.config_common, local.config_specific)
|
||||
instance_name = basename(get_terragrunt_dir())
|
||||
}
|
||||
|
||||
inputs = merge(
|
||||
{
|
||||
name = local.instance_name
|
||||
},
|
||||
local.config
|
||||
)
|
||||
|
||||
include "root" {
|
||||
path = find_in_parent_folders("root.hcl")
|
||||
}
|
||||
|
||||
include "instances" {
|
||||
path = find_in_parent_folders("instances.hcl")
|
||||
expose = true
|
||||
merge_strategy = "deep"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
paths = ["${get_repo_root()}/config/nodes/${local.node_name}"]
|
||||
}
|
||||
|
||||
terraform {
|
||||
source = "${get_repo_root()}/modules/instance"
|
||||
}
|
||||
|
||||
generate "incus" {
|
||||
path = "incus.tf"
|
||||
if_exists = "overwrite_terragrunt"
|
||||
contents = <<-EOF
|
||||
provider "incus" {
|
||||
generate_client_certificates = true
|
||||
accept_remote_certificate = true
|
||||
|
||||
remote {
|
||||
name = "${basename(get_terragrunt_dir())}"
|
||||
scheme = "https"
|
||||
address = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_addr}"
|
||||
port = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_port}"
|
||||
token = "${get_env("INCUS_TOKEN_${upper(local.node_name)}")}"
|
||||
default = true
|
||||
}
|
||||
}
|
||||
EOF
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
description: Hashicorp Vault Server
|
||||
cobbler_mgmt_classes:
|
||||
- roles::infra::storage::vault
|
||||
profiles:
|
||||
- disk10
|
||||
- net_com1_eth0
|
||||
- 2core2048
|
||||
disk_devices:
|
||||
- name: hashicorp-vault
|
||||
type: disk
|
||||
properties:
|
||||
path: /data
|
||||
source: hashicorp-vault
|
||||
pool: fastpool
|
||||
@@ -0,0 +1,52 @@
|
||||
locals {
|
||||
node_name = "prodnxsr0011"
|
||||
config_common = yamldecode(file("${get_terragrunt_dir()}/../config_common.yaml"))
|
||||
config_specific = yamldecode(file("${get_terragrunt_dir()}/config.yaml"))
|
||||
config = merge(local.config_common, local.config_specific)
|
||||
instance_name = basename(get_terragrunt_dir())
|
||||
}
|
||||
|
||||
inputs = merge(
|
||||
{
|
||||
name = local.instance_name
|
||||
},
|
||||
local.config
|
||||
)
|
||||
|
||||
include "root" {
|
||||
path = find_in_parent_folders("root.hcl")
|
||||
}
|
||||
|
||||
include "instances" {
|
||||
path = find_in_parent_folders("instances.hcl")
|
||||
expose = true
|
||||
merge_strategy = "deep"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
paths = ["${get_repo_root()}/config/nodes/${local.node_name}"]
|
||||
}
|
||||
|
||||
terraform {
|
||||
source = "${get_repo_root()}/modules/instance"
|
||||
}
|
||||
|
||||
generate "incus" {
|
||||
path = "incus.tf"
|
||||
if_exists = "overwrite_terragrunt"
|
||||
contents = <<-EOF
|
||||
provider "incus" {
|
||||
generate_client_certificates = true
|
||||
accept_remote_certificate = true
|
||||
|
||||
remote {
|
||||
name = "${basename(get_terragrunt_dir())}"
|
||||
scheme = "https"
|
||||
address = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_addr}"
|
||||
port = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_port}"
|
||||
token = "${get_env("INCUS_TOKEN_${upper(local.node_name)}")}"
|
||||
default = true
|
||||
}
|
||||
}
|
||||
EOF
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
description: Hashicorp Vault Server
|
||||
cobbler_mgmt_classes:
|
||||
- roles::infra::storage::vault
|
||||
profiles:
|
||||
- disk10
|
||||
- net_com1_eth0
|
||||
- 2core2048
|
||||
disk_devices:
|
||||
- name: hashicorp-vault
|
||||
type: disk
|
||||
properties:
|
||||
path: /data
|
||||
source: hashicorp-vault
|
||||
pool: fastpool
|
||||
@@ -0,0 +1,52 @@
|
||||
locals {
|
||||
node_name = "prodnxsr0012"
|
||||
config_common = yamldecode(file("${get_terragrunt_dir()}/../config_common.yaml"))
|
||||
config_specific = yamldecode(file("${get_terragrunt_dir()}/config.yaml"))
|
||||
config = merge(local.config_common, local.config_specific)
|
||||
instance_name = basename(get_terragrunt_dir())
|
||||
}
|
||||
|
||||
inputs = merge(
|
||||
{
|
||||
name = local.instance_name
|
||||
},
|
||||
local.config
|
||||
)
|
||||
|
||||
include "root" {
|
||||
path = find_in_parent_folders("root.hcl")
|
||||
}
|
||||
|
||||
include "instances" {
|
||||
path = find_in_parent_folders("instances.hcl")
|
||||
expose = true
|
||||
merge_strategy = "deep"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
paths = ["${get_repo_root()}/config/nodes/${local.node_name}"]
|
||||
}
|
||||
|
||||
terraform {
|
||||
source = "${get_repo_root()}/modules/instance"
|
||||
}
|
||||
|
||||
generate "incus" {
|
||||
path = "incus.tf"
|
||||
if_exists = "overwrite_terragrunt"
|
||||
contents = <<-EOF
|
||||
provider "incus" {
|
||||
generate_client_certificates = true
|
||||
accept_remote_certificate = true
|
||||
|
||||
remote {
|
||||
name = "${basename(get_terragrunt_dir())}"
|
||||
scheme = "https"
|
||||
address = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_addr}"
|
||||
port = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_port}"
|
||||
token = "${get_env("INCUS_TOKEN_${upper(local.node_name)}")}"
|
||||
default = true
|
||||
}
|
||||
}
|
||||
EOF
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
description: Hashicorp Vault Server
|
||||
cobbler_mgmt_classes:
|
||||
- roles::infra::storage::vault
|
||||
profiles:
|
||||
- disk10
|
||||
- net_com1_eth0
|
||||
- 2core2048
|
||||
disk_devices:
|
||||
- name: hashicorp-vault
|
||||
type: disk
|
||||
properties:
|
||||
path: /data
|
||||
source: hashicorp-vault
|
||||
pool: fastpool
|
||||
@@ -0,0 +1,52 @@
|
||||
locals {
|
||||
node_name = "prodnxsr0013"
|
||||
config_common = yamldecode(file("${get_terragrunt_dir()}/../config_common.yaml"))
|
||||
config_specific = yamldecode(file("${get_terragrunt_dir()}/config.yaml"))
|
||||
config = merge(local.config_common, local.config_specific)
|
||||
instance_name = basename(get_terragrunt_dir())
|
||||
}
|
||||
|
||||
inputs = merge(
|
||||
{
|
||||
name = local.instance_name
|
||||
},
|
||||
local.config
|
||||
)
|
||||
|
||||
include "root" {
|
||||
path = find_in_parent_folders("root.hcl")
|
||||
}
|
||||
|
||||
include "instances" {
|
||||
path = find_in_parent_folders("instances.hcl")
|
||||
expose = true
|
||||
merge_strategy = "deep"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
paths = ["${get_repo_root()}/config/nodes/${local.node_name}"]
|
||||
}
|
||||
|
||||
terraform {
|
||||
source = "${get_repo_root()}/modules/instance"
|
||||
}
|
||||
|
||||
generate "incus" {
|
||||
path = "incus.tf"
|
||||
if_exists = "overwrite_terragrunt"
|
||||
contents = <<-EOF
|
||||
provider "incus" {
|
||||
generate_client_certificates = true
|
||||
accept_remote_certificate = true
|
||||
|
||||
remote {
|
||||
name = "${basename(get_terragrunt_dir())}"
|
||||
scheme = "https"
|
||||
address = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_addr}"
|
||||
port = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_port}"
|
||||
token = "${get_env("INCUS_TOKEN_${upper(local.node_name)}")}"
|
||||
default = true
|
||||
}
|
||||
}
|
||||
EOF
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
description: Hashicorp Consul Server
|
||||
cobbler_mgmt_classes:
|
||||
- roles::infra::storage::consul
|
||||
profiles:
|
||||
- disk10
|
||||
- net_com1_eth0
|
||||
- 2core2048
|
||||
storage_volumes:
|
||||
consul:
|
||||
pool: fastpool
|
||||
path: /data
|
||||
config:
|
||||
size: 20GB
|
||||
@@ -0,0 +1,52 @@
|
||||
locals {
|
||||
node_name = "prodnxsr0009"
|
||||
config_common = yamldecode(file("${get_terragrunt_dir()}/../config_common.yaml"))
|
||||
config_specific = yamldecode(file("${get_terragrunt_dir()}/config.yaml"))
|
||||
config = merge(local.config_common, local.config_specific)
|
||||
instance_name = basename(get_terragrunt_dir())
|
||||
}
|
||||
|
||||
inputs = merge(
|
||||
{
|
||||
name = local.instance_name
|
||||
},
|
||||
local.config
|
||||
)
|
||||
|
||||
include "root" {
|
||||
path = find_in_parent_folders("root.hcl")
|
||||
}
|
||||
|
||||
include "instances" {
|
||||
path = find_in_parent_folders("instances.hcl")
|
||||
expose = true
|
||||
merge_strategy = "deep"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
paths = ["${get_repo_root()}/config/nodes/${local.node_name}"]
|
||||
}
|
||||
|
||||
terraform {
|
||||
source = "${get_repo_root()}/modules/instance"
|
||||
}
|
||||
|
||||
generate "incus" {
|
||||
path = "incus.tf"
|
||||
if_exists = "overwrite_terragrunt"
|
||||
contents = <<-EOF
|
||||
provider "incus" {
|
||||
generate_client_certificates = true
|
||||
accept_remote_certificate = true
|
||||
|
||||
remote {
|
||||
name = "${basename(get_terragrunt_dir())}"
|
||||
scheme = "https"
|
||||
address = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_addr}"
|
||||
port = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_port}"
|
||||
token = "${get_env("INCUS_TOKEN_${upper(local.node_name)}")}"
|
||||
default = true
|
||||
}
|
||||
}
|
||||
EOF
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
description: Hashicorp Consul Server
|
||||
cobbler_mgmt_classes:
|
||||
- roles::infra::storage::consul
|
||||
profiles:
|
||||
- disk10
|
||||
- net_com1_eth0
|
||||
- 2core2048
|
||||
storage_volumes:
|
||||
consul:
|
||||
pool: fastpool
|
||||
path: /data
|
||||
config:
|
||||
size: 20GB
|
||||
@@ -0,0 +1,52 @@
|
||||
locals {
|
||||
node_name = "prodnxsr0010"
|
||||
config_common = yamldecode(file("${get_terragrunt_dir()}/../config_common.yaml"))
|
||||
config_specific = yamldecode(file("${get_terragrunt_dir()}/config.yaml"))
|
||||
config = merge(local.config_common, local.config_specific)
|
||||
instance_name = basename(get_terragrunt_dir())
|
||||
}
|
||||
|
||||
inputs = merge(
|
||||
{
|
||||
name = local.instance_name
|
||||
},
|
||||
local.config
|
||||
)
|
||||
|
||||
include "root" {
|
||||
path = find_in_parent_folders("root.hcl")
|
||||
}
|
||||
|
||||
include "instances" {
|
||||
path = find_in_parent_folders("instances.hcl")
|
||||
expose = true
|
||||
merge_strategy = "deep"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
paths = ["${get_repo_root()}/config/nodes/${local.node_name}"]
|
||||
}
|
||||
|
||||
terraform {
|
||||
source = "${get_repo_root()}/modules/instance"
|
||||
}
|
||||
|
||||
generate "incus" {
|
||||
path = "incus.tf"
|
||||
if_exists = "overwrite_terragrunt"
|
||||
contents = <<-EOF
|
||||
provider "incus" {
|
||||
generate_client_certificates = true
|
||||
accept_remote_certificate = true
|
||||
|
||||
remote {
|
||||
name = "${basename(get_terragrunt_dir())}"
|
||||
scheme = "https"
|
||||
address = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_addr}"
|
||||
port = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_port}"
|
||||
token = "${get_env("INCUS_TOKEN_${upper(local.node_name)}")}"
|
||||
default = true
|
||||
}
|
||||
}
|
||||
EOF
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
description: Hashicorp Consul Server
|
||||
cobbler_mgmt_classes:
|
||||
- roles::infra::storage::consul
|
||||
profiles:
|
||||
- disk10
|
||||
- net_com1_eth0
|
||||
- 2core2048
|
||||
storage_volumes:
|
||||
consul:
|
||||
pool: fastpool
|
||||
path: /data
|
||||
config:
|
||||
size: 20GB
|
||||
@@ -0,0 +1,52 @@
|
||||
locals {
|
||||
node_name = "prodnxsr0011"
|
||||
config_common = yamldecode(file("${get_terragrunt_dir()}/../config_common.yaml"))
|
||||
config_specific = yamldecode(file("${get_terragrunt_dir()}/config.yaml"))
|
||||
config = merge(local.config_common, local.config_specific)
|
||||
instance_name = basename(get_terragrunt_dir())
|
||||
}
|
||||
|
||||
inputs = merge(
|
||||
{
|
||||
name = local.instance_name
|
||||
},
|
||||
local.config
|
||||
)
|
||||
|
||||
include "root" {
|
||||
path = find_in_parent_folders("root.hcl")
|
||||
}
|
||||
|
||||
include "instances" {
|
||||
path = find_in_parent_folders("instances.hcl")
|
||||
expose = true
|
||||
merge_strategy = "deep"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
paths = ["${get_repo_root()}/config/nodes/${local.node_name}"]
|
||||
}
|
||||
|
||||
terraform {
|
||||
source = "${get_repo_root()}/modules/instance"
|
||||
}
|
||||
|
||||
generate "incus" {
|
||||
path = "incus.tf"
|
||||
if_exists = "overwrite_terragrunt"
|
||||
contents = <<-EOF
|
||||
provider "incus" {
|
||||
generate_client_certificates = true
|
||||
accept_remote_certificate = true
|
||||
|
||||
remote {
|
||||
name = "${basename(get_terragrunt_dir())}"
|
||||
scheme = "https"
|
||||
address = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_addr}"
|
||||
port = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_port}"
|
||||
token = "${get_env("INCUS_TOKEN_${upper(local.node_name)}")}"
|
||||
default = true
|
||||
}
|
||||
}
|
||||
EOF
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
description: Hashicorp Consul Server
|
||||
cobbler_mgmt_classes:
|
||||
- roles::infra::storage::consul
|
||||
profiles:
|
||||
- disk10
|
||||
- net_com1_eth0
|
||||
- 2core2048
|
||||
storage_volumes:
|
||||
consul:
|
||||
pool: fastpool
|
||||
path: /data
|
||||
config:
|
||||
size: 20GB
|
||||
@@ -0,0 +1,52 @@
|
||||
locals {
|
||||
node_name = "prodnxsr0012"
|
||||
config_common = yamldecode(file("${get_terragrunt_dir()}/../config_common.yaml"))
|
||||
config_specific = yamldecode(file("${get_terragrunt_dir()}/config.yaml"))
|
||||
config = merge(local.config_common, local.config_specific)
|
||||
instance_name = basename(get_terragrunt_dir())
|
||||
}
|
||||
|
||||
inputs = merge(
|
||||
{
|
||||
name = local.instance_name
|
||||
},
|
||||
local.config
|
||||
)
|
||||
|
||||
include "root" {
|
||||
path = find_in_parent_folders("root.hcl")
|
||||
}
|
||||
|
||||
include "instances" {
|
||||
path = find_in_parent_folders("instances.hcl")
|
||||
expose = true
|
||||
merge_strategy = "deep"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
paths = ["${get_repo_root()}/config/nodes/${local.node_name}"]
|
||||
}
|
||||
|
||||
terraform {
|
||||
source = "${get_repo_root()}/modules/instance"
|
||||
}
|
||||
|
||||
generate "incus" {
|
||||
path = "incus.tf"
|
||||
if_exists = "overwrite_terragrunt"
|
||||
contents = <<-EOF
|
||||
provider "incus" {
|
||||
generate_client_certificates = true
|
||||
accept_remote_certificate = true
|
||||
|
||||
remote {
|
||||
name = "${basename(get_terragrunt_dir())}"
|
||||
scheme = "https"
|
||||
address = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_addr}"
|
||||
port = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_port}"
|
||||
token = "${get_env("INCUS_TOKEN_${upper(local.node_name)}")}"
|
||||
default = true
|
||||
}
|
||||
}
|
||||
EOF
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
description: Hashicorp Consul Server
|
||||
cobbler_mgmt_classes:
|
||||
- roles::infra::storage::consul
|
||||
profiles:
|
||||
- disk10
|
||||
- net_com1_eth0
|
||||
- 2core2048
|
||||
storage_volumes:
|
||||
consul:
|
||||
pool: fastpool
|
||||
path: /data
|
||||
config:
|
||||
size: 20GB
|
||||
@@ -0,0 +1,52 @@
|
||||
locals {
|
||||
node_name = "prodnxsr0013"
|
||||
config_common = yamldecode(file("${get_terragrunt_dir()}/../config_common.yaml"))
|
||||
config_specific = yamldecode(file("${get_terragrunt_dir()}/config.yaml"))
|
||||
config = merge(local.config_common, local.config_specific)
|
||||
instance_name = basename(get_terragrunt_dir())
|
||||
}
|
||||
|
||||
inputs = merge(
|
||||
{
|
||||
name = local.instance_name
|
||||
},
|
||||
local.config
|
||||
)
|
||||
|
||||
include "root" {
|
||||
path = find_in_parent_folders("root.hcl")
|
||||
}
|
||||
|
||||
include "instances" {
|
||||
path = find_in_parent_folders("instances.hcl")
|
||||
expose = true
|
||||
merge_strategy = "deep"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
paths = ["${get_repo_root()}/config/nodes/${local.node_name}"]
|
||||
}
|
||||
|
||||
terraform {
|
||||
source = "${get_repo_root()}/modules/instance"
|
||||
}
|
||||
|
||||
generate "incus" {
|
||||
path = "incus.tf"
|
||||
if_exists = "overwrite_terragrunt"
|
||||
contents = <<-EOF
|
||||
provider "incus" {
|
||||
generate_client_certificates = true
|
||||
accept_remote_certificate = true
|
||||
|
||||
remote {
|
||||
name = "${basename(get_terragrunt_dir())}"
|
||||
scheme = "https"
|
||||
address = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_addr}"
|
||||
port = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_port}"
|
||||
token = "${get_env("INCUS_TOKEN_${upper(local.node_name)}")}"
|
||||
default = true
|
||||
}
|
||||
}
|
||||
EOF
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
description: PuppetDB API
|
||||
cobbler_mgmt_classes:
|
||||
- roles::infra::puppetdb::api
|
||||
profiles:
|
||||
- disk10
|
||||
- net_com1_eth0
|
||||
- 2core2048
|
||||
@@ -0,0 +1,52 @@
|
||||
locals {
|
||||
node_name = "prodnxsr0009"
|
||||
config_common = yamldecode(file("${get_terragrunt_dir()}/../config_common.yaml"))
|
||||
config_specific = yamldecode(file("${get_terragrunt_dir()}/config.yaml"))
|
||||
config = merge(local.config_common, local.config_specific)
|
||||
instance_name = basename(get_terragrunt_dir())
|
||||
}
|
||||
|
||||
inputs = merge(
|
||||
{
|
||||
name = local.instance_name
|
||||
},
|
||||
local.config
|
||||
)
|
||||
|
||||
include "root" {
|
||||
path = find_in_parent_folders("root.hcl")
|
||||
}
|
||||
|
||||
include "instances" {
|
||||
path = find_in_parent_folders("instances.hcl")
|
||||
expose = true
|
||||
merge_strategy = "deep"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
paths = ["${get_repo_root()}/config/nodes/${local.node_name}"]
|
||||
}
|
||||
|
||||
terraform {
|
||||
source = "${get_repo_root()}/modules/instance"
|
||||
}
|
||||
|
||||
generate "incus" {
|
||||
path = "incus.tf"
|
||||
if_exists = "overwrite_terragrunt"
|
||||
contents = <<-EOF
|
||||
provider "incus" {
|
||||
generate_client_certificates = true
|
||||
accept_remote_certificate = true
|
||||
|
||||
remote {
|
||||
name = "${basename(get_terragrunt_dir())}"
|
||||
scheme = "https"
|
||||
address = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_addr}"
|
||||
port = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_port}"
|
||||
token = "${get_env("INCUS_TOKEN_${upper(local.node_name)}")}"
|
||||
default = true
|
||||
}
|
||||
}
|
||||
EOF
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
description: PuppetDB API
|
||||
cobbler_mgmt_classes:
|
||||
- roles::infra::puppetdb::api
|
||||
profiles:
|
||||
- disk10
|
||||
- net_com1_eth0
|
||||
- 2core2048
|
||||
@@ -0,0 +1,52 @@
|
||||
locals {
|
||||
node_name = "prodnxsr0010"
|
||||
config_common = yamldecode(file("${get_terragrunt_dir()}/../config_common.yaml"))
|
||||
config_specific = yamldecode(file("${get_terragrunt_dir()}/config.yaml"))
|
||||
config = merge(local.config_common, local.config_specific)
|
||||
instance_name = basename(get_terragrunt_dir())
|
||||
}
|
||||
|
||||
inputs = merge(
|
||||
{
|
||||
name = local.instance_name
|
||||
},
|
||||
local.config
|
||||
)
|
||||
|
||||
include "root" {
|
||||
path = find_in_parent_folders("root.hcl")
|
||||
}
|
||||
|
||||
include "instances" {
|
||||
path = find_in_parent_folders("instances.hcl")
|
||||
expose = true
|
||||
merge_strategy = "deep"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
paths = ["${get_repo_root()}/config/nodes/${local.node_name}"]
|
||||
}
|
||||
|
||||
terraform {
|
||||
source = "${get_repo_root()}/modules/instance"
|
||||
}
|
||||
|
||||
generate "incus" {
|
||||
path = "incus.tf"
|
||||
if_exists = "overwrite_terragrunt"
|
||||
contents = <<-EOF
|
||||
provider "incus" {
|
||||
generate_client_certificates = true
|
||||
accept_remote_certificate = true
|
||||
|
||||
remote {
|
||||
name = "${basename(get_terragrunt_dir())}"
|
||||
scheme = "https"
|
||||
address = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_addr}"
|
||||
port = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_port}"
|
||||
token = "${get_env("INCUS_TOKEN_${upper(local.node_name)}")}"
|
||||
default = true
|
||||
}
|
||||
}
|
||||
EOF
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
description: PuppetDB API
|
||||
cobbler_mgmt_classes:
|
||||
- roles::infra::puppetdb::api
|
||||
profiles:
|
||||
- disk10
|
||||
- net_com1_eth0
|
||||
- 2core2048
|
||||
@@ -0,0 +1,52 @@
|
||||
locals {
|
||||
node_name = "prodnxsr0011"
|
||||
config_common = yamldecode(file("${get_terragrunt_dir()}/../config_common.yaml"))
|
||||
config_specific = yamldecode(file("${get_terragrunt_dir()}/config.yaml"))
|
||||
config = merge(local.config_common, local.config_specific)
|
||||
instance_name = basename(get_terragrunt_dir())
|
||||
}
|
||||
|
||||
inputs = merge(
|
||||
{
|
||||
name = local.instance_name
|
||||
},
|
||||
local.config
|
||||
)
|
||||
|
||||
include "root" {
|
||||
path = find_in_parent_folders("root.hcl")
|
||||
}
|
||||
|
||||
include "instances" {
|
||||
path = find_in_parent_folders("instances.hcl")
|
||||
expose = true
|
||||
merge_strategy = "deep"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
paths = ["${get_repo_root()}/config/nodes/${local.node_name}"]
|
||||
}
|
||||
|
||||
terraform {
|
||||
source = "${get_repo_root()}/modules/instance"
|
||||
}
|
||||
|
||||
generate "incus" {
|
||||
path = "incus.tf"
|
||||
if_exists = "overwrite_terragrunt"
|
||||
contents = <<-EOF
|
||||
provider "incus" {
|
||||
generate_client_certificates = true
|
||||
accept_remote_certificate = true
|
||||
|
||||
remote {
|
||||
name = "${basename(get_terragrunt_dir())}"
|
||||
scheme = "https"
|
||||
address = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_addr}"
|
||||
port = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_port}"
|
||||
token = "${get_env("INCUS_TOKEN_${upper(local.node_name)}")}"
|
||||
default = true
|
||||
}
|
||||
}
|
||||
EOF
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
description: Puppetboard
|
||||
cobbler_mgmt_classes:
|
||||
- roles::infra::puppetboard::server
|
||||
profiles:
|
||||
- disk10
|
||||
- net_com1_eth0
|
||||
- 2core2048
|
||||
@@ -0,0 +1,52 @@
|
||||
locals {
|
||||
node_name = "prodnxsr0009"
|
||||
config_common = yamldecode(file("${get_terragrunt_dir()}/../config_common.yaml"))
|
||||
config_specific = yamldecode(file("${get_terragrunt_dir()}/config.yaml"))
|
||||
config = merge(local.config_common, local.config_specific)
|
||||
instance_name = basename(get_terragrunt_dir())
|
||||
}
|
||||
|
||||
inputs = merge(
|
||||
{
|
||||
name = local.instance_name
|
||||
},
|
||||
local.config
|
||||
)
|
||||
|
||||
include "root" {
|
||||
path = find_in_parent_folders("root.hcl")
|
||||
}
|
||||
|
||||
include "instances" {
|
||||
path = find_in_parent_folders("instances.hcl")
|
||||
expose = true
|
||||
merge_strategy = "deep"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
paths = ["${get_repo_root()}/config/nodes/${local.node_name}"]
|
||||
}
|
||||
|
||||
terraform {
|
||||
source = "${get_repo_root()}/modules/instance"
|
||||
}
|
||||
|
||||
generate "incus" {
|
||||
path = "incus.tf"
|
||||
if_exists = "overwrite_terragrunt"
|
||||
contents = <<-EOF
|
||||
provider "incus" {
|
||||
generate_client_certificates = true
|
||||
accept_remote_certificate = true
|
||||
|
||||
remote {
|
||||
name = "${basename(get_terragrunt_dir())}"
|
||||
scheme = "https"
|
||||
address = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_addr}"
|
||||
port = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_port}"
|
||||
token = "${get_env("INCUS_TOKEN_${upper(local.node_name)}")}"
|
||||
default = true
|
||||
}
|
||||
}
|
||||
EOF
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
description: Puppetboard
|
||||
cobbler_mgmt_classes:
|
||||
- roles::infra::puppetboard::server
|
||||
profiles:
|
||||
- disk10
|
||||
- net_com1_eth0
|
||||
- 2core2048
|
||||
@@ -0,0 +1,52 @@
|
||||
locals {
|
||||
node_name = "prodnxsr0010"
|
||||
config_common = yamldecode(file("${get_terragrunt_dir()}/../config_common.yaml"))
|
||||
config_specific = yamldecode(file("${get_terragrunt_dir()}/config.yaml"))
|
||||
config = merge(local.config_common, local.config_specific)
|
||||
instance_name = basename(get_terragrunt_dir())
|
||||
}
|
||||
|
||||
inputs = merge(
|
||||
{
|
||||
name = local.instance_name
|
||||
},
|
||||
local.config
|
||||
)
|
||||
|
||||
include "root" {
|
||||
path = find_in_parent_folders("root.hcl")
|
||||
}
|
||||
|
||||
include "instances" {
|
||||
path = find_in_parent_folders("instances.hcl")
|
||||
expose = true
|
||||
merge_strategy = "deep"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
paths = ["${get_repo_root()}/config/nodes/${local.node_name}"]
|
||||
}
|
||||
|
||||
terraform {
|
||||
source = "${get_repo_root()}/modules/instance"
|
||||
}
|
||||
|
||||
generate "incus" {
|
||||
path = "incus.tf"
|
||||
if_exists = "overwrite_terragrunt"
|
||||
contents = <<-EOF
|
||||
provider "incus" {
|
||||
generate_client_certificates = true
|
||||
accept_remote_certificate = true
|
||||
|
||||
remote {
|
||||
name = "${basename(get_terragrunt_dir())}"
|
||||
scheme = "https"
|
||||
address = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_addr}"
|
||||
port = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_port}"
|
||||
token = "${get_env("INCUS_TOKEN_${upper(local.node_name)}")}"
|
||||
default = true
|
||||
}
|
||||
}
|
||||
EOF
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
description: Grafana
|
||||
cobbler_mgmt_classes:
|
||||
- roles::infra::metrics::grafana
|
||||
profiles:
|
||||
- disk10
|
||||
- net_com1_eth0
|
||||
- 2core2048
|
||||
@@ -0,0 +1,52 @@
|
||||
locals {
|
||||
node_name = "prodnxsr0011"
|
||||
config_common = yamldecode(file("${get_terragrunt_dir()}/../config_common.yaml"))
|
||||
config_specific = yamldecode(file("${get_terragrunt_dir()}/config.yaml"))
|
||||
config = merge(local.config_common, local.config_specific)
|
||||
instance_name = basename(get_terragrunt_dir())
|
||||
}
|
||||
|
||||
inputs = merge(
|
||||
{
|
||||
name = local.instance_name
|
||||
},
|
||||
local.config
|
||||
)
|
||||
|
||||
include "root" {
|
||||
path = find_in_parent_folders("root.hcl")
|
||||
}
|
||||
|
||||
include "instances" {
|
||||
path = find_in_parent_folders("instances.hcl")
|
||||
expose = true
|
||||
merge_strategy = "deep"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
paths = ["${get_repo_root()}/config/nodes/${local.node_name}"]
|
||||
}
|
||||
|
||||
terraform {
|
||||
source = "${get_repo_root()}/modules/instance"
|
||||
}
|
||||
|
||||
generate "incus" {
|
||||
path = "incus.tf"
|
||||
if_exists = "overwrite_terragrunt"
|
||||
contents = <<-EOF
|
||||
provider "incus" {
|
||||
generate_client_certificates = true
|
||||
accept_remote_certificate = true
|
||||
|
||||
remote {
|
||||
name = "${basename(get_terragrunt_dir())}"
|
||||
scheme = "https"
|
||||
address = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_addr}"
|
||||
port = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_port}"
|
||||
token = "${get_env("INCUS_TOKEN_${upper(local.node_name)}")}"
|
||||
default = true
|
||||
}
|
||||
}
|
||||
EOF
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
description: Grafana
|
||||
cobbler_mgmt_classes:
|
||||
- roles::infra::metrics::grafana
|
||||
profiles:
|
||||
- disk10
|
||||
- net_com1_eth0
|
||||
- 2core2048
|
||||
@@ -0,0 +1,52 @@
|
||||
locals {
|
||||
node_name = "prodnxsr0012"
|
||||
config_common = yamldecode(file("${get_terragrunt_dir()}/../config_common.yaml"))
|
||||
config_specific = yamldecode(file("${get_terragrunt_dir()}/config.yaml"))
|
||||
config = merge(local.config_common, local.config_specific)
|
||||
instance_name = basename(get_terragrunt_dir())
|
||||
}
|
||||
|
||||
inputs = merge(
|
||||
{
|
||||
name = local.instance_name
|
||||
},
|
||||
local.config
|
||||
)
|
||||
|
||||
include "root" {
|
||||
path = find_in_parent_folders("root.hcl")
|
||||
}
|
||||
|
||||
include "instances" {
|
||||
path = find_in_parent_folders("instances.hcl")
|
||||
expose = true
|
||||
merge_strategy = "deep"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
paths = ["${get_repo_root()}/config/nodes/${local.node_name}"]
|
||||
}
|
||||
|
||||
terraform {
|
||||
source = "${get_repo_root()}/modules/instance"
|
||||
}
|
||||
|
||||
generate "incus" {
|
||||
path = "incus.tf"
|
||||
if_exists = "overwrite_terragrunt"
|
||||
contents = <<-EOF
|
||||
provider "incus" {
|
||||
generate_client_certificates = true
|
||||
accept_remote_certificate = true
|
||||
|
||||
remote {
|
||||
name = "${basename(get_terragrunt_dir())}"
|
||||
scheme = "https"
|
||||
address = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_addr}"
|
||||
port = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_port}"
|
||||
token = "${get_env("INCUS_TOKEN_${upper(local.node_name)}")}"
|
||||
default = true
|
||||
}
|
||||
}
|
||||
EOF
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
description: LDAP Server
|
||||
cobbler_mgmt_classes:
|
||||
- roles::infra::auth::glauth
|
||||
profiles:
|
||||
- disk10
|
||||
- net_com1_eth0
|
||||
- 2core2048
|
||||
@@ -0,0 +1,52 @@
|
||||
locals {
|
||||
node_name = "prodnxsr0013"
|
||||
config_common = yamldecode(file("${get_terragrunt_dir()}/../config_common.yaml"))
|
||||
config_specific = yamldecode(file("${get_terragrunt_dir()}/config.yaml"))
|
||||
config = merge(local.config_common, local.config_specific)
|
||||
instance_name = basename(get_terragrunt_dir())
|
||||
}
|
||||
|
||||
inputs = merge(
|
||||
{
|
||||
name = local.instance_name
|
||||
},
|
||||
local.config
|
||||
)
|
||||
|
||||
include "root" {
|
||||
path = find_in_parent_folders("root.hcl")
|
||||
}
|
||||
|
||||
include "instances" {
|
||||
path = find_in_parent_folders("instances.hcl")
|
||||
expose = true
|
||||
merge_strategy = "deep"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
paths = ["${get_repo_root()}/config/nodes/${local.node_name}"]
|
||||
}
|
||||
|
||||
terraform {
|
||||
source = "${get_repo_root()}/modules/instance"
|
||||
}
|
||||
|
||||
generate "incus" {
|
||||
path = "incus.tf"
|
||||
if_exists = "overwrite_terragrunt"
|
||||
contents = <<-EOF
|
||||
provider "incus" {
|
||||
generate_client_certificates = true
|
||||
accept_remote_certificate = true
|
||||
|
||||
remote {
|
||||
name = "${basename(get_terragrunt_dir())}"
|
||||
scheme = "https"
|
||||
address = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_addr}"
|
||||
port = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_port}"
|
||||
token = "${get_env("INCUS_TOKEN_${upper(local.node_name)}")}"
|
||||
default = true
|
||||
}
|
||||
}
|
||||
EOF
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
description: LDAP Server
|
||||
cobbler_mgmt_classes:
|
||||
- roles::infra::auth::glauth
|
||||
profiles:
|
||||
- disk10
|
||||
- net_com1_eth0
|
||||
- 2core2048
|
||||
@@ -0,0 +1,52 @@
|
||||
locals {
|
||||
node_name = "prodnxsr0009"
|
||||
config_common = yamldecode(file("${get_terragrunt_dir()}/../config_common.yaml"))
|
||||
config_specific = yamldecode(file("${get_terragrunt_dir()}/config.yaml"))
|
||||
config = merge(local.config_common, local.config_specific)
|
||||
instance_name = basename(get_terragrunt_dir())
|
||||
}
|
||||
|
||||
inputs = merge(
|
||||
{
|
||||
name = local.instance_name
|
||||
},
|
||||
local.config
|
||||
)
|
||||
|
||||
include "root" {
|
||||
path = find_in_parent_folders("root.hcl")
|
||||
}
|
||||
|
||||
include "instances" {
|
||||
path = find_in_parent_folders("instances.hcl")
|
||||
expose = true
|
||||
merge_strategy = "deep"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
paths = ["${get_repo_root()}/config/nodes/${local.node_name}"]
|
||||
}
|
||||
|
||||
terraform {
|
||||
source = "${get_repo_root()}/modules/instance"
|
||||
}
|
||||
|
||||
generate "incus" {
|
||||
path = "incus.tf"
|
||||
if_exists = "overwrite_terragrunt"
|
||||
contents = <<-EOF
|
||||
provider "incus" {
|
||||
generate_client_certificates = true
|
||||
accept_remote_certificate = true
|
||||
|
||||
remote {
|
||||
name = "${basename(get_terragrunt_dir())}"
|
||||
scheme = "https"
|
||||
address = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_addr}"
|
||||
port = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_port}"
|
||||
token = "${get_env("INCUS_TOKEN_${upper(local.node_name)}")}"
|
||||
default = true
|
||||
}
|
||||
}
|
||||
EOF
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
description: LDAP Server
|
||||
cobbler_mgmt_classes:
|
||||
- roles::infra::auth::glauth
|
||||
profiles:
|
||||
- disk10
|
||||
- net_com1_eth0
|
||||
- 2core2048
|
||||
@@ -0,0 +1,52 @@
|
||||
locals {
|
||||
node_name = "prodnxsr0010"
|
||||
config_common = yamldecode(file("${get_terragrunt_dir()}/../config_common.yaml"))
|
||||
config_specific = yamldecode(file("${get_terragrunt_dir()}/config.yaml"))
|
||||
config = merge(local.config_common, local.config_specific)
|
||||
instance_name = basename(get_terragrunt_dir())
|
||||
}
|
||||
|
||||
inputs = merge(
|
||||
{
|
||||
name = local.instance_name
|
||||
},
|
||||
local.config
|
||||
)
|
||||
|
||||
include "root" {
|
||||
path = find_in_parent_folders("root.hcl")
|
||||
}
|
||||
|
||||
include "instances" {
|
||||
path = find_in_parent_folders("instances.hcl")
|
||||
expose = true
|
||||
merge_strategy = "deep"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
paths = ["${get_repo_root()}/config/nodes/${local.node_name}"]
|
||||
}
|
||||
|
||||
terraform {
|
||||
source = "${get_repo_root()}/modules/instance"
|
||||
}
|
||||
|
||||
generate "incus" {
|
||||
path = "incus.tf"
|
||||
if_exists = "overwrite_terragrunt"
|
||||
contents = <<-EOF
|
||||
provider "incus" {
|
||||
generate_client_certificates = true
|
||||
accept_remote_certificate = true
|
||||
|
||||
remote {
|
||||
name = "${basename(get_terragrunt_dir())}"
|
||||
scheme = "https"
|
||||
address = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_addr}"
|
||||
port = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_port}"
|
||||
token = "${get_env("INCUS_TOKEN_${upper(local.node_name)}")}"
|
||||
default = true
|
||||
}
|
||||
}
|
||||
EOF
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
description: SSH Jumphost
|
||||
cobbler_mgmt_classes:
|
||||
- roles::infra::proxy::jumphost
|
||||
profiles:
|
||||
- disk10
|
||||
- net_com1_eth0
|
||||
- 2core2048
|
||||
@@ -0,0 +1,52 @@
|
||||
locals {
|
||||
node_name = "prodnxsr0011"
|
||||
config_common = yamldecode(file("${get_terragrunt_dir()}/../config_common.yaml"))
|
||||
config_specific = yamldecode(file("${get_terragrunt_dir()}/config.yaml"))
|
||||
config = merge(local.config_common, local.config_specific)
|
||||
instance_name = basename(get_terragrunt_dir())
|
||||
}
|
||||
|
||||
inputs = merge(
|
||||
{
|
||||
name = local.instance_name
|
||||
},
|
||||
local.config
|
||||
)
|
||||
|
||||
include "root" {
|
||||
path = find_in_parent_folders("root.hcl")
|
||||
}
|
||||
|
||||
include "instances" {
|
||||
path = find_in_parent_folders("instances.hcl")
|
||||
expose = true
|
||||
merge_strategy = "deep"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
paths = ["${get_repo_root()}/config/nodes/${local.node_name}"]
|
||||
}
|
||||
|
||||
terraform {
|
||||
source = "${get_repo_root()}/modules/instance"
|
||||
}
|
||||
|
||||
generate "incus" {
|
||||
path = "incus.tf"
|
||||
if_exists = "overwrite_terragrunt"
|
||||
contents = <<-EOF
|
||||
provider "incus" {
|
||||
generate_client_certificates = true
|
||||
accept_remote_certificate = true
|
||||
|
||||
remote {
|
||||
name = "${basename(get_terragrunt_dir())}"
|
||||
scheme = "https"
|
||||
address = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_addr}"
|
||||
port = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_port}"
|
||||
token = "${get_env("INCUS_TOKEN_${upper(local.node_name)}")}"
|
||||
default = true
|
||||
}
|
||||
}
|
||||
EOF
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
description: SSH Jumphost
|
||||
cobbler_mgmt_classes:
|
||||
- roles::infra::proxy::jumphost
|
||||
profiles:
|
||||
- disk10
|
||||
- net_com1_eth0
|
||||
- 2core2048
|
||||
@@ -0,0 +1,52 @@
|
||||
locals {
|
||||
node_name = "prodnxsr0012"
|
||||
config_common = yamldecode(file("${get_terragrunt_dir()}/../config_common.yaml"))
|
||||
config_specific = yamldecode(file("${get_terragrunt_dir()}/config.yaml"))
|
||||
config = merge(local.config_common, local.config_specific)
|
||||
instance_name = basename(get_terragrunt_dir())
|
||||
}
|
||||
|
||||
inputs = merge(
|
||||
{
|
||||
name = local.instance_name
|
||||
},
|
||||
local.config
|
||||
)
|
||||
|
||||
include "root" {
|
||||
path = find_in_parent_folders("root.hcl")
|
||||
}
|
||||
|
||||
include "instances" {
|
||||
path = find_in_parent_folders("instances.hcl")
|
||||
expose = true
|
||||
merge_strategy = "deep"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
paths = ["${get_repo_root()}/config/nodes/${local.node_name}"]
|
||||
}
|
||||
|
||||
terraform {
|
||||
source = "${get_repo_root()}/modules/instance"
|
||||
}
|
||||
|
||||
generate "incus" {
|
||||
path = "incus.tf"
|
||||
if_exists = "overwrite_terragrunt"
|
||||
contents = <<-EOF
|
||||
provider "incus" {
|
||||
generate_client_certificates = true
|
||||
accept_remote_certificate = true
|
||||
|
||||
remote {
|
||||
name = "${basename(get_terragrunt_dir())}"
|
||||
scheme = "https"
|
||||
address = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_addr}"
|
||||
port = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_port}"
|
||||
token = "${get_env("INCUS_TOKEN_${upper(local.node_name)}")}"
|
||||
default = true
|
||||
}
|
||||
}
|
||||
EOF
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
description: SSH Jumphost
|
||||
cobbler_mgmt_classes:
|
||||
- roles::infra::proxy::jumphost
|
||||
profiles:
|
||||
- disk10
|
||||
- net_com1_eth0
|
||||
- 2core2048
|
||||
@@ -0,0 +1,52 @@
|
||||
locals {
|
||||
node_name = "prodnxsr0013"
|
||||
config_common = yamldecode(file("${get_terragrunt_dir()}/../config_common.yaml"))
|
||||
config_specific = yamldecode(file("${get_terragrunt_dir()}/config.yaml"))
|
||||
config = merge(local.config_common, local.config_specific)
|
||||
instance_name = basename(get_terragrunt_dir())
|
||||
}
|
||||
|
||||
inputs = merge(
|
||||
{
|
||||
name = local.instance_name
|
||||
},
|
||||
local.config
|
||||
)
|
||||
|
||||
include "root" {
|
||||
path = find_in_parent_folders("root.hcl")
|
||||
}
|
||||
|
||||
include "instances" {
|
||||
path = find_in_parent_folders("instances.hcl")
|
||||
expose = true
|
||||
merge_strategy = "deep"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
paths = ["${get_repo_root()}/config/nodes/${local.node_name}"]
|
||||
}
|
||||
|
||||
terraform {
|
||||
source = "${get_repo_root()}/modules/instance"
|
||||
}
|
||||
|
||||
generate "incus" {
|
||||
path = "incus.tf"
|
||||
if_exists = "overwrite_terragrunt"
|
||||
contents = <<-EOF
|
||||
provider "incus" {
|
||||
generate_client_certificates = true
|
||||
accept_remote_certificate = true
|
||||
|
||||
remote {
|
||||
name = "${basename(get_terragrunt_dir())}"
|
||||
scheme = "https"
|
||||
address = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_addr}"
|
||||
port = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_port}"
|
||||
token = "${get_env("INCUS_TOKEN_${upper(local.node_name)}")}"
|
||||
default = true
|
||||
}
|
||||
}
|
||||
EOF
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
description: Gitea Runner
|
||||
cobbler_mgmt_classes:
|
||||
- roles::infra::git::runner
|
||||
profiles:
|
||||
- disk10
|
||||
- net_com1_eth0
|
||||
- 4core8192
|
||||
- fuse
|
||||
- kmsg
|
||||
- tun
|
||||
- docker
|
||||
storage_volumes:
|
||||
gitea_runner:
|
||||
pool: fastpool
|
||||
path: /data
|
||||
config:
|
||||
size: 50GB
|
||||
@@ -0,0 +1,52 @@
|
||||
locals {
|
||||
node_name = "prodnxsr0009"
|
||||
config_common = yamldecode(file("${get_terragrunt_dir()}/../config_common.yaml"))
|
||||
config_specific = yamldecode(file("${get_terragrunt_dir()}/config.yaml"))
|
||||
config = merge(local.config_common, local.config_specific)
|
||||
instance_name = basename(get_terragrunt_dir())
|
||||
}
|
||||
|
||||
inputs = merge(
|
||||
{
|
||||
name = local.instance_name
|
||||
},
|
||||
local.config
|
||||
)
|
||||
|
||||
include "root" {
|
||||
path = find_in_parent_folders("root.hcl")
|
||||
}
|
||||
|
||||
include "instances" {
|
||||
path = find_in_parent_folders("instances.hcl")
|
||||
expose = true
|
||||
merge_strategy = "deep"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
paths = ["${get_repo_root()}/config/nodes/${local.node_name}"]
|
||||
}
|
||||
|
||||
terraform {
|
||||
source = "${get_repo_root()}/modules/instance"
|
||||
}
|
||||
|
||||
generate "incus" {
|
||||
path = "incus.tf"
|
||||
if_exists = "overwrite_terragrunt"
|
||||
contents = <<-EOF
|
||||
provider "incus" {
|
||||
generate_client_certificates = true
|
||||
accept_remote_certificate = true
|
||||
|
||||
remote {
|
||||
name = "${basename(get_terragrunt_dir())}"
|
||||
scheme = "https"
|
||||
address = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_addr}"
|
||||
port = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_port}"
|
||||
token = "${get_env("INCUS_TOKEN_${upper(local.node_name)}")}"
|
||||
default = true
|
||||
}
|
||||
}
|
||||
EOF
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
description: Gitea Runner
|
||||
cobbler_mgmt_classes:
|
||||
- roles::infra::git::runner
|
||||
profiles:
|
||||
- disk10
|
||||
- net_com1_eth0
|
||||
- 4core8192
|
||||
- fuse
|
||||
- kmsg
|
||||
- tun
|
||||
- docker
|
||||
storage_volumes:
|
||||
gitea_runner:
|
||||
pool: fastpool
|
||||
path: /data
|
||||
config:
|
||||
size: 50GB
|
||||
@@ -0,0 +1,52 @@
|
||||
locals {
|
||||
node_name = "prodnxsr0010"
|
||||
config_common = yamldecode(file("${get_terragrunt_dir()}/../config_common.yaml"))
|
||||
config_specific = yamldecode(file("${get_terragrunt_dir()}/config.yaml"))
|
||||
config = merge(local.config_common, local.config_specific)
|
||||
instance_name = basename(get_terragrunt_dir())
|
||||
}
|
||||
|
||||
inputs = merge(
|
||||
{
|
||||
name = local.instance_name
|
||||
},
|
||||
local.config
|
||||
)
|
||||
|
||||
include "root" {
|
||||
path = find_in_parent_folders("root.hcl")
|
||||
}
|
||||
|
||||
include "instances" {
|
||||
path = find_in_parent_folders("instances.hcl")
|
||||
expose = true
|
||||
merge_strategy = "deep"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
paths = ["${get_repo_root()}/config/nodes/${local.node_name}"]
|
||||
}
|
||||
|
||||
terraform {
|
||||
source = "${get_repo_root()}/modules/instance"
|
||||
}
|
||||
|
||||
generate "incus" {
|
||||
path = "incus.tf"
|
||||
if_exists = "overwrite_terragrunt"
|
||||
contents = <<-EOF
|
||||
provider "incus" {
|
||||
generate_client_certificates = true
|
||||
accept_remote_certificate = true
|
||||
|
||||
remote {
|
||||
name = "${basename(get_terragrunt_dir())}"
|
||||
scheme = "https"
|
||||
address = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_addr}"
|
||||
port = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_port}"
|
||||
token = "${get_env("INCUS_TOKEN_${upper(local.node_name)}")}"
|
||||
default = true
|
||||
}
|
||||
}
|
||||
EOF
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
description: Gitea Runner
|
||||
cobbler_mgmt_classes:
|
||||
- roles::infra::git::runner
|
||||
profiles:
|
||||
- disk10
|
||||
- net_com1_eth0
|
||||
- 4core8192
|
||||
- fuse
|
||||
- kmsg
|
||||
- tun
|
||||
- docker
|
||||
storage_volumes:
|
||||
gitea_runner:
|
||||
pool: fastpool
|
||||
path: /data
|
||||
config:
|
||||
size: 50GB
|
||||
@@ -0,0 +1,52 @@
|
||||
locals {
|
||||
node_name = "prodnxsr0011"
|
||||
config_common = yamldecode(file("${get_terragrunt_dir()}/../config_common.yaml"))
|
||||
config_specific = yamldecode(file("${get_terragrunt_dir()}/config.yaml"))
|
||||
config = merge(local.config_common, local.config_specific)
|
||||
instance_name = basename(get_terragrunt_dir())
|
||||
}
|
||||
|
||||
inputs = merge(
|
||||
{
|
||||
name = local.instance_name
|
||||
},
|
||||
local.config
|
||||
)
|
||||
|
||||
include "root" {
|
||||
path = find_in_parent_folders("root.hcl")
|
||||
}
|
||||
|
||||
include "instances" {
|
||||
path = find_in_parent_folders("instances.hcl")
|
||||
expose = true
|
||||
merge_strategy = "deep"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
paths = ["${get_repo_root()}/config/nodes/${local.node_name}"]
|
||||
}
|
||||
|
||||
terraform {
|
||||
source = "${get_repo_root()}/modules/instance"
|
||||
}
|
||||
|
||||
generate "incus" {
|
||||
path = "incus.tf"
|
||||
if_exists = "overwrite_terragrunt"
|
||||
contents = <<-EOF
|
||||
provider "incus" {
|
||||
generate_client_certificates = true
|
||||
accept_remote_certificate = true
|
||||
|
||||
remote {
|
||||
name = "${basename(get_terragrunt_dir())}"
|
||||
scheme = "https"
|
||||
address = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_addr}"
|
||||
port = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_port}"
|
||||
token = "${get_env("INCUS_TOKEN_${upper(local.node_name)}")}"
|
||||
default = true
|
||||
}
|
||||
}
|
||||
EOF
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
description: Nomad Server
|
||||
cobbler_mgmt_classes:
|
||||
- roles::infra::nomad::server
|
||||
profiles:
|
||||
- disk10
|
||||
- net_com1_eth0
|
||||
- 2core2048
|
||||
storage_volumes:
|
||||
nomad_server:
|
||||
pool: fastpool
|
||||
path: /data
|
||||
config:
|
||||
size: 20GB
|
||||
@@ -0,0 +1,52 @@
|
||||
locals {
|
||||
node_name = "prodnxsr0012"
|
||||
config_common = yamldecode(file("${get_terragrunt_dir()}/../config_common.yaml"))
|
||||
config_specific = yamldecode(file("${get_terragrunt_dir()}/config.yaml"))
|
||||
config = merge(local.config_common, local.config_specific)
|
||||
instance_name = basename(get_terragrunt_dir())
|
||||
}
|
||||
|
||||
inputs = merge(
|
||||
{
|
||||
name = local.instance_name
|
||||
},
|
||||
local.config
|
||||
)
|
||||
|
||||
include "root" {
|
||||
path = find_in_parent_folders("root.hcl")
|
||||
}
|
||||
|
||||
include "instances" {
|
||||
path = find_in_parent_folders("instances.hcl")
|
||||
expose = true
|
||||
merge_strategy = "deep"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
paths = ["${get_repo_root()}/config/nodes/${local.node_name}"]
|
||||
}
|
||||
|
||||
terraform {
|
||||
source = "${get_repo_root()}/modules/instance"
|
||||
}
|
||||
|
||||
generate "incus" {
|
||||
path = "incus.tf"
|
||||
if_exists = "overwrite_terragrunt"
|
||||
contents = <<-EOF
|
||||
provider "incus" {
|
||||
generate_client_certificates = true
|
||||
accept_remote_certificate = true
|
||||
|
||||
remote {
|
||||
name = "${basename(get_terragrunt_dir())}"
|
||||
scheme = "https"
|
||||
address = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_addr}"
|
||||
port = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_port}"
|
||||
token = "${get_env("INCUS_TOKEN_${upper(local.node_name)}")}"
|
||||
default = true
|
||||
}
|
||||
}
|
||||
EOF
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
description: Nomad Server
|
||||
cobbler_mgmt_classes:
|
||||
- roles::infra::nomad::server
|
||||
profiles:
|
||||
- disk10
|
||||
- net_com1_eth0
|
||||
- 2core2048
|
||||
storage_volumes:
|
||||
nomad_server:
|
||||
pool: fastpool
|
||||
path: /data
|
||||
config:
|
||||
size: 20GB
|
||||
@@ -0,0 +1,52 @@
|
||||
locals {
|
||||
node_name = "prodnxsr0013"
|
||||
config_common = yamldecode(file("${get_terragrunt_dir()}/../config_common.yaml"))
|
||||
config_specific = yamldecode(file("${get_terragrunt_dir()}/config.yaml"))
|
||||
config = merge(local.config_common, local.config_specific)
|
||||
instance_name = basename(get_terragrunt_dir())
|
||||
}
|
||||
|
||||
inputs = merge(
|
||||
{
|
||||
name = local.instance_name
|
||||
},
|
||||
local.config
|
||||
)
|
||||
|
||||
include "root" {
|
||||
path = find_in_parent_folders("root.hcl")
|
||||
}
|
||||
|
||||
include "instances" {
|
||||
path = find_in_parent_folders("instances.hcl")
|
||||
expose = true
|
||||
merge_strategy = "deep"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
paths = ["${get_repo_root()}/config/nodes/${local.node_name}"]
|
||||
}
|
||||
|
||||
terraform {
|
||||
source = "${get_repo_root()}/modules/instance"
|
||||
}
|
||||
|
||||
generate "incus" {
|
||||
path = "incus.tf"
|
||||
if_exists = "overwrite_terragrunt"
|
||||
contents = <<-EOF
|
||||
provider "incus" {
|
||||
generate_client_certificates = true
|
||||
accept_remote_certificate = true
|
||||
|
||||
remote {
|
||||
name = "${basename(get_terragrunt_dir())}"
|
||||
scheme = "https"
|
||||
address = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_addr}"
|
||||
port = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_port}"
|
||||
token = "${get_env("INCUS_TOKEN_${upper(local.node_name)}")}"
|
||||
default = true
|
||||
}
|
||||
}
|
||||
EOF
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
description: Nomad Server
|
||||
cobbler_mgmt_classes:
|
||||
- roles::infra::nomad::server
|
||||
profiles:
|
||||
- disk10
|
||||
- net_com1_eth0
|
||||
- 2core2048
|
||||
storage_volumes:
|
||||
nomad_server:
|
||||
pool: fastpool
|
||||
path: /data
|
||||
config:
|
||||
size: 20GB
|
||||
@@ -0,0 +1,52 @@
|
||||
locals {
|
||||
node_name = "prodnxsr0009"
|
||||
config_common = yamldecode(file("${get_terragrunt_dir()}/../config_common.yaml"))
|
||||
config_specific = yamldecode(file("${get_terragrunt_dir()}/config.yaml"))
|
||||
config = merge(local.config_common, local.config_specific)
|
||||
instance_name = basename(get_terragrunt_dir())
|
||||
}
|
||||
|
||||
inputs = merge(
|
||||
{
|
||||
name = local.instance_name
|
||||
},
|
||||
local.config
|
||||
)
|
||||
|
||||
include "root" {
|
||||
path = find_in_parent_folders("root.hcl")
|
||||
}
|
||||
|
||||
include "instances" {
|
||||
path = find_in_parent_folders("instances.hcl")
|
||||
expose = true
|
||||
merge_strategy = "deep"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
paths = ["${get_repo_root()}/config/nodes/${local.node_name}"]
|
||||
}
|
||||
|
||||
terraform {
|
||||
source = "${get_repo_root()}/modules/instance"
|
||||
}
|
||||
|
||||
generate "incus" {
|
||||
path = "incus.tf"
|
||||
if_exists = "overwrite_terragrunt"
|
||||
contents = <<-EOF
|
||||
provider "incus" {
|
||||
generate_client_certificates = true
|
||||
accept_remote_certificate = true
|
||||
|
||||
remote {
|
||||
name = "${basename(get_terragrunt_dir())}"
|
||||
scheme = "https"
|
||||
address = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_addr}"
|
||||
port = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_port}"
|
||||
token = "${get_env("INCUS_TOKEN_${upper(local.node_name)}")}"
|
||||
default = true
|
||||
}
|
||||
}
|
||||
EOF
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
description: Bind Authoritative Server
|
||||
cobbler_mgmt_classes:
|
||||
- roles::infra::dns::master
|
||||
profiles:
|
||||
- disk10
|
||||
- net_com1_eth0
|
||||
- 2core2048
|
||||
storage_volumes: {}
|
||||
@@ -0,0 +1,52 @@
|
||||
locals {
|
||||
node_name = "prodnxsr0010"
|
||||
config_common = yamldecode(file("${get_terragrunt_dir()}/../config_common.yaml"))
|
||||
config_specific = yamldecode(file("${get_terragrunt_dir()}/config.yaml"))
|
||||
config = merge(local.config_common, local.config_specific)
|
||||
instance_name = basename(get_terragrunt_dir())
|
||||
}
|
||||
|
||||
inputs = merge(
|
||||
{
|
||||
name = local.instance_name
|
||||
},
|
||||
local.config
|
||||
)
|
||||
|
||||
include "root" {
|
||||
path = find_in_parent_folders("root.hcl")
|
||||
}
|
||||
|
||||
include "instances" {
|
||||
path = find_in_parent_folders("instances.hcl")
|
||||
expose = true
|
||||
merge_strategy = "deep"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
paths = ["${get_repo_root()}/config/nodes/${local.node_name}"]
|
||||
}
|
||||
|
||||
terraform {
|
||||
source = "${get_repo_root()}/modules/instance"
|
||||
}
|
||||
|
||||
generate "incus" {
|
||||
path = "incus.tf"
|
||||
if_exists = "overwrite_terragrunt"
|
||||
contents = <<-EOF
|
||||
provider "incus" {
|
||||
generate_client_certificates = true
|
||||
accept_remote_certificate = true
|
||||
|
||||
remote {
|
||||
name = "${basename(get_terragrunt_dir())}"
|
||||
scheme = "https"
|
||||
address = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_addr}"
|
||||
port = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_port}"
|
||||
token = "${get_env("INCUS_TOKEN_${upper(local.node_name)}")}"
|
||||
default = true
|
||||
}
|
||||
}
|
||||
EOF
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
description: Bind Authoritative Server
|
||||
cobbler_mgmt_classes:
|
||||
- roles::infra::dns::master
|
||||
profiles:
|
||||
- disk10
|
||||
- net_com1_eth0
|
||||
- 2core2048
|
||||
storage_volumes: {}
|
||||
@@ -0,0 +1,52 @@
|
||||
locals {
|
||||
node_name = "prodnxsr0011"
|
||||
config_common = yamldecode(file("${get_terragrunt_dir()}/../config_common.yaml"))
|
||||
config_specific = yamldecode(file("${get_terragrunt_dir()}/config.yaml"))
|
||||
config = merge(local.config_common, local.config_specific)
|
||||
instance_name = basename(get_terragrunt_dir())
|
||||
}
|
||||
|
||||
inputs = merge(
|
||||
{
|
||||
name = local.instance_name
|
||||
},
|
||||
local.config
|
||||
)
|
||||
|
||||
include "root" {
|
||||
path = find_in_parent_folders("root.hcl")
|
||||
}
|
||||
|
||||
include "instances" {
|
||||
path = find_in_parent_folders("instances.hcl")
|
||||
expose = true
|
||||
merge_strategy = "deep"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
paths = ["${get_repo_root()}/config/nodes/${local.node_name}"]
|
||||
}
|
||||
|
||||
terraform {
|
||||
source = "${get_repo_root()}/modules/instance"
|
||||
}
|
||||
|
||||
generate "incus" {
|
||||
path = "incus.tf"
|
||||
if_exists = "overwrite_terragrunt"
|
||||
contents = <<-EOF
|
||||
provider "incus" {
|
||||
generate_client_certificates = true
|
||||
accept_remote_certificate = true
|
||||
|
||||
remote {
|
||||
name = "${basename(get_terragrunt_dir())}"
|
||||
scheme = "https"
|
||||
address = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_addr}"
|
||||
port = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_port}"
|
||||
token = "${get_env("INCUS_TOKEN_${upper(local.node_name)}")}"
|
||||
default = true
|
||||
}
|
||||
}
|
||||
EOF
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
description: Bind Authoritative Server
|
||||
cobbler_mgmt_classes:
|
||||
- roles::infra::dns::master
|
||||
profiles:
|
||||
- disk10
|
||||
- net_com1_eth0
|
||||
- 2core2048
|
||||
storage_volumes: {}
|
||||
@@ -0,0 +1,52 @@
|
||||
locals {
|
||||
node_name = "prodnxsr0012"
|
||||
config_common = yamldecode(file("${get_terragrunt_dir()}/../config_common.yaml"))
|
||||
config_specific = yamldecode(file("${get_terragrunt_dir()}/config.yaml"))
|
||||
config = merge(local.config_common, local.config_specific)
|
||||
instance_name = basename(get_terragrunt_dir())
|
||||
}
|
||||
|
||||
inputs = merge(
|
||||
{
|
||||
name = local.instance_name
|
||||
},
|
||||
local.config
|
||||
)
|
||||
|
||||
include "root" {
|
||||
path = find_in_parent_folders("root.hcl")
|
||||
}
|
||||
|
||||
include "instances" {
|
||||
path = find_in_parent_folders("instances.hcl")
|
||||
expose = true
|
||||
merge_strategy = "deep"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
paths = ["${get_repo_root()}/config/nodes/${local.node_name}"]
|
||||
}
|
||||
|
||||
terraform {
|
||||
source = "${get_repo_root()}/modules/instance"
|
||||
}
|
||||
|
||||
generate "incus" {
|
||||
path = "incus.tf"
|
||||
if_exists = "overwrite_terragrunt"
|
||||
contents = <<-EOF
|
||||
provider "incus" {
|
||||
generate_client_certificates = true
|
||||
accept_remote_certificate = true
|
||||
|
||||
remote {
|
||||
name = "${basename(get_terragrunt_dir())}"
|
||||
scheme = "https"
|
||||
address = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_addr}"
|
||||
port = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_port}"
|
||||
token = "${get_env("INCUS_TOKEN_${upper(local.node_name)}")}"
|
||||
default = true
|
||||
}
|
||||
}
|
||||
EOF
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
description: Bind Open-Resolver Server
|
||||
cobbler_mgmt_classes:
|
||||
- roles::infra::dns::resolver
|
||||
profiles:
|
||||
- disk10
|
||||
- net_dmz1_eth0
|
||||
- 2core2048
|
||||
storage_volumes: {}
|
||||
@@ -0,0 +1,52 @@
|
||||
locals {
|
||||
node_name = "prodnxsr0013"
|
||||
config_common = yamldecode(file("${get_terragrunt_dir()}/../config_common.yaml"))
|
||||
config_specific = yamldecode(file("${get_terragrunt_dir()}/config.yaml"))
|
||||
config = merge(local.config_common, local.config_specific)
|
||||
instance_name = basename(get_terragrunt_dir())
|
||||
}
|
||||
|
||||
inputs = merge(
|
||||
{
|
||||
name = local.instance_name
|
||||
},
|
||||
local.config
|
||||
)
|
||||
|
||||
include "root" {
|
||||
path = find_in_parent_folders("root.hcl")
|
||||
}
|
||||
|
||||
include "instances" {
|
||||
path = find_in_parent_folders("instances.hcl")
|
||||
expose = true
|
||||
merge_strategy = "deep"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
paths = ["${get_repo_root()}/config/nodes/${local.node_name}"]
|
||||
}
|
||||
|
||||
terraform {
|
||||
source = "${get_repo_root()}/modules/instance"
|
||||
}
|
||||
|
||||
generate "incus" {
|
||||
path = "incus.tf"
|
||||
if_exists = "overwrite_terragrunt"
|
||||
contents = <<-EOF
|
||||
provider "incus" {
|
||||
generate_client_certificates = true
|
||||
accept_remote_certificate = true
|
||||
|
||||
remote {
|
||||
name = "${basename(get_terragrunt_dir())}"
|
||||
scheme = "https"
|
||||
address = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_addr}"
|
||||
port = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_port}"
|
||||
token = "${get_env("INCUS_TOKEN_${upper(local.node_name)}")}"
|
||||
default = true
|
||||
}
|
||||
}
|
||||
EOF
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
description: Bind Open-Resolver Server
|
||||
cobbler_mgmt_classes:
|
||||
- roles::infra::dns::resolver
|
||||
profiles:
|
||||
- disk10
|
||||
- net_dmz1_eth0
|
||||
- 2core2048
|
||||
storage_volumes: {}
|
||||
@@ -0,0 +1,52 @@
|
||||
locals {
|
||||
node_name = "prodnxsr0009"
|
||||
config_common = yamldecode(file("${get_terragrunt_dir()}/../config_common.yaml"))
|
||||
config_specific = yamldecode(file("${get_terragrunt_dir()}/config.yaml"))
|
||||
config = merge(local.config_common, local.config_specific)
|
||||
instance_name = basename(get_terragrunt_dir())
|
||||
}
|
||||
|
||||
inputs = merge(
|
||||
{
|
||||
name = local.instance_name
|
||||
},
|
||||
local.config
|
||||
)
|
||||
|
||||
include "root" {
|
||||
path = find_in_parent_folders("root.hcl")
|
||||
}
|
||||
|
||||
include "instances" {
|
||||
path = find_in_parent_folders("instances.hcl")
|
||||
expose = true
|
||||
merge_strategy = "deep"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
paths = ["${get_repo_root()}/config/nodes/${local.node_name}"]
|
||||
}
|
||||
|
||||
terraform {
|
||||
source = "${get_repo_root()}/modules/instance"
|
||||
}
|
||||
|
||||
generate "incus" {
|
||||
path = "incus.tf"
|
||||
if_exists = "overwrite_terragrunt"
|
||||
contents = <<-EOF
|
||||
provider "incus" {
|
||||
generate_client_certificates = true
|
||||
accept_remote_certificate = true
|
||||
|
||||
remote {
|
||||
name = "${basename(get_terragrunt_dir())}"
|
||||
scheme = "https"
|
||||
address = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_addr}"
|
||||
port = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_port}"
|
||||
token = "${get_env("INCUS_TOKEN_${upper(local.node_name)}")}"
|
||||
default = true
|
||||
}
|
||||
}
|
||||
EOF
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
description: Bind Open-Resolver Server
|
||||
cobbler_mgmt_classes:
|
||||
- roles::infra::dns::resolver
|
||||
profiles:
|
||||
- disk10
|
||||
- net_dmz1_eth0
|
||||
- 2core2048
|
||||
storage_volumes: {}
|
||||
@@ -0,0 +1,52 @@
|
||||
locals {
|
||||
node_name = "prodnxsr0010"
|
||||
config_common = yamldecode(file("${get_terragrunt_dir()}/../config_common.yaml"))
|
||||
config_specific = yamldecode(file("${get_terragrunt_dir()}/config.yaml"))
|
||||
config = merge(local.config_common, local.config_specific)
|
||||
instance_name = basename(get_terragrunt_dir())
|
||||
}
|
||||
|
||||
inputs = merge(
|
||||
{
|
||||
name = local.instance_name
|
||||
},
|
||||
local.config
|
||||
)
|
||||
|
||||
include "root" {
|
||||
path = find_in_parent_folders("root.hcl")
|
||||
}
|
||||
|
||||
include "instances" {
|
||||
path = find_in_parent_folders("instances.hcl")
|
||||
expose = true
|
||||
merge_strategy = "deep"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
paths = ["${get_repo_root()}/config/nodes/${local.node_name}"]
|
||||
}
|
||||
|
||||
terraform {
|
||||
source = "${get_repo_root()}/modules/instance"
|
||||
}
|
||||
|
||||
generate "incus" {
|
||||
path = "incus.tf"
|
||||
if_exists = "overwrite_terragrunt"
|
||||
contents = <<-EOF
|
||||
provider "incus" {
|
||||
generate_client_certificates = true
|
||||
accept_remote_certificate = true
|
||||
|
||||
remote {
|
||||
name = "${basename(get_terragrunt_dir())}"
|
||||
scheme = "https"
|
||||
address = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_addr}"
|
||||
port = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_port}"
|
||||
token = "${get_env("INCUS_TOKEN_${upper(local.node_name)}")}"
|
||||
default = true
|
||||
}
|
||||
}
|
||||
EOF
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
description: Gonic Music Server
|
||||
cobbler_mgmt_classes:
|
||||
- roles::apps::music::gonic
|
||||
profiles:
|
||||
- disk10
|
||||
- net_com1_eth0
|
||||
- 2core2048
|
||||
storage_volumes: {}
|
||||
@@ -0,0 +1,52 @@
|
||||
locals {
|
||||
node_name = "prodnxsr0011"
|
||||
config_common = yamldecode(file("${get_terragrunt_dir()}/../config_common.yaml"))
|
||||
config_specific = yamldecode(file("${get_terragrunt_dir()}/config.yaml"))
|
||||
config = merge(local.config_common, local.config_specific)
|
||||
instance_name = basename(get_terragrunt_dir())
|
||||
}
|
||||
|
||||
inputs = merge(
|
||||
{
|
||||
name = local.instance_name
|
||||
},
|
||||
local.config
|
||||
)
|
||||
|
||||
include "root" {
|
||||
path = find_in_parent_folders("root.hcl")
|
||||
}
|
||||
|
||||
include "instances" {
|
||||
path = find_in_parent_folders("instances.hcl")
|
||||
expose = true
|
||||
merge_strategy = "deep"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
paths = ["${get_repo_root()}/config/nodes/${local.node_name}"]
|
||||
}
|
||||
|
||||
terraform {
|
||||
source = "${get_repo_root()}/modules/instance"
|
||||
}
|
||||
|
||||
generate "incus" {
|
||||
path = "incus.tf"
|
||||
if_exists = "overwrite_terragrunt"
|
||||
contents = <<-EOF
|
||||
provider "incus" {
|
||||
generate_client_certificates = true
|
||||
accept_remote_certificate = true
|
||||
|
||||
remote {
|
||||
name = "${basename(get_terragrunt_dir())}"
|
||||
scheme = "https"
|
||||
address = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_addr}"
|
||||
port = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_port}"
|
||||
token = "${get_env("INCUS_TOKEN_${upper(local.node_name)}")}"
|
||||
default = true
|
||||
}
|
||||
}
|
||||
EOF
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
description: Gonic Music Server
|
||||
cobbler_mgmt_classes:
|
||||
- roles::apps::music::gonic
|
||||
profiles:
|
||||
- disk10
|
||||
- net_com1_eth0
|
||||
- 2core2048
|
||||
storage_volumes: {}
|
||||
@@ -0,0 +1,52 @@
|
||||
locals {
|
||||
node_name = "prodnxsr0012"
|
||||
config_common = yamldecode(file("${get_terragrunt_dir()}/../config_common.yaml"))
|
||||
config_specific = yamldecode(file("${get_terragrunt_dir()}/config.yaml"))
|
||||
config = merge(local.config_common, local.config_specific)
|
||||
instance_name = basename(get_terragrunt_dir())
|
||||
}
|
||||
|
||||
inputs = merge(
|
||||
{
|
||||
name = local.instance_name
|
||||
},
|
||||
local.config
|
||||
)
|
||||
|
||||
include "root" {
|
||||
path = find_in_parent_folders("root.hcl")
|
||||
}
|
||||
|
||||
include "instances" {
|
||||
path = find_in_parent_folders("instances.hcl")
|
||||
expose = true
|
||||
merge_strategy = "deep"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
paths = ["${get_repo_root()}/config/nodes/${local.node_name}"]
|
||||
}
|
||||
|
||||
terraform {
|
||||
source = "${get_repo_root()}/modules/instance"
|
||||
}
|
||||
|
||||
generate "incus" {
|
||||
path = "incus.tf"
|
||||
if_exists = "overwrite_terragrunt"
|
||||
contents = <<-EOF
|
||||
provider "incus" {
|
||||
generate_client_certificates = true
|
||||
accept_remote_certificate = true
|
||||
|
||||
remote {
|
||||
name = "${basename(get_terragrunt_dir())}"
|
||||
scheme = "https"
|
||||
address = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_addr}"
|
||||
port = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_port}"
|
||||
token = "${get_env("INCUS_TOKEN_${upper(local.node_name)}")}"
|
||||
default = true
|
||||
}
|
||||
}
|
||||
EOF
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
description: Gonic Music Server
|
||||
cobbler_mgmt_classes:
|
||||
- roles::apps::music::gonic
|
||||
profiles:
|
||||
- disk10
|
||||
- net_com1_eth0
|
||||
- 2core2048
|
||||
storage_volumes: {}
|
||||
@@ -0,0 +1,52 @@
|
||||
locals {
|
||||
node_name = "prodnxsr0013"
|
||||
config_common = yamldecode(file("${get_terragrunt_dir()}/../config_common.yaml"))
|
||||
config_specific = yamldecode(file("${get_terragrunt_dir()}/config.yaml"))
|
||||
config = merge(local.config_common, local.config_specific)
|
||||
instance_name = basename(get_terragrunt_dir())
|
||||
}
|
||||
|
||||
inputs = merge(
|
||||
{
|
||||
name = local.instance_name
|
||||
},
|
||||
local.config
|
||||
)
|
||||
|
||||
include "root" {
|
||||
path = find_in_parent_folders("root.hcl")
|
||||
}
|
||||
|
||||
include "instances" {
|
||||
path = find_in_parent_folders("instances.hcl")
|
||||
expose = true
|
||||
merge_strategy = "deep"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
paths = ["${get_repo_root()}/config/nodes/${local.node_name}"]
|
||||
}
|
||||
|
||||
terraform {
|
||||
source = "${get_repo_root()}/modules/instance"
|
||||
}
|
||||
|
||||
generate "incus" {
|
||||
path = "incus.tf"
|
||||
if_exists = "overwrite_terragrunt"
|
||||
contents = <<-EOF
|
||||
provider "incus" {
|
||||
generate_client_certificates = true
|
||||
accept_remote_certificate = true
|
||||
|
||||
remote {
|
||||
name = "${basename(get_terragrunt_dir())}"
|
||||
scheme = "https"
|
||||
address = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_addr}"
|
||||
port = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_port}"
|
||||
token = "${get_env("INCUS_TOKEN_${upper(local.node_name)}")}"
|
||||
default = true
|
||||
}
|
||||
}
|
||||
EOF
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
description: Prometheus
|
||||
cobbler_mgmt_classes:
|
||||
- roles::infra::metrics::prometheus
|
||||
profiles:
|
||||
- disk10
|
||||
- net_com1_eth0
|
||||
- 2core2048
|
||||
storage_volumes:
|
||||
prometheus:
|
||||
pool: fastpool
|
||||
path: /data
|
||||
config:
|
||||
size: 50GB
|
||||
@@ -0,0 +1,52 @@
|
||||
locals {
|
||||
node_name = "prodnxsr0012"
|
||||
config_common = yamldecode(file("${get_terragrunt_dir()}/../config_common.yaml"))
|
||||
config_specific = yamldecode(file("${get_terragrunt_dir()}/config.yaml"))
|
||||
config = merge(local.config_common, local.config_specific)
|
||||
instance_name = basename(get_terragrunt_dir())
|
||||
}
|
||||
|
||||
inputs = merge(
|
||||
{
|
||||
name = local.instance_name
|
||||
},
|
||||
local.config
|
||||
)
|
||||
|
||||
include "root" {
|
||||
path = find_in_parent_folders("root.hcl")
|
||||
}
|
||||
|
||||
include "instances" {
|
||||
path = find_in_parent_folders("instances.hcl")
|
||||
expose = true
|
||||
merge_strategy = "deep"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
paths = ["${get_repo_root()}/config/nodes/${local.node_name}"]
|
||||
}
|
||||
|
||||
terraform {
|
||||
source = "${get_repo_root()}/modules/instance"
|
||||
}
|
||||
|
||||
generate "incus" {
|
||||
path = "incus.tf"
|
||||
if_exists = "overwrite_terragrunt"
|
||||
contents = <<-EOF
|
||||
provider "incus" {
|
||||
generate_client_certificates = true
|
||||
accept_remote_certificate = true
|
||||
|
||||
remote {
|
||||
name = "${basename(get_terragrunt_dir())}"
|
||||
scheme = "https"
|
||||
address = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_addr}"
|
||||
port = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_port}"
|
||||
token = "${get_env("INCUS_TOKEN_${upper(local.node_name)}")}"
|
||||
default = true
|
||||
}
|
||||
}
|
||||
EOF
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
description: Prometheus
|
||||
cobbler_mgmt_classes:
|
||||
- roles::infra::metrics::prometheus
|
||||
profiles:
|
||||
- disk10
|
||||
- net_com1_eth0
|
||||
- 2core2048
|
||||
storage_volumes:
|
||||
prometheus:
|
||||
pool: fastpool
|
||||
path: /data
|
||||
config:
|
||||
size: 50GB
|
||||
@@ -0,0 +1,52 @@
|
||||
locals {
|
||||
node_name = "prodnxsr0013"
|
||||
config_common = yamldecode(file("${get_terragrunt_dir()}/../config_common.yaml"))
|
||||
config_specific = yamldecode(file("${get_terragrunt_dir()}/config.yaml"))
|
||||
config = merge(local.config_common, local.config_specific)
|
||||
instance_name = basename(get_terragrunt_dir())
|
||||
}
|
||||
|
||||
inputs = merge(
|
||||
{
|
||||
name = local.instance_name
|
||||
},
|
||||
local.config
|
||||
)
|
||||
|
||||
include "root" {
|
||||
path = find_in_parent_folders("root.hcl")
|
||||
}
|
||||
|
||||
include "instances" {
|
||||
path = find_in_parent_folders("instances.hcl")
|
||||
expose = true
|
||||
merge_strategy = "deep"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
paths = ["${get_repo_root()}/config/nodes/${local.node_name}"]
|
||||
}
|
||||
|
||||
terraform {
|
||||
source = "${get_repo_root()}/modules/instance"
|
||||
}
|
||||
|
||||
generate "incus" {
|
||||
path = "incus.tf"
|
||||
if_exists = "overwrite_terragrunt"
|
||||
contents = <<-EOF
|
||||
provider "incus" {
|
||||
generate_client_certificates = true
|
||||
accept_remote_certificate = true
|
||||
|
||||
remote {
|
||||
name = "${basename(get_terragrunt_dir())}"
|
||||
scheme = "https"
|
||||
address = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_addr}"
|
||||
port = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_port}"
|
||||
token = "${get_env("INCUS_TOKEN_${upper(local.node_name)}")}"
|
||||
default = true
|
||||
}
|
||||
}
|
||||
EOF
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
description: Nomad Agent
|
||||
cobbler_mgmt_classes:
|
||||
- roles::infra::nomad::agentv2
|
||||
profiles:
|
||||
- disk20
|
||||
- net_com1_eth0
|
||||
- 4core4096
|
||||
- fuse
|
||||
- kmsg
|
||||
- tun
|
||||
- docker
|
||||
- shared_apps_nomad
|
||||
- shared_media_all
|
||||
storage_volumes:
|
||||
nomad-local:
|
||||
pool: fastpool
|
||||
path: /data
|
||||
config:
|
||||
size: 50GB
|
||||
@@ -0,0 +1,52 @@
|
||||
locals {
|
||||
node_name = "prodnxsr0009"
|
||||
config_common = yamldecode(file("${get_terragrunt_dir()}/../config_common.yaml"))
|
||||
config_specific = yamldecode(file("${get_terragrunt_dir()}/config.yaml"))
|
||||
config = merge(local.config_common, local.config_specific)
|
||||
instance_name = basename(get_terragrunt_dir())
|
||||
}
|
||||
|
||||
inputs = merge(
|
||||
{
|
||||
name = local.instance_name
|
||||
},
|
||||
local.config
|
||||
)
|
||||
|
||||
include "root" {
|
||||
path = find_in_parent_folders("root.hcl")
|
||||
}
|
||||
|
||||
include "instances" {
|
||||
path = find_in_parent_folders("instances.hcl")
|
||||
expose = true
|
||||
merge_strategy = "deep"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
paths = ["${get_repo_root()}/config/nodes/${local.node_name}"]
|
||||
}
|
||||
|
||||
terraform {
|
||||
source = "${get_repo_root()}/modules/instance"
|
||||
}
|
||||
|
||||
generate "incus" {
|
||||
path = "incus.tf"
|
||||
if_exists = "overwrite_terragrunt"
|
||||
contents = <<-EOF
|
||||
provider "incus" {
|
||||
generate_client_certificates = true
|
||||
accept_remote_certificate = true
|
||||
|
||||
remote {
|
||||
name = "${basename(get_terragrunt_dir())}"
|
||||
scheme = "https"
|
||||
address = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_addr}"
|
||||
port = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_port}"
|
||||
token = "${get_env("INCUS_TOKEN_${upper(local.node_name)}")}"
|
||||
default = true
|
||||
}
|
||||
}
|
||||
EOF
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
description: Nomad Agent
|
||||
cobbler_mgmt_classes:
|
||||
- roles::infra::nomad::agentv2
|
||||
profiles:
|
||||
- disk20
|
||||
- net_com1_eth0
|
||||
- 4core4096
|
||||
- fuse
|
||||
- kmsg
|
||||
- tun
|
||||
- docker
|
||||
- shared_apps_nomad
|
||||
- shared_media_all
|
||||
storage_volumes:
|
||||
nomad-local:
|
||||
pool: fastpool
|
||||
path: /data
|
||||
config:
|
||||
size: 50GB
|
||||
@@ -0,0 +1,52 @@
|
||||
locals {
|
||||
node_name = "prodnxsr0010"
|
||||
config_common = yamldecode(file("${get_terragrunt_dir()}/../config_common.yaml"))
|
||||
config_specific = yamldecode(file("${get_terragrunt_dir()}/config.yaml"))
|
||||
config = merge(local.config_common, local.config_specific)
|
||||
instance_name = basename(get_terragrunt_dir())
|
||||
}
|
||||
|
||||
inputs = merge(
|
||||
{
|
||||
name = local.instance_name
|
||||
},
|
||||
local.config
|
||||
)
|
||||
|
||||
include "root" {
|
||||
path = find_in_parent_folders("root.hcl")
|
||||
}
|
||||
|
||||
include "instances" {
|
||||
path = find_in_parent_folders("instances.hcl")
|
||||
expose = true
|
||||
merge_strategy = "deep"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
paths = ["${get_repo_root()}/config/nodes/${local.node_name}"]
|
||||
}
|
||||
|
||||
terraform {
|
||||
source = "${get_repo_root()}/modules/instance"
|
||||
}
|
||||
|
||||
generate "incus" {
|
||||
path = "incus.tf"
|
||||
if_exists = "overwrite_terragrunt"
|
||||
contents = <<-EOF
|
||||
provider "incus" {
|
||||
generate_client_certificates = true
|
||||
accept_remote_certificate = true
|
||||
|
||||
remote {
|
||||
name = "${basename(get_terragrunt_dir())}"
|
||||
scheme = "https"
|
||||
address = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_addr}"
|
||||
port = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_port}"
|
||||
token = "${get_env("INCUS_TOKEN_${upper(local.node_name)}")}"
|
||||
default = true
|
||||
}
|
||||
}
|
||||
EOF
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
description: Nomad Agent
|
||||
cobbler_mgmt_classes:
|
||||
- roles::infra::nomad::agentv2
|
||||
profiles:
|
||||
- disk20
|
||||
- net_com1_eth0
|
||||
- 4core4096
|
||||
- fuse
|
||||
- kmsg
|
||||
- tun
|
||||
- docker
|
||||
- shared_apps_nomad
|
||||
- shared_media_all
|
||||
storage_volumes:
|
||||
nomad-local:
|
||||
pool: fastpool
|
||||
path: /data
|
||||
config:
|
||||
size: 50GB
|
||||
@@ -0,0 +1,52 @@
|
||||
locals {
|
||||
node_name = "prodnxsr0011"
|
||||
config_common = yamldecode(file("${get_terragrunt_dir()}/../config_common.yaml"))
|
||||
config_specific = yamldecode(file("${get_terragrunt_dir()}/config.yaml"))
|
||||
config = merge(local.config_common, local.config_specific)
|
||||
instance_name = basename(get_terragrunt_dir())
|
||||
}
|
||||
|
||||
inputs = merge(
|
||||
{
|
||||
name = local.instance_name
|
||||
},
|
||||
local.config
|
||||
)
|
||||
|
||||
include "root" {
|
||||
path = find_in_parent_folders("root.hcl")
|
||||
}
|
||||
|
||||
include "instances" {
|
||||
path = find_in_parent_folders("instances.hcl")
|
||||
expose = true
|
||||
merge_strategy = "deep"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
paths = ["${get_repo_root()}/config/nodes/${local.node_name}"]
|
||||
}
|
||||
|
||||
terraform {
|
||||
source = "${get_repo_root()}/modules/instance"
|
||||
}
|
||||
|
||||
generate "incus" {
|
||||
path = "incus.tf"
|
||||
if_exists = "overwrite_terragrunt"
|
||||
contents = <<-EOF
|
||||
provider "incus" {
|
||||
generate_client_certificates = true
|
||||
accept_remote_certificate = true
|
||||
|
||||
remote {
|
||||
name = "${basename(get_terragrunt_dir())}"
|
||||
scheme = "https"
|
||||
address = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_addr}"
|
||||
port = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_port}"
|
||||
token = "${get_env("INCUS_TOKEN_${upper(local.node_name)}")}"
|
||||
default = true
|
||||
}
|
||||
}
|
||||
EOF
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
description: Nomad Agent
|
||||
cobbler_mgmt_classes:
|
||||
- roles::infra::nomad::agentv2
|
||||
profiles:
|
||||
- disk20
|
||||
- net_com1_eth0
|
||||
- 4core4096
|
||||
- fuse
|
||||
- kmsg
|
||||
- tun
|
||||
- docker
|
||||
- shared_apps_nomad
|
||||
- shared_media_all
|
||||
storage_volumes:
|
||||
nomad-local:
|
||||
pool: fastpool
|
||||
path: /data
|
||||
config:
|
||||
size: 50GB
|
||||
@@ -0,0 +1,52 @@
|
||||
locals {
|
||||
node_name = "prodnxsr0012"
|
||||
config_common = yamldecode(file("${get_terragrunt_dir()}/../config_common.yaml"))
|
||||
config_specific = yamldecode(file("${get_terragrunt_dir()}/config.yaml"))
|
||||
config = merge(local.config_common, local.config_specific)
|
||||
instance_name = basename(get_terragrunt_dir())
|
||||
}
|
||||
|
||||
inputs = merge(
|
||||
{
|
||||
name = local.instance_name
|
||||
},
|
||||
local.config
|
||||
)
|
||||
|
||||
include "root" {
|
||||
path = find_in_parent_folders("root.hcl")
|
||||
}
|
||||
|
||||
include "instances" {
|
||||
path = find_in_parent_folders("instances.hcl")
|
||||
expose = true
|
||||
merge_strategy = "deep"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
paths = ["${get_repo_root()}/config/nodes/${local.node_name}"]
|
||||
}
|
||||
|
||||
terraform {
|
||||
source = "${get_repo_root()}/modules/instance"
|
||||
}
|
||||
|
||||
generate "incus" {
|
||||
path = "incus.tf"
|
||||
if_exists = "overwrite_terragrunt"
|
||||
contents = <<-EOF
|
||||
provider "incus" {
|
||||
generate_client_certificates = true
|
||||
accept_remote_certificate = true
|
||||
|
||||
remote {
|
||||
name = "${basename(get_terragrunt_dir())}"
|
||||
scheme = "https"
|
||||
address = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_addr}"
|
||||
port = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_port}"
|
||||
token = "${get_env("INCUS_TOKEN_${upper(local.node_name)}")}"
|
||||
default = true
|
||||
}
|
||||
}
|
||||
EOF
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
description: Nomad Agent
|
||||
cobbler_mgmt_classes:
|
||||
- roles::infra::nomad::agentv2
|
||||
profiles:
|
||||
- disk20
|
||||
- net_com1_eth0
|
||||
- 4core4096
|
||||
- fuse
|
||||
- kmsg
|
||||
- tun
|
||||
- docker
|
||||
- shared_apps_nomad
|
||||
- shared_media_all
|
||||
storage_volumes:
|
||||
nomad-local:
|
||||
pool: fastpool
|
||||
path: /data
|
||||
config:
|
||||
size: 50GB
|
||||
@@ -0,0 +1,52 @@
|
||||
locals {
|
||||
node_name = "prodnxsr0013"
|
||||
config_common = yamldecode(file("${get_terragrunt_dir()}/../config_common.yaml"))
|
||||
config_specific = yamldecode(file("${get_terragrunt_dir()}/config.yaml"))
|
||||
config = merge(local.config_common, local.config_specific)
|
||||
instance_name = basename(get_terragrunt_dir())
|
||||
}
|
||||
|
||||
inputs = merge(
|
||||
{
|
||||
name = local.instance_name
|
||||
},
|
||||
local.config
|
||||
)
|
||||
|
||||
include "root" {
|
||||
path = find_in_parent_folders("root.hcl")
|
||||
}
|
||||
|
||||
include "instances" {
|
||||
path = find_in_parent_folders("instances.hcl")
|
||||
expose = true
|
||||
merge_strategy = "deep"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
paths = ["${get_repo_root()}/config/nodes/${local.node_name}"]
|
||||
}
|
||||
|
||||
terraform {
|
||||
source = "${get_repo_root()}/modules/instance"
|
||||
}
|
||||
|
||||
generate "incus" {
|
||||
path = "incus.tf"
|
||||
if_exists = "overwrite_terragrunt"
|
||||
contents = <<-EOF
|
||||
provider "incus" {
|
||||
generate_client_certificates = true
|
||||
accept_remote_certificate = true
|
||||
|
||||
remote {
|
||||
name = "${basename(get_terragrunt_dir())}"
|
||||
scheme = "https"
|
||||
address = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_addr}"
|
||||
port = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_port}"
|
||||
token = "${get_env("INCUS_TOKEN_${upper(local.node_name)}")}"
|
||||
default = true
|
||||
}
|
||||
}
|
||||
EOF
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
description: NZBGet
|
||||
cobbler_mgmt_classes:
|
||||
- roles::apps::media::nzbget
|
||||
profiles:
|
||||
- disk20
|
||||
- net_com1_eth0
|
||||
- 4core4096
|
||||
- shared_media_all
|
||||
storage_volumes:
|
||||
data:
|
||||
pool: fastpool
|
||||
path: /data
|
||||
config:
|
||||
size: 50GB
|
||||
@@ -0,0 +1,52 @@
|
||||
locals {
|
||||
node_name = "prodnxsr0009"
|
||||
config_common = yamldecode(file("${get_terragrunt_dir()}/../config_common.yaml"))
|
||||
config_specific = yamldecode(file("${get_terragrunt_dir()}/config.yaml"))
|
||||
config = merge(local.config_common, local.config_specific)
|
||||
instance_name = basename(get_terragrunt_dir())
|
||||
}
|
||||
|
||||
inputs = merge(
|
||||
{
|
||||
name = local.instance_name
|
||||
},
|
||||
local.config
|
||||
)
|
||||
|
||||
include "root" {
|
||||
path = find_in_parent_folders("root.hcl")
|
||||
}
|
||||
|
||||
include "instances" {
|
||||
path = find_in_parent_folders("instances.hcl")
|
||||
expose = true
|
||||
merge_strategy = "deep"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
paths = ["${get_repo_root()}/config/nodes/${local.node_name}"]
|
||||
}
|
||||
|
||||
terraform {
|
||||
source = "${get_repo_root()}/modules/instance"
|
||||
}
|
||||
|
||||
generate "incus" {
|
||||
path = "incus.tf"
|
||||
if_exists = "overwrite_terragrunt"
|
||||
contents = <<-EOF
|
||||
provider "incus" {
|
||||
generate_client_certificates = true
|
||||
accept_remote_certificate = true
|
||||
|
||||
remote {
|
||||
name = "${basename(get_terragrunt_dir())}"
|
||||
scheme = "https"
|
||||
address = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_addr}"
|
||||
port = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_port}"
|
||||
token = "${get_env("INCUS_TOKEN_${upper(local.node_name)}")}"
|
||||
default = true
|
||||
}
|
||||
}
|
||||
EOF
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
description: Sonarr
|
||||
cobbler_mgmt_classes:
|
||||
- roles::apps::media::sonarr
|
||||
profiles:
|
||||
- disk20
|
||||
- net_com1_eth0
|
||||
- 2core4096
|
||||
- shared_media_all
|
||||
storage_volumes:
|
||||
data:
|
||||
pool: fastpool
|
||||
path: /data
|
||||
config:
|
||||
size: 50GB
|
||||
@@ -0,0 +1,52 @@
|
||||
locals {
|
||||
node_name = "prodnxsr0010"
|
||||
config_common = yamldecode(file("${get_terragrunt_dir()}/../config_common.yaml"))
|
||||
config_specific = yamldecode(file("${get_terragrunt_dir()}/config.yaml"))
|
||||
config = merge(local.config_common, local.config_specific)
|
||||
instance_name = basename(get_terragrunt_dir())
|
||||
}
|
||||
|
||||
inputs = merge(
|
||||
{
|
||||
name = local.instance_name
|
||||
},
|
||||
local.config
|
||||
)
|
||||
|
||||
include "root" {
|
||||
path = find_in_parent_folders("root.hcl")
|
||||
}
|
||||
|
||||
include "instances" {
|
||||
path = find_in_parent_folders("instances.hcl")
|
||||
expose = true
|
||||
merge_strategy = "deep"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
paths = ["${get_repo_root()}/config/nodes/${local.node_name}"]
|
||||
}
|
||||
|
||||
terraform {
|
||||
source = "${get_repo_root()}/modules/instance"
|
||||
}
|
||||
|
||||
generate "incus" {
|
||||
path = "incus.tf"
|
||||
if_exists = "overwrite_terragrunt"
|
||||
contents = <<-EOF
|
||||
provider "incus" {
|
||||
generate_client_certificates = true
|
||||
accept_remote_certificate = true
|
||||
|
||||
remote {
|
||||
name = "${basename(get_terragrunt_dir())}"
|
||||
scheme = "https"
|
||||
address = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_addr}"
|
||||
port = "${yamldecode(file("${get_repo_root()}/config/nodes/${local.node_name}/config.yaml")).node_port}"
|
||||
token = "${get_env("INCUS_TOKEN_${upper(local.node_name)}")}"
|
||||
default = true
|
||||
}
|
||||
}
|
||||
EOF
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user