Production deployment patterns
Graceful shutdown, prod config, rollouts, readiness probes, and ship-with-confidence checks.
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 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…
How to mock resource request limits in Python
A Python class that simulates CPU and memory limit checks for resource requests, returning clear acceptance or rejection messages.
class ResourceLimits:
def __init__(self, cpu_limit, memory_limit):
self.cpu_limit = cpu_limit
self.memory_limit = memory_limit
def check_request(self, cpu, memory):
if cpu > self.cpu_limit:
return "CPU limit exceeded: {cpu} > {limit}".format(cpu=cpu, limit=self.cpu_limit)
…
How to simulate GitLab CI stages in Python
Build a lightweight Python mock of GitLab CI pipeline stages to test job sequencing and output locally.
def mock_gitlab_ci_stages():
stages = ["build", "test", "deploy"]
stage_status = {}
for stage in stages:
jobs = []
if stage == "build":
jobs = ["compile", "package"]
elif stage == "test":
jobs = ["unit", "integration", "e2e"]
elif stage == "deploy":…
How to simulate a database migration init container mock in Python
A mock init container that runs environment checks and a staged database migration job before the main application starts, printing progress to stdout.
```python
class MigrationJob:
def __init__(self, name, steps):
self.name = name
self.steps = steps
self.current_step = 0
self.status = "pending"
def run(self):
print(f"Initializing migration job: {self.name}")
for step in self.steps:
self.current_ste…
Mock ConfigMap Mount Environment Variables in Python
Simulate reading environment variables from a Kubernetes ConfigMap-mounted directory and test it with mocks.
import os
import tempfile
from unittest.mock import patch
def load_config_from_mount(mount_path):
"""Simulate reading environment variables from a ConfigMap-mounted directory."""
config = {}
for filename in os.listdir(mount_path):
file_path = os.path.join(mount_path, filename)
if os.path.i…
Mock Kubernetes HPA CPU Scaling in Python
Python function that simulates CPU utilization and calculates desired replicas using the Kubernetes HPA formula.
import random
import time
def simulate_cpu_utilization(target_utilization=50, samples=10):
"""Simulate CPU utilization readings for HPA mock."""
utilizations = []
for _ in range(samples):
# Simulate fluctuating CPU with random noise around target
current = target_utilization + random.unif…
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.