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