Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mcp-server-langgraph.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

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

{environment}-mcp-server-langgraph-{resource-type}

⚠️ 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

EnvironmentAbbreviationUse Case
DevelopmentdevLocal development, testing, CI/CD validation
PreviewpreviewPre-production testing, integration validation
ProductionproductionLive production workloads

Resource Types

ResourceSuffixExample
GKE Cluster-gkepreview-mcp-server-langgraph-gke
EKS Cluster-ekspreview-mcp-server-langgraph-eks
AKS Cluster-akspreview-mcp-server-langgraph-aks
Namespace(none)preview-mcp-server-langgraph
Deployment(none)preview-mcp-server-langgraph
Service(none)preview-mcp-server-langgraph

Platform-Specific Naming

Google Cloud Platform (GKE)

Cluster Names

Development:  dev-mcp-server-langgraph-gke
Preview:      preview-mcp-server-langgraph-gke
Production:   production-mcp-server-langgraph-gke

Namespaces

Development:  dev-mcp-server-langgraph
Preview:      preview-mcp-server-langgraph
Production:   production-mcp-server-langgraph

Deployments (with Kustomize namePrefix)

Development:  dev-mcp-server-langgraph
Preview:      preview-mcp-server-langgraph
Production:   production-mcp-server-langgraph

Services

Main:         {env}-mcp-server-langgraph
SSE:          {env}-mcp-server-langgraph-sse
Headless:     {env}-mcp-server-langgraph-headless

Other GCP Resources (Using Short Prefix)

ResourcePatternExample
VPC{short_prefix}-vpcpreview-mcp-slg-vpc
Subnet{short_prefix}-{purpose}-subnetpreview-mcp-slg-nodes-us-central1
Cloud SQL{short_prefix}-postgrespreview-mcp-slg-postgres
Memorystore{short_prefix}-redispreview-mcp-slg-redis
Service Account{short_prefix}-{role}-sapreview-mcp-slg-app-sa
Artifact Registrymcp-{env}mcp-preview, mcp-production
Note: Short prefix = {env}-mcp-slg (e.g., preview-mcp-slg, production-mcp-slg, dev-mcp-slg)

Amazon Web Services (EKS)

Cluster Names

Development:  dev-mcp-server-langgraph-eks
Preview:      preview-mcp-server-langgraph-eks
Production:   production-mcp-server-langgraph-eks

Namespaces

(Same as GKE - platform-agnostic)
Development:  dev-mcp-server-langgraph
Preview:      preview-mcp-server-langgraph
Production:   production-mcp-server-langgraph

Other AWS Resources

ResourcePatternExample
VPC{name_prefix}-vpcpreview-mcp-server-langgraph-vpc
Subnet{name_prefix}-{az}-{type}preview-mcp-server-langgraph-us-east-1a-private
RDS Instance{name_prefix}-dbpreview-mcp-server-langgraph-db
ElastiCache{name_prefix}-redispreview-mcp-server-langgraph-redis
IAM Role{cluster_name}-{purpose}preview-mcp-server-langgraph-eks-cluster-role
ECR Repositorymcp-server-langgraph(environment in tags)

Microsoft Azure (AKS)

Cluster Names

Development:  dev-mcp-server-langgraph-aks
Preview:      preview-mcp-server-langgraph-aks
Production:   production-mcp-server-langgraph-aks

Namespaces

(Same as GKE/EKS - platform-agnostic)
Development:  dev-mcp-server-langgraph
Preview:      preview-mcp-server-langgraph
Production:   production-mcp-server-langgraph

Other Azure Resources

ResourcePatternExample
Resource Group{name_prefix}-rgpreview-mcp-server-langgraph-rg
Virtual Network{name_prefix}-vnetpreview-mcp-server-langgraph-vnet
PostgreSQL{name_prefix}-dbpreview-mcp-server-langgraph-db
Redis Cache{name_prefix}-redispreview-mcp-server-langgraph-redis

Kubernetes Resources

Kustomize Configuration

Base Resources

namespace: mcp-server-langgraph (generic base)

Environment Overlays

Development:
  namespace: dev-mcp-server-langgraph
  namePrefix: dev-

Preview (GKE):
  namespace: preview-mcp-server-langgraph
  namePrefix: preview-

Production (GKE):
  namespace: production-mcp-server-langgraph
  namePrefix: production-

Generated Resource Names

With namePrefix applied:
Base NameEnvironmentGenerated Name
mcp-server-langgraph (Deployment)previewpreview-mcp-server-langgraph
mcp-server-langgraph (Service)previewpreview-mcp-server-langgraph
mcp-server-langgraph-config (ConfigMap)previewpreview-mcp-server-langgraph-config
mcp-server-langgraph-secrets (Secret)previewpreview-mcp-server-langgraph-secrets

Container Images

Repository Naming

GitHub Container Registry (GHCR)

ghcr.io/vishnu2kmohan/mcp-server-langgraph

Google Artifact Registry (GAR)

Pattern: {region}-docker.pkg.dev/{project-id}/mcp-{env}/{image-name}

Development:  ghcr.io/vishnu2kmohan/mcp-server-langgraph
Preview:      us-central1-docker.pkg.dev/vishnu-sandbox-20250310/mcp-preview/mcp-server-langgraph
Production:   us-central1-docker.pkg.dev/PROJECT_ID/mcp-production/mcp-server-langgraph

AWS ECR

Pattern: {account-id}.dkr.ecr.{region}.amazonaws.com/mcp-server-langgraph

All Environments: mcp-server-langgraph (environment in tags)

Image Tags

Development:  2.8.0-dev, dev-latest, dev-{sha}
Preview:      2.8.0-preview, preview-latest, preview-{sha}
Production:   2.8.0, latest, {sha}

GitHub Actions Variables

Cluster Variables

VariableDefaultDescription
GKE_CLUSTERdev-mcp-server-langgraph-gkeDevelopment GKE cluster
GKE_PREVIEW_CLUSTERpreview-mcp-server-langgraph-gkePreview GKE cluster
GKE_PROD_CLUSTERproduction-mcp-server-langgraph-gkeProduction GKE cluster

Namespace Variables

VariableDefaultDescription
PREVIEW_NAMESPACEpreview-mcp-server-langgraphPreview namespace
PRODUCTION_NAMESPACEproduction-mcp-server-langgraphProduction namespace

Deployment Names

VariableValueDescription
DEPLOYMENT_NAME (preview)preview-mcp-server-langgraphPreview deployment
DEPLOYMENT_NAME (production)production-mcp-server-langgraphProduction deployment

Terraform Locals

Name Prefix Pattern

locals {
  # GCP Preview
  name_prefix  = "preview-mcp-server-langgraph"
  cluster_name = "${local.name_prefix}-gke"

  # GCP Production
  name_prefix  = "production-mcp-server-langgraph"
  cluster_name = "${local.name_prefix}-gke"

  # GCP Development
  name_prefix  = "dev-mcp-server-langgraph"
  cluster_name = "${local.name_prefix}-gke"

  # AWS Development
  name_prefix  = "dev-mcp-server-langgraph"
  cluster_name = "${local.name_prefix}-eks"

  # AWS Preview
  name_prefix  = "preview-mcp-server-langgraph"
  cluster_name = "${local.name_prefix}-eks"
}

Scripts and CLI Tools

Environment Variables

# GCP Preview
CLUSTER_NAME="preview-mcp-server-langgraph-gke"
NAMESPACE="preview-mcp-server-langgraph"
SERVICE_NAME="preview-mcp-server-langgraph"

# GCP Production
CLUSTER_NAME="production-mcp-server-langgraph-gke"
NAMESPACE="production-mcp-server-langgraph"
SERVICE_NAME="production-mcp-server-langgraph"

# Development
CLUSTER_NAME="dev-mcp-server-langgraph-gke"
NAMESPACE="dev-mcp-server-langgraph"
SERVICE_NAME="dev-mcp-server-langgraph"

Legacy Naming (Deprecated)

Old Patterns (DO NOT USE)

Old PatternNew PatternStatus
mcp-staging-clusterpreview-mcp-server-langgraph-gke❌ Deprecated
mcp-prod-gkeproduction-mcp-server-langgraph-gke❌ Deprecated
mcp-stagingpreview-mcp-server-langgraph❌ Deprecated
mcp-productionproduction-mcp-server-langgraph❌ Deprecated
mcp-server-langgraph-stagingpreview-mcp-server-langgraph❌ Deprecated
mcp-dev-clusterdev-mcp-server-langgraph-gke❌ Deprecated
staging-*preview-*❌ Deprecated (use preview-)

Migration Status

ComponentMigration StatusUpdated Date
GCP Terraform (staging, prod)✅ Complete2025-11-04
GCP Terraform (dev)✅ Complete2025-11-04
AWS Terraform (dev, staging)✅ Complete2025-11-04
Kustomization Overlays✅ Complete2025-11-04
GitHub Workflows✅ Complete2025-11-04
GCP Scripts✅ Complete2025-11-04
Documentation🟡 In Progress2025-11-04
E2E Tests⏳ Pending-

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:
- name: Validate Naming Conventions
  run: |
    # Check for deprecated naming patterns
    if grep -r "mcp-staging-cluster\|mcp-prod-gke" terraform/ deployments/ scripts/; then
      echo "❌ Found deprecated naming patterns"
      exit 1
    fi

Manual Verification

# Verify Terraform
grep -r "name_prefix" terraform/environments/

# Verify Kustomization
grep "namespace:" deployments/overlays/*/kustomization.yaml

# Verify Workflows
grep "GKE_CLUSTER\|NAMESPACE" .github/workflows/*.yaml

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