feat: add clustered git service nodes #13
8
config/instances/ausyd1nxvm2080/config.yaml
Normal file
8
config/instances/ausyd1nxvm2080/config.yaml
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
description: GiteaServer
|
||||||
|
cobbler_mgmt_classes:
|
||||||
|
- roles::infra::git::server
|
||||||
|
profiles:
|
||||||
|
- disk10
|
||||||
|
- net_com1_eth0
|
||||||
|
- 2core2048
|
||||||
|
- shared_apps_gitea
|
||||||
52
config/instances/ausyd1nxvm2080/terragrunt.hcl
Normal file
52
config/instances/ausyd1nxvm2080/terragrunt.hcl
Normal file
@ -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
|
||||||
|
}
|
||||||
8
config/instances/ausyd1nxvm2081/config.yaml
Normal file
8
config/instances/ausyd1nxvm2081/config.yaml
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
description: GiteaServer
|
||||||
|
cobbler_mgmt_classes:
|
||||||
|
- roles::infra::git::server
|
||||||
|
profiles:
|
||||||
|
- disk10
|
||||||
|
- net_com1_eth0
|
||||||
|
- 2core2048
|
||||||
|
- shared_apps_gitea
|
||||||
52
config/instances/ausyd1nxvm2081/terragrunt.hcl
Normal file
52
config/instances/ausyd1nxvm2081/terragrunt.hcl
Normal file
@ -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
|
||||||
|
}
|
||||||
8
config/instances/ausyd1nxvm2082/config.yaml
Normal file
8
config/instances/ausyd1nxvm2082/config.yaml
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
description: GiteaServer
|
||||||
|
cobbler_mgmt_classes:
|
||||||
|
- roles::infra::git::server
|
||||||
|
profiles:
|
||||||
|
- disk10
|
||||||
|
- net_com1_eth0
|
||||||
|
- 2core2048
|
||||||
|
- shared_apps_gitea
|
||||||
52
config/instances/ausyd1nxvm2082/terragrunt.hcl
Normal file
52
config/instances/ausyd1nxvm2082/terragrunt.hcl
Normal file
@ -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
|
||||||
|
}
|
||||||
7
config/instances/ausyd1nxvm2083/config.yaml
Normal file
7
config/instances/ausyd1nxvm2083/config.yaml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
description: Redis4Gitea
|
||||||
|
cobbler_mgmt_classes:
|
||||||
|
- roles::infra::git::redis
|
||||||
|
profiles:
|
||||||
|
- disk20
|
||||||
|
- net_com1_eth0
|
||||||
|
- 2core2048
|
||||||
52
config/instances/ausyd1nxvm2083/terragrunt.hcl
Normal file
52
config/instances/ausyd1nxvm2083/terragrunt.hcl
Normal file
@ -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
|
||||||
|
}
|
||||||
7
config/instances/ausyd1nxvm2084/config.yaml
Normal file
7
config/instances/ausyd1nxvm2084/config.yaml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
description: Redis4Gitea
|
||||||
|
cobbler_mgmt_classes:
|
||||||
|
- roles::infra::git::redis
|
||||||
|
profiles:
|
||||||
|
- disk20
|
||||||
|
- net_com1_eth0
|
||||||
|
- 2core2048
|
||||||
52
config/instances/ausyd1nxvm2084/terragrunt.hcl
Normal file
52
config/instances/ausyd1nxvm2084/terragrunt.hcl
Normal file
@ -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
|
||||||
|
}
|
||||||
7
config/instances/ausyd1nxvm2085/config.yaml
Normal file
7
config/instances/ausyd1nxvm2085/config.yaml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
description: Redis4Gitea
|
||||||
|
cobbler_mgmt_classes:
|
||||||
|
- roles::infra::git::redis
|
||||||
|
profiles:
|
||||||
|
- disk20
|
||||||
|
- net_com1_eth0
|
||||||
|
- 2core2048
|
||||||
52
config/instances/ausyd1nxvm2085/terragrunt.hcl
Normal file
52
config/instances/ausyd1nxvm2085/terragrunt.hcl
Normal file
@ -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
|
||||||
|
}
|
||||||
@ -50,7 +50,9 @@ variables:
|
|||||||
- roles::infra::droneci::server
|
- roles::infra::droneci::server
|
||||||
- roles::infra::etcd::node
|
- roles::infra::etcd::node
|
||||||
- roles::infra::git::gitea
|
- roles::infra::git::gitea
|
||||||
|
- roles::infra::git::redis
|
||||||
- roles::infra::git::runner
|
- roles::infra::git::runner
|
||||||
|
- roles::infra::git::server
|
||||||
- roles::infra::halb::haproxy
|
- roles::infra::halb::haproxy
|
||||||
- roles::infra::halb::haproxy2
|
- roles::infra::halb::haproxy2
|
||||||
- roles::infra::incus::imagehost
|
- roles::infra::incus::imagehost
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user