Add otica-crashloop-reporter skill (cluster-wide CrashLoopBackOff -> Slack)

Adds a reusable skill skills/otica/otica-crashloop-reporter/ that installs a cluster-wide CrashLoopBackOff -> Slack reporter into an OTICA kube-* maintenance repo.

What it installs

  • CronJob (default every 15m) scanning all namespaces for pods stuck in CrashLoopBackOff / ImagePullBackOff / ErrImagePull.
  • Dedicated ServiceAccount + ClusterRole (get/list pods, cluster-wide) + ClusterRoleBinding.
  • Posts to Slack only when something is stuck (ALWAYS_NOTIFY=true for an all-clear).

Contents

  • SKILL.md — invoked from a maintenance repo's env dir after make kc-config; copies the bundled files/ in, wires two env.mk vars (SLACK_SEC_PATH, SLACK_WEBHOOK_KEY), and deploys (make scripts-sh && make kc-apply-sec && make deploy).
  • files/crashloopbackoff.sh — read-only scanner (kubectl get pods -A + jq).
  • files/crashloop-report.yml — CronJob + RBAC.
  • files/secrets-slack.yml — Vault-sourced slack-hook secret.

Proven in authnz/kube-sys-maint (caught a real long-running crashloop on first run).

Maintainer: please cut an OTICA release after merge so consumers pick it up via make update-otica.

Merge request reports

Loading