# Naming Convention Standard ## Overview This document defines the enterprise naming convention for all infrastructure components at hobbs.farm, including physical hosts, virtual machines, containers, and services. ## General Format ``` -- ``` | Component | Description | Example | |-----------|-------------|---------| | Location | Site/datacenter code | `hf` (hobbs.farm) | | Type | Resource type code | `p` (physical), `v` (virtual), `c` (container) | | Function | Role/purpose code | `docker`, `nvr`, `nas`, `fw` | | Sequence | Instance number | `01`, `02`, etc. | ## Location Codes | Code | Location | |------|----------| | `hf` | Hobbs.farm (primary site) | | `az` | Azure cloud | | `aws` | AWS cloud | ## Type Codes | Code | Type | Description | |------|------|-------------| | `p` | Physical | Bare metal servers | | `v` | Virtual | Virtual machines | | `c` | Container | Docker containers | | `n` | Network | Network devices | | `s` | Storage | Storage systems | ## Function Codes ### Compute | Code | Function | |------|----------| | `docker` | Docker/container host | | `nvr` | Network video recorder | | `app` | Application server | | `db` | Database server | | `web` | Web server | | `build` | Build/CI server | ### Network | Code | Function | |------|----------| | `fw` | Firewall | | `rt` | Router | | `sw` | Switch | | `ap` | Access point | | `vpn` | VPN gateway | ### Storage | Code | Function | |------|----------| | `nas` | Network attached storage | | `san` | Storage area network | | `bkp` | Backup storage | ### Services (Containers) | Code | Function | |------|----------| | `proxy` | Reverse proxy (Traefik) | | `dns` | DNS server (AdGuard) | | `auth` | Authentication (Vaultwarden) | | `mon` | Monitoring (Grafana/Prometheus) | | `msg` | Messaging (Matrix) | | `media` | Media services (Jellyfin) | | `ha` | Home automation | | `git` | Git/version control | | `ci` | CI/CD (Semaphore) | | `wiki` | Documentation | | `ai` | AI assistants | --- ## Physical Hosts **Format:** `hf-p-<##>` | Current Name | New Name | IP | Role | |--------------|----------|-----|------| | hobbs | `hf-pdocker-01` | 192.168.86.192 | Primary Docker host | | peggy | `hf-pdocker-02` | 192.168.86.45 | Secondary Docker (legacy) | | bart | `hf-pnvr-01` | 192.168.86.181 | Frigate NVR | | yoda | `hf-pnvr-02` | 192.168.86.31 | Blue Iris NVR | ## Network Devices **Format:** `hf-n-<##>` | Current Name | New Name | IP | Role | |--------------|----------|-----|------| | firewalla | `hf-nfw-01` | 192.168.86.1 | Firewalla Gold | ## Storage **Format:** `hf-s-<##>` | Current Name | New Name | IP | Role | |--------------|----------|-----|------| | nas | `hf-snas-01` | 192.168.86.30 | Synology NAS | ## Containers/Services **Format:** `hf-c-<##>` | Service | Container Name | Host | Port | |---------|---------------|------|------| | Traefik | `hf-cproxy-01` | hf-pdocker-01 | 443 | | AdGuard Home | `hf-cdns-01` | hf-pdocker-01 | 53 | | Vaultwarden | `hf-cauth-01` | hf-pdocker-01 | 8080 | | Grafana | `hf-cmon-01` | hf-pdocker-01 | 3001 | | Prometheus | `hf-cmon-02` | hf-pdocker-01 | 9095 | | Alertmanager | `hf-cmon-03` | hf-pdocker-01 | 9093 | | Matrix Synapse | `hf-cmsg-01` | hf-pdocker-01 | 8008 | | Jellyfin | `hf-cmedia-01` | hf-pdocker-01 | 8096 | | Home Assistant | `hf-cha-01` | hf-pdocker-01 | 8123 | | Gitea | `hf-cgit-01` | hf-pdocker-01 | 3000 | | Semaphore | `hf-cci-01` | hf-pdocker-01 | 3000 | | Wiki.js | `hf-cwiki-01` | hf-pdocker-01 | 3002 | | Pluto (AI) | `hf-cai-01` | hf-pdocker-01 | 18789 | | Margaret (AI) | `hf-cai-02` | hf-pdocker-01 | 18790 | | Spirit (AI) | `hf-cai-03` | hf-pdocker-01 | 18791 | ## Virtual Machines **Format:** `hf-v-<##>` (Reserved for future VM deployments) ## DNS Naming All resources get DNS entries in the following format: | Type | DNS Format | Example | |------|------------|---------| | Physical hosts | `.hobbs.farm` | `hf-pdocker-01.hobbs.farm` | | Services (public) | `.hobbs.farm` | `vault.hobbs.farm` | | Services (internal) | `.internal.hobbs.farm` | `hf-cmon-01.internal.hobbs.farm` | ## IP Address Allocation | Range | Purpose | |-------|---------| | .1 | Gateway/Firewall | | .2-.19 | Network infrastructure | | .20-.49 | Physical servers | | .50-.99 | Storage & NAS | | .100-.149 | Reserved | | .150-.199 | Static assignments | | .200-.239 | DHCP pool | | .240-.254 | Management/IPMI | ### Assigned IPs | IP | Resource | New Name | |----|----------|----------| | 192.168.86.1 | Firewalla | hf-nfw-01 | | 192.168.86.30 | Synology NAS | hf-snas-01 | | 192.168.86.31 | Blue Iris NVR | hf-pnvr-02 | | 192.168.86.45 | Docker Host (legacy) | hf-pdocker-02 | | 192.168.86.181 | Frigate NVR | hf-pnvr-01 | | 192.168.86.192 | Docker Host (primary) | hf-pdocker-01 | ## VLAN Naming | VLAN ID | Name | Subnet | Purpose | |---------|------|--------|---------| | 1 | Default | 192.168.86.0/24 | Management & trusted devices | | 10 | hf-vlan-mgmt | 192.168.10.0/24 | Infrastructure management | | 20 | hf-vlan-servers | 192.168.20.0/24 | Server network | | 30 | hf-vlan-iot | 192.168.30.0/24 | IoT devices | | 40 | hf-vlan-cameras | 192.168.44.0/24 | Security cameras | | 50 | hf-vlan-guest | 192.168.50.0/24 | Guest network | ## Implementation Notes ### Migration Path Existing friendly names (hobbs, peggy, bart, yoda) can remain as DNS aliases for ease of use, while the formal names are used in: - Ansible inventory - Monitoring systems - Documentation - Asset management ### Tagging Standards All resources should include these tags/labels: - `environment`: prod, dev, test - `owner`: team or individual responsible - `cost-center`: for cloud resources - `backup`: yes/no and schedule - `criticality`: high, medium, low --- *Version: 1.0* *Last Updated: 2026-02-04* *Author: Pluto*