/
/
/
1---
2# NAS Role Default Configuration
3
4# NFS Server Configuration
5nas_nfs_enabled: true
6nas_nfs_exports: []
7 # Example export configuration for your network:
8 # - path: "/mnt/rstorage/shared"
9 # clients: "192.168.34.0/24"
10 # options: "rw,sync,no_subtree_check,no_root_squash"
11 # - path: "/mnt/rstorage/media"
12 # clients: "192.168.34.0/24"
13 # options: "ro,sync,no_subtree_check"
14 # - path: "/mnt/rstorage/backups"
15 # clients: "192.168.34.64(rw,sync) 192.168.34.94(rw,sync)" # Specific hosts
16 # options: "no_subtree_check"
17
18# Runner Services NFS Exports (automatically added when runner services are enabled)
19nas_runner_exports:
20 - path: "/mnt/rstorage/cctv-data"
21 name: "frigate-data"
22 description: "Frigate CCTV video storage"
23 clients: "{{ runner_host_ip | default('192.168.34.0/24') }}"
24 options: "rw,sync,no_subtree_check,no_root_squash"
25 - path: "/mnt/rstorage/media/pictures"
26 name: "immich-photos"
27 description: "Immich photo library storage"
28 clients: "{{ runner_host_ip | default('192.168.34.0/24') }}"
29 options: "rw,sync,no_subtree_check,no_root_squash"
30 - path: "/mnt/rstorage/code-repo"
31 name: "forgejo-repos"
32 description: "Forgejo Git repositories"
33 clients: "{{ runner_host_ip | default('192.168.34.0/24') }}"
34 options: "rw,sync,no_subtree_check,no_root_squash"
35 - path: "/mnt/rstorage/registry-data"
36 name: "harbor-registry"
37 description: "Harbor container registry data"
38 clients: "{{ runner_host_ip | default('192.168.34.0/24') }}"
39 options: "rw,sync,no_subtree_check,no_root_squash"
40
41# RAID Configuration - Manual Management
42# Note: RAID arrays assumed to be manually configured and mounted
43nas_raid_enabled: false # Disable automatic RAID management
44nas_raid_monitoring: true # Keep monitoring enabled
45nas_mdadm_config_file: "/etc/mdadm/mdadm.conf"
46
47# Storage Configuration
48nas_storage_base: "/mnt/rstorage" # Base mount point for manual RAID5
49
50# Network Configuration
51# Note: Bonding is managed externally via netplan (4x 2.5G interfaces -> bond0 -> br0)
52nas_network_bonding_enabled: false # Managed by netplan, not this role
53nas_network_interface: "br0" # Your bridge interface
54nas_network_ip: "192.168.34.200"
55nas_network_subnet: "192.168.34.0/24"
56
57# Storage Subdirectories (created under nas_storage_base)
58nas_storage_directories: []
59 # Example subdirectories:
60 # - "/mnt/rstorage/shared"
61 # - "/mnt/rstorage/media"
62 # - "/mnt/rstorage/backups"
63
64# Performance Tuning
65nas_performance_tuning_enabled: true
66nas_tcp_window_scaling: true
67nas_tcp_congestion_control: "bbr"
68nas_sysctl_settings:
69 # Network performance
70 net.core.rmem_default: 262144
71 net.core.rmem_max: 16777216
72 net.core.wmem_default: 262144
73 net.core.wmem_max: 16777216
74 net.ipv4.tcp_rmem: "4096 87380 16777216"
75 net.ipv4.tcp_wmem: "4096 65536 16777216"
76 net.core.netdev_max_backlog: 5000
77 # Filesystem performance
78 vm.dirty_background_ratio: 5
79 vm.dirty_ratio: 10
80 vm.vfs_cache_pressure: 50
81
82# Service Configuration
83nas_services:
84 - nfs-kernel-server
85 - rpcbind
86
87# Package Installation
88nas_install_packages:
89 - nfs-kernel-server
90 - nfs-common
91 - mdadm
92 - smartmontools
93 - hdparm
94 - iotop
95 - htop
96
97# Monitoring and Alerting
98nas_monitoring_enabled: true
99nas_smartmontools_enabled: true
100nas_email_notifications: "" # Email address for RAID alerts
101
102# Security Settings
103nas_nfs_secure_ports: true
104
105# Runner Services Integration
106nas_enable_runner_exports: false # Enable when deploying runner services
107
108# Backup Integration
109nas_backup_integration: false
110nas_backup_paths: []
111 # Example backup paths:
112 # - "/mnt/rstorage/critical"
113 # - "/etc/exports"
114 # - "/etc/mdadm/mdadm.conf"
115
116# Logging
117nas_log_level: "info"
118nas_log_file: "/var/log/nas-role.log"