Borrowing it
Nothing to install: this file belongs to gke-labs/in-cluster-observability. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/gke-labs/in-cluster-observability/main/AGENTS.mdgit clone --depth 1 https://github.com/gke-labs/in-cluster-observabilityWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/instructions/gke-labs/in-cluster-observability/agents-md)<a href="https://agentmods.dev/instructions/gke-labs/in-cluster-observability/agents-md"><img src="https://agentmods.dev/badge/instructions/gke-labs/in-cluster-observability/agents-md/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/instructions/gke-labs/in-cluster-observability/agents-md"><img src="https://agentmods.dev/badge/instructions/gke-labs/in-cluster-observability/agents-md.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.05695 | $0.05695 |
| Opus 5 | $0.02848 | $0.02848 |
| Sonnet 5 | $0.01139 | $0.01139 |
| Haiku 4.5 | $0.00570 | $0.00570 |
Grade A, and why
in-cluster-observability AGENTS.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 8d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 177 lines — stays where its author put it; the contents beside it link to each section on GitHub.
AGENTS.md
This file documents conventions and operational context for working in this repository. Both humans and agentic coding tools should read it before any non-trivial change. Keep it current as conventions evolve.
GEMINI.md is a stub that points back here so the two tools see the same content.
Current state
This repo is in the middle of a planned rewrite. The legacy POC code (Prometheus + eBPF agent at the root, OpenTelemetry sink/query pipeline under opentelemetry/, the obs/ logging library) was removed early in the rewrite. POC code is preserved on main and reachable via git log main -- <path>.
All code lives at the repo root as a single AP root and single Go module github.com/gke-labs/in-cluster-observability (per ADR-0015). Per ADR-0018, OBI runs as a sibling container in the agent DaemonSet pod, not as an embedded Go library — our agent is an OTLP receiver + OBI config writer.
Milestone status:
- v0.1 Foundation (#64–#69) landed: AP root, public package skeletons, OBI adapter shell, container image, minimal DaemonSet.
- v0.2 Capture MVP (#70–#77) landed: OTLP receivers (gRPC + HTTP loopback), OBI config writer, AllowPID/BlockPID with reload coalescer, L4 TCP + HTTP/1.1 translation, OTel self-obs metrics, panic recovery + ModuleDegraded events, debug HTTP endpoint, contract-test harness. DaemonSet now has two containers (obi sibling + agent).
- v0.3 (lean) — agent + OBI native enrichment (per ADR-0021, supersedes the original v0.3 "Storage MVP" plan). Adds: OBI v0.9 schema fixes in
internal/obiconfig(discovery.instrument+open_portsstring +target_pids),--obi-instrument-portssmoke-test seed, OTel SDK Prometheus exporter always-on with a forwarder that re-records OBI's translated metrics,--scrape-addragent listener at:9090, RBAC for OBI's K8s metadata informer, DaemonSet refactor (right caps +OTEL_EBPF_CONFIG_PATHenv var +/var/run/obi+/sys/fs/cgroupmounts). What we explicitly did not build: a separateinternal/pidcache,internal/enricher,pkg/sink/promscrape, orpkg/store.MetricStore— OBI's K8s informer + the OTel SDK + this single forwarder replace all of them. - v0.4 Control Plane MVP in progress (per ADR-0022). Ships across 4 stacked phase PRs: design refresh + ADR (Phase 0), CRD types + gRPC stubs (Phase 1), reconciler + stream + leader election (Phase 2), RBAC + CR status + AgentStatus (Phase 3). Decisions pinned: API group
ollie.gke-labs.dev, controller frameworksigs.k8s.io/controller-runtime, codegencontroller-genonly, validating webhook deferred to v0.5, identity broadcasting cut (OBI's informer covers source-side per ADR-0021). New binarycmd/ollie-controller/; new packagespkg/controller/{api/v1alpha1,pb,reconciler,stream,agentclient}/; new manifestsk8s/{controller.yaml,controller-rbac.yaml,crds/}. - v0.4.5 Verification & Soundness landed (per ADR-0023, issues #150–#158, PRs #160–#167). The OBI boundary is now CI-checkable and the metrics path is sound:
ap-e2eKind presubmit exercising the real DaemonSet on every PR; contract fixtures recorded from the pinned OBI image (recorder intests/contract/obi/record_test.go, provenance intestdata/translation/RECORDED.md), goldens freeze metric type/temporality/bucket layout; the agent re-emits OBI metrics via a const-metric Prometheus collector (cmd/ollie/forward.go) — cumulative totals pass through (OBI exports cumulative; the old forwarder inflated counters), histograms keep buckets, stale series evicted;pkg/capturelifecycle bugs fixed; DaemonSet production trim (PSA labels, tolerations,system-node-critical, tcpSocket probes, seccomp; CAP_SYS_ADMIN is empirically required by OBI's L7 path on v0.9.0 and v0.10.0 — re-attempt each bump); OBI image nowotel/ebpf-instrument:v0.10.0(no breaking wire changes; additive queue/processing sub-spans). - v0.5 Sinks + Query + HPA landed (milestone closed 2026-07-29; vertical slice PRs #170–#173, breadth PRs #174–#178). An HPA scales on OBI-captured metrics end to end, and every ADR-0024 egress surface ships: scrape, PromQL API + custom-metrics + remote read, OTLP push relays + remote-write, CEL streaming subscribe,
iobsctl. The #157 gate had resolved as ADR-0024: extensibility via wire protocols, not a Go library —pkg/sink,pkg/obsapi,pkg/store,pkg/query, andpkg/topologyare deleted; store/query land underinternal/shaped by the HPA slice. Implementation decisions pinned in ADR-0025 (vertical slice:tsdb.Open, registry self-scrape ingest, storage-layer fan-out via remote read with central PromQL,cmd/ollie-query, headless-Service discovery, hand-rolled custom-metrics API, self-signed TLS until v0.6 — landed as PRs #170–#173) and ADR-0026 (breadth: raw-OTLP tee on the bridge feeding a spans-only ring + OTLP relay egress + remote-write; agent-side CEL for streaming subscribe;iobsctlover public surfaces; #101–#103 closed as superseded by OBI's native dual-sided attribution; #90 webhook → v0.6). - v0.5.1 Hardening landed on
v0.5.1/phase-1-hardening(per ADR-0027): an adversarial multi-agent review of the merged v0.5 tree surfaced a cluster-wide:6443custom-metrics auth bypass (CRITICAL) and six HIGH correctness bugs that green-CI self-merge had masked. All seven are fixed with regression tests::6443now requires the aggregation front-proxy client cert (newinternal/frontproxy, requestheader CA pinned asClientCAs); the read fan-out runs agents as secondary queriers with a mid-stream error swallow so one dead agent degrades instead of aborting; self-obs series carry ak8s_node_namelabel so per-node series stop merging; the custom-metrics adapter 404s on NaN/Inf instead of feeding the HPA a garbage int64; the forwarder widens its label schema to the union instead of freezing first-seen; anddirectionjoins the #144 allowlist so L4 flow datapoints stop collapsing. The MEDIUM/LOW backlog (enumerated in ADR-0027) rides v0.6. - v0.6 Hardening is next: TLS/CA everywhere the v0.5 posture deferred it (agent↔query hops, the custom-metrics APIService serving-cert CA bundle, the #90 validating webhook), HTTP/2 + gRPC capture modules, TLS uprobes, path templating, sampling, cardinality enforcement — plus the ADR-0027 MEDIUM/LOW backlog (HPA
metricLabelSelectorhonoring, CEL per-span error isolation, drop-oldest span ring,TestIobsctlfalse-green, 400Mi agent memory limit, staleness markers, readiness gating on:9091).
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 8d ago First seen · 177 lines · 5,695 tokens per session scan A c9d050eb03bf
in-cluster-observability AGENTS.md is an instructions file published in the GitHub repository gke-labs/in-cluster-observability (2 stars, last pushed 5d ago), licensed Apache-2.0. It adds 5,695 tokens to every session, about $0.0285 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other instructions, from other repositories
next.js AGENTS.md
AGENTS.md instructions for vercel/next.js, covering next.js development guide, codebase structure, monorepo overview, core package: packages/next and other important packages.
codex AGENTS.md
AGENTS.md instructions for openai/codex, covering rust/codex-rs, the codex-core crate, code review rules, crate api surface and model visible context.
vscode buildNext.instructions.md
Working notes and architecture documentation for the new esbuild-based build system in build/next. Use when making changes to the new build pipeline (transpile/bundle commands, NLS plugin, source-map handling, resource copying, or self-hosting watch tasks).
vscode oss-third-party-notices.instructions.md
Instructions for microsoft/vscode, covering vs code oss third-party-notices pipeline, architecture, pipeline flow in ci, applying the notice (cutover) and fallback chain (never fail the build).
langchain AGENTS.md
AGENTS.md instructions for langchain-ai/langchain, covering global development guidelines for the langchain monorepo, corridor security analysis, project architecture and context, monorepo structure and development tools & commands.
spec-kit AGENTS.md
AGENTS.md instructions for github/spec-kit, covering agents.md, about spec kit and specify, quickstart — add a new integration in 5 steps, integration architecture and integrationmanifest — file tracking.