Merge pull request 'Seed the placement files from what each node runs today, so placement lives in the catalogue (issue 1126, ADR 0549 §4)' (#520) from feat/1126-seed into main
This commit was merged in pull request #520.
This commit is contained in:
+1113
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,269 @@
|
|||||||
|
{
|
||||||
|
"v": 1,
|
||||||
|
"node": "g14",
|
||||||
|
"decided": {
|
||||||
|
"address": "10.10.0.4",
|
||||||
|
"account": "jochen",
|
||||||
|
"tunnel": {
|
||||||
|
"interface": "wg0",
|
||||||
|
"unit": "wg-quick@wg0",
|
||||||
|
"config": "/etc/wireguard/wg0.conf",
|
||||||
|
"port": 51820,
|
||||||
|
"mtu": 1380,
|
||||||
|
"address": "10.10.0.4/24",
|
||||||
|
"range": "10.10.0.0/24",
|
||||||
|
"public-key": "mq76YPW0FrExhAvt/ZG1SB2BK6/cPISKgXO53SEMazU="
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"modules": [
|
||||||
|
{
|
||||||
|
"module": "adwaita"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "asus-zephyrus-g14"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "avahi"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "blueman"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "bluetooth"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "ca-trust"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "claude-code",
|
||||||
|
"has-mesh-wide": true,
|
||||||
|
"has-layer": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "clipmenu"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "cups"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "dbus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "dev-tools"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "disk-load"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "dmenu"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "docker"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "docker-compose"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "dunst",
|
||||||
|
"has-layer": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "fail2ban"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "feh"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "flatpak"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "fonts"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "forticlient"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "gnome-keyring"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "go"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "hostname",
|
||||||
|
"has-layer": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "i3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "i3status-rust"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "kernel"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "lemurs"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "localization"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "logrotate"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "memory-pressure"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "mesh-build-go",
|
||||||
|
"has-layer": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "mesh-build-node",
|
||||||
|
"bindings": {
|
||||||
|
"npm-package-registry": {
|
||||||
|
"node": "novox",
|
||||||
|
"module": "gitea"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "mesh-cli"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "mesh-files"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "mesh-host",
|
||||||
|
"has-layer": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "mesh-mail-notifier"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "mesh-provisioner-client"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "mesh-reads"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "mesh-wireguard"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "netcheck"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "networkmanager"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "nextcloud-client"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "nftables"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "nm-applet"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "node-env"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "node-tools"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "nodejs"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "okioki",
|
||||||
|
"has-layer": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "openrazer"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "pacman",
|
||||||
|
"has-layer": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "picom"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "polychromatic"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "power",
|
||||||
|
"has-mesh-wide": true,
|
||||||
|
"has-layer": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "powerlevel10k"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "restic"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "rofi"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "screen-lock"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "sensors"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "slack"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "snapd"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "ssh-client"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "sshd"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "sudo"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "systemd"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "systemd-resolved"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "time-sync"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "triggerhappy"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "xclip"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "xdg",
|
||||||
|
"has-mesh-wide": true,
|
||||||
|
"has-layer": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "xorg"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "xterm"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "zsh"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "zsh-autosuggestions"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "zsh-syntax-highlighting"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pins": {
|
||||||
|
"wildcard-resolution": {
|
||||||
|
"node": "novox",
|
||||||
|
"module": "dnsmasq"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,584 @@
|
|||||||
|
{
|
||||||
|
"v": 1,
|
||||||
|
"node": "novox",
|
||||||
|
"decided": {
|
||||||
|
"endpoint": "142.132.152.141:51820",
|
||||||
|
"site": "hosting",
|
||||||
|
"hub": true,
|
||||||
|
"address": "10.10.0.1",
|
||||||
|
"public-domain": "novox.be",
|
||||||
|
"account": "jochens",
|
||||||
|
"agent-account": "nox",
|
||||||
|
"tunnel": {
|
||||||
|
"interface": "wg0",
|
||||||
|
"unit": "wg-quick@wg0",
|
||||||
|
"config": "/etc/wireguard/wg0.conf",
|
||||||
|
"port": 51820,
|
||||||
|
"address": "10.10.0.1/24",
|
||||||
|
"range": "10.10.0.0/24",
|
||||||
|
"public-key": "xW0ETQwyR9rHi2XSfOJrKkairE+Fp70FPNNcirqMixY="
|
||||||
|
},
|
||||||
|
"peer-names": {
|
||||||
|
"XT1l25Z0/YhRNQ8FQM+9XsAp7chx5MI0eLOOg1SUEXA=": "shanks",
|
||||||
|
"mq76YPW0FrExhAvt/ZG1SB2BK6/cPISKgXO53SEMazU=": "g14",
|
||||||
|
"zTKYP6Sz1hDwnwxIHgiGXYAeGcWbqti3tcSvKEA0Ew4=": "ace"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"modules": [
|
||||||
|
{
|
||||||
|
"module": "artifact-store-tools",
|
||||||
|
"has-mesh-wide": true,
|
||||||
|
"has-layer": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "avahi"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "ca-trust"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "claude-code",
|
||||||
|
"has-mesh-wide": true,
|
||||||
|
"has-layer": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "claude-licence-manager",
|
||||||
|
"bindings": {
|
||||||
|
"postgres-database": {
|
||||||
|
"node": "novox",
|
||||||
|
"module": "postgres"
|
||||||
|
},
|
||||||
|
"secret": {
|
||||||
|
"node": "novox",
|
||||||
|
"module": "mesh-vault"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "dbus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "de-spiegel",
|
||||||
|
"ports": {
|
||||||
|
"35621": 20005
|
||||||
|
},
|
||||||
|
"bindings": {
|
||||||
|
"smtp": {
|
||||||
|
"node": "novox",
|
||||||
|
"module": "mailu"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "desk-channel",
|
||||||
|
"has-layer": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "dev-tools"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "disk-load"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "distribution",
|
||||||
|
"layer": {
|
||||||
|
"ports": {
|
||||||
|
"5000": 5100
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"has-layer": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "dnsmasq"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "docker"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "fail2ban"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "gitea",
|
||||||
|
"ports": {
|
||||||
|
"3000": 20000
|
||||||
|
},
|
||||||
|
"bindings": {
|
||||||
|
"postgres-database": {
|
||||||
|
"node": "novox",
|
||||||
|
"module": "postgres"
|
||||||
|
},
|
||||||
|
"secret": {
|
||||||
|
"node": "novox",
|
||||||
|
"module": "mesh-vault"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"layer": {
|
||||||
|
"expose": {
|
||||||
|
"22": "anywhere"
|
||||||
|
},
|
||||||
|
"ports": {
|
||||||
|
"22": 222
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"has-layer": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "go"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "hostname",
|
||||||
|
"has-layer": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "invoicing",
|
||||||
|
"ports": {
|
||||||
|
"80": 20007,
|
||||||
|
"9000": 20008
|
||||||
|
},
|
||||||
|
"bindings": {
|
||||||
|
"mongodb-database": {
|
||||||
|
"node": "novox",
|
||||||
|
"module": "mongodb"
|
||||||
|
},
|
||||||
|
"s3-bucket": {
|
||||||
|
"node": "novox",
|
||||||
|
"module": "minio"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "kernel",
|
||||||
|
"has-layer": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "keycloak",
|
||||||
|
"ports": {
|
||||||
|
"8080": 20009
|
||||||
|
},
|
||||||
|
"bindings": {
|
||||||
|
"postgres-database": {
|
||||||
|
"node": "novox",
|
||||||
|
"module": "postgres"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"has-layer": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "link2pay"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "localization"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "logrotate"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "mailu",
|
||||||
|
"ports": {
|
||||||
|
"110": 110,
|
||||||
|
"143": 143,
|
||||||
|
"25": 25,
|
||||||
|
"4243": 20004,
|
||||||
|
"465": 465,
|
||||||
|
"587": 587,
|
||||||
|
"8080": 20010,
|
||||||
|
"993": 993,
|
||||||
|
"995": 995
|
||||||
|
},
|
||||||
|
"bindings": {
|
||||||
|
"postgres-database": {
|
||||||
|
"node": "novox",
|
||||||
|
"module": "postgres"
|
||||||
|
},
|
||||||
|
"secret": {
|
||||||
|
"node": "novox",
|
||||||
|
"module": "mesh-vault"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"has-mesh-wide": true,
|
||||||
|
"has-layer": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "mesh-build-go",
|
||||||
|
"has-layer": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "mesh-build-node",
|
||||||
|
"bindings": {
|
||||||
|
"npm-package-registry": {
|
||||||
|
"node": "novox",
|
||||||
|
"module": "gitea"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "mesh-catalog",
|
||||||
|
"bindings": {
|
||||||
|
"postgres-database": {
|
||||||
|
"node": "novox",
|
||||||
|
"module": "postgres"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "mesh-cli"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "mesh-config"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "mesh-controller"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "mesh-delivery-checker"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "mesh-delivery-forge-bridge"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "mesh-delivery-gate",
|
||||||
|
"has-layer": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "mesh-delivery-indexer"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "mesh-delivery-teller"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "mesh-delivery-watchman"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "mesh-files"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "mesh-grants"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "mesh-host",
|
||||||
|
"has-layer": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "mesh-issues"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "mesh-knowledge",
|
||||||
|
"bindings": {
|
||||||
|
"postgres-database": {
|
||||||
|
"node": "novox",
|
||||||
|
"module": "postgres"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "mesh-mail",
|
||||||
|
"bindings": {
|
||||||
|
"postgres-database": {
|
||||||
|
"node": "novox",
|
||||||
|
"module": "postgres"
|
||||||
|
},
|
||||||
|
"s3-bucket": {
|
||||||
|
"node": "novox",
|
||||||
|
"module": "minio"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"has-mesh-wide": true,
|
||||||
|
"has-layer": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "mesh-mail-reader",
|
||||||
|
"bindings": {
|
||||||
|
"postgres-database": {
|
||||||
|
"node": "novox",
|
||||||
|
"module": "postgres"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "mesh-mail-web",
|
||||||
|
"bindings": {
|
||||||
|
"oidc-client": {
|
||||||
|
"node": "novox",
|
||||||
|
"module": "keycloak"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"layer": {
|
||||||
|
"endpoints": {
|
||||||
|
"web": {
|
||||||
|
"reach": "internal"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"has-layer": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "mesh-provisioner"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "mesh-provisioner-client"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "mesh-reads"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "mesh-vault"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "mesh-wireguard"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "messenger",
|
||||||
|
"has-mesh-wide": true,
|
||||||
|
"has-layer": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "minio",
|
||||||
|
"ports": {
|
||||||
|
"9000": 20001,
|
||||||
|
"9001": 20002
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "mongodb",
|
||||||
|
"ports": {
|
||||||
|
"27017": 20006
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "mssql",
|
||||||
|
"layer": {
|
||||||
|
"ports": {
|
||||||
|
"1433": 4848
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"has-layer": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "nats"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "netcheck"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "nextcloud",
|
||||||
|
"ports": {
|
||||||
|
"80": 20003
|
||||||
|
},
|
||||||
|
"bindings": {
|
||||||
|
"postgres-database": {
|
||||||
|
"node": "novox",
|
||||||
|
"module": "postgres"
|
||||||
|
},
|
||||||
|
"s3-bucket": {
|
||||||
|
"node": "novox",
|
||||||
|
"module": "minio"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "nftables"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "node-env"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "node-tools"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "nodejs"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "only-office"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "pacman",
|
||||||
|
"has-layer": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "photos",
|
||||||
|
"ports": {
|
||||||
|
"9000": 20011
|
||||||
|
},
|
||||||
|
"bindings": {
|
||||||
|
"mongodb-database": {
|
||||||
|
"node": "novox",
|
||||||
|
"module": "mongodb"
|
||||||
|
},
|
||||||
|
"s3-bucket": {
|
||||||
|
"node": "novox",
|
||||||
|
"module": "minio"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "postgres",
|
||||||
|
"layer": {
|
||||||
|
"ports": {
|
||||||
|
"5432": 6852
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"has-layer": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "power",
|
||||||
|
"has-mesh-wide": true,
|
||||||
|
"has-layer": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "powerlevel10k"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "records",
|
||||||
|
"has-mesh-wide": true,
|
||||||
|
"has-layer": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "restic",
|
||||||
|
"layer": {
|
||||||
|
"places": {
|
||||||
|
"repository": "/home/restic"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"has-layer": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "route-proxy"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "ssh-client"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "sshd"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "step-ca"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "sudo"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "systemd"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "systemd-networkd"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "telegram"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "time-sync"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "umami",
|
||||||
|
"bindings": {
|
||||||
|
"postgres-database": {
|
||||||
|
"node": "novox",
|
||||||
|
"module": "postgres"
|
||||||
|
},
|
||||||
|
"secret": {
|
||||||
|
"node": "novox",
|
||||||
|
"module": "mesh-vault"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"layer": {
|
||||||
|
"expose": {
|
||||||
|
"3000": "mesh"
|
||||||
|
},
|
||||||
|
"ports": {
|
||||||
|
"3000": 1212
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"has-layer": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "website",
|
||||||
|
"ports": {
|
||||||
|
"8080": 20012
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "zsh",
|
||||||
|
"has-layer": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "zsh-autosuggestions"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "zsh-syntax-highlighting"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"holds": [
|
||||||
|
{
|
||||||
|
"claim": "git",
|
||||||
|
"scope": "mesh",
|
||||||
|
"module": "gitea",
|
||||||
|
"site": "hosting"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"claim": "mesh-artifact-store",
|
||||||
|
"scope": "mesh",
|
||||||
|
"module": "distribution",
|
||||||
|
"site": "hosting"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"claim": "mesh-broker",
|
||||||
|
"scope": "mesh",
|
||||||
|
"module": "nats",
|
||||||
|
"site": "hosting"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"claim": "mesh-catalog",
|
||||||
|
"scope": "mesh",
|
||||||
|
"module": "mesh-catalog",
|
||||||
|
"site": "hosting"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"claim": "mesh-config",
|
||||||
|
"scope": "mesh",
|
||||||
|
"module": "mesh-config",
|
||||||
|
"site": "hosting"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"claim": "mesh-controller",
|
||||||
|
"scope": "mesh",
|
||||||
|
"module": "mesh-controller",
|
||||||
|
"site": "hosting"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"claim": "mesh-delivery",
|
||||||
|
"scope": "mesh",
|
||||||
|
"module": "mesh-delivery-gate",
|
||||||
|
"site": "hosting"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"claim": "mesh-dns-resolver",
|
||||||
|
"scope": "mesh",
|
||||||
|
"module": "dnsmasq",
|
||||||
|
"site": "hosting"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"claim": "mesh-provisioner",
|
||||||
|
"scope": "mesh",
|
||||||
|
"module": "mesh-provisioner",
|
||||||
|
"site": "hosting"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"claim": "mesh-store",
|
||||||
|
"scope": "mesh",
|
||||||
|
"module": "postgres",
|
||||||
|
"site": "hosting"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"claim": "mesh-vault",
|
||||||
|
"scope": "mesh",
|
||||||
|
"module": "mesh-vault",
|
||||||
|
"site": "hosting"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"claim": "npm-package-registry",
|
||||||
|
"scope": "mesh",
|
||||||
|
"module": "gitea",
|
||||||
|
"site": "hosting"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,290 @@
|
|||||||
|
{
|
||||||
|
"v": 1,
|
||||||
|
"node": "shanks",
|
||||||
|
"decided": {
|
||||||
|
"site": "home",
|
||||||
|
"address": "10.10.0.3",
|
||||||
|
"account": "jochen",
|
||||||
|
"tunnel": {
|
||||||
|
"interface": "wg0",
|
||||||
|
"unit": "wg-quick@wg0",
|
||||||
|
"config": "/etc/wireguard/wg0.conf",
|
||||||
|
"port": 51820,
|
||||||
|
"address": "10.10.0.3/24",
|
||||||
|
"range": "10.10.0.0/24",
|
||||||
|
"public-key": "XT1l25Z0/YhRNQ8FQM+9XsAp7chx5MI0eLOOg1SUEXA="
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"modules": [
|
||||||
|
{
|
||||||
|
"module": "adwaita"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "avahi"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "blueman"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "bluetooth"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "brother",
|
||||||
|
"bindings": {
|
||||||
|
"s3-bucket": {
|
||||||
|
"node": "novox",
|
||||||
|
"module": "minio"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"has-layer": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "buildah"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "ca-trust"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "claude-code",
|
||||||
|
"has-mesh-wide": true,
|
||||||
|
"has-layer": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "clipmenu"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "cups"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "dbus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "dev-tools"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "disk-load"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "dmenu"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "docker"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "docker-compose"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "dunst"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "fail2ban"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "feh"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "flatpak"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "fonts"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "forticlient"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "gnome-keyring"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "go"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "hostname",
|
||||||
|
"has-layer": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "i3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "i3status-rust"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "kernel",
|
||||||
|
"has-layer": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "lab",
|
||||||
|
"bindings": {
|
||||||
|
"npm-package-registry": {
|
||||||
|
"node": "novox",
|
||||||
|
"module": "gitea"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"has-mesh-wide": true,
|
||||||
|
"has-layer": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "lemurs"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "localization"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "logrotate"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "mesh-build-go",
|
||||||
|
"has-layer": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "mesh-build-image"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "mesh-build-node",
|
||||||
|
"bindings": {
|
||||||
|
"npm-package-registry": {
|
||||||
|
"node": "novox",
|
||||||
|
"module": "gitea"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "mesh-cli"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "mesh-delivery-builder"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "mesh-delivery-view"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "mesh-files"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "mesh-host",
|
||||||
|
"has-layer": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "mesh-mail-notifier"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "mesh-provisioner-client"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "mesh-reads"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "mesh-wireguard"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "mounts",
|
||||||
|
"has-layer": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "netcheck"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "networkmanager"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "nextcloud-client"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "nftables"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "nm-applet"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "node-env"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "node-tools"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "nodejs"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "openrazer"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "pacman",
|
||||||
|
"has-layer": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "picom"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "polychromatic"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "power",
|
||||||
|
"has-mesh-wide": true,
|
||||||
|
"has-layer": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "powerlevel10k"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "restic"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "rofi"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "screen-lock"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "slack"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "snapd"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "ssh-client"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "sshd"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "sudo"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "systemd"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "systemd-resolved"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "time-sync"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "xclip"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "xdg",
|
||||||
|
"has-mesh-wide": true,
|
||||||
|
"has-layer": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "xorg"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "xterm"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "zsh"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "zsh-autosuggestions"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"module": "zsh-syntax-highlighting"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"pins": {
|
||||||
|
"wildcard-resolution": {
|
||||||
|
"node": "novox",
|
||||||
|
"module": "dnsmasq"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user