Files

207 lines
5.8 KiB
Markdown

# 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
```
<location>-<type><function>-<sequence>
```
| 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<function>-<##>`
| 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<function>-<##>`
| Current Name | New Name | IP | Role |
|--------------|----------|-----|------|
| firewalla | `hf-nfw-01` | 192.168.86.1 | Firewalla Gold |
## Storage
**Format:** `hf-s<function>-<##>`
| Current Name | New Name | IP | Role |
|--------------|----------|-----|------|
| nas | `hf-snas-01` | 192.168.86.30 | Synology NAS |
## Containers/Services
**Format:** `hf-c<function>-<##>`
| 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<function>-<##>`
(Reserved for future VM deployments)
## DNS Naming
All resources get DNS entries in the following format:
| Type | DNS Format | Example |
|------|------------|---------|
| Physical hosts | `<name>.hobbs.farm` | `hf-pdocker-01.hobbs.farm` |
| Services (public) | `<service>.hobbs.farm` | `vault.hobbs.farm` |
| Services (internal) | `<name>.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*