Skillshub castai-install-auth

install
source · Clone the upstream repo
git clone https://github.com/ComeOnOliver/skillshub
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ComeOnOliver/skillshub "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/jeremylongshore/claude-code-plugins-plus-skills/castai-install-auth" ~/.claude/skills/comeonoliver-skillshub-castai-install-auth && rm -rf "$T"
manifest: skills/jeremylongshore/claude-code-plugins-plus-skills/castai-install-auth/SKILL.md
source content

CAST AI Install & Auth

Overview

Connect a Kubernetes cluster (EKS, GKE, AKS, or KOPS) to CAST AI for cost optimization, autoscaling, and security scanning. Covers API key generation, Helm chart installation of the CAST AI agent, and Terraform provider setup.

Prerequisites

  • A running Kubernetes cluster (EKS, GKE, AKS, or KOPS)
  • kubectl
    configured with cluster admin access
  • helm
    v3 installed
  • A CAST AI account at https://console.cast.ai

Instructions

Step 1: Generate an API Key

Log in to https://console.cast.ai and navigate to API > API Access Keys. Create a Full Access key for Terraform-managed clusters, or Read-Only for monitoring-only.

export CASTAI_API_KEY="your-api-key-here"

# Verify the key works
curl -s -H "X-API-Key: ${CASTAI_API_KEY}" \
  https://api.cast.ai/v1/kubernetes/external-clusters | jq '.items | length'

Step 2: Install the CAST AI Agent via Helm

# Add the CAST AI Helm repository
helm repo add castai-helm https://castai.github.io/helm-charts
helm repo update

# Install the read-only monitoring agent (Phase 1)
helm upgrade --install castai-agent castai-helm/castai-agent \
  -n castai-agent --create-namespace \
  --set apiKey="${CASTAI_API_KEY}" \
  --set provider="eks"  # eks | gke | aks

kubectl get pods -n castai-agent

Step 3: Enable Full Automation (Phase 2)

export CASTAI_CLUSTER_ID="your-cluster-id"

# Cluster controller -- manages node lifecycle
helm upgrade --install cluster-controller castai-helm/castai-cluster-controller \
  -n castai-agent \
  --set castai.apiKey="${CASTAI_API_KEY}" \
  --set castai.clusterID="${CASTAI_CLUSTER_ID}"

# Evictor -- consolidates underutilized nodes
helm upgrade --install castai-evictor castai-helm/castai-evictor \
  -n castai-agent \
  --set castai.apiKey="${CASTAI_API_KEY}" \
  --set castai.clusterID="${CASTAI_CLUSTER_ID}"

# Spot handler -- graceful spot instance interruption
helm upgrade --install castai-spot-handler castai-helm/castai-spot-handler \
  -n castai-agent \
  --set castai.provider="eks" \
  --set castai.clusterID="${CASTAI_CLUSTER_ID}"

Step 4: Terraform Provider (Alternative)

terraform {
  required_providers {
    castai = {
      source  = "castai/castai"
      version = "~> 7.0"
    }
  }
}

provider "castai" {
  api_token = var.castai_api_token
}

variable "castai_api_token" {
  type      = string
  sensitive = true
}

resource "castai_eks_cluster" "this" {
  account_id = data.aws_caller_identity.current.account_id
  region     = var.aws_region
  name       = var.cluster_name
}

Step 5: Verify Connection

curl -s -H "X-API-Key: ${CASTAI_API_KEY}" \
  "https://api.cast.ai/v1/kubernetes/external-clusters/${CASTAI_CLUSTER_ID}" \
  | jq '{name: .name, status: .status, agentStatus: .agentStatus}'
# => { "name": "my-cluster", "status": "ready", "agentStatus": "online" }

Error Handling

ErrorCauseSolution
401 Unauthorized
Invalid or expired API keyRegenerate at console.cast.ai > API
403 Forbidden
Key lacks permissionsUse Full Access key for write operations
Agent
CrashLoopBackOff
RBAC misconfigurationCheck
kubectl logs -n castai-agent
cluster not found
Wrong cluster IDVerify ID at console.cast.ai > Clusters
Helm chart not foundRepo not addedRun
helm repo add castai-helm ...

Resources

Next Steps

Proceed to

castai-hello-world
to query cluster savings and node status.