Which kernels, distributions, clouds, container runtimes and language runtimes the zero-code agent supports — stated as validated, expected, limited or unsupported.
Whether the agent runs on a given host is decided by the kernel, not by the
language or base image of the workload. This page is the full matrix — and it
distinguishes what was actually run from what merely ought to work.
Availability. The zero-code agent is an early-access distribution. It is
installable, upgradable, tested and visible in the product, and it is not
yet self-service: there is no in-product installer and no download. Ask your
account contact for the distribution.Once it is running, find it under Zero-code in the dashboard — the hosts
reporting, the services each discovered, the agent version on every node, and
how recently each was last heard from. Its telemetry is ordinary OTLP and
needs nothing special: it also appears in Services, Traces and Metrics exactly
like SDK telemetry. That is the design rather than a shortcut.
Validated by us, or a direct consequence of a validated case. A bug report against it will be investigated.
Expected
Meets every documented requirement with no known obstacle, but we have not run it. Report problems; we will look.
Limited
Works with a caveat that materially changes the experience. The caveat is always stated.
Unsupported
Known not to work. The reason is always stated.
The distinction between supported and expected is deliberate. Marking
a platform “supported” because it ought to work is how a support team ends up
defending a claim engineering never made. Only rows that were actually run
are supported.
perf_event_paranoid is the trap. Above 1 the kernel denies perf-event
access even with CAP_PERFMON granted. Profiles B and C attach kprobes, so
the agent starts, holds every capability, passes its own checks — and
collects nothing, silently.
sudo sysctl -w kernel.perf_event_paranoid=1echo 'kernel.perf_event_paranoid=1' | sudo tee /etc/sysctl.d/99-aiaxoniq.conf
Preflight treats this as blocking rather than as a warning.
Restricts host PID and the required capability set.
AKS Virtual Nodes
Unsupported
No node.
Cloud Run / App Runner / Container Apps
Unsupported
Serverless; no kernel to instrument.
The rule: if you control the node, the agent works. If you do not —
Fargate, Autopilot, Cloud Run, container instances — use the OpenTelemetry
SDK or a sidecar Collector. See
Installation overview.
Profile A is not available on Kubernetes at all: the upstream chart
hardcodes a six-capability floor for unprivileged mode, so a three-capability
profile cannot be expressed. The chart refuses it by name rather than silently
widening the grant. See Capability profiles.
Validated on 28.2. Needs --pid=host and the profile capabilities.
Docker Compose v2
Supported
Validated on 2.36.2.
Docker Desktop (macOS / Windows)
Limited
Runs inside the Linux VM and observes only what runs there. Evaluation only.
Podman, rootful
Expected
Equivalent to Docker for this purpose.
Podman, rootless
Unsupported
Cannot grant the required capabilities.
containerd / CRI-O
Supported
The Kubernetes path.
LXC / LXD, privileged
Expected
Unverified.
gVisor
Unsupported
Intercepts syscalls in userspace; host eBPF sees nothing inside.
Firecracker / Kata
Unsupported
Each guest has its own kernel.
AWS ECS on EC2
Expected
Daemon-scheduled task with the capability set.
AWS ECS on Fargate
Unsupported
No host access.
The kernel belongs to the host, so a container has none of its own and
your workload’s base image is irrelevant. Observing processes in other
containers additionally needs host PID access.
HTTP/S, HTTP/2, gRPC, gRPC-Web, JSON-RPC, MQTT, NATS, AMQP 1.0; PostgreSQL,
MySQL, SQL Server, MongoDB, Redis, Couchbase; Kafka; GraphQL;
Elasticsearch/OpenSearch; S3; and GenAI APIs including OpenAI, Anthropic,
Gemini and Bedrock.
TLS coverage depends on the library, and the full matrix is unmeasured.The agent hooks OpenSSL. Statically linked TLS, BoringSSL, rustls, GnuTLS
and NSS are each a potential gap. Node.js bundles its own OpenSSL and
Rust’s rustls is not OpenSSL — both are known risks rather than known
failures.This presents as “that service is missing”, never as an error. If a service
you expected is absent, this is the first thing to suspect. See
Only some services appear.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"aiAxonIQ","description":"Documentation for aiAxonIQ — send OpenTelemetry logs, metrics and traces, then search, alert and investigate.","colors":{"primary":"#006B80","light":"#22C7E6","dark":"#006B80"},"logo":{"light":"https://mintcdn.com/ai-axon-iq/WoiAVV8vwflLeOvu/logo/light.png?fit=max\u0026auto=format\u0026n=WoiAVV8vwflLeOvu\u0026q=85\u0026s=120e1abae07a4f35e810a38791d7339c","dark":"https://mintcdn.com/ai-axon-iq/WoiAVV8vwflLeOvu/logo/dark.png?fit=max\u0026auto=format\u0026n=WoiAVV8vwflLeOvu\u0026q=85\u0026s=4433b29b3d983ee9529c0446d9a1b2f3","href":"https://aiaxoniq.com"},"favicon":"https://mintcdn.com/ai-axon-iq/WoiAVV8vwflLeOvu/favicon.png?fit=max\u0026auto=format\u0026n=WoiAVV8vwflLeOvu\u0026q=85\u0026s=b662761f53474416b3bb238d403eb92c","appearance":{"default":"system"},"background":{"color":{"light":"#F5F4F0","dark":"#0A0C0F"}},"navbar":{"links":[{"href":"https://play.aiaxoniq.com/playground","label":"Try the playground"},{"href":"https://aiaxoniq.com/contact","label":"Support"}],"primary":{"type":"button","label":"Open dashboard","href":"https://app.aiaxoniq.com"}},"footer":{"socials":{"website":"https://aiaxoniq.com","linkedin":"https://www.linkedin.com/company/aiaxoniq"},"links":[{"header":"Product","items":[{"label":"Overview","href":"https://aiaxoniq.com/product"},{"label":"Use cases","href":"https://aiaxoniq.com/customers"},{"label":"Changelog","href":"https://aiaxoniq.com/changelog"}]},{"header":"Documentation","items":[{"label":"Quickstart","href":"https://docs.aiaxoniq.com/get-started/quickstart"},{"label":"Send data","href":"https://docs.aiaxoniq.com/send-data/overview"},{"label":"API reference","href":"https://docs.aiaxoniq.com/api-reference/introduction"}]},{"header":"Company","items":[{"label":"About","href":"https://aiaxoniq.com/about"},{"label":"Contact","href":"https://aiaxoniq.com/contact"},{"label":"Security","href":"https://aiaxoniq.com/security"}]},{"header":"Legal","items":[{"label":"Privacy","href":"https://aiaxoniq.com/privacy"},{"label":"Terms","href":"https://aiaxoniq.com/terms"},{"label":"DPA","href":"https://aiaxoniq.com/dpa"}]}]},"search":{"prompt":"Search the aiAxonIQ docs"},"seo":{"metatags":{"og:site_name":"aiAxonIQ Documentation","og:type":"website","og:image":"https://docs.aiaxoniq.com/images/og-default.png","og:image:width":"1200","og:image:height":"630","og:image:alt":"aiAxonIQ documentation — send OpenTelemetry logs, metrics and traces","twitter:card":"summary_large_image","twitter:image":"https://docs.aiaxoniq.com/images/og-default.png","twitter:title":"aiAxonIQ Documentation","twitter:description":"Send OpenTelemetry logs, metrics and traces to aiAxonIQ, then search, alert and investigate.","robots":"index, follow"},"indexing":"navigable"},"fonts":{"family":"Inter"},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"ai-axon-iq","hasAudioNarration":false,"actualSubdomain":"ai-axon-iq","customDomains":["docs.aiaxoniq.com"],"gitSource":{"type":"github","owner":"aiaxoniq","repo":"aiaxoniq","deployBranch":"master","contentDirectory":"docs-portal","isPrivate":true,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6ae62842b1d87e83eee6c688","collectionId":"7b0a98ab-2b4a-4d8c-a130-2dc3588fd952","liveDeploymentHistoryId":"6ae62842b1d87e83eee6c688","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ae62842b1d87e83eee6c688","clientVersion":"0.0.4067","searchFilterCounts":[{"language":"default","tag":"API reference","count":758},{"language":"default","tag":"Endpoints","count":757},{"language":"default","tag":"Alerts","count":75},{"language":"default","tag":"Users and roles","count":71},{"language":"default","tag":"SIEM","count":65},{"language":"default","tag":"Services","count":55},{"language":"default","tag":"Logs","count":47},{"language":"default","tag":"Authentication","count":35},{"language":"default","tag":"Get started","count":34},{"language":"default","tag":"Dashboards","count":34}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"zero-code/compatibility","slug":"/zero-code/compatibility","pageMetadata":{"title":"Compatibility and support","description":"Which kernels, distributions, clouds, container runtimes and language runtimes the zero-code agent supports — stated as validated, expected, limited or unsupported.","icon":"list-check","href":"/zero-code/compatibility"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Which kernels, distributions, clouds, container runtimes and language runtimes the zero-code agent supports — stated as validated, expected, limited or unsupported.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,em:`em`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{Card,CardGroup,CodeBlock,Heading,Note,Table,Warning}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Whether the agent runs on a given host is decided by the kernel, not by the\nlanguage or base image of the workload. This page is the full matrix — and it\ndistinguishes what was actually run from what merely ought to work.`}),`\n`,_jsxs(Warning,{children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Availability.`}),` The zero-code agent is an early-access distribution. It is\ninstallable, upgradable, tested and visible in the product, and it is `,_jsx(_components.strong,{children:`not\nyet self-service`}),`: there is no in-product installer and no download. Ask your\naccount contact for the distribution.`]}),_jsxs(_components.p,{children:[`Once it is running, find it under `,_jsx(_components.strong,{children:`Zero-code`}),` in the dashboard — the hosts\nreporting, the services each discovered, the agent version on every node, and\nhow recently each was last heard from. Its telemetry is ordinary OTLP and\nneeds nothing special: it also appears in Services, Traces and Metrics exactly\nlike SDK telemetry. That is the design rather than a shortcut.`]})]}),`\n`,_jsx(Heading,{level:`2`,id:`what-the-support-levels-mean`,children:`What the support levels mean`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{style:{textAlign:`left`},children:`Level`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Meaning`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.strong,{children:`Supported`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Validated by us, or a direct consequence of a validated case. A bug report against it will be investigated.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.strong,{children:`Expected`})}),_jsxs(_components.td,{style:{textAlign:`left`},children:[`Meets every documented requirement with no known obstacle, but `,_jsx(_components.strong,{children:`we have not run it`}),`. Report problems; we will look.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.strong,{children:`Limited`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Works with a caveat that materially changes the experience. The caveat is always stated.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.strong,{children:`Unsupported`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Known not to work. The reason is always stated.`})]})]})]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[_jsxs(_components.strong,{children:[`The distinction between `,_jsx(_components.em,{children:`supported`}),` and `,_jsx(_components.em,{children:`expected`}),` is deliberate.`]}),` Marking\na platform “supported” because it ought to work is how a support team ends up\ndefending a claim engineering never made. Only rows that were actually run\nare supported.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`requirements-at-a-glance`,children:`Requirements at a glance`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{style:{textAlign:`left`}}),_jsx(_components.th,{style:{textAlign:`left`}})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Operating system`}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.strong,{children:`Linux only`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Kernel`}),_jsxs(_components.td,{style:{textAlign:`left`},children:[_jsx(_components.strong,{children:`5.8+`}),`, or RHEL-family `,_jsx(_components.strong,{children:`4.18+`}),` with eBPF backports`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Kernel validated on`}),_jsx(_components.td,{\"data-numeric\":`true`,style:{textAlign:`left`},children:`6.8`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Architecture`}),_jsxs(_components.td,{style:{textAlign:`left`},children:[_jsx(_components.code,{children:`amd64`}),`, `,_jsx(_components.code,{children:`arm64`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Kernel type information`}),_jsxs(_components.td,{style:{textAlign:`left`},children:[_jsx(_components.code,{children:`/sys/kernel/btf/vmlinux`}),` must exist`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`kernel.perf_event_paranoid`})}),_jsxs(_components.td,{style:{textAlign:`left`},children:[_jsx(_components.strong,{children:`1 or lower`}),` for profiles B and C`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Kubernetes`}),_jsx(_components.td,{style:{textAlign:`left`},children:`1.19+ (validated 1.30)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Docker`}),_jsx(_components.td,{style:{textAlign:`left`},children:`20.10+ (validated 28.2)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Docker Compose`}),_jsx(_components.td,{style:{textAlign:`left`},children:`2.0+ (validated 2.36.2)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Helm`}),_jsx(_components.td,{style:{textAlign:`left`},children:`3.8+ (validated 3.15.2)`})]})]})]}),`\n`,_jsx(_components.p,{children:`Check any host, without installing anything:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`./bin/oiq-zerocode-preflight`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`kernel`,children:`Kernel`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{style:{textAlign:`left`},children:`Kernel`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Applies to`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Level`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Notes`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,style:{textAlign:`left`},children:`4.14`}),_jsx(_components.td,{style:{textAlign:`left`},children:`any`}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.strong,{children:`Unsupported`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Below the eBPF feature floor. No kernel type information, no CO-RE.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,style:{textAlign:`left`},children:`4.18`}),_jsx(_components.td,{style:{textAlign:`left`},children:`RHEL-family only`}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.strong,{children:`Supported`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`RHEL, CentOS, Rocky and Alma 8 backport the required features. Non-RHEL 4.18 is unsupported.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,style:{textAlign:`left`},children:`5.4`}),_jsx(_components.td,{style:{textAlign:`left`},children:`any`}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.strong,{children:`Unsupported`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Predates the 5.8 floor. Ubuntu 20.04 GA ships this — use the 5.15 hardware-enablement kernel.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,style:{textAlign:`left`},children:`5.8`}),_jsx(_components.td,{style:{textAlign:`left`},children:`any`}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.strong,{children:`Supported`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`The documented minimum.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,style:{textAlign:`left`},children:`5.10`}),_jsx(_components.td,{style:{textAlign:`left`},children:`any`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Expected`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Debian 11, newer Amazon Linux 2 stream. Verify kernel type information is present.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,style:{textAlign:`left`},children:`5.14`}),_jsx(_components.td,{style:{textAlign:`left`},children:`any`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Expected`}),_jsx(_components.td,{style:{textAlign:`left`},children:`RHEL 9, SUSE 15.4+.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,style:{textAlign:`left`},children:`5.15`}),_jsx(_components.td,{style:{textAlign:`left`},children:`any`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Expected`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Ubuntu 22.04 GA.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,style:{textAlign:`left`},children:`6.1`}),_jsx(_components.td,{style:{textAlign:`left`},children:`any`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Expected`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Debian 12, Amazon Linux 2023.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,style:{textAlign:`left`},children:`6.8`}),_jsx(_components.td,{style:{textAlign:`left`},children:`any`}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.strong,{children:`Supported`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Validated: Ubuntu 22.04 hardware-enablement kernel.`})]})]})]}),`\n`,_jsxs(Warning,{children:[_jsxs(_components.p,{children:[_jsxs(_components.strong,{children:[_jsx(_components.code,{children:`perf_event_paranoid`}),` is the trap.`]}),` Above 1 the kernel denies perf-event\naccess even with `,_jsx(_components.code,{children:`CAP_PERFMON`}),` granted. Profiles B and C attach kprobes, so\nthe agent starts, holds every capability, passes its own checks — and\ncollects nothing, silently.`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`sudo`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` sysctl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -w`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` kernel.perf_event_paranoid=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`echo`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'kernel.perf_event_paranoid=1'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` |`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` sudo`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` tee`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` /etc/sysctl.d/99-aiaxoniq.conf`})]}),`\n`]})})}),_jsx(_components.p,{children:`Preflight treats this as blocking rather than as a warning.`})]}),`\n`,_jsx(Heading,{level:`2`,id:`linux-distributions`,children:`Linux distributions`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{style:{textAlign:`left`},children:`Distribution`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Kernel`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Level`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Notes`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Ubuntu 20.04 LTS`}),_jsx(_components.td,{style:{textAlign:`left`},children:`5.4 GA / 5.15 HWE`}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.strong,{children:`Limited`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`The GA kernel is below the floor. Install the hardware-enablement kernel.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Ubuntu 22.04 LTS`}),_jsx(_components.td,{\"data-numeric\":`true`,style:{textAlign:`left`},children:`5.15 / 6.8`}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.strong,{children:`Supported`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Validated on 6.8. Kernel type information enabled by default.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Ubuntu 24.04 LTS`}),_jsx(_components.td,{\"data-numeric\":`true`,style:{textAlign:`left`},children:`6.8`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Expected`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Same kernel series as the validated host.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Debian 11`}),_jsx(_components.td,{\"data-numeric\":`true`,style:{textAlign:`left`},children:`5.10`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Expected`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Meets the floor. Confirm kernel type information is present.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Debian 12`}),_jsx(_components.td,{\"data-numeric\":`true`,style:{textAlign:`left`},children:`6.1`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Expected`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Enabled by default.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`RHEL / Rocky / Alma 8`}),_jsx(_components.td,{\"data-numeric\":`true`,style:{textAlign:`left`},children:`4.18`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Expected`}),_jsx(_components.td,{style:{textAlign:`left`},children:`The documented RHEL-family exception.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`RHEL / Rocky / Alma 9`}),_jsx(_components.td,{\"data-numeric\":`true`,style:{textAlign:`left`},children:`5.14`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Expected`}),_jsx(_components.td,{style:{textAlign:`left`},children:`—`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Amazon Linux 2`}),_jsx(_components.td,{style:{textAlign:`left`},children:`4.14 default`}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.strong,{children:`Unsupported`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Default kernel is below the floor. The 5.10 stream is expected to work.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Amazon Linux 2023`}),_jsx(_components.td,{\"data-numeric\":`true`,style:{textAlign:`left`},children:`6.1`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Expected`}),_jsx(_components.td,{style:{textAlign:`left`},children:`—`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`SUSE / openSUSE 15.4+`}),_jsx(_components.td,{\"data-numeric\":`true`,style:{textAlign:`left`},children:`5.14`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Expected`}),_jsx(_components.td,{style:{textAlign:`left`},children:`—`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Fedora 38+`}),_jsx(_components.td,{\"data-numeric\":`true`,style:{textAlign:`left`},children:`6.2+`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Expected`}),_jsx(_components.td,{style:{textAlign:`left`},children:`—`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Alpine (musl)`}),_jsx(_components.td,{style:{textAlign:`left`},children:`host kernel`}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.strong,{children:`Limited`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`The kernel belongs to the host, so the floor applies there. musl symbol resolution for uprobes is unverified.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Flatcar, Bottlerocket`}),_jsx(_components.td,{\"data-numeric\":`true`,style:{textAlign:`left`},children:`5.15+`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Expected`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Purpose-built container hosts.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`GKE Container-Optimized OS`}),_jsx(_components.td,{\"data-numeric\":`true`,style:{textAlign:`left`},children:`5.15+`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Expected`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Kernel type information present.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Talos Linux`}),_jsx(_components.td,{style:{textAlign:`left`},children:`6.x`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Expected`}),_jsx(_components.td,{style:{textAlign:`left`},children:`API-driven config; capability grants may need a machine-config change.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Windows Server`}),_jsx(_components.td,{style:{textAlign:`left`},children:`—`}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.strong,{children:`Unsupported`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`eBPF is a Linux kernel facility. Use the OpenTelemetry SDK.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`macOS`}),_jsx(_components.td,{style:{textAlign:`left`},children:`—`}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.strong,{children:`Unsupported`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Same. Use the SDK, or a Linux VM for evaluation only.`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`kubernetes`,children:`Kubernetes`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{style:{textAlign:`left`},children:`Platform`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Level`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Notes`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`k3s / k3d`}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.strong,{children:`Supported`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Validated: full install, rollout and teardown.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`kind`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Expected`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Depends on the host kernel, like any container runtime.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`minikube (docker driver)`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Expected`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Same — the kernel belongs to the host.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`kubeadm / self-managed`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Expected`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Depends on node OS.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`EKS (EC2 nodes)`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Expected`}),_jsxs(_components.td,{style:{textAlign:`left`},children:[_jsxs(_components.strong,{children:[`Set `,_jsx(_components.code,{children:`kernel.perf_event_paranoid=1`}),` on nodes`]}),`, or `,_jsx(_components.code,{children:`CAP_SYS_ADMIN`}),` becomes necessary.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`GKE Standard`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Expected`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Both common node images carry kernel type information.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`AKS`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Expected`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Same perf-event caveat as EKS.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`OpenShift 4.x`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Expected`}),_jsxs(_components.td,{style:{textAlign:`left`},children:[`Requires the shipped constraints — see `,_jsx(_components.a,{href:`/zero-code/openshift`,children:`OpenShift`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Rancher / RKE2`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Expected`}),_jsx(_components.td,{style:{textAlign:`left`},children:`—`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`DigitalOcean / Linode / Hetzner managed`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Expected`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Standard node access.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`EKS Fargate`}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.strong,{children:`Unsupported`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`No node access, no privileged pods, no DaemonSet.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`GKE Autopilot`}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.strong,{children:`Unsupported`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Restricts host PID and the required capability set.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`AKS Virtual Nodes`}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.strong,{children:`Unsupported`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`No node.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Cloud Run / App Runner / Container Apps`}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.strong,{children:`Unsupported`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Serverless; no kernel to instrument.`})]})]})]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`The rule: if you control the node, the agent works.`}),` If you do not —\nFargate, Autopilot, Cloud Run, container instances — use the OpenTelemetry\nSDK or a sidecar Collector. See\n`,_jsx(_components.a,{href:`/send-data/overview`,children:`Installation overview`}),`.`]})}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Profile A is not available on Kubernetes`}),` at all: the upstream chart\nhardcodes a six-capability floor for unprivileged mode, so a three-capability\nprofile cannot be expressed. The chart refuses it by name rather than silently\nwidening the grant. See `,_jsx(_components.a,{href:`/zero-code/profiles`,children:`Capability profiles`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`container-runtimes`,children:`Container runtimes`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{style:{textAlign:`left`},children:`Runtime`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Level`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Notes`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Docker Engine 20.10+`}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.strong,{children:`Supported`})}),_jsxs(_components.td,{style:{textAlign:`left`},children:[`Validated on 28.2. Needs `,_jsx(_components.code,{children:`--pid=host`}),` and the profile capabilities.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Docker Compose v2`}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.strong,{children:`Supported`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Validated on 2.36.2.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Docker Desktop (macOS / Windows)`}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.strong,{children:`Limited`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Runs inside the Linux VM and observes only what runs there. Evaluation only.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Podman, rootful`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Expected`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Equivalent to Docker for this purpose.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Podman, rootless`}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.strong,{children:`Unsupported`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Cannot grant the required capabilities.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`containerd / CRI-O`}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.strong,{children:`Supported`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`The Kubernetes path.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`LXC / LXD, privileged`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Expected`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Unverified.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`gVisor`}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.strong,{children:`Unsupported`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Intercepts syscalls in userspace; host eBPF sees nothing inside.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Firecracker / Kata`}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.strong,{children:`Unsupported`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Each guest has its own kernel.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`AWS ECS on EC2`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Expected`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Daemon-scheduled task with the capability set.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`AWS ECS on Fargate`}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.strong,{children:`Unsupported`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`No host access.`})]})]})]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`The kernel belongs to the host`}),`, so a container has none of its own and\nyour workload’s base image is irrelevant. Observing processes in `,_jsx(_components.em,{children:`other`}),`\ncontainers additionally needs host PID access.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`language-runtimes`,children:`Language runtimes`}),`\n`,_jsx(_components.p,{children:`Instrumented language-agnostically, at the socket and TLS boundary:`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{style:{textAlign:`left`},children:`Runtime`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Depth`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.strong,{children:`Go`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Deepest. Server and client spans, and the only path to full eBPF-driven context propagation.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Java (JDK 8+), .NET, Node.js, Python, Ruby`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Protocol-level spans and RED metrics at the socket/TLS boundary.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`C, C++, Rust`}),_jsx(_components.td,{style:{textAlign:`left`},children:`The same, depending on the TLS library in use.`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`protocols`,children:`Protocols`}),`\n`,_jsx(_components.p,{children:`HTTP/S, HTTP/2, gRPC, gRPC-Web, JSON-RPC, MQTT, NATS, AMQP 1.0; PostgreSQL,\nMySQL, SQL Server, MongoDB, Redis, Couchbase; Kafka; GraphQL;\nElasticsearch/OpenSearch; S3; and GenAI APIs including OpenAI, Anthropic,\nGemini and Bedrock.`}),`\n`,_jsxs(Warning,{children:[_jsx(_components.p,{children:_jsx(_components.strong,{children:`TLS coverage depends on the library, and the full matrix is unmeasured.`})}),_jsxs(_components.p,{children:[`The agent hooks OpenSSL. Statically linked TLS, BoringSSL, `,_jsx(_components.code,{children:`rustls`}),`, GnuTLS\nand NSS are each a potential gap. `,_jsxs(_components.strong,{children:[`Node.js bundles its own OpenSSL and\nRust’s `,_jsx(_components.code,{children:`rustls`}),` is not OpenSSL`]}),` — both are known risks rather than known\nfailures.`]}),_jsxs(_components.p,{children:[`This presents as “that service is missing”, never as an error. If a service\nyou expected is absent, this is the first thing to suspect. See\n`,_jsx(_components.a,{href:`/zero-code/troubleshooting#only-some-services-appear`,children:`Only some services appear`}),`.`]})]}),`\n`,_jsx(Heading,{level:`2`,id:`never-supported`,children:`Never supported`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{style:{textAlign:`left`}}),_jsx(_components.th,{style:{textAlign:`left`},children:`Why`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Windows, macOS`}),_jsx(_components.td,{style:{textAlign:`left`},children:`eBPF is a Linux kernel facility.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Serverless — Fargate, Autopilot, Cloud Run, container instances, functions`}),_jsx(_components.td,{style:{textAlign:`left`},children:`No node, no kernel access, no DaemonSet.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`gVisor, Firecracker, Kata`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Syscalls are intercepted, or the guest has its own kernel.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Rootless Podman`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Cannot grant the required capabilities.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`In-process detail — custom spans, business attributes, stack traces`}),_jsx(_components.td,{style:{textAlign:`left`},children:`eBPF observes the boundary, not your logic. Use the SDK where you need depth.`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`next`,children:`Next`}),`\n`,_jsxs(CardGroup,{cols:3,children:[_jsx(Card,{title:`Known limitations`,icon:`circle-minus`,href:`/zero-code/limitations`,children:_jsx(_components.p,{children:`What is absent by design.`})}),_jsx(Card,{title:`Capability profiles`,icon:`layer-group`,href:`/zero-code/profiles`,children:_jsx(_components.p,{children:`Choosing a privilege level.`})}),_jsx(Card,{title:`Frequently asked`,icon:`circle-question`,href:`/zero-code/faq`,children:_jsx(_components.p,{children:`The questions an evaluation actually asks.`})})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Compatibility and support","description":"Which kernels, distributions, clouds, container runtimes and language runtimes the zero-code agent supports — stated as validated, expected, limited or unsupported.","icon":"list-check","href":"/zero-code/compatibility"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"What the support levels mean","slug":"what-the-support-levels-mean","depth":2,"children":[]},{"title":"Requirements at a glance","slug":"requirements-at-a-glance","depth":2,"children":[]},{"title":"Kernel","slug":"kernel","depth":2,"children":[]},{"title":"Linux distributions","slug":"linux-distributions","depth":2,"children":[]},{"title":"Kubernetes","slug":"kubernetes","depth":2,"children":[]},{"title":"Container runtimes","slug":"container-runtimes","depth":2,"children":[]},{"title":"Language runtimes","slug":"language-runtimes","depth":2,"children":[]},{"title":"Protocols","slug":"protocols","depth":2,"children":[]},{"title":"Never supported","slug":"never-supported","depth":2,"children":[]},{"title":"Next","slug":"next","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"ai-axon-iq","siteName":"aiAxonIQ","title":"Compatibility and support - aiAxonIQ","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-08-07T13:02:18.677Z","originalFileLocation":"zero-code/compatibility.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Which kernels, distributions, clouds, container runtimes and language runtimes the zero-code agent supports — stated as validated, expected, limited or unsupported.\">\u003cmeta data-mint-head name=\"application-name\" content=\"aiAxonIQ\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003cmeta data-mint-head name=\"robots\" content=\"index, follow\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/ai-axon-iq/2wGnplOLGG1HbyBX/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/ai-axon-iq/2wGnplOLGG1HbyBX/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/ai-axon-iq/2wGnplOLGG1HbyBX/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/ai-axon-iq/2wGnplOLGG1HbyBX/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/ai-axon-iq/2wGnplOLGG1HbyBX/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/ai-axon-iq/2wGnplOLGG1HbyBX/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/ai-axon-iq/2wGnplOLGG1HbyBX/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/ai-axon-iq/2wGnplOLGG1HbyBX/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/ai-axon-iq/2wGnplOLGG1HbyBX/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Compatibility and support - aiAxonIQ\">\u003cmeta data-mint-head property=\"og:description\" content=\"Which kernels, distributions, clouds, container runtimes and language runtimes the zero-code agent supports — stated as validated, expected, limited or unsupported.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"aiAxonIQ Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.aiaxoniq.com/zero-code/compatibility\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://docs.aiaxoniq.com/images/og-default.png\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"aiAxonIQ Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Send OpenTelemetry logs, metrics and traces to aiAxonIQ, then search, alert and investigate.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://docs.aiaxoniq.com/images/og-default.png\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/ai-axon-iq/2wGnplOLGG1HbyBX/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"aiAxonIQ\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#006B80\">\u003cmeta data-mint-head name=\"og:image:alt\" content=\"aiAxonIQ documentation — send OpenTelemetry logs, metrics and traces\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.aiaxoniq.com/zero-code/compatibility\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/zero-code/compatibility.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.aiaxoniq.com/#organization\",\"name\":\"aiAxonIQ\",\"url\":\"https://docs.aiaxoniq.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/ai-axon-iq/WoiAVV8vwflLeOvu/logo/light.png?fit=max\u0026auto=format\u0026n=WoiAVV8vwflLeOvu\u0026q=85\u0026s=120e1abae07a4f35e810a38791d7339c\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.aiaxoniq.com#website\",\"name\":\"aiAxonIQ\",\"url\":\"https://docs.aiaxoniq.com\",\"publisher\":{\"@id\":\"https://docs.aiaxoniq.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.aiaxoniq.com/zero-code/compatibility#webpage\",\"url\":\"https://docs.aiaxoniq.com/zero-code/compatibility\",\"name\":\"Compatibility and support\",\"description\":\"Which kernels, distributions, clouds, container runtimes and language runtimes the zero-code agent supports — stated as validated, expected, limited or unsupported.\",\"dateModified\":\"2026-08-07T13:02:18.677Z\",\"isPartOf\":{\"@id\":\"https://docs.aiaxoniq.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.aiaxoniq.com/zero-code/compatibility#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.aiaxoniq.com/zero-code/compatibility#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"aiAxonIQ\",\"item\":\"https://docs.aiaxoniq.com\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Compatibility and support\",\"item\":\"https://docs.aiaxoniq.com/zero-code/compatibility\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.aiaxoniq.com/zero-code/compatibility#article\",\"headline\":\"Compatibility and support\",\"name\":\"Compatibility and support\",\"description\":\"Which kernels, distributions, clouds, container runtimes and language runtimes the zero-code agent supports — stated as validated, expected, limited or unsupported.\",\"url\":\"https://docs.aiaxoniq.com/zero-code/compatibility\",\"mainEntityOfPage\":{\"@id\":\"https://docs.aiaxoniq.com/zero-code/compatibility#webpage\"},\"image\":\"https://docs.aiaxoniq.com/images/og-default.png\",\"dateModified\":\"2026-08-07T13:02:18.677Z\",\"publisher\":{\"@id\":\"https://docs.aiaxoniq.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.aiaxoniq.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"aiAxonIQ\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"aiAxonIQ","nav":{"global":null,"tabs":[{"tab":"Get started","icon":"rocket","pages":[{"title":"Get started","href":""}]},{"tab":"Send data","icon":"arrow-right-to-bracket","pages":[{"title":"Send data","href":"/send-data/overview"}]},{"tab":"Zero-code","icon":"wand-magic-sparkles","groups":[{"group":"Introduction","icon":"wand-magic-sparkles","pages":[{"title":"Zero-code instrumentation","icon":"wand-magic-sparkles","href":"/zero-code/overview"},{"title":"Why zero-code","icon":"circle-question","href":"/zero-code/why"},{"title":"How eBPF works","icon":"microchip","href":"/zero-code/ebpf"},{"title":"OpenTelemetry OBI","icon":"telescope","href":"/zero-code/obi"}]},{"group":"Design and privilege","icon":"shield-halved","pages":[{"title":"Agent architecture","icon":"sitemap","href":"/zero-code/architecture"},{"title":"Capability profiles","icon":"layer-group","href":"/zero-code/profiles"},{"title":"Security model","icon":"shield-halved","href":"/zero-code/security"}]},{"group":"Install","icon":"download","pages":[{"title":"Install on Linux","icon":"linux","href":"/zero-code/linux"},{"title":"Install with Docker","icon":"docker","href":"/zero-code/docker"},{"title":"Install with Docker Compose","icon":"layer-group","href":"/zero-code/docker-compose"},{"title":"Install on Kubernetes","icon":"dharmachakra","href":"/zero-code/kubernetes"},{"title":"Install on OpenShift","icon":"shield-halved","href":"/zero-code/openshift"}]},{"group":"Operate","icon":"gauge-high","pages":[{"title":"Verifying the agent","icon":"circle-check","href":"/zero-code/verification"},{"title":"Performance and overhead","icon":"gauge-high","href":"/zero-code/performance"},{"title":"Zero-code troubleshooting","description":"Symptom to cause to fix for the eBPF agent, in likelihood order — starting with the failure that looks exactly like everything working.","icon":"triangle-exclamation","href":"/zero-code/troubleshooting"}]},{"group":"Reference","icon":"list-check","pages":[{"title":"Compatibility and support","icon":"list-check","href":"/zero-code/compatibility"},{"title":"Known limitations","description":"Everything the zero-code agent does not do, why, and what to use instead — so you stop looking for something that was never there.","icon":"circle-minus","href":"/zero-code/limitations"},{"title":"Zero-code FAQ","icon":"circle-question","href":"/zero-code/faq"}]}]},{"tab":"Guides","icon":"book-open","pages":[{"title":"Guides","href":"/guides/logs/search"}]},{"tab":"API reference","icon":"code","pages":[{"title":"API reference","href":"/api-reference/introduction"}]},{"tab":"Support","icon":"life-ring","pages":[{"title":"Support","href":"/support/troubleshooting"}]}]},"basePath":"","title":"Compatibility and support - aiAxonIQ","buildId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","deploymentId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","dynamics":[],"chunks":[]}