agentsclimarketplace

Rancher logging exit

Skill air-gapped/skills/.claude/skills/rancher-logging-exit

Claude Code plugin marketplace — 58 installable reference skills across vLLM/SGLang inference, Kubernetes & Harvester, GPU host bring-up, observability, security, and agent workflows.

Install
npx -y skills add air-gapped/skills --skill rancher-logging-exit

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Migrate off the Rancher-bundled `rancher-logging` chart (cattle-logging-system, rancher/mirrored-kube-logging-* images) to the upstream kube-logging logging-operator ≥6.7.0 — air-gap-first. Rancher 2.11 through 2.15-dev all bundle a frozen operator 4.10.0 that is inside the affected range of CVE-2026-54680 (CVSS 9.9 config-injection RCE, no SUSE fix) — so the exit is security-urgent. Covers the maintainer-endorsed helm-release-secret strategy (near-zero gap; NOT `helm uninstall rancher-logging-crd`, which cascade-deletes every CR and the data plane), CR compatibility 4.10→6.7 (silent field pruning), server-side CRD apply (828KB CRDs), buffer-PVC preservation, air-gap image/chart mirroring, rollback, and stale-CRD debris cleanup.

SKILL.md

7.0 KB, as published. Nobody here has run it

rancher-logging-exit — Rancher-bundled → upstream logging-operator

Migration reference, verified 2026-07-22. Target: upstream ≥6.7.0 (6.6.0 fixes the CVE but breaks newline-containing passwords, #2254 — 6.7.0 has the corrected fix). Version matrix authority: k8s-components-checker references/compat/rancher-logging.md. Day-2 configuration of the migrated pipeline: the logging-operator skill.

Why migrate (the honest urgency statement)

  • Frozen: every Rancher minor 2.11 → 2.14 (and 2.15-dev) ships the same upstream base operator 4.10.0 (Oct 2024) — only -rancher.N chart respins. The -rancher.N fork is chart-level only (rancher/ob-team-charts); the operator image is a stock upstream mirror. "Wait for Rancher" has been dead for 20+ months of releases.
  • CVE-2026-54680 (GHSA-mjqf-28ph-426h, CVSS 9.9): operator ≤6.5.2 renders CRD/secret values into fluent.conf unescaped — a newline in a Flow/Output field or referenced Secret injects arbitrary fluentd directives (<match **> @type exec ⇒ RCE in the aggregator). 4.10.0 is affected; the fix exists only on the 6.x line; no SUSE fix exists as of 2026-07-22 (verified: SUSE CVE page 404, NVD reserved, Rancher advisories silent, no ob-team-charts logging commits post-CVE) and none CAN ship as a chart respin.
  • Who can trigger it: the chart aggregates a logging-admin ClusterRole (verbs * on flows/outputs) into the k8s admin role ⇒ any Rancher project-owner. Blast radius: the aggregator holds every output credential and any IRSA/Workload-Identity role annotated onto its SA. Same vuln class as Rancher's 2019 CVE-2019-12303.
  • Also stale: fluent-bit 3.1.8 (in-range for the Nov-2025 five-CVE set — though NOT exploitable in the default tail→k8s-filter→forward pipeline; frame as "outdated", not "default RCE"), fluentd v1.16 (upstream at 1.19).
  • Not formally deprecated — Rancher docs still describe it. The story is "abandonware with an open critical", not EOL notice.

Strategy selection

SituationStrategyReference
Healthy bundled install, minimal gap wanted (default)A: release-secret surgery (maintainer-endorsed)references/runbook.md
Want a clean slate / config redesign anywayB: backup → uninstall → reinstall (corrected)references/runbook.md §B
Stale debris: old CRDs + orphaned CRs, no operator runningDebris cleanup then fresh installreferences/entry-states.md
Windows nodes using nodeAgentsSTOP — no 6.x path; plan separatelyreferences/cr-compat.md §nodeAgents

Strategy A in one breath: mirror images/chart (air-gap step zero) → back up all CRs + rendered config → scale down the rancher operator → back up then delete the sh.helm.release.v1.rancher-logging.* and ...rancher-logging-crd.* Secrets (releases vanish from Helm/Rancher UI; CRDs, CRs, and the running fluentd/fluent-bit keep working) → server-side-apply 6.7.0 CRDs → helm-install upstream operator reusing the Logging name rancher-logging-root + controlNamespace cattle-logging-system (preserves buffer PVCs) → validate → clean up Rancher extras. Near-zero collection gap.

Never run helm uninstall rancher-logging-crd on a live install: the CRD chart has no helm.sh/resource-policy: keep — uninstall deletes the CRDs, the API server cascade-deletes every CR, and the operator-owned fluentd/fluent-bit go with them. Full collection outage, possible config loss.

The five technical facts the whole migration hinges on

  1. API group/version identical both sides (logging.banzaicloud.io/v1beta1 storage) — backed-up CRs re-apply cleanly, no conversion.
  2. Failure mode is silent pruning, not errors: fields removed 4.10→6.7 (sumologic, enhanceK8s, ClusterOutput enabledNamespaces, nodeAgents) are silently dropped on re-apply. Pre-flight: server-side dry-run diff (references/cr-compat.md).
  3. CRD applies must be kubectl apply --server-side --force-conflicts — 828KB/557KB CRDs exceed the client-side annotation limit. Also: the upstream chart's crds/ dir is silently skipped when any CRD already exists — a naive install runs 6.7 against stale 4.10 schemas with no error.
  4. Buffer PVCs survive iff Logging name + controlNamespace are preserved (StatefulSet <logging>-fluentd, volume fluentd-buffer — stable across 4.10→6.7). Deleting cattle-logging-system destroys them.
  5. Escaping cutover check: 4.10 renders values unescaped, 6.7 escapes — capture the rendered *-fluentd-app secret before, diff after, for any value containing quotes/backslashes/newlines.

Where to go next

TaskRead
Full step-by-step runbooks (A: release-secret; B: clean reinstall) + validationreferences/runbook.md
Air-gap prep: image list, OCI chart mirroring, values overrides (no systemDefaultRegistry upstream)references/airgap-prep.md
CR field diffs, pruning pre-flight, escaping diff, Rancher-chart deltas (journald DaemonSets, Windows), rollbackreferences/cr-compat.md
Entry states incl. stale-debris cleanup and legacy v1 logging CRDsreferences/entry-states.md
CVE detail, RBAC exploitability, fluent-bit CVE precisionreferences/security-urgency.md
Per-Rancher-minor chart/image matrixk8s-components-checker references/compat/rancher-logging.md

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.