feat(infrastructure): initialize TrueNAS Scale infrastructure collection system

Initial repository setup for TrueNAS Scale configuration management and
disaster recovery. This system provides automated collection, versioning,
and documentation of TrueNAS configuration state.

Key components:
- Configuration collection scripts with API integration
- Disaster recovery exports (configs, storage, system state)
- Comprehensive documentation and API reference
- Sub-agent architecture for specialized operations

Infrastructure protected:
- Storage pools and datasets configuration
- Network configuration and routing
- Sharing services (NFS, SMB, iSCSI)
- System tasks (snapshots, replication, cloud sync)
- User and group management

Security measures:
- API keys managed via environment variables
- Sensitive data excluded via .gitignore
- No credentials committed to repository

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
2025-12-16 08:03:33 -07:00
commit 52e1822de8
37 changed files with 40881 additions and 0 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,182 @@
[
{
"id": 1,
"name": "Vauly",
"guid": "1674970696452276596",
"path": "/mnt/Vauly",
"status": "DEGRADED",
"scan": {
"function": "SCRUB",
"state": "FINISHED",
"start_time": {
"$date": 1765094403000
},
"end_time": {
"$date": 1765097229000
},
"percentage": 99.99409914016724,
"bytes_to_process": 532155961344,
"bytes_processed": 532013936640,
"bytes_issued": 531968868352,
"pause": null,
"errors": 0,
"total_secs_left": null
},
"expand": null,
"topology": {
"data": [
{
"name": "mirror-0",
"type": "MIRROR",
"path": null,
"guid": "12246339640982213397",
"status": "DEGRADED",
"stats": {
"timestamp": 1825029823285298,
"read_errors": 0,
"write_errors": 0,
"checksum_errors": 0,
"ops": [
0,
14232491,
27831692,
0,
0,
0,
0
],
"bytes": [
0,
1394329284608,
1135176392704,
0,
0,
0,
0
],
"size": 3985729650688,
"allocated": 649917792256,
"fragmentation": 11,
"self_healed": 0,
"configured_ashift": 12,
"logical_ashift": 9,
"physical_ashift": 12
},
"children": [
{
"name": "3b018e81-9756-4276-90f5-3549aaf7dede",
"type": "DISK",
"path": "/dev/disk/by-partuuid/3b018e81-9756-4276-90f5-3549aaf7dede",
"guid": "15570257018378729093",
"status": "ONLINE",
"stats": {
"timestamp": 1825029823778318,
"read_errors": 0,
"write_errors": 0,
"checksum_errors": 0,
"ops": [
0,
14232491,
27831692,
0,
0,
0,
0
],
"bytes": [
0,
1394329284608,
1135176392704,
0,
0,
0,
0
],
"size": 0,
"allocated": 0,
"fragmentation": 0,
"self_healed": 0,
"configured_ashift": 12,
"logical_ashift": 9,
"physical_ashift": 12
},
"children": [],
"device": "sdb1",
"disk": "sdb",
"unavail_disk": null
},
{
"name": "7084060355369200583",
"type": "DISK",
"path": "/dev/disk/by-partuuid/0fbb0466-ae43-47df-85be-b93965e526a6",
"guid": "7084060355369200583",
"status": "UNAVAIL",
"stats": {
"timestamp": 1825029823998989,
"read_errors": 0,
"write_errors": 0,
"checksum_errors": 0,
"ops": [
0,
0,
0,
0,
0,
0,
0
],
"bytes": [
0,
0,
0,
0,
0,
0,
0
],
"size": 0,
"allocated": 0,
"fragmentation": 0,
"self_healed": 0,
"configured_ashift": 12,
"logical_ashift": 0,
"physical_ashift": 0
},
"children": [],
"device": null,
"disk": null,
"unavail_disk": null
}
],
"unavail_disk": null
}
],
"log": [],
"cache": [],
"spare": [],
"special": [],
"dedup": []
},
"healthy": false,
"warning": false,
"status_code": "CORRUPT_LABEL_R",
"status_detail": "One or more devices could not be used because the label is missing or invalid. Sufficient replicas exist for the pool to continue functioning in a degraded state.",
"size": 3985729650688,
"allocated": 649917792256,
"free": 3335811858432,
"freeing": 0,
"fragmentation": "11",
"size_str": "3985729650688",
"allocated_str": "649917792256",
"free_str": "3335811858432",
"freeing_str": "0",
"dedup_table_quota": "auto",
"dedup_table_size": 0,
"autotrim": {
"value": "off",
"rawvalue": "off",
"parsed": "off",
"source": "DEFAULT"
}
}
]

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,31 @@
{
"version": "25.04.2.6",
"buildtime": {
"$date": 1761718723000
},
"hostname": "vault",
"physmem": 8208031744,
"model": "Intel(R) Core(TM) i5-6600 CPU @ 3.30GHz",
"cores": 4,
"physical_cores": 4,
"loadavg": [
2.78125,
3.013671875,
3.298828125
],
"uptime": "21 days, 2:58:02.363279",
"uptime_seconds": 1825082.363279439,
"system_serial": null,
"system_product": null,
"system_product_version": null,
"license": null,
"boottime": {
"$date": 1764041867000
},
"datetime": {
"$date": 1765866950000
},
"timezone": "America/Los_Angeles",
"system_manufacturer": null,
"ecc_memory": false
}

View File

@@ -0,0 +1 @@
"TrueNAS-25.04.2.6"