界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
部署与运维 · SKILL.md

castai-debug-bundle

castai-debug-bundle

【部署与运维】Create a bounded, redacted CAST AI diagnostic bundle that preserves component, policy, and Kubernetes evidence for escalation. Use when triage must be handed to platform engineering, a cloud owner, or CAST AI support. Trigger with: "collect CAST AI diagnostics", "make a CAST AI support bundle", "capture CAST AI evidence".

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

name: castai-debug-bundle description: 'Create a bounded, redacted CAST AI diagnostic bundle that preserves component, policy, and Kubernetes evidence for escalation. Use when triage must be handed to platform engineering, a cloud owner, or CAST AI support. Trigger with: "collect CAST AI diagnostics", "make a CAST AI support bundle", "capture CAST AI evidence".' allowed-tools: Read, Grep, Write, Bash(kubectl:), Bash(helm:), Bash(castctl:*) version: 2.0.0 argument-hint: '[kube-context-and-time-window]' model: inherit effort: high license: MIT author: Jeremy Longshore jeremy@intentsolutions.io tags:

  • saas
  • kubernetes
  • cast-ai
  • diagnostics
  • support compatibility: 'Requires read-only access to the selected cluster; collection must follow local data-handling and support-sharing policy'

CAST AI Redacted Diagnostic Bundle

Overview

Capture enough evidence to reproduce a CAST AI failure without exporting credentials, Secret payloads, broad cluster inventory, application data, or unbounded logs.

Prerequisites

  • Exact kube context, cluster identifier, CAST AI region, incident window, and symptom
  • Approved local destination with retention and audience
  • Redaction rules for names, labels, annotations, IPs, account data, and credentials

Instructions

Step 1: Declare the bundle contract

Use Write to record incident ID, collector, start and end time, selected namespaces, commands, excluded data classes, redaction method, checksum method, retention, and recipients.

Step 2: Inventory component versions

Use Bash(castctl:) for version information, Bash(helm:) for release metadata and redacted values, and Bash(kubectl:*) for component images and readiness. Do not collect Helm secrets, rendered Secret objects, service-account tokens, or kubeconfig contents.

Step 3: Capture bounded health evidence

Collect status, restart counts, recent warning events, selected resource descriptions, and logs constrained by component, time, and line count. Include metrics-server status when workload recommendations are involved and pending-pod reasons when node capacity is involved.

Step 4: Capture declared policy context

Use Read and Grep on repository-owned Terraform, Helm values, annotations, node templates, PDBs, and HPAs. Record source paths and commit identifiers. Prefer diffs and normalized summaries over raw state files.

Step 5: Redact and verify

Scan the bundle for API keys, authorization headers, tokens, Secret data, cloud account identifiers, email addresses, private endpoints, and application payloads. Replace values consistently so relationships remain debuggable.

Step 6: Seal the handoff

Write a manifest of included files, omitted evidence, timestamps, tool versions, hashes, and known gaps. Open the sanitized files before sharing and require a second-person review for external support transfer.

Tool Discipline

Use Read and Grep for source and redaction review. Use Write only for sanitized bundle artifacts and the manifest. Use Bash(kubectl:), Bash(helm:), and Bash(castctl:*) for non-mutating, bounded inspection; never request Secret contents or stream logs indefinitely.

Output

  • Sanitized component and cluster-health evidence
  • Policy/source-of-truth references
  • Redaction report and file manifest
  • Checksums, retention, audience, and escalation question

Examples

A workload-autoscaler incident includes component versions, a 15-minute warning-event window, PDB status, policy name, and sanitized logs. It excludes Secret objects, all-namespace inventory, Terraform state, and unrelated application logs.

Error Handling

FailureResponse
Context or time window is unknownStop and resolve scope before collection
A command would reveal a SecretOmit it and document the evidence gap
Redaction cannot preserve safetyKeep the bundle local and share a summary
Bundle exceeds approved scopeDelete the excess from the exact bundle and regenerate its manifest

Resources

我的收藏