githubEdit

Naming Conventions

Naming conventions for projects, cloud resources, Kubernetes, and documentation

General Principles

  • Use lowercase with hyphens as separators (kebab-case)

  • Be descriptive but concise — avoid abbreviations that are not universally understood

  • Follow a consistent hierarchical pattern: from broad scope to specific detail

  • Avoid special characters, underscores (except where required by platform), and trailing numbers without context

Project & Repository Naming

<team/org>-<service/component>

# Examples:
platform-api
platform-web
infra-terraform-modules
shared-ci-templates
data-etl-pipeline
Rule
Example

Lowercase with hyphens

my-project

Prefix with team/domain for internal projects

platform-api-gateway

Suffix with type for non-application repos

infra-helm-charts, shared-docker-images

Monorepo uses generic name

platform-monorepo

Cloud Resource Naming

Standard Pattern

Detailed Pattern (for complex environments)

Environment Abbreviations

Environment
Abbreviation

Development

dev

Testing

test

Staging

staging / stg

Production

prod

Disaster Recovery

dr

Region Abbreviations

Follow cloud provider conventions or use short codes:

Region
Abbreviation

Asia Southeast 1 (Singapore)

ase1

Asia East 1 (Hong Kong)

ae1

US East 1 (N. Virginia)

use1

EU West 1 (Ireland)

euw1

Resource Type Suffixes

Resource
Suffix
Example

Virtual Machine

vm

platform-prod-ase1-vm

Database (generic)

db

platform-prod-euw1-db

MySQL

mysql

platform-prod-euw1-mysql-master

PostgreSQL

pgsql

platform-prod-euw1-pgsql-primary

Redis

redis

platform-prod-ase1-redis-sentinel-01

Load Balancer

lb

platform-prod-ase1-lb

Object Storage

oss / s3

data-prod-use1-s3

Message Queue

mq

data-prod-ase1-mq-broker-01

VPC

vpc

platform-prod-ase1-vpc

Subnet

subnet

platform-prod-ase1-subnet-private

Security Group

sg

platform-prod-ase1-sg-web

Kubernetes Resource Naming

Namespace

Workloads (Deployment / StatefulSet / DaemonSet)

Service

Match the workload name. Use suffix for non-default types:

ConfigMap & Secret

PersistentVolumeClaim

Ingress

Labels & Annotations

Follow the Kubernetes recommended labelsarrow-up-right:

Docker Image Naming

See Docker Standards for detailed image naming and tagging conventions.

Branch Naming

See GitHub Standards and GitLab Standards for detailed branching conventions.

Documentation File Naming

Rule
Example

Use kebab-case for file names

naming-conventions.md

Section overview uses README.md

Standards/README.md

Tool-specific docs use tool name (lowercase)

docker.md, kafka.md, nginx.md

Multi-word names use hyphens

cert-manager.md, computer-network.md

Avoid prefixes/suffixes like doc-, -guide

kafka.md not kafka-guide.md

CI/CD Resource Naming

GitHub Actions

GitLab CI

Reference:

Last updated