Skip to main content

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:
  1. Full Prefix ({env}-mcp-server-langgraph): For resources without length limits
    • GKE Clusters, Kubernetes Namespaces, Deployments, Services
  2. Short Prefix ({env}-mcp-slg): For resources with GCP character limits
    • VPC (20 char max), Cloud SQL, Memorystore Redis, Service Accounts (30 char max)
Rationale: GCP enforces strict character limits (20-30 chars) on network and database resources, requiring abbreviated naming while maintaining consistency for Kubernetes resources.

Environments

Resource Types


Platform-Specific Naming

Google Cloud Platform (GKE)

Cluster Names

Namespaces

Deployments (with Kustomize namePrefix)

Services

Other GCP Resources (Using Short Prefix)

Note: Short prefix = {env}-mcp-slg (e.g., preview-mcp-slg, production-mcp-slg, dev-mcp-slg)

Amazon Web Services (EKS)

Cluster Names

Namespaces

Other AWS Resources


Microsoft Azure (AKS)

Cluster Names

Namespaces

Other Azure Resources


Kubernetes Resources

Kustomize Configuration

Base Resources

Environment Overlays

Generated Resource Names

With namePrefix applied:

Container Images

Repository Naming

GitHub Container Registry (GHCR)

Google Artifact Registry (GAR)

AWS ECR

Image Tags


GitHub Actions Variables

Cluster Variables

Namespace Variables

Deployment Names


Terraform Locals

Name Prefix Pattern


Scripts and CLI Tools

Environment Variables


Legacy Naming (Deprecated)

Old Patterns (DO NOT USE)

Migration Status


Naming Rules and Guidelines

Rules

  1. Environment-First: Always start with the environment name (dev, staging, production)
  2. Consistent Separators: Use hyphens (-) for all multi-word names
  3. Lowercase Only: All infrastructure names must be lowercase
  4. No Underscores: Use hyphens instead of underscores (except in variable names)
  5. Platform Suffix: Add platform suffix (-gke, -eks, -aks) for cluster names
  6. 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-langgraph namespace

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:
  1. Review this document first
  2. Check implementation in Terraform/Kustomization files
  3. Consult team leads for approval before deviating
Maintained By: Platform Team Review Frequency: Quarterly or when adding new platforms/environments