Initial commit
This commit is contained in:
12
.claude-plugin/plugin.json
Normal file
12
.claude-plugin/plugin.json
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"name": "jeremy-vertex-terraform",
|
||||||
|
"description": "Terraform configurations for Vertex AI platform and Agent Engine",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"author": {
|
||||||
|
"name": "Jeremy Longshore",
|
||||||
|
"email": "jeremy@intentsolutions.io"
|
||||||
|
},
|
||||||
|
"skills": [
|
||||||
|
"./skills"
|
||||||
|
]
|
||||||
|
}
|
||||||
3
README.md
Normal file
3
README.md
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
# jeremy-vertex-terraform
|
||||||
|
|
||||||
|
Terraform configurations for Vertex AI platform and Agent Engine
|
||||||
45
plugin.lock.json
Normal file
45
plugin.lock.json
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
{
|
||||||
|
"$schema": "internal://schemas/plugin.lock.v1.json",
|
||||||
|
"pluginId": "gh:jeremylongshore/claude-code-plugins-plus:plugins/devops/jeremy-vertex-terraform",
|
||||||
|
"normalized": {
|
||||||
|
"repo": null,
|
||||||
|
"ref": "refs/tags/v20251128.0",
|
||||||
|
"commit": "5342ee049e3501c76e8da68218a3471945e0cdf1",
|
||||||
|
"treeHash": "4b8e8376cc75ab848db25f8add95e017cdd83fc10ee7dac9d31a779059333cc2",
|
||||||
|
"generatedAt": "2025-11-28T10:18:54.688154Z",
|
||||||
|
"toolVersion": "publish_plugins.py@0.2.0"
|
||||||
|
},
|
||||||
|
"origin": {
|
||||||
|
"remote": "git@github.com:zhongweili/42plugin-data.git",
|
||||||
|
"branch": "master",
|
||||||
|
"commit": "aa1497ed0949fd50e99e70d6324a29c5b34f9390",
|
||||||
|
"repoRoot": "/Users/zhongweili/projects/openmind/42plugin-data"
|
||||||
|
},
|
||||||
|
"manifest": {
|
||||||
|
"name": "jeremy-vertex-terraform",
|
||||||
|
"description": "Terraform configurations for Vertex AI platform and Agent Engine",
|
||||||
|
"version": "1.0.0"
|
||||||
|
},
|
||||||
|
"content": {
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"path": "README.md",
|
||||||
|
"sha256": "f2e11d235c2ed32916f7f928a6beae69dd03b51e68480e39f805e165a4208a76"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": ".claude-plugin/plugin.json",
|
||||||
|
"sha256": "5b5592c87d9857cd78608f9619f787b27357a0191ed93fe3e77dc7dd76977d49"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "skills/vertex-infra-expert/SKILL.md",
|
||||||
|
"sha256": "1b49ebc1b08082c74e52a5c28e32b84276a35732a605e360f67f8d62d1366e21"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"dirSha256": "4b8e8376cc75ab848db25f8add95e017cdd83fc10ee7dac9d31a779059333cc2"
|
||||||
|
},
|
||||||
|
"security": {
|
||||||
|
"scannedAt": null,
|
||||||
|
"scannerVersion": null,
|
||||||
|
"flags": []
|
||||||
|
}
|
||||||
|
}
|
||||||
84
skills/vertex-infra-expert/SKILL.md
Normal file
84
skills/vertex-infra-expert/SKILL.md
Normal file
@@ -0,0 +1,84 @@
|
|||||||
|
---
|
||||||
|
name: vertex-infra-expert
|
||||||
|
description: |
|
||||||
|
Terraform infrastructure specialist for Vertex AI services and Gemini deployments.
|
||||||
|
Provisions Model Garden, endpoints, vector search, pipelines, and enterprise AI infrastructure.
|
||||||
|
Triggers: "vertex ai terraform", "gemini deployment terraform", "model garden infrastructure", "vertex ai endpoints"
|
||||||
|
allowed-tools: Read, Write, Edit, Grep, Glob, Bash
|
||||||
|
version: 1.0.0
|
||||||
|
---
|
||||||
|
|
||||||
|
## What This Skill Does
|
||||||
|
|
||||||
|
Expert in provisioning Vertex AI infrastructure including Model Garden, Gemini endpoints, vector search, ML pipelines, and production AI services.
|
||||||
|
|
||||||
|
## When This Skill Activates
|
||||||
|
|
||||||
|
Triggers: "vertex ai terraform", "deploy gemini terraform", "model garden infrastructure", "vertex ai endpoints terraform", "vector search terraform"
|
||||||
|
|
||||||
|
## Core Terraform Modules
|
||||||
|
|
||||||
|
### Gemini Model Endpoint
|
||||||
|
|
||||||
|
```hcl
|
||||||
|
resource "google_vertex_ai_endpoint" "gemini_endpoint" {
|
||||||
|
name = "gemini-25-flash-endpoint"
|
||||||
|
display_name = "Gemini 2.5 Flash Production"
|
||||||
|
location = var.region
|
||||||
|
|
||||||
|
encryption_spec {
|
||||||
|
kms_key_name = google_kms_crypto_key.vertex_key.id
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "google_vertex_ai_deployed_model" "gemini_deployment" {
|
||||||
|
endpoint = google_vertex_ai_endpoint.gemini_endpoint.id
|
||||||
|
model = "publishers/google/models/gemini-2.5-flash"
|
||||||
|
|
||||||
|
dedicated_resources {
|
||||||
|
min_replica_count = 1
|
||||||
|
max_replica_count = 10
|
||||||
|
machine_spec {
|
||||||
|
machine_type = "n1-standard-4"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
automatic_resources {
|
||||||
|
min_replica_count = 1
|
||||||
|
max_replica_count = 5
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Vector Search Index
|
||||||
|
|
||||||
|
```hcl
|
||||||
|
resource "google_vertex_ai_index" "embeddings_index" {
|
||||||
|
display_name = "production-embeddings"
|
||||||
|
location = var.region
|
||||||
|
|
||||||
|
metadata {
|
||||||
|
contents_delta_uri = "gs://${google_storage_bucket.embeddings.name}/index"
|
||||||
|
config {
|
||||||
|
dimensions = 768
|
||||||
|
approximate_neighbors_count = 150
|
||||||
|
distance_measure_type = "DOT_PRODUCT_DISTANCE"
|
||||||
|
|
||||||
|
algorithm_config {
|
||||||
|
tree_ah_config {
|
||||||
|
leaf_node_embedding_count = 1000
|
||||||
|
leaf_nodes_to_search_percent = 10
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Tool Permissions
|
||||||
|
|
||||||
|
Read, Write, Edit, Grep, Glob, Bash - AI infrastructure provisioning
|
||||||
|
|
||||||
|
## References
|
||||||
|
|
||||||
|
- Vertex AI Terraform: https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/vertex_ai_endpoint
|
||||||
Reference in New Issue
Block a user