🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

Senior Devops

by @alirezarezvani

Comprehensive DevOps skill for CI/CD, infrastructure automation, containerization, and cloud platforms (AWS, GCP, Azure). Includes pipeline setup, infrastruc...

Versionv2.1.1
Downloads4,713
Installs24
Stars⭐ 7
TERMINAL
clawhub install senior-devops

πŸ“– About This Skill


name: "senior-devops" description: Comprehensive DevOps skill for CI/CD, infrastructure automation, containerization, and cloud platforms (AWS, GCP, Azure). Includes pipeline setup, infrastructure as code, deployment automation, and monitoring. Use when setting up pipelines, deploying applications, managing infrastructure, implementing monitoring, or optimizing deployment processes.

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 GitHub Actions or CircleCI
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  --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  --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 deployment/app-blue -n production

    Switch traffic after verification

    kubectl patch service app-svc -n production \ -p '{"spec":{"selector":{"slot":"blue"}}}'

    3. Rollback Procedure

    # Immediate rollback via deployment manager
    python scripts/deployment_manager.py rollback --env=production --to-version=1.2.2

    Or via kubectl

    kubectl rollout undo deployment/app -n production kubectl rollout status deployment/app -n production

    Verify rollback succeeded

    kubectl get pods -n production -l app=myapp curl -sf https://app.example.com/healthz || echo "ROLLBACK FAILED β€” escalate"

    Troubleshooting

    Check the comprehensive troubleshooting section in references/deployment_strategies.md.

    πŸ’‘ Examples

    Main Capabilities

    This skill provides three core capabilities through automated scripts:

    # Script 1: Pipeline Generator β€” scaffolds CI/CD pipelines for GitHub Actions or CircleCI
    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

    πŸ“‹ Tips & Best Practices

    Check the comprehensive troubleshooting section in references/deployment_strategies.md.