Files
truenas/START-HERE-DOCS/TRUENAS_API_FINDINGS.md
Jordan Ramos 52e1822de8 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>
2025-12-16 08:03:33 -07:00

2.5 KiB

TrueNAS Scale API Connectivity Test Results

Date: 2025-12-14
Target: 192.168.2.150
Test Status: SUCCESSFUL

Test Results

Network Connectivity

  • PASS: Host is reachable via ICMP
  • RTT: 2.7-2.9ms average
  • Packet Loss: 0%

API Accessibility

  • HTTPS Port 443: OPEN and accessible
  • API Endpoint: Responds correctly
  • Response: HTTP 401 Unauthorized (expected - requires authentication)

Findings

Protocol

Use HTTPS (port 443)

https://192.168.2.150/api/v2.0/

Authentication

Required: API key via Bearer token

curl -X GET "https://192.168.2.150/api/v2.0/system/version" \
  -H "Authorization: Bearer YOUR_API_KEY_HERE" \
  --insecure

SSL Certificate

Self-signed certificate detected

  • Must use --insecure or -k flag with curl
  • Or install CA certificate for production use

Implementation Requirements

1. Generate API Key

  1. Login to TrueNAS Web UI: https://192.168.2.150
  2. Navigate to: Account → API Keys
  3. Create new key with read-only permissions
  4. Store securely

2. Test Authentication

export TRUENAS_API_KEY="your-generated-key"

curl -X GET "https://192.168.2.150/api/v2.0/system/version" \
  -H "Authorization: Bearer ${TRUENAS_API_KEY}" \
  -H "Content-Type: application/json" \
  --insecure

Expected response:

{
  "fullversion": "TrueNAS-SCALE-XX.XX.X",
  "version": "XX.XX.X"
}

3. Collection Script Parameters

TRUENAS_HOST="192.168.2.150"
TRUENAS_PROTOCOL="https"
TRUENAS_PORT="443"
TRUENAS_API_BASE="/api/v2.0"
CURL_OPTS="--insecure"  # For self-signed cert

Next Steps

  1. Network connectivity confirmed
  2. API endpoint confirmed
  3. Generate API key in TrueNAS UI
  4. Test authenticated API calls
  5. Implement collection script
  6. Create comprehensive documentation

System Information

  • GET /system/info - Hardware and version
  • GET /system/version - TrueNAS version
  • GET /system/general - General config

Storage

  • GET /pool - All pools
  • GET /pool/dataset - All datasets
  • GET /disk - Disk inventory
  • GET /disk/temperature - Disk temps

Sharing

  • GET /sharing/nfs - NFS shares
  • GET /sharing/smb - SMB shares

Services

  • GET /service - Service status

Compatibility

  • TrueNAS Scale: Compatible
  • API Version: v2.0
  • Connection: Stable, low latency

Test completed successfully - Ready for implementation