@intentsolutionsio/jeremy-github-actions-gcp 2.1.0 → 2.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -25,14 +25,17 @@ This plugin ensures secure, production-ready CI/CD pipelines for Vertex AI Agent
25
25
  ## Components
26
26
 
27
27
  ### Agent
28
+
28
29
  - **gh-actions-gcp-expert**: Expert in GitHub Actions for Vertex AI / GCP deployments
29
30
 
30
31
  ### Skills (Auto-Activating)
32
+
31
33
  - **gh-actions-validator**: Validates and enforces GitHub Actions best practices
32
34
  - **Tool Permissions**: Read, Write, Edit, Grep, Glob, Bash
33
35
  - **Version**: 1.0.0 (2026 schema compliant)
34
36
 
35
37
  ### Hooks
38
+
36
39
  - **PreToolUse**: Validates workflow files before writing/editing
37
40
  - Triggers on: `.github/workflows/*.yml`, `.github/workflows/*.yaml`
38
41
  - Runs: `scripts/validate-workflow.sh`
@@ -58,6 +61,7 @@ The skill auto-activates and enforces best practices.
58
61
  ### 1. Workload Identity Federation (WIF) Mandatory
59
62
 
60
63
  ❌ **NEVER ALLOWED - JSON Service Account Keys**:
64
+
61
65
  ```yaml
62
66
  # ❌ FORBIDDEN
63
67
  - uses: google-github-actions/auth@v2
@@ -66,6 +70,7 @@ The skill auto-activates and enforces best practices.
66
70
  ```
67
71
 
68
72
  ✅ **REQUIRED - WIF with OIDC**:
73
+
69
74
  ```yaml
70
75
  # ✅ ENFORCED
71
76
  permissions:
@@ -89,10 +94,12 @@ permissions:
89
94
  ### 3. IAM Least Privilege
90
95
 
91
96
  ❌ **Overly Permissive Roles Blocked**:
97
+
92
98
  - `roles/owner` - ❌ Blocked
93
99
  - `roles/editor` - ❌ Blocked
94
100
 
95
101
  ✅ **Least Privilege Roles Required**:
102
+
96
103
  - `roles/run.admin` - Cloud Run deployments
97
104
  - `roles/iam.serviceAccountUser` - Service account impersonation
98
105
  - `roles/aiplatform.user` - Vertex AI operations
@@ -100,6 +107,7 @@ permissions:
100
107
  ### 4. Post-Deployment Validation
101
108
 
102
109
  For Vertex AI deployments, validation is **REQUIRED**:
110
+
103
111
  ```yaml
104
112
  - name: Post-Deployment Validation
105
113
  run: |
@@ -108,6 +116,7 @@ For Vertex AI deployments, validation is **REQUIRED**:
108
116
  ```
109
117
 
110
118
  **Validation Checklist**:
119
+
111
120
  - ✅ Agent state is RUNNING
112
121
  - ✅ Code Execution Sandbox enabled (7-14 day TTL)
113
122
  - ✅ Memory Bank configured
@@ -120,6 +129,7 @@ For Vertex AI deployments, validation is **REQUIRED**:
120
129
  ### 5. Security Scanning
121
130
 
122
131
  **Recommended** (warnings if missing):
132
+
123
133
  ```yaml
124
134
  - name: Scan for secrets
125
135
  uses: trufflesecurity/trufflehog@main
@@ -279,7 +289,7 @@ jobs:
279
289
 
280
290
  The plugin includes a **PreToolUse** hook that validates workflow files **before** they're written:
281
291
 
282
- ```bash
292
+ ```text
283
293
  # Automatically runs on .github/workflows/*.yml files
284
294
 
285
295
  scripts/validate-workflow.sh <workflow-file>
@@ -300,6 +310,7 @@ scripts/validate-workflow.sh <workflow-file>
300
310
  **Problem**: Using insecure JSON service account keys in workflows
301
311
 
302
312
  **Solution**: Plugin enforces WIF and blocks JSON keys
313
+
303
314
  ```
304
315
  User: "Create deployment workflow for Vertex AI"
305
316
 
@@ -315,6 +326,7 @@ Plugin provides:
315
326
  **Problem**: Need production-ready CI/CD for ADK agents
316
327
 
317
328
  **Solution**: Comprehensive deployment pipeline with validation
329
+
318
330
  ```
319
331
  User: "Deploy my ADK agent to Vertex AI Engine"
320
332
 
@@ -332,6 +344,7 @@ Plugin provides:
332
344
  **Problem**: Workflows missing security scanning or using weak IAM
333
345
 
334
346
  **Solution**: Hook validation + skill enforcement
347
+
335
348
  ```
336
349
  User: "Update my deployment workflow"
337
350
 
@@ -346,24 +359,29 @@ Plugin validates:
346
359
  ## Integration with Other Plugins
347
360
 
348
361
  ### jeremy-adk-orchestrator
362
+
349
363
  - Provides CI/CD for ADK agent deployments
350
364
  - Automates A2A protocol validation
351
365
 
352
366
  ### jeremy-vertex-validator
367
+
353
368
  - GitHub Actions calls validator for post-deployment checks
354
369
  - Production readiness scoring
355
370
 
356
371
  ### jeremy-vertex-engine
372
+
357
373
  - CI/CD triggers vertex-engine-inspector
358
374
  - Continuous health monitoring
359
375
 
360
376
  ### jeremy-adk-terraform
377
+
361
378
  - GitHub Actions deploys Terraform infrastructure
362
379
  - Automated provisioning
363
380
 
364
381
  ## Best Practices Summary
365
382
 
366
383
  ### Security (ENFORCED)
384
+
367
385
  ✅ Workload Identity Federation (WIF) - no JSON keys
368
386
  ✅ OIDC permissions (`id-token: write`)
369
387
  ✅ IAM least privilege (no owner/editor)
@@ -373,6 +391,7 @@ Plugin validates:
373
391
  ✅ Vulnerability scanning (Trivy)
374
392
 
375
393
  ### Vertex AI Specific (ENFORCED)
394
+
376
395
  ✅ Code Execution Sandbox (7-14 day TTL)
377
396
  ✅ Memory Bank enabled
378
397
  ✅ A2A Protocol compliance
@@ -382,6 +401,7 @@ Plugin validates:
382
401
  ✅ Alerting policies
383
402
 
384
403
  ### CI/CD (RECOMMENDED)
404
+
385
405
  ✅ Conditional job execution
386
406
  ✅ Dependency caching
387
407
  ✅ Concurrent jobs
@@ -542,6 +542,7 @@ jobs:
542
542
  ## When to Use This Agent
543
543
 
544
544
  Activate this agent when you need:
545
+
545
546
  - GitHub Actions workflow creation for GCP deployments
546
547
  - Workload Identity Federation (WIF) setup
547
548
  - Vertex AI Agent Engine deployment automation
@@ -564,6 +565,7 @@ Activate this agent when you need:
564
565
  ## Best Practices
565
566
 
566
567
  ### Security
568
+
567
569
  ✅ **Always use WIF** instead of JSON service account keys
568
570
  ✅ **Least privilege IAM** - Grant minimal required permissions
569
571
  ✅ **Attribute-based access control** - Restrict by repository/branch
@@ -572,12 +574,14 @@ Activate this agent when you need:
572
574
  ✅ **VPC Service Controls** for enterprise isolation
573
575
 
574
576
  ### Performance
577
+
575
578
  ✅ **Auto-scaling** configuration (min/max instances)
576
579
  ✅ **Caching** for Docker builds and dependencies
577
580
  ✅ **Concurrent job execution** when possible
578
581
  ✅ **Matrix builds** for testing across environments
579
582
 
580
583
  ### Reliability
584
+
581
585
  ✅ **Post-deployment validation** to ensure successful deployment
582
586
  ✅ **Health check endpoints** for services
583
587
  ✅ **Retry logic** with exponential backoff
@@ -585,6 +589,7 @@ Activate this agent when you need:
585
589
  ✅ **Monitoring setup** as part of deployment
586
590
 
587
591
  ### Cost Optimization
592
+
588
593
  ✅ **Preemptible runners** for non-critical jobs
589
594
  ✅ **Conditional job execution** (only run on relevant path changes)
590
595
  ✅ **Artifact caching** to reduce build times
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intentsolutionsio/jeremy-github-actions-gcp",
3
- "version": "2.1.0",
3
+ "version": "2.1.2",
4
4
  "description": "GitHub Actions CI/CD workflows for Google Cloud and Vertex AI deployments",
5
5
  "keywords": [
6
6
  "github-actions",
@@ -1,13 +1,23 @@
1
1
  ---
2
2
  name: gh-actions-validator
3
- description: |
4
- Validate use when validating GitHub Actions workflows for Google Cloud and Vertex AI deployments. Trigger with phrases like "validate github actions", "setup workload identity federation", "github actions security", "deploy agent with ci/cd", or "automate vertex ai deployment". Enforces Workload Identity Federation (WIF), validates OIDC permissions, ensures least privilege IAM, and implements security best practices.
3
+ description: 'Validate use when validating GitHub Actions workflows for Google Cloud
4
+ and Vertex AI deployments. Trigger with phrases like "validate github actions",
5
+ "setup workload identity federation", "github actions security", "deploy agent with
6
+ ci/cd", or "automate vertex ai deployment". Enforces Workload Identity Federation
7
+ (WIF), validates OIDC permissions, ensures least privilege IAM, and implements security
8
+ best practices.
9
+
10
+ '
5
11
  allowed-tools: Read, Write, Edit, Grep, Glob, Bash(git:*), Bash(gcloud:*)
6
12
  version: 1.0.0
7
13
  author: Jeremy Longshore <jeremy@intentsolutions.io>
8
14
  license: MIT
9
- compatible-with: claude-code, codex, openclaw
10
- tags: [devops, deployment, gcp, security]
15
+ tags:
16
+ - devops
17
+ - deployment
18
+ - gcp
19
+ - security
20
+ compatibility: Designed for Claude Code, also compatible with Codex and OpenClaw
11
21
  ---
12
22
  # Gh Actions Validator
13
23
 
@@ -18,6 +28,7 @@ Validate and harden GitHub Actions workflows that deploy to Google Cloud (especi
18
28
  ## Prerequisites
19
29
 
20
30
  Before using this skill, ensure:
31
+
21
32
  - GitHub repository with Actions enabled
22
33
  - Google Cloud project with billing enabled
23
34
  - gcloud CLI authenticated with admin permissions
@@ -59,4 +70,4 @@ See `${CLAUDE_SKILL_DIR}/references/examples.md` for detailed examples.
59
70
  - GitHub OIDC: https://docs.github.com/en/actions/deployment/security-hardening-your-deployments
60
71
  - Vertex AI Agent Engine: https://cloud.google.com/vertex-ai/docs/agent-engine
61
72
  - google-github-actions/auth: https://github.com/google-github-actions/auth
62
- - WIF setup guide in ${CLAUDE_SKILL_DIR}/docs/wif-setup.md
73
+ - WIF setup guide in ${CLAUDE_SKILL_DIR}/docs/wif-setup.md
@@ -1,22 +1,27 @@
1
1
  # Error Handling Reference
2
2
 
3
3
  **WIF Authentication Failed**
4
+
4
5
  - Error: "Failed to generate Google Cloud access token"
5
6
  - Solution: Verify WIF provider and service account email are correct
6
7
 
7
8
  **OIDC Token Error**
9
+
8
10
  - Error: "Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable"
9
11
  - Solution: Add `id-token: write` permission to workflow
10
12
 
11
13
  **IAM Permission Denied**
14
+
12
15
  - Error: "does not have required permission"
13
16
  - Solution: Grant service account minimum required roles (run.admin, aiplatform.user)
14
17
 
15
18
  **Attribute Condition Failed**
19
+
16
20
  - Error: "Token does not match attribute condition"
17
21
  - Solution: Update attribute mapping to include repository restriction
18
22
 
19
23
  **Deployment Validation Failed**
24
+
20
25
  - Error: "Agent not in RUNNING state"
21
26
  - Solution: Check agent configuration and deployment logs
22
27
 
@@ -1,6 +1,7 @@
1
1
  # Examples
2
2
 
3
3
  **Example: Harden an existing deployment workflow**
4
+
4
5
  - Input: `.github/workflows/deploy.yml` that uses `credentials_json` or a downloaded service account key.
5
6
  - Output: a WIF-based workflow using `google-github-actions/auth@v2`, minimal IAM roles, and a guardrail job that fails PRs when JSON keys appear in workflows.
6
7