From 122bf23cf77d520f6ef38577db8fab11b3df0d83 Mon Sep 17 00:00:00 2001 From: jeremy Date: Wed, 4 Feb 2026 09:02:09 -0600 Subject: [PATCH] Add enterprise naming convention standard --- naming-convention.md | 206 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 206 insertions(+) create mode 100644 naming-convention.md diff --git a/naming-convention.md b/naming-convention.md new file mode 100644 index 0000000..93a2961 --- /dev/null +++ b/naming-convention.md @@ -0,0 +1,206 @@ +# 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*