debug-instance
Use when a running smee-sidecar pod is unhealthy, restarting, not relaying events, or showing unexpected metrics
Skill by konflux-ci
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/konflux-ci-debug-instance
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/debug-instance
What's inside
- Skill name
debug-instance- Description
- Use when a running smee-sidecar pod is unhealthy, restarting, not relaying events, or showing unexpected metrics
- License
- Apache-2.0
- Instructions
- 103 lines in SKILL.md · view on GitHub
Before installing
- Instructions call the network
Files (1)
- SKILL.md
SKILL.md (first lines)
# Debugging a Running Instance
## Overview
The sidecar runs as container `sidecar` alongside `gosmee-client` in the same pod.
Debugging involves checking logs, health status files, Prometheus metrics, and
optionally pprof profiles.
## When to Use
- Pod is in CrashLoopBackOff or restarting unexpectedly
- `health_check` metric stuck at 0
- Events not reaching the downstream service
- Liveness probe failures
## Quick Reference
```bash
POD=$(kubectl get pod -l app=smee-sidecar -o jsonpath='{.items[0].metadata.name}')
```
| What | Command |
|------|---------|
| Sidecar logs | `kubectl logs "$POD" -c sidecar` |
| Client logs | `kubectl logs "$POD" -c gosmee-client` |
| Health file | `kubectl exec "$POD" -c sidecar -- cat /shared/health-status.txt` |
| Metrics | `kubectl port-forward "$POD" 9100:9100` then `curl localhost:9100/metrics` |
| Probe scripts | `kubectl exec "$POD" -c sidecar -- ls -la /shared/*.sh` |
## Key Log Messages
- `"Starting Smee instrumentation sidecar..."` — process started (logged before env var validation)
- `"Health check completed: success"` — healthy round-trip
- `"Health check completed: failure"` — broken connectivity
- `"Failed to POST to smee server"` — can't reach smee channel URL
- `"FATAL:"` — startup failure (missing env var, can't write scripts)
## Health Status File
The sidecar writes status atomically to `HEALTH_FILE_PATH` (default
`/shared/health-status.txt`). Expected healthy content:
```
status=success
message=Health check completed successfully
```
File should update every `HEALTH_CHECK_INTERVAL_SECONDS` (default 30s).
## Probe Scripts
Three scripts at `/shared/`: `check-smee-health.sh`, `check-sidecar-health.sh`,
`check-file-age.sh`. All mode `0555`. Run manually:
```bash
kubectl exec "$POD" -c sidecar -- /bin/bash /shared/check-smee-health.sh
kubectl exec "$POD" -c sidecar -- /bin/bash /shared/check-sidecar-health.sh
```
## Prometheus Metrics
Port-forward to 9100, then:
```bash
curl -s localhost:9100/metrics | grep '^health_check ' # 1=healthy, 0=unhealthy
curl -s localhost:9100/metrics | grep '^smee_events_relayed_total ' # event counter
```
## pprof Profiling
Requires `ENABLE_PPROF=true` in pod env. Port-forward to 9100, then:
```bash
curl -s localhost:9100/debug/pprof/heap > heap.prof && go tool pprof heap.prof
curl -s localhost:9100/debug/pprof/goroutine?debug=2 # goroutine dump
curl -s localhost:9100/debug/pprof/profile?seconds=30 > cpu.prof # CPU
```
## Manual Event Testing
Port-forward to 8080:
```bash
# Real webhook (proxied to downstream)
curl -X POST -H "Content-Type: application/json" -d '{"test":true}' localhost:8080/
# Health check event (consumed internally)
curl -X POST -H "X-Health-Check-ID: manual-test" \
-H "Content-Type: application/json" \
-d '{"type":"health-check","id":"manual-test"}' localhost:8080/
```
## Common Failure Modes
| Symptom | Likely Cause | Fix |
|---|---|---|
| CrashLoopBackOff | Missing `DOWNSTREAM_SERVICE_URL` or `SMEE_CHANNEL_URL` | Check env vars in deployment spec |
| `health_check` stuck at 0 | Smee server unreachable or client not forwarding | Check smee-server pod, verify `SMEE_CHANNEL_URL` |
| Liveness probe restarting pod | Health file stale or status=failure | Check health checker goroutine logs |
| Events not reaching downstream | Wrong `DOWNSTREAM_SERVICE_URL` or service down | Verify URL, check downstream pod |
| `Failed to write probe scripts` | Shared volume not mounted or wrong permissions | Check mount at `SHARED_VOLUME_PATH`, verify `fsGroup: 65532` |From konflux-ci/smee-sidecar, Apache-2.0.
More from konflux-ci/smee-sidecar
- 0.474score
add-probe-script
konflux-ci
Use when adding, modifying, or removing an embedded probe script in cmd/scripts/, or when a liveness/readiness probe needs a new health check shell script
SkillCFreshness: CClaude Code +9 - 0.474score
ci-quirks
konflux-ci
Documents merge-blocking CI pipelines and non-obvious constraints (AGENTS.md line limit, serial tests, multi-arch builds).
SkillCFreshness: CClaude Code +9 - 0.474score
kind-cluster
konflux-ci
Use when setting up, running, or tearing down a Kind cluster for smee-sidecar system tests, or when system tests fail in CI
SkillCFreshness: CClaude Code +9
Signals
- Stars
- 0
- Forks
- 10
- Open issues
- 0
- Last commit (this folder)
- Jun 2, 2026 (4 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/konflux-ci/smee-sidecar
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from konflux-ci
- 0.797score
debug-e2e-tests
konflux-ci
Debug failed Konflux e2e test runs by downloading logs and artifacts from GitHub Actions or OpenShift CI (Prow), analyzing test failures, and suggesting fixes.
SkillAFreshness: A★ 215Claude Code +9 - 0.791score
pr-review
konflux-ci
Use when reviewing pull requests in konflux-ci/konflux-ci.
SkillAFreshness: A★ 215Claude Code +9 - 0.791score
companion-pr-review
konflux-ci
Use when reviewing, triaging, or retro-analyzing MintMaker/Renovate dependency PRs and their manifest companion PRs in konflux-ci/konflux-ci.
SkillAFreshness: A★ 215Claude Code +9 - 0.791score
update-upstream-deps
konflux-ci
Update upstream Konflux component versions.
SkillAFreshness: A★ 215Claude Code +9 - 0.784score
retro-filing-policy
konflux-ci
Filing rules for the fullsend retro agent.
SkillAFreshness: A★ 215Claude Code +9 - 0.751score
dev-verify-loop
konflux-ci
Use when iteratively verifying operator changes in development — code edit, stop operator, optionally regenerate manifests or CRDs, restart operator, verify.
SkillBFreshness: B★ 215Claude Code +9
Cite this page
debug-instance skill. Agent Mart. https://agentmart.dev/skills/konflux-ci-debug-instance (last updated 2026-10-24)