Skip to content
Back to skills

Coreweave Multi Env Setup

ASecurity

'Configure CoreWeave across development, staging, and production environments.

  • 2,688 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added May 30, 2026
ai-agentstypescriptbashnodekubernetesapi

Works with

  • claude code
  • api

Security analysis

A100/100

Scanned May 30, 2026

npx -y skills add jeremylongshore/claude-code-plugins-plus-skills --skill coreweave-multi-env-setup --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Coreweave Multi Env Setup?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Coreweave Multi Env Setup
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/jeremylongshore-coreweave-multi-env-setup/badge)](https://www.skillsdirectory.com/skills/jeremylongshore-coreweave-multi-env-setup)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: coreweave-multi-env-setup
description: 'Configure CoreWeave across development, staging, and production environments.

  Use when setting up multi-environment GPU infrastructure, separating namespaces,

  or managing per-environment GPU quotas.

  Trigger with phrases like "coreweave environments", "coreweave staging",

  "coreweave multi-env", "coreweave namespace setup".

  '
allowed-tools: Read, Write, Edit, Bash(kubectl:*), Bash(kustomize:*), Grep
version: 1.0.0
license: MIT
author: Jeremy Longshore <jeremy@intentsolutions.io>
tags:
- saas
- gpu-cloud
- kubernetes
- inference
- coreweave
compatibility: Designed for Claude Code
---
# CoreWeave Multi-Environment Setup

## Overview

CoreWeave GPU cloud requires strict environment separation to control infrastructure costs and prevent resource contention. Each environment maps to an isolated Kubernetes namespace with its own GPU quota, scaling policy, and access controls. Development uses cheaper GPU tiers for iteration speed, staging mirrors production GPU types for accurate benchmarking, and production runs full-scale with no scale-to-zero to guarantee inference latency SLAs.

## Environment Configuration

```typescript
const coreweaveConfig = (env: string) => ({
  development: {
    namespace: "app-dev", apiEndpoint: process.env.CW_API_ENDPOINT_DEV!,
    token: process.env.CW_TOKEN_DEV!, gpuType: "L40", scaleToZero: true, replicas: [0, 1],
  },
  staging: {
    namespace: "app-staging", apiEndpoint: process.env.CW_API_ENDPOINT_STG!,
    token: process.env.CW_TOKEN_STG!, gpuType: "A100_PCIE_40GB", scaleToZero: true, replicas: [0, 2],
  },
  production: {
    namespace: "app-prod", apiEndpoint: process.env.CW_API_ENDPOINT_PROD!,
    token: process.env.CW_TOKEN_PROD!, gpuType: "A100_PCIE_80GB", scaleToZero: false, replicas: [2, 10],
  },
}[env]);
```

## Environment Files

```text
# Per-env files: .env.development, .env.staging, .env.production
CW_API_ENDPOINT_{DEV|STG|PROD}=https://k8s.{ord1|ord1|las1}.coreweave.com
CW_TOKEN_{DEV|STG|PROD}=<service-account-token>
CW_NAMESPACE={app-dev|app-staging|app-prod}
CW_GPU_TYPE={L40|A100_PCIE_40GB|A100_PCIE_80GB}
```

## Environment Validation

```typescript
function validateCoreWeaveEnv(env: string): void {
  const required = ["CW_API_ENDPOINT", "CW_TOKEN", "CW_NAMESPACE", "CW_GPU_TYPE"];
  const suffix = { development: "_DEV", staging: "_STG", production: "_PROD" }[env];
  const missing = required
    .map((k) => (k.includes("NAMESPACE") ? k : `${k}${suffix}`))
    .filter((k) => !process.env[k]);
  if (missing.length) throw new Error(`Missing env vars for ${env}: ${missing.join(", ")}`);
}
```

## Promotion Workflow

```bash
# 1. Validate model in dev namespace
kubectl -n app-dev get inferenceservice my-model -o jsonpath='{.status.conditions}'

# 2. Apply staging overlay with production GPU type
kustomize build k8s/overlays/staging | kubectl apply -f -

# 3. Run inference benchmarks against staging endpoint
curl -X POST https://staging.myapp.coreweave.cloud/v1/predict -d @test-payload.json

# 4. Promote to production (blue-green via namespace switch)
kustomize build k8s/overlays/prod | kubectl apply -f -
kubectl -n app-prod rollout status deployment/my-model
```

## Environment Matrix

| Setting | Dev | Staging | Prod |
|---------|-----|---------|------|
| GPU Type | L40 | A100 40GB | A100 80GB |
| Scale-to-Zero | Yes | Yes | No |
| Replicas | 0-1 | 0-2 | 2-10 |
| Namespace | app-dev | app-staging | app-prod |
| Region | ord1 | ord1 | las1 |
| Spot Instances | Yes | No | No |

## Error Handling

| Issue | Cause | Fix |
|-------|-------|-----|
| GPU quota exceeded | Namespace limit reached | Request quota increase via CW support portal |
| Pod stuck Pending | GPU type unavailable in region | Check `kubectl describe node` for capacity; switch region |
| Scale-to-zero not waking | HPA misconfigured | Verify `minReplicas: 0` and KEDA scaler settings |
| Namespace access denied | RBAC not applied to overlay | Apply `RoleBinding` in kustomize overlay |

## Resources

- [CoreWeave CKS](https://docs.coreweave.com/docs/products/cks)

## Next Steps

See `coreweave-deploy-integration`.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.