技能 编程开发 收集Palantir Foundry调试诊断包

收集Palantir Foundry调试诊断包

v20260423
palantir-debug-bundle
该工具包用于收集Palantir Foundry平台遇到的所有关键诊断信息,包括SDK版本、运行环境配置(自动脱敏,保护敏感信息)、API连接状态和最近的错误日志。它旨在生成一个完整的、结构化的诊断证据包,极大地提高了用户向技术支持部门提交故障报告的效率和准确性。
获取技能
396 次下载
概览

Palantir Debug Bundle

Overview

Collect all diagnostic information needed for Foundry support tickets: SDK version, auth status, API connectivity, build logs, and environment details. Secrets are automatically redacted.

Prerequisites

  • foundry-platform-sdk installed
  • Access to application logs and Foundry build logs
  • Permission to collect environment info

Instructions

Step 1: Create Debug Bundle Script

#!/bin/bash
set -euo pipefail
BUNDLE_DIR="foundry-debug-$(date +%Y%m%d-%H%M%S)"
mkdir -p "$BUNDLE_DIR"

echo "=== Foundry Debug Bundle ===" > "$BUNDLE_DIR/summary.txt"
echo "Generated: $(date -u +%Y-%m-%dT%H:%M:%SZ)" >> "$BUNDLE_DIR/summary.txt"

# Python environment
echo -e "\n--- Python Environment ---" >> "$BUNDLE_DIR/summary.txt"
python --version >> "$BUNDLE_DIR/summary.txt" 2>&1
pip show foundry-platform-sdk 2>/dev/null | grep -E "^(Name|Version)" >> "$BUNDLE_DIR/summary.txt"
pip show palantir-sdk 2>/dev/null | grep -E "^(Name|Version)" >> "$BUNDLE_DIR/summary.txt"

# Environment variables (redacted)
echo -e "\n--- Environment (redacted) ---" >> "$BUNDLE_DIR/summary.txt"
echo "FOUNDRY_HOSTNAME: ${FOUNDRY_HOSTNAME:-NOT SET}" >> "$BUNDLE_DIR/summary.txt"
echo "FOUNDRY_TOKEN: ${FOUNDRY_TOKEN:+[SET, length=${#FOUNDRY_TOKEN}]}" >> "$BUNDLE_DIR/summary.txt"
echo "FOUNDRY_CLIENT_ID: ${FOUNDRY_CLIENT_ID:+[SET]}" >> "$BUNDLE_DIR/summary.txt"
echo "FOUNDRY_CLIENT_SECRET: ${FOUNDRY_CLIENT_SECRET:+[SET]}" >> "$BUNDLE_DIR/summary.txt"

Step 2: Test API Connectivity

# API connectivity test
echo -e "\n--- API Connectivity ---" >> "$BUNDLE_DIR/summary.txt"
if [ -n "${FOUNDRY_HOSTNAME:-}" ] && [ -n "${FOUNDRY_TOKEN:-}" ]; then
  HTTP_CODE=$(curl -s -o "$BUNDLE_DIR/api-response.json" -w "%{http_code}" \
    -H "Authorization: Bearer $FOUNDRY_TOKEN" \
    "https://$FOUNDRY_HOSTNAME/api/v2/ontologies" 2>/dev/null || echo "FAILED")
  echo "Ontology API: HTTP $HTTP_CODE" >> "$BUNDLE_DIR/summary.txt"
else
  echo "Skipped: FOUNDRY_HOSTNAME or FOUNDRY_TOKEN not set" >> "$BUNDLE_DIR/summary.txt"
fi

Step 3: Collect Build Logs and Error Context

# Collect recent Python errors
echo -e "\n--- Recent Errors ---" >> "$BUNDLE_DIR/summary.txt"
grep -rn "foundry\.\|ApiError\|Traceback" *.log 2>/dev/null | tail -30 >> "$BUNDLE_DIR/errors.txt" || true

# Collect .env (redacted)
if [ -f .env ]; then
  sed 's/=.*/=***REDACTED***/' .env > "$BUNDLE_DIR/config-redacted.txt"
fi

Step 4: Package and Verify

tar -czf "$BUNDLE_DIR.tar.gz" "$BUNDLE_DIR"
echo "Bundle: $BUNDLE_DIR.tar.gz ($(du -h "$BUNDLE_DIR.tar.gz" | cut -f1))"
rm -rf "$BUNDLE_DIR"

Output

  • foundry-debug-YYYYMMDD-HHMMSS.tar.gz containing:
    • summary.txt — SDK versions, env vars (redacted), API status
    • api-response.json — raw API response for diagnosis
    • errors.txt — recent error logs
    • config-redacted.txt — configuration with secrets masked

Error Handling

Item Purpose Sensitive?
SDK versions Compatibility check No
API HTTP code Connectivity diagnosis No
Error logs Root cause analysis Review before sharing
Config (redacted) Configuration issues Auto-redacted
Bearer tokens Auth diagnosis NEVER include raw values

Examples

Submit to Palantir Support

  1. Run: bash foundry-debug-bundle.sh
  2. Review the tarball for any leaked secrets
  3. Open a support ticket in Palantir's support portal
  4. Attach the bundle with a description of the issue

Resources

Next Steps

For rate limit issues, see palantir-rate-limits.

信息
Category 编程开发
Name palantir-debug-bundle
版本 v20260423
大小 4.31KB
更新时间 2026-04-28
语言