PromptShop

Senior Devops

This skill provides a complete toolkit for senior DevOps engineers, incorporating modern tools and best practices. It helps automate CI/CD pipelines, generat...

Install

npx promptshop add senior-devops

Details

What This Skill Does

This skill provides a complete toolkit for senior DevOps engineers, incorporating modern tools and best practices. It helps automate CI/CD pipelines, generate infrastructure-as-code modules, and manage container deployments with rollback support. It's designed for DevOps engineers who need to automate and manage infrastructure and deployments.

When to Use

  • Scaffold CI/CD pipelines for GitHub Actions.
  • Generate Terraform modules for AWS.
  • Orchestrate container deployments with rollback.
  • Automate infrastructure provisioning.
  • Implement blue-green deployment strategy.
  • Manage application deployments to production.

Key Features

  • Scaffolds CI/CD pipelines for GitHub Actions and CircleCI.
  • Generates Terraform modules for AWS, GCP, and Azure.
  • Orchestrates container deployments with rollback support.
  • Supports multiple deployment strategies.
  • Automates infrastructure provisioning.
  • Provides example configurations for common DevOps tasks.

Manual Installation

Manual installation

  • View Full Skill Content.
  • The complete markdown content that gets installed.
  • Senior Devops.

Complete toolkit for senior devops with modern tools and best practices.

Quick Start

Main Capabilities

This skill provides three core capabilities through automated scripts:

  • Script 1: Pipeline Generator — scaffolds CI/CD pipelines for Git.

  • Hub Actions or Circle.
  • CI.

python scripts/pipeline_generator.py ./app --platform=github --stages=build,test,deploy

Script 2: Terraform Scaffolder — generates and validates IaC modules for AWS/GCP/Azure python scripts/terraform_scaffolder.py ./infra --provider=aws --module=ecs-service --verbose

Script 3: Deployment Manager — orchestrates container deployments with rollback support python scripts/deployment_manager.py deploy --env=production --image=app:1.2.3 --strategy=blue-green

Core Capabilities

1. Pipeline Generator

Scaffolds CI/CD pipeline configurations for GitHub Actions or CircleCI, with stages for build, test, security scan, and deploy.

Example — GitHub Actions workflow:

.github/workflows/ci.yml

name: CI/CD Pipeline on: push: branches: [main, develop] pull_request: branches: [main]

jobs: build-and-test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Set up Node.js uses: actions/setup-node@v4 with: node-version: '20' cache: 'npm' - run: npm ci - run: npm run lint - run: npm test -- --coverage - name: Upload coverage uses: codecov/codecov-action@v4

build-docker: needs: build-and-test runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Build and push image uses: docker/build-push-action@v5 with: push: ${{ github.ref == 'refs/heads/main' }} tags: ghcr.io/${{ github.repository }}:${{ github.sha }}

deploy: needs: build-docker if: github.ref == 'refs/heads/main' runs-on: ubuntu-latest steps: - name: Deploy to ECS run: | aws ecs update-service
--cluster production
--service app-service
--force-new-deployment

Usage: python scripts/pipeline_generator.py <project-path> --platform=github|circleci --stages=build,test,deploy

2. Terraform Scaffolder

  • Generates, validates, and plans Terraform modules.
  • Enforces consistent module structure and runs terraform validate + terraform plan before any apply.

Example — AWS ECS service module:

modules/ecs-service/main.tf

resource "aws_ecs_task_definition" "app" { family = var.service_name requires_compatibilities = ["FARGATE"] network_mode = "awsvpc" cpu = var.cpu memory = var.memory

container_definitions = jsonencode([{ name = var.service_name image = var.container_image essential = true portMappings = [{ containerPort = var.container_port protocol = "tcp" }] environment = [for k, v in var.env_vars : { name = k, value = v }] logConfiguration = { logDriver = "awslogs" options = { awslogs-group = "/ecs/${var.service_name}" awslogs-region = var.aws_region awslogs-stream-prefix = "ecs" } } }]) }

resource "aws_ecs_service" "app" { name = var.service_name cluster = var.cluster_id task_definition = aws_ecs_task_definition.app.arn desired_count = var.desired_count launch_type = "FARGATE"

network_configuration { subnets = var.private_subnet_ids security_groups = [aws_security_group.app.id] assign_public_ip = false }

load_balancer { target_group_arn = aws_lb_target_group.app.arn container_name = var.service_name container_port = var.container_port } }

Usage: python scripts/terraform_scaffolder.py <target-path> --provider=aws|gcp|azure --module=ecs-service|gke-deployment|aks-service [--verbose]

3. Deployment Manager

Orchestrates deployments with blue/green or rolling strategies, health-check gates, and automatic rollback on failure.

Example — Kubernetes blue/green deployment (blue-slot specific elements):

k8s/deployment-blue.yaml

apiVersion: apps/v1 kind: Deployment metadata: name: app-blue labels: app: myapp slot: blue # slot label distinguishes blue from green spec: replicas: 3 selector: matchLabels: app: myapp slot: blue template: metadata: labels: app: myapp slot: blue spec: containers: - name: app image: ghcr.io/org/app:1.2.3 readinessProbe: # gate: pod must pass before traffic switches httpGet: path: /healthz port: 8080 initialDelaySeconds: 10 periodSeconds: 5 resources: requests: cpu: "250m" memory: "256Mi" limits: cpu: "500m" memory: "512Mi"

Usage: python scripts/deployment_manager.py deploy
--env=staging|production
--image=app:1.2.3
--strategy=blue-green|rolling
--health-check-url=https://app.example.com/healthz

python scripts/deployment_manager.py rollback --env=production --to-version=1.2.2 python scripts/deployment_manager.py --analyze --env=production # audit current state

Resources

Pattern Reference: references/cicd_pipeline_guide.md — detailed CI/CD patterns, best practices, anti-patterns Workflow Guide: references/infrastructure_as_code.md — IaC step-by-step processes, optimization, troubleshooting Technical Guide: references/deployment_strategies.md — deployment strategy configs, security considerations, scalability Tool Scripts: scripts/ directory

Development Workflow

1. Infrastructure Changes (Terraform)

Scaffold or update module

python scripts/terraform_scaffolder.py ./infra --provider=aws --module=ecs-service --verbose

Validate and plan — review diff before applying terraform -chdir=infra init terraform -chdir=infra validate terraform -chdir=infra plan -out=tfplan

Apply only after plan review terraform -chdir=infra apply tfplan

Verify resources are healthy aws ecs describe-services --cluster production --services app-service
--query 'services[0].{Status:status,Running:runningCount,Desired:desiredCount}'

2. Application Deployment

Generate or update pipeline config

python scripts/pipeline_generator.py . --platform=github --stages=build,test,security,deploy

Build and tag image docker build -t ghcr.io/org/app:$(git rev-parse --short HEAD) . docker push ghcr.io/org/app:$(git rev-parse --short HEAD)

Deploy with health-check gate python scripts/deployment_manager.py deploy
--env=production
--image=app:$(git rev-parse --short HEAD)
--strategy=blue-green
--health-check-url=https://app.example.com/healthz

Verify pods are running kubectl get pods -n production -l app=myapp kubectl rollout status