| name | devops-cloud-skills |
| description | Master Docker, Kubernetes, Terraform, AWS, Linux, CI/CD, and infrastructure as code. Deploy and manage cloud applications at scale. |
| sasmp_version | 1.3.0 |
| skill_type | atomic |
| version | 2.0.0 |
| parameters | {"platform":{"type":"string","enum":["aws","gcp","azure","multi-cloud"],"default":"aws"},"orchestration":{"type":"string","enum":["kubernetes","ecs","nomad"],"default":"kubernetes"}} |
| validation_rules | [{"pattern":"^[a-z][a-z0-9-]*$","target":"resource_names","message":"Resource names must be lowercase with hyphens"},{"pattern":"^v[0-9]+\\.[0-9]+\\.[0-9]+$","target":"image_tags","message":"Use semantic versioning for images"}] |
| retry_config | {"max_attempts":3,"backoff":"exponential","initial_delay_ms":5000,"max_delay_ms":120000} |
| logging | {"on_entry":"[DevOps] Starting: {task}","on_success":"[DevOps] Completed: {task}","on_error":"[DevOps] Failed: {task} - {error}"} |
| dependencies | {"agents":["devops-cloud-engineer"]} |
DevOps & Cloud Engineering Skills
Docker Best Practices
# Multi-stage build for smaller images
FROM python:3.11-slim AS builder
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
FROM python:3.11-slim
WORKDIR /app
# Non-root user for security
RUN useradd -m appuser
USER appuser
COPY --from=builder /usr/local/lib/python3.11/site-packages /usr/local/lib/python3.11/site-packages
COPY --chown=appuser:appuser . .
# Health check
HEALTHCHECK --interval=30s --timeout=3s \
CMD curl -f http://localhost:5000/health || exit 1
ENV PORT=5000
EXPOSE 5000
CMD ["python", "app.py"]
docker build --no-cache -t myapp:v1.0.0 .
docker run -d --name myapp \
--restart=unless-stopped \
--memory=512m \
--cpus=0.5 \
-p 5000:5000 \
myapp:v1.0.0
Kubernetes Production Config
apiVersion: apps/v1
kind: Deployment
metadata:
name: myapp
labels:
app: myapp
spec:
replicas: 3
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 1
maxUnavailable: 0
selector:
matchLabels:
app: myapp
template:
metadata:
labels:
app: myapp
spec:
containers:
- name: myapp
image: myapp:v1.0.0