Add enterprise naming convention standard
This commit is contained in:
@@ -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
|
||||||
|
|
||||||
|
```
|
||||||
|
<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*
|
||||||
Reference in New Issue
Block a user