devops-automator について
devops-automator は、CI/CD、Infrastructure as Code、コンテナ、デプロイ自動化を扱う DevOps スキルです。デリバリーやインフラを管理するエンジニア向けに、設計パターン、検証方法、成果物の例を提供します。
主な機能
- 01CI/CD パイプライン設計
- 02Terraform、AWS CDK、Pulumi による Infrastructure as Code
- 03Docker と Kubernetes の設定
- 04ArgoCD と Flux を使った GitOps パターン
- 05ワークフローとインフラファイルの検証
活用シーン
- 01段階的な CI/CD パイプラインの設計
- 02再利用可能な Terraform モジュールと Kubernetes マニフェストの作成
- 03コンテナとインフラ設定のリスク確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ curiositech/ some_claude_skills --skill devops-automatorインストール後、Claude Code で/devops-automatorを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
CHANGELOG.md.claude-plugin/plugin.jsonreferences/dockerfile-multistage.dockerfilegithub-actions-patterns.yamlkubernetes-deployment.yamlterraform-eks-module.tfscripts/validate-devops-skill.sh詳細
DevOps オートメーター
CI/CD パイプライン、Infrastructure as Code、コンテナオーケストレーション、デプロイ自動化を専門とする DevOps エンジニアです。
アクティベーションのトリガー
次の場合にアクティベート: 「CI/CD」、「GitHub Actions」、「deployment pipeline」、「Terraform」、「infrastructure as code」、「IaC」、「Docker」、「Kubernetes」、「K8s」、「Helm」、「container orchestration」、「GitOps」、「ArgoCD」、「deployment automation」、「secrets management」、「monitoring setup」
対象外: アプリケーション開発 → 言語スキル | データベース設計 → data-pipeline-engineer | API 設計 → api-architect
クイックスタート
- デプロイ戦略を定義する: Blue/Green、Canary、または Rolling
- IaC ツールを選択する: クラウドリソースには Terraform、K8s アプリには Helm
- CI のステージを設計する: lint → test → security scan → build → deploy
- GitOps を実装する: ArgoCD で設定リポジトリを同期
- 可観測性を追加する: Prometheus メトリクス、構造化ログ
主な機能
| 領域 | ツールとテクノロジー |
|---|---|
| CI/CD | GitHub Actions、GitLab CI、Jenkins |
| IaC | Terraform、AWS CDK、Pulumi |
| コンテナ | Docker、Kubernetes、Helm |
| GitOps | ArgoCD、Flux、Kustomize |
| モニタリング | Prometheus、Grafana、ELK/EFK |
アーキテクチャパターン
CI/CD パイプラインのフロー
Code Commit → Build → Test → Security Scan → Package
↓
Monitor ← Release Staging ← Smoke Tests ← Deploy Dev
↓
Manual Approval
↓
Deploy Production
GitOps アーキテクチャ
App Repo ──CI──▶ Config Repo ──ArgoCD──▶ K8s Cluster
▲ │
└────Continuous Sync─────┘
参考ファイル
実際に動作する完全な例は ./references/ にあります。
| ファイル | 説明 | 行数 |
|---|---|---|
github-actions-patterns.yaml | 完全な CI/CD パイプライン | 217 |
terraform-eks-module.tf | 本番環境向け EKS クラスター | 282 |
kubernetes-deployment.yaml | Deployment + HPA + ArgoCD | 200 |
dockerfile-multistage.dockerfile | 最適化されたマルチステージビルド | 51 |
アンチパターン(避けてください)
1. YAML のコピー&ペーストの乱用
症状: ほぼ同じワークフローファイルが複数のリポジトリに重複している 対処法: 再利用可能なワークフロー、Helm チャート、Kustomize ベース、Terraform モジュールを使用します
2. コード内へのシークレットのハードコード
症状: API キーやパスワードが Git にコミットされている 対処法: シークレットマネージャー(Vault、AWS SM)、シールドシークレット、安全なソースからの環境変数を使用します
3. ロールバック戦略がない
症状: デプロイ失敗時の計画がなく、手動での介入が必要になる 対処法: Blue/Green、自動ロールバックを伴う Canary、ArgoCD の自動リバートを使用します
4. モノリシックな CI パイプライン
症状: コミットごとにすべてを再ビルドする、単一の 45 分間のパイプライン 対処法: 並列ジョブ、キャッシュ、インクリメンタルビルド、パスベースのトリガーを使用します
5. リソース制限がない
症状: CPU/メモリ制限のない K8s ポッドが、ホストの全リソースを消費する 対処法: 常に requests/limits を設定し、LimitRanges と ResourceQuotas を使用します
6. コンテナ内で root として実行する
症状: USER 命令がない Dockerfile、特権モードで実行されるポッド 対処法: USER 命令を追加し、securityContext.runAsNonRoot: true を設定します
7. :latest タグを使用する
症状: 本番環境で FROM node:latest または image: app:latest を使用している
対処法: 特定のバージョンを固定し、SHA ダイジェストを含む不変のタグを使用します
8. ヘルスチェックがない
症状: Dockerfile に HEALTHCHECK がなく、liveness/readiness プローブもない 対処法: ヘルスエンドポイントを追加し、適切なタイムアウトでプローブを設定します
9. 単一障害点
症状: replicas: 1、ポッドのアンチアフィニティがなく、単一のアベイラビリティゾーンを使用している 対処法: 複数のレプリカ、ポッドのアンチアフィニティ、トポロジー分散制約を使用します
10. ローカルファイルに Terraform の状態を保存する
症状: terraform.tfstate が Git にコミットされている、またはローカルに保存されている
対処法: リモートバックエンド(S3+DynamoDB、Terraform Cloud、GCS)を使用します
11. 同時実行制御がない
症状: 同じブランチで複数の CI が実行され、デプロイの競合状態が発生する 対処法: 同時実行グループを使用し、デプロイロックを実装します
12. セキュリティスキャンを無視する
症状: 脆弱性スキャンがなく、CI でシークレット検出も行われていない 対処法: 脆弱性には Trivy、Snyk、または Grype、シークレットには TruffleHog を使用します
13. ドリフト検出がない
症状:インフラへの手動変更により、設定がコードと乖離します
対処法:ArgoCD の差分検出、CI での terraform plan、定期的な監査
14. IAM の権限が過剰に許可されている
症状:* アクションを持つ IAM ロール、cluster-admin 権限を持つサービスアカウント
対処法:最小権限の原則、Pod には IRSA を使用、権限を監査
15. 可観測性がない
症状:メトリクスがなく、ログは stdout にのみ出力され、アラートもありません 対処法:メトリクスをエクスポートし、構造化ログを使用して、SLO を定義し、アラートを設定
検証スクリプト
./scripts/validate-devops-skill.sh を実行して、次の項目を確認します:
- GitHub Actions のワークフローにおける非推奨アクションやキャッシュ設定の不足
- Dockerfile におけるセキュリティのベストプラクティス
- Kubernetes マニフェストにおけるリソース制限やセキュリティコンテキスト
- Terraform におけるバージョン制約や機密情報に関するデフォルト設定
品質チェックリスト
[ ] All secrets in secret management (not in code)
[ ] Resource limits defined for all containers
[ ] Health checks configured (liveness, readiness)
[ ] Horizontal pod autoscaling enabled
[ ] Security contexts set (non-root, read-only)
[ ] Monitoring and alerting configured
[ ] Rollback strategy documented
[ ] Multi-environment support (dev, staging, prod)
[ ] Concurrency controls in CI pipelines
[ ] Remote state backend for Terraform
[ ] Vulnerability scanning in pipeline
[ ] Version pinning for all dependencies
出力成果物
- CI/CD ワークフロー - GitHub Actions、GitLab CI の設定
- Terraform モジュール - 再利用可能なインフラコンポーネント
- Kubernetes マニフェスト - デプロイ、サービス、設定
- Helm チャート - パッケージ化されたアプリケーション
- Docker 設定 - 最適化されたマルチステージビルド
- ArgoCD アプリケーション - GitOps のデプロイ定義
利用可能なツール
Read、Write、Edit- 設定ファイルやマニフェストのファイル操作Bash(docker:*)- コンテナのビルドと管理Bash(kubectl:*)- Kubernetes の操作Bash(terraform:*)- インフラのプロビジョニングBash(helm:*)- Helm チャートの管理Bash(gh:*)- GitHub CLI の操作