feat: initial commit
- have been working on this for some time now
This commit is contained in:
commit
cb67816eee
7
.gitignore
vendored
Normal file
7
.gitignore
vendored
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
.terraform
|
||||||
|
.terraform.lock.hcl
|
||||||
|
.terragrunt-cache
|
||||||
|
plans
|
||||||
|
.venv
|
||||||
|
env
|
||||||
|
venv
|
||||||
63
Makefile
Normal file
63
Makefile
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
SHELL := /bin/bash
|
||||||
|
ENVIRONMENT ?= au-syd1
|
||||||
|
ENV_DIR = environments/$(ENVIRONMENT)
|
||||||
|
|
||||||
|
.PHONY: clean init plan apply venv hiera output
|
||||||
|
|
||||||
|
define vault_env
|
||||||
|
@export VAULT_ADDR="https://vault.service.consul:8200" && \
|
||||||
|
export VAULT_TOKEN=$$(vault write -field=token auth/approle/login role_id=$$VAULT_ROLEID) && \
|
||||||
|
export PUPPET_CERT_CA=$$(vault kv get -field=public_key kv/service/puppet/certificates/ca) && \
|
||||||
|
export PUPPET_CERT_PUB=$$(vault kv get -field=public_key kv/service/puppet/certificates/terraform) && \
|
||||||
|
export PUPPET_CERT_PRIV=$$(vault kv get -field=private_key kv/service/puppet/certificates/terraform) && \
|
||||||
|
export TERRAGRUNT_EXCLUDE_DIR="templates/base" \
|
||||||
|
export $$(vault read -format=json kv/data/service/terraform/incus | jq -r '.data.data | to_entries[] | "\(.key)=\(.value)"')
|
||||||
|
endef
|
||||||
|
|
||||||
|
clean:
|
||||||
|
@echo "Cleaning Terraform files..."
|
||||||
|
@find ./ -wholename '*.terragrunt-cache*' -delete
|
||||||
|
@find ./ -name 'terragrunt_rendered.json' -delete
|
||||||
|
@echo "Cleaning Python VENV..."
|
||||||
|
@rm -rf .venv
|
||||||
|
|
||||||
|
init:
|
||||||
|
@$(call vault_env) && \
|
||||||
|
terragrunt run-all --terragrunt-non-interactive init --upgrade
|
||||||
|
|
||||||
|
plan: init
|
||||||
|
@$(call vault_env) && \
|
||||||
|
terragrunt run-all --terragrunt-non-interactive plan
|
||||||
|
|
||||||
|
apply:
|
||||||
|
@$(call vault_env) && \
|
||||||
|
terragrunt run-all --terragrunt-parallelism 5 --terragrunt-non-interactive apply
|
||||||
|
|
||||||
|
output:
|
||||||
|
@$(call vault_env) && \
|
||||||
|
rm -f tf_outputs.json && \
|
||||||
|
terragrunt run-all --terragrunt-parallelism 10 --terragrunt-non-interactive output -json >> tf_outputs.json
|
||||||
|
|
||||||
|
hiera:
|
||||||
|
@echo "Setting up virtual environment with uv..."
|
||||||
|
uv venv .venv && \
|
||||||
|
source .venv/bin/activate && \
|
||||||
|
uv pip install -r ci/autonode/requirements.txt
|
||||||
|
|
||||||
|
@echo "Running update_hiera"
|
||||||
|
.venv/bin/python ci/autonode/update_hiera.py \
|
||||||
|
--output-json tf_outputs.json \
|
||||||
|
--repo-url https://git.query.consul/unkinben/puppet-prod.git \
|
||||||
|
--clone-path $$(mktemp) \
|
||||||
|
--commit-template "Add Hiera config for {{ vmname }}" \
|
||||||
|
--file-template ci/autonode/templates/node.yaml.j2 \
|
||||||
|
--base-branch develop
|
||||||
|
|
||||||
|
venv:
|
||||||
|
uv venv --python 3.12 venv && \
|
||||||
|
source venv/bin/activate && \
|
||||||
|
uv pip install -r ci/requirements.txt
|
||||||
|
|
||||||
|
list:
|
||||||
|
source venv/bin/activate && \
|
||||||
|
python ci/review.py
|
||||||
28
README.md
Normal file
28
README.md
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
## Hierarchy:
|
||||||
|
|
||||||
|
```
|
||||||
|
.
|
||||||
|
├── config/ # Root for configuration data
|
||||||
|
│ ├── globals/ # Common resources shared across projects
|
||||||
|
│ │ ├── images/ # Image configurations
|
||||||
|
│ │ │ └── <image_name>/ # Specific image folder
|
||||||
|
│ │ │ ├── terragrunt.hcl # Image Terragrunt configuration
|
||||||
|
│ │ │ └── config.yaml # Image configuration file
|
||||||
|
│ │ ├── networks/ # Network configurations
|
||||||
|
│ │ │ └── <network_name>/ # Specific network folder
|
||||||
|
│ │ │ ├── terragrunt.hcl # Network Terragrunt configuration
|
||||||
|
│ │ │ └── config.yaml # Network configuration file
|
||||||
|
│ │ └── profiles/ # Profile configurations
|
||||||
|
│ │ └── <profile_name>/ # Specific profile folder
|
||||||
|
│ │ ├── terragrunt.hcl # Profile Terragrunt configuration
|
||||||
|
│ │ └── config.yaml # Profile configuration file
|
||||||
|
│ └── nodes/ # Node-level configuration
|
||||||
|
│ └── <project_name>/ # Project folder (e.g., "infra")
|
||||||
|
│ ├── config.yaml # Project-level configuration file
|
||||||
|
│ ├── terragrunt.hcl # Project-level Terragrunt configuration
|
||||||
|
│ └── <instance_name>/ # Instance-specific folder under the project
|
||||||
|
│ ├── terragrunt.hcl # Instance-level Terragrunt configuration
|
||||||
|
│ └── config.yaml # Instance-specific configuration file
|
||||||
|
├── modules/ # Terraform modules
|
||||||
|
└── root.hcl # Root configuration file (provider, backend, etc.)
|
||||||
|
```
|
||||||
1
ci/autonode/requirements.txt
Normal file
1
ci/autonode/requirements.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
jinja2
|
||||||
8
ci/autonode/templates/node.yaml.j2
Normal file
8
ci/autonode/templates/node.yaml.j2
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
---
|
||||||
|
networking::interfaces:
|
||||||
|
{{ interface }}:
|
||||||
|
ipaddress: {{ ipaddress }}
|
||||||
|
|
||||||
|
networking::routes:
|
||||||
|
default:
|
||||||
|
gateway: {{ gateway }}
|
||||||
170
ci/autonode/update_hiera.py
Normal file
170
ci/autonode/update_hiera.py
Normal file
@ -0,0 +1,170 @@
|
|||||||
|
import json
|
||||||
|
import argparse
|
||||||
|
import subprocess
|
||||||
|
from pathlib import Path
|
||||||
|
from jinja2 import Template
|
||||||
|
|
||||||
|
### ========== GITOPS FUNCTIONS ==========
|
||||||
|
|
||||||
|
def run_command(command, cwd=None):
|
||||||
|
result = subprocess.run(command, cwd=cwd, shell=True, capture_output=True, text=True)
|
||||||
|
if result.returncode != 0:
|
||||||
|
raise Exception(f"Command '{command}' failed: {result.stderr}")
|
||||||
|
return result.stdout.strip()
|
||||||
|
|
||||||
|
def clone(repo_url, clone_path: Path):
|
||||||
|
run_command(f"git clone {repo_url} {clone_path}")
|
||||||
|
|
||||||
|
def checkout_base_branch(clone_path: Path, base_branch: str = "develop"):
|
||||||
|
print(f"🔁 Checking out base branch: {base_branch}")
|
||||||
|
run_command(f"git checkout {base_branch}", cwd=clone_path)
|
||||||
|
|
||||||
|
def checkout_branch(clone_path: Path, branch_name: str):
|
||||||
|
run_command(f"git checkout -b {branch_name}", cwd=clone_path)
|
||||||
|
|
||||||
|
def add(clone_path: Path, file_path: Path):
|
||||||
|
rel_path = file_path.relative_to(clone_path)
|
||||||
|
run_command(f"git add {rel_path}", cwd=clone_path)
|
||||||
|
|
||||||
|
def commit(clone_path: Path, commit_message: str):
|
||||||
|
run_command(f'git commit -m "{commit_message}"', cwd=clone_path)
|
||||||
|
|
||||||
|
def push(clone_path: Path, branch_name: str):
|
||||||
|
run_command(f"git push origin {branch_name}", cwd=clone_path)
|
||||||
|
|
||||||
|
def create_file_from_template(file_path: Path, template_content: str, context: dict, dryrun: bool):
|
||||||
|
template = Template(template_content)
|
||||||
|
rendered = template.render(context)
|
||||||
|
if dryrun:
|
||||||
|
print(f"\n📝 Would write to {file_path}:\n{rendered}")
|
||||||
|
else:
|
||||||
|
file_path.parent.mkdir(parents=True, exist_ok=True)
|
||||||
|
file_path.write_text(rendered)
|
||||||
|
|
||||||
|
def cleanup(clone_path: Path):
|
||||||
|
run_command(f"rm -rf {clone_path}")
|
||||||
|
|
||||||
|
### ========== NODE OPERATION ==========
|
||||||
|
|
||||||
|
def process_node(vmname: str, ipaddress: str, gateway: str, clone_path: Path,
|
||||||
|
commit_template: str, file_template: str, dryrun: bool):
|
||||||
|
|
||||||
|
file_rel_path = Path(f"hieradata/nodes/{vmname}.yaml")
|
||||||
|
file_path = clone_path / file_rel_path
|
||||||
|
branch_name = f"autonode/{vmname}"
|
||||||
|
|
||||||
|
if file_path.exists() and not dryrun:
|
||||||
|
print(f"⚠️ Skipping {vmname}: {file_path} already exists.")
|
||||||
|
return
|
||||||
|
|
||||||
|
print(f"\n🌿 Creating branch: {branch_name}")
|
||||||
|
checkout_branch(clone_path, branch_name)
|
||||||
|
|
||||||
|
print(f"📝 Rendering YAML for {vmname}")
|
||||||
|
create_file_from_template(
|
||||||
|
file_path,
|
||||||
|
file_template,
|
||||||
|
{
|
||||||
|
"ipaddress": ipaddress,
|
||||||
|
"gateway": gateway,
|
||||||
|
"interface": "eth0"
|
||||||
|
},
|
||||||
|
dryrun
|
||||||
|
)
|
||||||
|
|
||||||
|
if dryrun:
|
||||||
|
print(f"💤 Dry run: skipping add/commit/push for {vmname}")
|
||||||
|
return
|
||||||
|
|
||||||
|
print(f"➕ Adding {file_rel_path}")
|
||||||
|
add(clone_path, file_path)
|
||||||
|
|
||||||
|
commit_msg = Template(commit_template).render({"vmname": vmname})
|
||||||
|
print(f"✅ Committing: {commit_msg}")
|
||||||
|
commit(clone_path, commit_msg)
|
||||||
|
|
||||||
|
print(f"🚀 Pushing {branch_name}")
|
||||||
|
push(clone_path, branch_name)
|
||||||
|
|
||||||
|
|
||||||
|
def load_broken_tf_outputs(file_path: Path):
|
||||||
|
"""Handles newline-separated JSON objects (non-standard tf_outputs.json format)."""
|
||||||
|
objects = []
|
||||||
|
buffer = ""
|
||||||
|
for line in file_path.read_text().splitlines():
|
||||||
|
line = line.strip()
|
||||||
|
if not line:
|
||||||
|
continue
|
||||||
|
buffer += line
|
||||||
|
if buffer.endswith("}"):
|
||||||
|
try:
|
||||||
|
obj = json.loads(buffer)
|
||||||
|
objects.append(obj)
|
||||||
|
buffer = ""
|
||||||
|
except json.JSONDecodeError:
|
||||||
|
buffer += " " # accumulate more lines until it's valid
|
||||||
|
return objects
|
||||||
|
|
||||||
|
### ========== MAIN CLI SCRIPT ==========
|
||||||
|
|
||||||
|
def main():
|
||||||
|
parser = argparse.ArgumentParser(description="Generate Hiera node YAMLs and push to Git")
|
||||||
|
parser.add_argument("--output-json", required=True, type=Path, help="Terragrunt JSON outputs")
|
||||||
|
parser.add_argument("--repo-url", required=True, help="Git repo URL")
|
||||||
|
parser.add_argument("--clone-path", required=True, type=Path, help="Temp clone path")
|
||||||
|
parser.add_argument("--commit-template", required=True, help="Commit message Jinja2 template")
|
||||||
|
parser.add_argument("--file-template", required=True, type=Path, help="Path to Jinja2 YAML template")
|
||||||
|
parser.add_argument("--dry-run", action="store_true", help="Do not write or push, just preview")
|
||||||
|
parser.add_argument("--base-branch", default="develop", help="Base branch to branch off (default: develop)")
|
||||||
|
|
||||||
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
if args.clone_path.exists():
|
||||||
|
print(f"🧹 Removing existing clone at {args.clone_path}")
|
||||||
|
cleanup(args.clone_path)
|
||||||
|
|
||||||
|
print(f"📥 Cloning repo to {args.clone_path}")
|
||||||
|
clone(args.repo_url, args.clone_path)
|
||||||
|
|
||||||
|
file_template = args.file_template.read_text()
|
||||||
|
# Use loader
|
||||||
|
parsed_objects = load_broken_tf_outputs(args.output_json)
|
||||||
|
|
||||||
|
# Flatten into merged format using hostnames
|
||||||
|
merged_outputs = {}
|
||||||
|
for obj in parsed_objects:
|
||||||
|
if "vm_metadata" in obj and "value" in obj["vm_metadata"]:
|
||||||
|
hostname = obj["vm_metadata"]["value"]["hostname"]
|
||||||
|
merged_outputs[f"vm_metadata_{hostname}"] = obj["vm_metadata"]
|
||||||
|
|
||||||
|
for module_path, data in merged_outputs.items():
|
||||||
|
if "value" not in data:
|
||||||
|
print(f"⏭️ Skipping {module_path}: missing 'value'")
|
||||||
|
continue
|
||||||
|
|
||||||
|
node = data["value"]
|
||||||
|
vmname = node["hostname"]
|
||||||
|
ip = node["ipaddress"]
|
||||||
|
gw = node["gateway"]
|
||||||
|
|
||||||
|
checkout_base_branch(args.clone_path, args.base_branch)
|
||||||
|
|
||||||
|
print(f"\n🔧 Processing {vmname} ({ip})")
|
||||||
|
process_node(
|
||||||
|
vmname=vmname,
|
||||||
|
ipaddress=ip,
|
||||||
|
gateway=gw,
|
||||||
|
clone_path=args.clone_path,
|
||||||
|
commit_template=args.commit_template,
|
||||||
|
file_template=file_template,
|
||||||
|
dryrun=args.dry_run
|
||||||
|
)
|
||||||
|
|
||||||
|
if not args.dry_run:
|
||||||
|
print(f"\n🧹 Cleaning up: {args.clone_path}")
|
||||||
|
cleanup(args.clone_path)
|
||||||
|
|
||||||
|
print("\n🏁 All done!")
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
||||||
4
ci/requirements.txt
Normal file
4
ci/requirements.txt
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
python-hcl2==7.2.0
|
||||||
|
pyyaml==6.0.2
|
||||||
|
rich==14.0.0
|
||||||
|
typer==0.15.3
|
||||||
73
ci/review.py
Normal file
73
ci/review.py
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
from pathlib import Path
|
||||||
|
import yaml
|
||||||
|
import hcl2
|
||||||
|
from collections import defaultdict
|
||||||
|
from rich.console import Console
|
||||||
|
from rich.tree import Tree
|
||||||
|
import typer
|
||||||
|
import re
|
||||||
|
|
||||||
|
# Define the root paths
|
||||||
|
INSTANCES_DIR = Path("config/instances")
|
||||||
|
|
||||||
|
def extract_node_name(hcl_path):
|
||||||
|
text = hcl_path.read_text()
|
||||||
|
match = re.search(r'node_name\s*=\s*"([^"]+)"', text)
|
||||||
|
if match:
|
||||||
|
return match.group(1)
|
||||||
|
return None
|
||||||
|
|
||||||
|
# Function to extract cobbler_mgmt_classes and profiles from config.yaml
|
||||||
|
def extract_config_data(config_path):
|
||||||
|
with config_path.open("r") as f:
|
||||||
|
config = yaml.safe_load(f)
|
||||||
|
return (
|
||||||
|
config.get("cobbler_mgmt_classes", []),
|
||||||
|
config.get("profiles", []),
|
||||||
|
)
|
||||||
|
|
||||||
|
# Build a dictionary mapping node_name to instances and their metadata
|
||||||
|
def build_node_tree():
|
||||||
|
tree_data = defaultdict(list)
|
||||||
|
for instance_dir in INSTANCES_DIR.iterdir():
|
||||||
|
if not instance_dir.is_dir() or instance_dir.name in {"template"}:
|
||||||
|
continue
|
||||||
|
|
||||||
|
config_path = instance_dir / "config.yaml"
|
||||||
|
hcl_path = instance_dir / "terragrunt.hcl"
|
||||||
|
|
||||||
|
if not config_path.exists() or not hcl_path.exists():
|
||||||
|
continue
|
||||||
|
|
||||||
|
node_name = extract_node_name(hcl_path)
|
||||||
|
if not node_name:
|
||||||
|
continue
|
||||||
|
|
||||||
|
classes, profiles = extract_config_data(config_path)
|
||||||
|
tree_data[node_name].append({
|
||||||
|
"instance": instance_dir.name,
|
||||||
|
"classes": classes,
|
||||||
|
"profiles": profiles
|
||||||
|
})
|
||||||
|
return tree_data
|
||||||
|
|
||||||
|
# CLI using Typer
|
||||||
|
app = typer.Typer()
|
||||||
|
console = Console()
|
||||||
|
|
||||||
|
@app.command()
|
||||||
|
def show():
|
||||||
|
data = build_node_tree()
|
||||||
|
root = Tree("📦 [bold blue]Node Overview[/bold blue]")
|
||||||
|
for node, instances in sorted(data.items()):
|
||||||
|
node_branch = root.add(f"[bold green]{node}[/bold green]")
|
||||||
|
for inst in sorted(instances, key=lambda x: x['instance']):
|
||||||
|
inst_branch = node_branch.add(f"[cyan]{inst['instance']}[/cyan]")
|
||||||
|
if inst['classes']:
|
||||||
|
inst_branch.add(f"🛠️ classes: {', '.join(inst['classes'])}")
|
||||||
|
if inst['profiles']:
|
||||||
|
inst_branch.add(f"📋 profiles: {', '.join(inst['profiles'])}")
|
||||||
|
console.print(root)
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
app()
|
||||||
54
ci/set_node_env.sh
Executable file
54
ci/set_node_env.sh
Executable file
@ -0,0 +1,54 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
# Find repo root
|
||||||
|
REPO_ROOT=$(git rev-parse --show-toplevel 2>/dev/null || true)
|
||||||
|
|
||||||
|
if [ -z "$REPO_ROOT" ]; then
|
||||||
|
echo "❗ Could not detect Git repo root. Are you inside a Git repo?"
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Go up three directories from the current folder
|
||||||
|
pushd ../../../
|
||||||
|
INSTANCE_DIR=$(pwd)
|
||||||
|
INSTANCE_NAME="$(basename $(pwd))"
|
||||||
|
popd
|
||||||
|
|
||||||
|
echo "🔎 Detected instance: $INSTANCE_NAME"
|
||||||
|
|
||||||
|
# Find the real terragrunt.hcl location
|
||||||
|
TERRAGRUNT_HCL="${INSTANCE_DIR}/terragrunt.hcl"
|
||||||
|
|
||||||
|
if [ ! -f "$TERRAGRUNT_HCL" ]; then
|
||||||
|
echo "❗ terragrunt.hcl not found at expected location: $TERRAGRUNT_HCL"
|
||||||
|
exit 3
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Extract node_name from terragrunt.hcl
|
||||||
|
NODE_NAME=$(grep 'node_name *= *' "$TERRAGRUNT_HCL" | sed -E 's/.*=\s*"([^"]+)".*/\1/')
|
||||||
|
|
||||||
|
if [ -z "$NODE_NAME" ]; then
|
||||||
|
echo "❗ node_name not found in $TERRAGRUNT_HCL"
|
||||||
|
exit 4
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Set config file path
|
||||||
|
YAML_FILE="${REPO_ROOT}/config/nodes/${NODE_NAME}/config.yaml"
|
||||||
|
|
||||||
|
if [ ! -f "$YAML_FILE" ]; then
|
||||||
|
echo "❗ Config file $YAML_FILE not found!"
|
||||||
|
exit 5
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "✔️ Exporting environment variables from $YAML_FILE"
|
||||||
|
|
||||||
|
# Export vars
|
||||||
|
export NODE_ADDR=$(yq eval '.node_addr' "$YAML_FILE")
|
||||||
|
export NODE_PORT=$(yq eval '.node_port' "$YAML_FILE")
|
||||||
|
export NODE_NAME="${NODE_NAME}"
|
||||||
|
|
||||||
|
# Echo for debugging
|
||||||
|
echo "NODE_ADDR=$NODE_ADDR"
|
||||||
|
echo "NODE_PORT=$NODE_PORT"
|
||||||
|
echo "NODE_NAME=$NODE_NAME"
|
||||||
8
config/globals/images.yaml
Normal file
8
config/globals/images.yaml
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
almalinux/8/cloud:
|
||||||
|
remote: images
|
||||||
|
aliases:
|
||||||
|
- almalinux8
|
||||||
|
almalinux/9/cloud:
|
||||||
|
remote: images
|
||||||
|
aliases:
|
||||||
|
- almalinux9
|
||||||
21
config/globals/networks.yaml
Normal file
21
config/globals/networks.yaml
Normal file
@ -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
|
||||||
321
config/globals/profiles.yaml
Normal file
321
config/globals/profiles.yaml
Normal file
@ -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: []
|
||||||
5
config/globals/storage_pools.yaml
Normal file
5
config/globals/storage_pools.yaml
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
fastpool:
|
||||||
|
driver: zfs
|
||||||
|
description: nvme backed zfs store
|
||||||
|
config:
|
||||||
|
source: fastpool/data/incus
|
||||||
8
config/globals/storage_volumes.yaml
Normal file
8
config/globals/storage_volumes.yaml
Normal file
@ -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
|
||||||
21
config/instances.hcl
Normal file
21
config/instances.hcl
Normal file
@ -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
|
||||||
|
}
|
||||||
14
config/instances/ausyd1nxvm2000/config.yaml
Normal file
14
config/instances/ausyd1nxvm2000/config.yaml
Normal file
@ -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
|
||||||
56
config/instances/ausyd1nxvm2000/terragrunt.hcl
Normal file
56
config/instances/ausyd1nxvm2000/terragrunt.hcl
Normal file
@ -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
|
||||||
|
}
|
||||||
14
config/instances/ausyd1nxvm2001/config.yaml
Normal file
14
config/instances/ausyd1nxvm2001/config.yaml
Normal file
@ -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
|
||||||
52
config/instances/ausyd1nxvm2001/terragrunt.hcl
Normal file
52
config/instances/ausyd1nxvm2001/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
|
||||||
|
}
|
||||||
14
config/instances/ausyd1nxvm2002/config.yaml
Normal file
14
config/instances/ausyd1nxvm2002/config.yaml
Normal file
@ -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
|
||||||
52
config/instances/ausyd1nxvm2002/terragrunt.hcl
Normal file
52
config/instances/ausyd1nxvm2002/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
|
||||||
|
}
|
||||||
14
config/instances/ausyd1nxvm2003/config.yaml
Normal file
14
config/instances/ausyd1nxvm2003/config.yaml
Normal file
@ -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
|
||||||
52
config/instances/ausyd1nxvm2003/terragrunt.hcl
Normal file
52
config/instances/ausyd1nxvm2003/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
|
||||||
|
}
|
||||||
14
config/instances/ausyd1nxvm2004/config.yaml
Normal file
14
config/instances/ausyd1nxvm2004/config.yaml
Normal file
@ -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
|
||||||
52
config/instances/ausyd1nxvm2004/terragrunt.hcl
Normal file
52
config/instances/ausyd1nxvm2004/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
|
||||||
|
}
|
||||||
13
config/instances/ausyd1nxvm2005/config.yaml
Normal file
13
config/instances/ausyd1nxvm2005/config.yaml
Normal file
@ -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
|
||||||
52
config/instances/ausyd1nxvm2005/terragrunt.hcl
Normal file
52
config/instances/ausyd1nxvm2005/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
|
||||||
|
}
|
||||||
13
config/instances/ausyd1nxvm2006/config.yaml
Normal file
13
config/instances/ausyd1nxvm2006/config.yaml
Normal file
@ -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
|
||||||
52
config/instances/ausyd1nxvm2006/terragrunt.hcl
Normal file
52
config/instances/ausyd1nxvm2006/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
|
||||||
|
}
|
||||||
13
config/instances/ausyd1nxvm2007/config.yaml
Normal file
13
config/instances/ausyd1nxvm2007/config.yaml
Normal file
@ -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
|
||||||
52
config/instances/ausyd1nxvm2007/terragrunt.hcl
Normal file
52
config/instances/ausyd1nxvm2007/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
|
||||||
|
}
|
||||||
13
config/instances/ausyd1nxvm2008/config.yaml
Normal file
13
config/instances/ausyd1nxvm2008/config.yaml
Normal file
@ -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
|
||||||
52
config/instances/ausyd1nxvm2008/terragrunt.hcl
Normal file
52
config/instances/ausyd1nxvm2008/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
|
||||||
|
}
|
||||||
13
config/instances/ausyd1nxvm2009/config.yaml
Normal file
13
config/instances/ausyd1nxvm2009/config.yaml
Normal file
@ -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
|
||||||
52
config/instances/ausyd1nxvm2009/terragrunt.hcl
Normal file
52
config/instances/ausyd1nxvm2009/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/ausyd1nxvm2010/config.yaml
Normal file
7
config/instances/ausyd1nxvm2010/config.yaml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
description: PuppetDB API
|
||||||
|
cobbler_mgmt_classes:
|
||||||
|
- roles::infra::puppetdb::api
|
||||||
|
profiles:
|
||||||
|
- disk10
|
||||||
|
- net_com1_eth0
|
||||||
|
- 2core2048
|
||||||
52
config/instances/ausyd1nxvm2010/terragrunt.hcl
Normal file
52
config/instances/ausyd1nxvm2010/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/ausyd1nxvm2011/config.yaml
Normal file
7
config/instances/ausyd1nxvm2011/config.yaml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
description: PuppetDB API
|
||||||
|
cobbler_mgmt_classes:
|
||||||
|
- roles::infra::puppetdb::api
|
||||||
|
profiles:
|
||||||
|
- disk10
|
||||||
|
- net_com1_eth0
|
||||||
|
- 2core2048
|
||||||
52
config/instances/ausyd1nxvm2011/terragrunt.hcl
Normal file
52
config/instances/ausyd1nxvm2011/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
|
||||||
|
}
|
||||||
7
config/instances/ausyd1nxvm2012/config.yaml
Normal file
7
config/instances/ausyd1nxvm2012/config.yaml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
description: PuppetDB API
|
||||||
|
cobbler_mgmt_classes:
|
||||||
|
- roles::infra::puppetdb::api
|
||||||
|
profiles:
|
||||||
|
- disk10
|
||||||
|
- net_com1_eth0
|
||||||
|
- 2core2048
|
||||||
52
config/instances/ausyd1nxvm2012/terragrunt.hcl
Normal file
52
config/instances/ausyd1nxvm2012/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
|
||||||
|
}
|
||||||
7
config/instances/ausyd1nxvm2013/config.yaml
Normal file
7
config/instances/ausyd1nxvm2013/config.yaml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
description: Puppetboard
|
||||||
|
cobbler_mgmt_classes:
|
||||||
|
- roles::infra::puppetboard::server
|
||||||
|
profiles:
|
||||||
|
- disk10
|
||||||
|
- net_com1_eth0
|
||||||
|
- 2core2048
|
||||||
52
config/instances/ausyd1nxvm2013/terragrunt.hcl
Normal file
52
config/instances/ausyd1nxvm2013/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/ausyd1nxvm2014/config.yaml
Normal file
7
config/instances/ausyd1nxvm2014/config.yaml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
description: Puppetboard
|
||||||
|
cobbler_mgmt_classes:
|
||||||
|
- roles::infra::puppetboard::server
|
||||||
|
profiles:
|
||||||
|
- disk10
|
||||||
|
- net_com1_eth0
|
||||||
|
- 2core2048
|
||||||
52
config/instances/ausyd1nxvm2014/terragrunt.hcl
Normal file
52
config/instances/ausyd1nxvm2014/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
|
||||||
|
}
|
||||||
7
config/instances/ausyd1nxvm2015/config.yaml
Normal file
7
config/instances/ausyd1nxvm2015/config.yaml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
description: Grafana
|
||||||
|
cobbler_mgmt_classes:
|
||||||
|
- roles::infra::metrics::grafana
|
||||||
|
profiles:
|
||||||
|
- disk10
|
||||||
|
- net_com1_eth0
|
||||||
|
- 2core2048
|
||||||
52
config/instances/ausyd1nxvm2015/terragrunt.hcl
Normal file
52
config/instances/ausyd1nxvm2015/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
|
||||||
|
}
|
||||||
7
config/instances/ausyd1nxvm2016/config.yaml
Normal file
7
config/instances/ausyd1nxvm2016/config.yaml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
description: Grafana
|
||||||
|
cobbler_mgmt_classes:
|
||||||
|
- roles::infra::metrics::grafana
|
||||||
|
profiles:
|
||||||
|
- disk10
|
||||||
|
- net_com1_eth0
|
||||||
|
- 2core2048
|
||||||
52
config/instances/ausyd1nxvm2016/terragrunt.hcl
Normal file
52
config/instances/ausyd1nxvm2016/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/ausyd1nxvm2017/config.yaml
Normal file
7
config/instances/ausyd1nxvm2017/config.yaml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
description: LDAP Server
|
||||||
|
cobbler_mgmt_classes:
|
||||||
|
- roles::infra::auth::glauth
|
||||||
|
profiles:
|
||||||
|
- disk10
|
||||||
|
- net_com1_eth0
|
||||||
|
- 2core2048
|
||||||
52
config/instances/ausyd1nxvm2017/terragrunt.hcl
Normal file
52
config/instances/ausyd1nxvm2017/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/ausyd1nxvm2018/config.yaml
Normal file
7
config/instances/ausyd1nxvm2018/config.yaml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
description: LDAP Server
|
||||||
|
cobbler_mgmt_classes:
|
||||||
|
- roles::infra::auth::glauth
|
||||||
|
profiles:
|
||||||
|
- disk10
|
||||||
|
- net_com1_eth0
|
||||||
|
- 2core2048
|
||||||
52
config/instances/ausyd1nxvm2018/terragrunt.hcl
Normal file
52
config/instances/ausyd1nxvm2018/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/ausyd1nxvm2019/config.yaml
Normal file
7
config/instances/ausyd1nxvm2019/config.yaml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
description: LDAP Server
|
||||||
|
cobbler_mgmt_classes:
|
||||||
|
- roles::infra::auth::glauth
|
||||||
|
profiles:
|
||||||
|
- disk10
|
||||||
|
- net_com1_eth0
|
||||||
|
- 2core2048
|
||||||
52
config/instances/ausyd1nxvm2019/terragrunt.hcl
Normal file
52
config/instances/ausyd1nxvm2019/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
|
||||||
|
}
|
||||||
7
config/instances/ausyd1nxvm2020/config.yaml
Normal file
7
config/instances/ausyd1nxvm2020/config.yaml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
description: SSH Jumphost
|
||||||
|
cobbler_mgmt_classes:
|
||||||
|
- roles::infra::proxy::jumphost
|
||||||
|
profiles:
|
||||||
|
- disk10
|
||||||
|
- net_com1_eth0
|
||||||
|
- 2core2048
|
||||||
52
config/instances/ausyd1nxvm2020/terragrunt.hcl
Normal file
52
config/instances/ausyd1nxvm2020/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
|
||||||
|
}
|
||||||
7
config/instances/ausyd1nxvm2021/config.yaml
Normal file
7
config/instances/ausyd1nxvm2021/config.yaml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
description: SSH Jumphost
|
||||||
|
cobbler_mgmt_classes:
|
||||||
|
- roles::infra::proxy::jumphost
|
||||||
|
profiles:
|
||||||
|
- disk10
|
||||||
|
- net_com1_eth0
|
||||||
|
- 2core2048
|
||||||
52
config/instances/ausyd1nxvm2021/terragrunt.hcl
Normal file
52
config/instances/ausyd1nxvm2021/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/ausyd1nxvm2022/config.yaml
Normal file
7
config/instances/ausyd1nxvm2022/config.yaml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
description: SSH Jumphost
|
||||||
|
cobbler_mgmt_classes:
|
||||||
|
- roles::infra::proxy::jumphost
|
||||||
|
profiles:
|
||||||
|
- disk10
|
||||||
|
- net_com1_eth0
|
||||||
|
- 2core2048
|
||||||
52
config/instances/ausyd1nxvm2022/terragrunt.hcl
Normal file
52
config/instances/ausyd1nxvm2022/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
|
||||||
|
}
|
||||||
17
config/instances/ausyd1nxvm2023/config.yaml
Normal file
17
config/instances/ausyd1nxvm2023/config.yaml
Normal file
@ -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
|
||||||
52
config/instances/ausyd1nxvm2023/terragrunt.hcl
Normal file
52
config/instances/ausyd1nxvm2023/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
|
||||||
|
}
|
||||||
17
config/instances/ausyd1nxvm2024/config.yaml
Normal file
17
config/instances/ausyd1nxvm2024/config.yaml
Normal file
@ -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
|
||||||
52
config/instances/ausyd1nxvm2024/terragrunt.hcl
Normal file
52
config/instances/ausyd1nxvm2024/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
|
||||||
|
}
|
||||||
17
config/instances/ausyd1nxvm2025/config.yaml
Normal file
17
config/instances/ausyd1nxvm2025/config.yaml
Normal file
@ -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
|
||||||
52
config/instances/ausyd1nxvm2025/terragrunt.hcl
Normal file
52
config/instances/ausyd1nxvm2025/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
|
||||||
|
}
|
||||||
13
config/instances/ausyd1nxvm2026/config.yaml
Normal file
13
config/instances/ausyd1nxvm2026/config.yaml
Normal file
@ -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
|
||||||
52
config/instances/ausyd1nxvm2026/terragrunt.hcl
Normal file
52
config/instances/ausyd1nxvm2026/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
|
||||||
|
}
|
||||||
13
config/instances/ausyd1nxvm2027/config.yaml
Normal file
13
config/instances/ausyd1nxvm2027/config.yaml
Normal file
@ -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
|
||||||
52
config/instances/ausyd1nxvm2027/terragrunt.hcl
Normal file
52
config/instances/ausyd1nxvm2027/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
|
||||||
|
}
|
||||||
13
config/instances/ausyd1nxvm2028/config.yaml
Normal file
13
config/instances/ausyd1nxvm2028/config.yaml
Normal file
@ -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
|
||||||
52
config/instances/ausyd1nxvm2028/terragrunt.hcl
Normal file
52
config/instances/ausyd1nxvm2028/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
|
||||||
|
}
|
||||||
8
config/instances/ausyd1nxvm2029/config.yaml
Normal file
8
config/instances/ausyd1nxvm2029/config.yaml
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
description: Bind Authoritative Server
|
||||||
|
cobbler_mgmt_classes:
|
||||||
|
- roles::infra::dns::master
|
||||||
|
profiles:
|
||||||
|
- disk10
|
||||||
|
- net_com1_eth0
|
||||||
|
- 2core2048
|
||||||
|
storage_volumes: {}
|
||||||
52
config/instances/ausyd1nxvm2029/terragrunt.hcl
Normal file
52
config/instances/ausyd1nxvm2029/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/ausyd1nxvm2030/config.yaml
Normal file
8
config/instances/ausyd1nxvm2030/config.yaml
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
description: Bind Authoritative Server
|
||||||
|
cobbler_mgmt_classes:
|
||||||
|
- roles::infra::dns::master
|
||||||
|
profiles:
|
||||||
|
- disk10
|
||||||
|
- net_com1_eth0
|
||||||
|
- 2core2048
|
||||||
|
storage_volumes: {}
|
||||||
52
config/instances/ausyd1nxvm2030/terragrunt.hcl
Normal file
52
config/instances/ausyd1nxvm2030/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/ausyd1nxvm2031/config.yaml
Normal file
8
config/instances/ausyd1nxvm2031/config.yaml
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
description: Bind Authoritative Server
|
||||||
|
cobbler_mgmt_classes:
|
||||||
|
- roles::infra::dns::master
|
||||||
|
profiles:
|
||||||
|
- disk10
|
||||||
|
- net_com1_eth0
|
||||||
|
- 2core2048
|
||||||
|
storage_volumes: {}
|
||||||
52
config/instances/ausyd1nxvm2031/terragrunt.hcl
Normal file
52
config/instances/ausyd1nxvm2031/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
|
||||||
|
}
|
||||||
8
config/instances/ausyd1nxvm2032/config.yaml
Normal file
8
config/instances/ausyd1nxvm2032/config.yaml
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
description: Bind Open-Resolver Server
|
||||||
|
cobbler_mgmt_classes:
|
||||||
|
- roles::infra::dns::resolver
|
||||||
|
profiles:
|
||||||
|
- disk10
|
||||||
|
- net_dmz1_eth0
|
||||||
|
- 2core2048
|
||||||
|
storage_volumes: {}
|
||||||
52
config/instances/ausyd1nxvm2032/terragrunt.hcl
Normal file
52
config/instances/ausyd1nxvm2032/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
|
||||||
|
}
|
||||||
8
config/instances/ausyd1nxvm2033/config.yaml
Normal file
8
config/instances/ausyd1nxvm2033/config.yaml
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
description: Bind Open-Resolver Server
|
||||||
|
cobbler_mgmt_classes:
|
||||||
|
- roles::infra::dns::resolver
|
||||||
|
profiles:
|
||||||
|
- disk10
|
||||||
|
- net_dmz1_eth0
|
||||||
|
- 2core2048
|
||||||
|
storage_volumes: {}
|
||||||
52
config/instances/ausyd1nxvm2033/terragrunt.hcl
Normal file
52
config/instances/ausyd1nxvm2033/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
|
||||||
|
}
|
||||||
8
config/instances/ausyd1nxvm2034/config.yaml
Normal file
8
config/instances/ausyd1nxvm2034/config.yaml
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
description: Bind Open-Resolver Server
|
||||||
|
cobbler_mgmt_classes:
|
||||||
|
- roles::infra::dns::resolver
|
||||||
|
profiles:
|
||||||
|
- disk10
|
||||||
|
- net_dmz1_eth0
|
||||||
|
- 2core2048
|
||||||
|
storage_volumes: {}
|
||||||
52
config/instances/ausyd1nxvm2034/terragrunt.hcl
Normal file
52
config/instances/ausyd1nxvm2034/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/ausyd1nxvm2035/config.yaml
Normal file
8
config/instances/ausyd1nxvm2035/config.yaml
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
description: Gonic Music Server
|
||||||
|
cobbler_mgmt_classes:
|
||||||
|
- roles::apps::music::gonic
|
||||||
|
profiles:
|
||||||
|
- disk10
|
||||||
|
- net_com1_eth0
|
||||||
|
- 2core2048
|
||||||
|
storage_volumes: {}
|
||||||
52
config/instances/ausyd1nxvm2035/terragrunt.hcl
Normal file
52
config/instances/ausyd1nxvm2035/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/ausyd1nxvm2036/config.yaml
Normal file
8
config/instances/ausyd1nxvm2036/config.yaml
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
description: Gonic Music Server
|
||||||
|
cobbler_mgmt_classes:
|
||||||
|
- roles::apps::music::gonic
|
||||||
|
profiles:
|
||||||
|
- disk10
|
||||||
|
- net_com1_eth0
|
||||||
|
- 2core2048
|
||||||
|
storage_volumes: {}
|
||||||
52
config/instances/ausyd1nxvm2036/terragrunt.hcl
Normal file
52
config/instances/ausyd1nxvm2036/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
|
||||||
|
}
|
||||||
8
config/instances/ausyd1nxvm2037/config.yaml
Normal file
8
config/instances/ausyd1nxvm2037/config.yaml
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
description: Gonic Music Server
|
||||||
|
cobbler_mgmt_classes:
|
||||||
|
- roles::apps::music::gonic
|
||||||
|
profiles:
|
||||||
|
- disk10
|
||||||
|
- net_com1_eth0
|
||||||
|
- 2core2048
|
||||||
|
storage_volumes: {}
|
||||||
52
config/instances/ausyd1nxvm2037/terragrunt.hcl
Normal file
52
config/instances/ausyd1nxvm2037/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
|
||||||
|
}
|
||||||
13
config/instances/ausyd1nxvm2038/config.yaml
Normal file
13
config/instances/ausyd1nxvm2038/config.yaml
Normal file
@ -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
|
||||||
52
config/instances/ausyd1nxvm2038/terragrunt.hcl
Normal file
52
config/instances/ausyd1nxvm2038/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
|
||||||
|
}
|
||||||
13
config/instances/ausyd1nxvm2039/config.yaml
Normal file
13
config/instances/ausyd1nxvm2039/config.yaml
Normal file
@ -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
|
||||||
52
config/instances/ausyd1nxvm2039/terragrunt.hcl
Normal file
52
config/instances/ausyd1nxvm2039/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
|
||||||
|
}
|
||||||
19
config/instances/ausyd1nxvm2040/config.yaml
Normal file
19
config/instances/ausyd1nxvm2040/config.yaml
Normal file
@ -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
|
||||||
52
config/instances/ausyd1nxvm2040/terragrunt.hcl
Normal file
52
config/instances/ausyd1nxvm2040/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
|
||||||
|
}
|
||||||
19
config/instances/ausyd1nxvm2041/config.yaml
Normal file
19
config/instances/ausyd1nxvm2041/config.yaml
Normal file
@ -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
|
||||||
52
config/instances/ausyd1nxvm2041/terragrunt.hcl
Normal file
52
config/instances/ausyd1nxvm2041/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
|
||||||
|
}
|
||||||
19
config/instances/ausyd1nxvm2042/config.yaml
Normal file
19
config/instances/ausyd1nxvm2042/config.yaml
Normal file
@ -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
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user