Infrastructure Naming Conventions
Overview
This document defines the standardized naming conventions for all infrastructure resources across the MCP Server LangGraph project. All resources follow the pattern:{environment}-mcp-server-langgraph-{resource-type}.
Last Updated: 2025-11-04
Status: ✅ Standardized across GCP, AWS, and Azure
Core Naming Pattern
Standard Format
⚠️ Dual-Prefix Strategy for GCP
Due to GCP character limits on certain resources, we use a dual-prefix approach:-
Full Prefix (
{env}-mcp-server-langgraph): For resources without length limits- GKE Clusters, Kubernetes Namespaces, Deployments, Services
-
Short Prefix (
{env}-mcp-slg): For resources with GCP character limits- VPC (20 char max), Cloud SQL, Memorystore Redis, Service Accounts (30 char max)
Environments
| Environment | Abbreviation | Use Case |
|---|---|---|
| Development | dev | Local development, testing, CI/CD validation |
| Staging | staging | Pre-production testing, integration validation |
| Production | production | Live production workloads |
Resource Types
| Resource | Suffix | Example |
|---|---|---|
| GKE Cluster | -gke | staging-mcp-server-langgraph-gke |
| EKS Cluster | -eks | staging-mcp-server-langgraph-eks |
| AKS Cluster | -aks | staging-mcp-server-langgraph-aks |
| Namespace | (none) | staging-mcp-server-langgraph |
| Deployment | (none) | staging-mcp-server-langgraph |
| Service | (none) | staging-mcp-server-langgraph |
Platform-Specific Naming
Google Cloud Platform (GKE)
Cluster Names
Namespaces
Deployments (with Kustomize namePrefix)
Services
Other GCP Resources (Using Short Prefix)
| Resource | Pattern | Example |
|---|---|---|
| VPC | {short_prefix}-vpc | staging-mcp-slg-vpc |
| Subnet | {short_prefix}-{purpose}-subnet | staging-mcp-slg-nodes-us-central1 |
| Cloud SQL | {short_prefix}-postgres | staging-mcp-slg-postgres |
| Memorystore | {short_prefix}-redis | staging-mcp-slg-redis |
| Service Account | {short_prefix}-{role}-sa | staging-mcp-slg-app-sa |
| Artifact Registry | mcp-{env} | mcp-staging, mcp-production |
{env}-mcp-slg (e.g., staging-mcp-slg, production-mcp-slg, dev-mcp-slg)
Amazon Web Services (EKS)
Cluster Names
Namespaces
Other AWS Resources
| Resource | Pattern | Example |
|---|---|---|
| VPC | {name_prefix}-vpc | staging-mcp-server-langgraph-vpc |
| Subnet | {name_prefix}-{az}-{type} | staging-mcp-server-langgraph-us-east-1a-private |
| RDS Instance | {name_prefix}-db | staging-mcp-server-langgraph-db |
| ElastiCache | {name_prefix}-redis | staging-mcp-server-langgraph-redis |
| IAM Role | {cluster_name}-{purpose} | staging-mcp-server-langgraph-eks-cluster-role |
| ECR Repository | mcp-server-langgraph | (environment in tags) |
Microsoft Azure (AKS)
Cluster Names
Namespaces
Other Azure Resources
| Resource | Pattern | Example |
|---|---|---|
| Resource Group | {name_prefix}-rg | staging-mcp-server-langgraph-rg |
| Virtual Network | {name_prefix}-vnet | staging-mcp-server-langgraph-vnet |
| PostgreSQL | {name_prefix}-db | staging-mcp-server-langgraph-db |
| Redis Cache | {name_prefix}-redis | staging-mcp-server-langgraph-redis |
Kubernetes Resources
Kustomize Configuration
Base Resources
Environment Overlays
Generated Resource Names
WithnamePrefix applied:
| Base Name | Environment | Generated Name |
|---|---|---|
mcp-server-langgraph (Deployment) | staging | staging-mcp-server-langgraph |
mcp-server-langgraph (Service) | staging | staging-mcp-server-langgraph |
mcp-server-langgraph-config (ConfigMap) | staging | staging-mcp-server-langgraph-config |
mcp-server-langgraph-secrets (Secret) | staging | staging-mcp-server-langgraph-secrets |
Container Images
Repository Naming
GitHub Container Registry (GHCR)
Google Artifact Registry (GAR)
AWS ECR
Image Tags
GitHub Actions Variables
Cluster Variables
| Variable | Default | Description |
|---|---|---|
GKE_CLUSTER | dev-mcp-server-langgraph-gke | Development GKE cluster |
GKE_STAGING_CLUSTER | staging-mcp-server-langgraph-gke | Staging GKE cluster |
GKE_PROD_CLUSTER | production-mcp-server-langgraph-gke | Production GKE cluster |
Namespace Variables
| Variable | Default | Description |
|---|---|---|
STAGING_NAMESPACE | staging-mcp-server-langgraph | Staging namespace |
PRODUCTION_NAMESPACE | production-mcp-server-langgraph | Production namespace |
Deployment Names
| Variable | Value | Description |
|---|---|---|
DEPLOYMENT_NAME (staging) | staging-mcp-server-langgraph | Staging deployment |
DEPLOYMENT_NAME (production) | production-mcp-server-langgraph | Production deployment |
Terraform Locals
Name Prefix Pattern
Scripts and CLI Tools
Environment Variables
Legacy Naming (Deprecated)
Old Patterns (DO NOT USE)
| Old Pattern | New Pattern | Status |
|---|---|---|
mcp-staging-cluster | staging-mcp-server-langgraph-gke | ❌ Deprecated |
mcp-prod-gke | production-mcp-server-langgraph-gke | ❌ Deprecated |
mcp-staging | staging-mcp-server-langgraph | ❌ Deprecated |
mcp-production | production-mcp-server-langgraph | ❌ Deprecated |
mcp-server-langgraph-staging | staging-mcp-server-langgraph | ❌ Deprecated |
mcp-dev-cluster | dev-mcp-server-langgraph-gke | ❌ Deprecated |
Migration Status
| Component | Migration Status | Updated Date |
|---|---|---|
| GCP Terraform (staging, prod) | ✅ Complete | 2025-11-04 |
| GCP Terraform (dev) | ✅ Complete | 2025-11-04 |
| AWS Terraform (dev, staging) | ✅ Complete | 2025-11-04 |
| Kustomization Overlays | ✅ Complete | 2025-11-04 |
| GitHub Workflows | ✅ Complete | 2025-11-04 |
| GCP Scripts | ✅ Complete | 2025-11-04 |
| Documentation | 🟡 In Progress | 2025-11-04 |
| E2E Tests | ⏳ Pending | - |
Naming Rules and Guidelines
Rules
- Environment-First: Always start with the environment name (
dev,staging,production) - Consistent Separators: Use hyphens (
-) for all multi-word names - Lowercase Only: All infrastructure names must be lowercase
- No Underscores: Use hyphens instead of underscores (except in variable names)
- Platform Suffix: Add platform suffix (
-gke,-eks,-aks) for cluster names - No Platform in Namespaces: Namespaces are platform-agnostic
Exceptions
- Artifact Registry Repos: Use
mcp-{env}pattern for simplicity - Legacy Service Accounts: Some SA names may retain
mcp-{env}-*pattern - Generic Platform Overlays: AWS/Azure Kustomize overlays use generic
mcp-server-langgraphnamespace
Validation
Automated Checks
Add to.github/workflows/validate.yaml:
Manual Verification
References
- Terraform:
terraform/environments/{platform}-{env}/main.tf - Kustomization:
deployments/overlays/{platform}/kustomization.yaml - Workflows:
.github/workflows/deploy-{env}-{platform}.yaml - Scripts:
scripts/{platform}/*.sh - Secrets:
SECRETS.md
Support
For questions or clarifications:- Review this document first
- Check implementation in Terraform/Kustomization files
- Consult team leads for approval before deviating