feat(repo): IaaS baseline
This commit is contained in:
@@ -1,15 +1,14 @@
|
||||
---
|
||||
# Global vars
|
||||
ansible_ssh_private_key_file: "/etc/secrets/{{ hostvars['console']['node']['uid'] }}/id_console"
|
||||
timezone: "Asia/Seoul"
|
||||
ansible_ssh_private_key_file: "/etc/secrets/{{ hostvars['console']['node']['uid'] }}/id_console"
|
||||
|
||||
# CA
|
||||
root_cert_filename: "ilnmors_root_ca.crt"
|
||||
intermediate_cert_filename: "ilnmors_intermediate_ca.crt"
|
||||
intermediate_key_filename: "ilnmors_intermediate_ca.key"
|
||||
|
||||
|
||||
# local SAN and SSH SAN should be updated manually on host_vars
|
||||
# Domains
|
||||
domain:
|
||||
public: "ilnmors.com"
|
||||
internal: "ilnmors.internal"
|
||||
@@ -67,7 +66,7 @@ services:
|
||||
grafana:
|
||||
domain: "grafana"
|
||||
ports:
|
||||
http: "3000" # Infra server: Internal ports
|
||||
http: "3000"
|
||||
subuid: "100471"
|
||||
caddy:
|
||||
ports:
|
||||
@@ -98,7 +97,7 @@ services:
|
||||
public: "gitea"
|
||||
internal: "gitea.app"
|
||||
ports:
|
||||
http: "3000" # App server: Public ports
|
||||
http: "3001"
|
||||
subuid: "100999"
|
||||
immich:
|
||||
domain:
|
||||
@@ -118,16 +117,6 @@ services:
|
||||
http: "8001"
|
||||
redis: "6380"
|
||||
subuid: "100999"
|
||||
manticore:
|
||||
subuid: "100998"
|
||||
affine:
|
||||
domain:
|
||||
public: "affine"
|
||||
internal: "affine.app"
|
||||
ports:
|
||||
http: "3010"
|
||||
redis: "6381"
|
||||
manticore: "9308"
|
||||
nextcloud:
|
||||
domain:
|
||||
public: "nextcloud"
|
||||
@@ -148,7 +137,7 @@ services:
|
||||
public: "sure"
|
||||
internal: "sure.app"
|
||||
ports:
|
||||
http: "3001"
|
||||
http: "3002"
|
||||
redis: "6383"
|
||||
subuid: "100999"
|
||||
outline:
|
||||
@@ -156,7 +145,7 @@ services:
|
||||
public: "outline"
|
||||
internal: "outline.app"
|
||||
ports:
|
||||
http: "3002"
|
||||
http: "3004"
|
||||
redis: "6384"
|
||||
subuid: "101000"
|
||||
memos:
|
||||
@@ -164,43 +153,49 @@ services:
|
||||
public: "memos"
|
||||
internal: "memos.app"
|
||||
ports:
|
||||
http: "3004"
|
||||
http: "3005"
|
||||
subuid: "110000"
|
||||
mealie:
|
||||
domain:
|
||||
public: "mealie"
|
||||
internal: "mealie.app"
|
||||
ports:
|
||||
http: "9001"
|
||||
subuid: "100910"
|
||||
|
||||
version:
|
||||
packages:
|
||||
sops: "3.12.1"
|
||||
sops: "3.13.1"
|
||||
step: "0.30.2"
|
||||
kopia: "0.22.3"
|
||||
kopia: "0.23.0"
|
||||
blocky: "0.29.0"
|
||||
alloy: "1.16.1"
|
||||
containers:
|
||||
# common
|
||||
caddy: "2.11.2"
|
||||
caddy: "2.11.4"
|
||||
# infra
|
||||
step: "0.30.2"
|
||||
ldap: "v0.6.3"
|
||||
x509-exporter: "4.1.0"
|
||||
prometheus: "v3.11.3"
|
||||
prometheus: "v3.12.0"
|
||||
loki: "3.7.1"
|
||||
grafana: "13.0.1"
|
||||
## Postgresql
|
||||
postgresql: "18.3"
|
||||
postgresql: "18.4"
|
||||
# For immich - https://github.com/immich-app/base-images/blob/main/postgres/versions.yaml
|
||||
# pgvector: "v0.8.1"
|
||||
vectorchord: "1.1.1"
|
||||
# Auth
|
||||
authelia: "4.39.19"
|
||||
authelia: "4.39.20"
|
||||
# App
|
||||
vaultwarden: "1.36.0"
|
||||
gitea: "1.26.1"
|
||||
redis: "8.6.3"
|
||||
redis: "8.8.0"
|
||||
immich: "v2.7.5"
|
||||
paperless: "2.20.15"
|
||||
manticore: "25.0.0"
|
||||
affine: "0.26.3"
|
||||
nextcloud: "33.0.3"
|
||||
collabora: "25.04.9.4.1"
|
||||
sure: "0.7.0-hotfix.2"
|
||||
outline: "1.7.1"
|
||||
memos: "0.28.0"
|
||||
nextcloud: "33.0.5"
|
||||
collabora: "25.04.10.3.1"
|
||||
sure: "0.7.1"
|
||||
outline: "1.8.1"
|
||||
memos: "0.29.1"
|
||||
mealie: "v3.19.2"
|
||||
|
||||
@@ -1,7 +1,33 @@
|
||||
---
|
||||
node:
|
||||
name: "vmm"
|
||||
group: "svadmins"
|
||||
uid: 2000
|
||||
home_path: "/home/vmm"
|
||||
ssh_san: "vmm,vmm_init,vmm.ilnmors.internal,init.vmm.ilnmors.internal"
|
||||
local_san: "localhost vmm.ilnmors.internal"
|
||||
libvirt_path: "/var/lib/libvirt"
|
||||
ssh_san: "{{ node['name'] }},{{ node['name'] }}_init,{{ node['name'] }}.{{ domain['internal'] }},init.{{ node['name'] }}.{{ domain['internal'] }}"
|
||||
local_san: "localhost {{ node['name'] }}.{{ domain['internal'] }}"
|
||||
|
||||
hardware:
|
||||
mac:
|
||||
nic0: "c8:ff:bf:07:02:34"
|
||||
nic1: "c8:ff:bf:07:02:33"
|
||||
sfpp0: "c8:ff:bf:07:02:31"
|
||||
sfpp1: "c8:ff:bf:07:02:32"
|
||||
igpu:
|
||||
id: "8086:4628"
|
||||
address: "0000:00:02.0"
|
||||
domain: "0x0000"
|
||||
bus: "0x00"
|
||||
slot: "0x02"
|
||||
function: "0x0"
|
||||
hdd:
|
||||
data:
|
||||
hdd0: "WMC6N0E617S8"
|
||||
hdd1: "P6HVTL0W"
|
||||
hdd2: "P2GH354H"
|
||||
hdd3: "P6GJKSMP"
|
||||
btrfs:
|
||||
label: "DATA"
|
||||
level: "raid10"
|
||||
mount_point: "{{ node['libvirt_path'] }}/data"
|
||||
|
||||
@@ -2,17 +2,29 @@
|
||||
# Node Factors
|
||||
node:
|
||||
name: "app"
|
||||
group: "svadmins"
|
||||
uid: 2004
|
||||
home_path: "/home/app"
|
||||
ssh_san: "app,app.ilnmors.internal"
|
||||
local_san: "localhost app.ilnmors.internal"
|
||||
ssh_san: "{{ node['name'] }},{{ node['name'] }}.{{ domain['internal'] }}"
|
||||
local_san: "localhost {{ node['name'] }}.{{ domain['internal'] }}"
|
||||
# VM Factors
|
||||
vm:
|
||||
name: "app"
|
||||
cpu: 4
|
||||
cpu: 6
|
||||
cpu_pin: |
|
||||
<vcpupin vcpu='0' cpuset='0'/>
|
||||
<vcpupin vcpu='1' cpuset='1'/>
|
||||
<vcpupin vcpu='2' cpuset='2'/>
|
||||
<vcpupin vcpu='3' cpuset='3'/>
|
||||
<vcpupin vcpu='4' cpuset='10'/>
|
||||
<vcpupin vcpu='5' cpuset='11'/>
|
||||
<emulatorpin cpuset='10-11'/>
|
||||
shares: 1024
|
||||
memory: 16
|
||||
storage: 256
|
||||
data_storage:
|
||||
name: "vdb"
|
||||
size: 3.5
|
||||
lan_mac: "0a:49:6e:4d:03:00"
|
||||
lan_net: "lan-net"
|
||||
lan_group: "vlan10-access"
|
||||
@@ -26,16 +38,3 @@ vm:
|
||||
bus: "0x00"
|
||||
slot: "0x02"
|
||||
function: "0x0"
|
||||
sata_controller: # Additional SATA Controller
|
||||
address: "0000:04:00.0"
|
||||
domain: "0x0000"
|
||||
bus: "0x04"
|
||||
slot: "0x00"
|
||||
function: "0x0"
|
||||
|
||||
# BTRFS configuration for hdd which is passthroughed
|
||||
storage:
|
||||
btrfs:
|
||||
label: "APP_DATA"
|
||||
level: "raid10"
|
||||
mount_point: "/home/app/data"
|
||||
|
||||
@@ -2,15 +2,20 @@
|
||||
# Node Factors
|
||||
node:
|
||||
name: "auth"
|
||||
group: "svadmins"
|
||||
uid: 2003
|
||||
home_path: "/home/auth"
|
||||
ssh_san: "auth,auth.ilnmors.internal"
|
||||
local_san: "localhost auth.ilnmors.internal"
|
||||
ssh_san: "{{ node['name'] }},{{ node['name'] }}.{{ domain['internal'] }}"
|
||||
local_san: "localhost {{ node['name'] }}.{{ domain['internal'] }}"
|
||||
# VM Factors
|
||||
vm:
|
||||
name: "auth"
|
||||
cpu: 2
|
||||
shares: 512
|
||||
cpu_pin: |
|
||||
<vcpupin vcpu='0' cpuset='8'/>
|
||||
<vcpupin vcpu='1' cpuset='9'/>
|
||||
<emulatorpin cpuset='8-9'/>
|
||||
shares: 1024
|
||||
memory: 2
|
||||
storage: 64
|
||||
lan_mac: "0a:49:6e:4d:02:00"
|
||||
|
||||
@@ -10,17 +10,17 @@ age_key: !vault |
|
||||
33653638373537323363316363646534323362353836373665636265663939353862663532313230
|
||||
30643038313138626464626161373835646665326334393834616234643931656536343130316238
|
||||
61656264643830616639
|
||||
# Node Factors
|
||||
|
||||
node:
|
||||
name: "console"
|
||||
group: "svadmins"
|
||||
uid: 2999
|
||||
home_path: "/home/console"
|
||||
workspace_path: "{{ node.home_path }}/workspace"
|
||||
homelab_path: "{{ node.home_path }}/workspace/homelab"
|
||||
data_path: "{{ node.homelab_path }}/data"
|
||||
config_path: "{{ node.homelab_path }}/config"
|
||||
ssh_san: "console,console.ilnmors.internal"
|
||||
workspace_path: "{{ node['home_path'] }}/workspace"
|
||||
homelab_path: "{{ node['home_path'] }}/workspace/homelab"
|
||||
data_path: "{{ node['homelab_path'] }}/data"
|
||||
config_path: "{{ node['homelab_path'] }}/config"
|
||||
ssh_san: "{{ node['name'] }},{{ node['name'] }}.{{ domain['internal'] }}"
|
||||
ssh_users: "vmm,fw,infra,auth,app"
|
||||
# add the hostname of wsl, it is needed to improve the sudo problem
|
||||
local_san: "localhost console.ilnmors.internal surface"
|
||||
# ansible_python_interpreter: "{{ ansible_playbook_python }}"
|
||||
local_san: "localhost {{ node['name'] }} {{ node['name'] }}.{{ domain['internal'] }}"
|
||||
|
||||
@@ -2,15 +2,22 @@
|
||||
# Node Factors
|
||||
node:
|
||||
name: "fw"
|
||||
group: "svadmins"
|
||||
uid: 2001
|
||||
home_path: "/home/fw"
|
||||
ssh_san: "fw,fw.ilnmors.internal"
|
||||
local_san: "localhost fw.ilnmors.internal"
|
||||
ssh_san: "{{ node['name'] }},{{ node['name'] }}.{{ domain['internal'] }}"
|
||||
local_san: "localhost {{ node['name'] }}.{{ domain['internal'] }}"
|
||||
|
||||
# VM Factors
|
||||
vm:
|
||||
name: "fw"
|
||||
cpu: 2
|
||||
cpu: 4
|
||||
cpu_pin: |
|
||||
<vcpupin vcpu='0' cpuset='0'/>
|
||||
<vcpupin vcpu='1' cpuset='1'/>
|
||||
<vcpupin vcpu='2' cpuset='4'/>
|
||||
<vcpupin vcpu='3' cpuset='5'/>
|
||||
<emulatorpin cpuset='4-5'/>
|
||||
shares: 2048
|
||||
memory: 4
|
||||
storage: 64
|
||||
@@ -21,7 +28,7 @@ vm:
|
||||
lan_group: "vlan-trunk"
|
||||
|
||||
# Network Factors
|
||||
# LLA is like MAC address for L3 (Network layer). Usually, subnet is used to seperate network.
|
||||
# LLA is like MAC address for L3 (Network layer). Usually, subnet is used to separate network.
|
||||
network4:
|
||||
subnet:
|
||||
client: "192.168.1.0/24"
|
||||
|
||||
@@ -2,16 +2,23 @@
|
||||
# Node Factors
|
||||
node:
|
||||
name: "infra"
|
||||
group: "svadmins"
|
||||
uid: 2002
|
||||
home_path: "/home/infra"
|
||||
ssh_san: "infra,infra.ilnmors.internal"
|
||||
local_san: "localhost infra.ilnmors.internal"
|
||||
ssh_san: "{{ node['name'] }},{{ node['name'] }}.{{ domain['internal'] }}"
|
||||
local_san: "localhost {{ node['name'] }}.{{ domain['internal'] }}"
|
||||
|
||||
# VM Factors
|
||||
vm:
|
||||
name: "infra"
|
||||
cpu: 2
|
||||
shares: 1024
|
||||
cpu: 4
|
||||
cpu_pin: |
|
||||
<vcpupin vcpu='0' cpuset='2'/>
|
||||
<vcpupin vcpu='1' cpuset='3'/>
|
||||
<vcpupin vcpu='2' cpuset='6'/>
|
||||
<vcpupin vcpu='3' cpuset='7'/>
|
||||
<emulatorpin cpuset='6-7'/>
|
||||
shares: 2048
|
||||
memory: 6
|
||||
storage: 256
|
||||
lan_mac: "0a:49:6e:4d:01:00"
|
||||
|
||||
@@ -11,4 +11,4 @@ vmm ansible_host=vmm.ilnmors.internal ansible_user=vmm
|
||||
fw ansible_host=fw.ilnmors.internal ansible_user=fw
|
||||
infra ansible_host=infra.ilnmors.internal ansible_user=infra
|
||||
auth ansible_host=auth.ilnmors.internal ansible_user=auth
|
||||
app ansible_host=app.ilnmors.internal ansible_user=app
|
||||
app ansible_host=app.ilnmors.internal ansible_user=app
|
||||
|
||||
Reference in New Issue
Block a user