Production deployment patterns
Graceful shutdown, prod config, rollouts, readiness probes, and ship-with-confidence checks.
How to Mock Kubernetes Secret Mounts in Python
Create and inspect a mock Kubernetes secret volume mount using the official client library and unittest.mock.
import json
from kubernetes import client, config, watch
from unittest.mock import Mock, patch
def create_mock_mount_spec():
"""Create a mock Kubernetes secret volume mount."""
mock_client = Mock()
mock_client.api_version = "v1"
mock_client.kind = "Secret"
mock_client.metadata = {"name": "my-secre…
How to Mock Kubernetes Services with a ClusterIP Registry in Python
Simulate Kubernetes service discovery by assigning ClusterIP addresses to dataclass-defined services, with JSON export for inspection or testing.
import json
from dataclasses import dataclass, asdict
from typing import Dict, Optional
@dataclass
class Service:
name: str
namespace: str
cluster_ip: str
selector: Dict[str, str]
port: int
target_port: Optional[int] = None
class ClusterIPServiceRegistry:
_ip_counter = 0
def __init…
How to Mock Multi-Stage Docker Builds in Python
Simulate a multi-stage Docker build in pure Python using classes and temp directories to understand how build stages copy artifacts into a final image.
# Simulate multi-stage Docker build with pure Python
from pathlib import Path
import tempfile
import shutil
class BuildContext:
"""Mimics a Docker build context with stages."""
def __init__(self, name):
self.name = name
self.files = {}
def add_file(self, dest, content):
s…
How to Mock Terraform Plan and Apply in Python
This code provides a lightweight Python mock of Terraform's plan and apply commands, helping you simulate infrastructure changes without real cloud resources.
class MockTerraform:
def __init__(self):
self.plans = [
{"id": 1, "action": "create", "resource": "aws_instance.web"},
{"id": 2, "action": "update", "resource": "aws_s3_bucket.data"},
{"id": 3, "action": "destroy", "resource": "aws_iam_user.legacy"}
]
sel…
How to Mock a CI Pipeline with Build, Test, and Deploy Stages in Python
Simulate a three-stage CI pipeline (build, test, deploy) in Python with random pass/fail logic, early exit on failure, and measured stage durations.
import time
import random
from dataclasses import dataclass
@dataclass
class StageResult:
name: str
status: str
duration: float
def run_stage(name: str, success_chance: float = 0.9) -> StageResult:
"""Simulate a pipeline stage with random success/failure."""
start = time.time()
time.sleep(r…
How to Mock a Container Registry in Python
Build an in-memory container registry mock with push, tag listing, and manifest retrieval logic for testing deployment tooling.
import json
from collections import defaultdict
class MockRegistry:
def __init__(self):
self.repositories = defaultdict(dict)
def push_image(self, repo: str, tag: str, layers: list[str]) -> None:
self.repositories[repo][tag] = {
"layers": layers,
"size": sum(len(layer…
How to Mock a Dependency for Readiness Probe in Python
Use unittest.mock.Mock to simulate a dependency's readiness check response for testing a service's is_ready method without hitting a real connection.
import time
import unittest
from unittest.mock import Mock
class Service:
def __init__(self, dependency):
self.dependency = dependency
def is_ready(self):
try:
result = self.dependency.check()
return result == "ready"
except Exception:
return False
…
How to Mock a Dockerfile Multi-Stage Build in Python
Simulate a Dockerfile multi-stage build process in Python using dataclasses to validate stage ordering and file availability before you write the real Dockerfile.
from dataclasses import dataclass
from pathlib import Path
@dataclass
class BuildStage:
name: str
base_image: str
files: list[str]
commands: list[str]
def run_build(stage: BuildStage, context_dir: Path):
print(f"=== Stage: {stage.name} (base: {stage.base_image}) ===")
for file in stage.file…
How to Mock a Feature Flag Rollout Percentage in Python
Simulate a percentage-based feature flag rollout by hashing a user ID to deterministically enable features for a subset of users.
import random
from dataclasses import dataclass
@dataclass
class FeatureFlag:
name: str
rollout_percentage: int
def is_feature_enabled(feature_flag: FeatureFlag, user_id: str) -> bool:
hashed_id = hash(user_id) % 100
return hashed_id < feature_flag.rollout_percentage
if __name__ == "__main__":
…
How to Mock a GitHub Actions Workflow in Python
Build a dataclass-based model of a GitHub Actions workflow and simulate its execution to validate steps and outputs before deployment.
import json
from dataclasses import dataclass, asdict
from typing import List, Dict, Any
@dataclass
class Step:
name: str
run: str
@dataclass
class Job:
name: str
steps: List[Step]
runs_on: str = "ubuntu-latest"
@dataclass
class Workflow:
name: str
jobs: List[Job]
def to_github_a…
How to Mock a Kubernetes Rolling Update with maxSurge in Python
Simulate a Kubernetes rolling update with maxSurge policy, tracking peak and final replica counts during roll transitions.
from collections import deque
class RollingUpdateMaxSurge:
def __init__(self, replicas, max_surge):
self.replicas = replicas
self.max_surge = max_surge
self.available = replicas
self.history = deque()
def roll(self, desired_replicas):
"""
Simulate a rolling upd…
How to Mock a SIGTERM Handler in Python
Create a graceful shutdown handler for SIGTERM and SIGINT signals, then test it by simulating a signal delivery without terminating the process.
import signal
import time
class Service:
def __init__(self):
self.running = True
def shutdown(self, signum, frame):
print(f"Received signal {signum}, shutting down gracefully...")
self.running = False
def run(self):
signal.signal(signal.SIGTERM, self.shutdown)
sig…
How to Mock a Slow Startup Probe for Fast Testing in Python
This code shows how to replace a slow startup probe's initialization with a mock to make tests run fast and reliably.
import time
from unittest.mock import Mock, patch
class StartupProbe:
def __init__(self, init_time):
self.init_time = init_time
self.ready = False
def initialize(self):
time.sleep(self.init_time)
self.ready = True
return self.ready
def run_startup_probe(probe):
…
How to Mock an Ingress TLS Certificate Manager in Python
Build a mock TLS certificate manager for ingress that issues, checks, and renews certificates with expiry tracking — useful for testing deployment workflows before touching real infrastructure.
import ssl
import socket
from datetime import datetime, timedelta
class TLSCertManager:
def __init__(self, hostname):
self.hostname = hostname
self.certificates = {}
def request_certificate(self, domain, days_valid=90):
"""Mock a certificate issuance request that stores a cert with e…
How to Mock time.sleep in a Python PreStop Hook
This code simulates a Kubernetes PreStop hook that delays shutdown, then mocks time.sleep to verify the hook logic without real delay.
import subprocess
import sys
import time
from unittest.mock import patch
def pre_stop_hook():
"""Simulate a Kubernetes PreStop hook that sleeps before shutdown."""
print("PreStop hook started: delaying shutdown")
time.sleep(3)
print("PreStop hook completed: ready to shutdown")
if __name__ == "__main_…
How to Replace Fields in an Immutable Dataclass in Python
Create a new copy of a frozen dataclass with selected fields changed, leaving the original unchanged.
from dataclasses import dataclass, replace
@dataclass(frozen=True)
class ServerConfig:
name: str
cpu: int = 2
ram: int = 4096
tags: tuple = ()
original = ServerConfig("web-01", cpu=4, tags=("env:prod",))
updated = replace(original, ram=8192, tags=("env:prod", "region:us-east"))
print("Original:", …
How to Roll Back to a Previous Image Tag in Python
A dataclass-based mock registry that tracks image tag history and rolls back to the previous tag, useful for deployment rollback logic.
"""Demonstrates a rollback pattern for a Docker-style image tag registry."""
from dataclasses import dataclass, field
@dataclass
class ImageRegistry:
"""A minimal mock registry tracking current tags per image."""
tags: dict[str, list[str]] = field(default_factory=dict)
def push(self, image: str, tag: …
How to Simulate Blue-Green Deployment Switch in Python
A mock Blue-Green deployment class that deploys new versions to an inactive environment, runs a health check, switches traffic, and supports rollback in Python.
import random
import time
class BlueGreenDeployment:
def __init__(self, initial_env="blue"):
self.environments = {"blue": "v1.0", "green": "v1.0"}
self.active_env = initial_env
self.running = True
def deploy_new_version(self, version, target_env):
if target_env == self.active_…
How to Simulate a Packer AMI Build in Python
A simple Python class that mimics a Packer AMI build lifecycle — creates a build object, transitions its state to completed, and prints a JSON snapshot.
import json
class PackerBuildMock:
def __init__(self, name, ami_id, region="us-east-1", state="pending"):
self.name = name
self.ami_id = ami_id
self.region = region
self.state = state
def build(self):
if self.state == "pending":
self.state = "completed"
…
How to Smoke Test a Deployment in Python with unittest.mock
Run a post-deploy smoke test by mocking the deployment status check to verify your health-check logic returns PASS/FAIL.
import unittest
from unittest.mock import Mock, patch
class DeploymentService:
def check_status(self):
return "unknown"
def smoke_test_deploy():
service = DeploymentService()
with patch.object(service, "check_status", return_value="healthy") as mock_check:
status = service.check_status()
…
How to build a maintenance mode page in Python
Mock a service maintenance status page that computes remaining downtime and lists affected features from a simple class.
from datetime import datetime
class MaintenanceMode:
"""Mock a maintenance mode status page for a service."""
def __init__(self, service_name: str, scheduled_end: str):
self.service_name = service_name
self.scheduled_end = datetime.fromisoformat(scheduled_end)
self.affected_featur…
How to hide incomplete mock features with a Python feature toggle
A simple decorator-based feature toggle that returns a placeholder when a mock feature is disabled, so incomplete code can ship safely.
import functools
class FeatureToggle:
def __init__(self, enabled=False):
self.enabled = enabled
def feature(self, func=None):
"""Decorator to conditionally enable a feature."""
if func is None:
return self.feature
@functools.wraps(func)
def wrapper(*args,…
How to mock Kustomize overlay patches in Python
Simulate Kustomize overlay behavior by deep-merging a base Kubernetes manifest with a patch dictionary in pure Python.
import json
SOURCE = {
"apiVersion": "apps/v1",
"kind": "Deployment",
"metadata": {"name": "app", "namespace": "prod"},
"spec": {
"replicas": 3,
"template": {
"spec": {
"containers": [{"name": "app", "image": "nginx:1.19"}]
}
}
}
}
P…
How to mock S3 remote backend for Terraform in Python
Simulate a Terraform S3 remote backend using moto to write and read state files, enabling local testing without real AWS.
import boto3
from moto import mock_aws
import json
from pathlib import Path
@mock_aws
def demo_s3_remote_backend():
s3 = boto3.client("s3", region_name="us-east-1")
bucket = "terraform-state-bucket"
key = "env/prod/terraform.tfstate"
s3.create_bucket(Bucket=bucket)
# Simulate Terraform w…
Browse by section
Each section groups closely related Python snippets.
Production deployment patterns — Python code examples
What you will find here
This page collects production deployment patterns snippets — short, copy-ready Python you can paste into our free online IDE and run without installing anything. Each sample includes a plain-English explanation and the full source code.
Samples vs tutorials and challenges
Samples are quick reference — one concept per page. For step-by-step teaching, use our Python tutorials. To test yourself, try quizzes or coding challenges. Clean up style with the Python formatter.