tetragon
Renders Tetragon TracingPolicies and TracingPolicyNamespaced from inventory parameters.
- Latest
- 0.1.0 ·
- License
- Apache-2.0
- Owners
- Moep90
- Source
- github.com/kadet-hub/generators · 0 repo stars, shared by 38 generators
- Thumbs up
- 👍 0 on GitHub Discussions
- Popularity
- 0 · pulls not read
Request a feature Report a problem
Badge
Show the latest listed version in your README. shields.io draws the badge from this page's badge.json, which every catalog build updates; once no version is listed, it reads "not listed".
[](https://kadet-hub.org/generators/tetragon/)
Tetragon Generator
Published on kadet-hub: pin a released version by digest from its catalog page.
Kapitan kadet generator for Tetragon policies (cilium.io/v1alpha1). Built for Tetragon 1.7.1.
- TracingPolicy: cluster-wide policy, applies to every process on the selected nodes
- TracingPolicyNamespaced: policy that applies only to the pods of its namespace
Only these custom resources are rendered. The Tetragon install (DaemonSet, operator, RBAC) comes from the Tetragon Helm chart through the helm input. PodInfo is written by the Tetragon operator. The requirements are in docs/specs/tetragon.md.
Usage
Kapitan Configuration
parameters:
kapitan:
dependencies:
- type: oci
source: ghcr.io/kadet-hub/tetragon@sha256:<digest>
output_path: lib/tetragon
compile:
- output_path: manifests/tetragon/
input_type: kadet
output_type: yml
input_paths:
- lib/tetragonInventory Contract
All keys live under parameters.generators.tetragon.
| Key | Kind | Output key |
|---|---|---|
tracing_policies.<key> |
TracingPolicy | <name>-tracingpolicy |
tracing_policies_namespaced.<key> |
TracingPolicyNamespaced | <namespace>/<name>-tracingpolicynamespaced |
The resource is named after name on the entry, else after its key. Two entries of one section that render the same name (in the same namespace) fail the compile.
Namespace of a TracingPolicyNamespaced: namespace on the entry, then generators.tetragon.namespace, then parameters.namespace, then default.
Every entry accepts labels, annotations and a spec dict that passes through to the resource spec. The flat keys below set the top-level spec field of the same name in camelCase. A flat key wins over the same field in spec and logs a warning.
kprobes, tracepoints, uprobes, usdts, lsmhooks, fentries, enforcers, lists, options, loader, pod_selector (→ podSelector), container_selector (→ containerSelector), host_selector (→ hostSelector), selectors_macros (→ selectorsMacros)
Values are written as in the Tetragon policy reference, in CRD camelCase (matchArgs, matchActions), so upstream examples can be copied. The compiled output is validated against the 1.7.1 CRD schemas.
The Override action needs kernel support: on kprobes a kernel with CONFIG_BPF_KPROBE_OVERRIDE, on lsmhooks the bpf LSM. Sigkill works without either.
Example
parameters:
generators:
tetragon:
tracing_policies:
write-etc:
kprobes:
- call: security_file_permission
syscall: false
args:
- index: 0
type: file
- index: 1
type: int
selectors:
- matchArgs:
- index: 0
operator: Prefix
values: ["/etc/"]
- index: 1
operator: Equal
values: ["2"]
tracing_policies_namespaced:
exec-shell:
namespace: apps
pod_selector:
matchLabels:
app: web
tracepoints:
- subsystem: raw_syscalls
event: sys_enter
args:
- index: 4
type: syscall64
selectors:
- matchArgs:
- index: 4
operator: Equal
values: ["59"]This renders write-etc-tracingpolicy, which reports writes below /etc on every node, and apps/exec-shell-tracingpolicynamespaced, which reports execve (syscall 59 on x86-64) in the web pods of apps.
Versions
Add a version's inventory entry, then compile with the consumer workflow, which verifies the artifact and runs Kapitan in the sandbox.
Free of charge, as is and on a best-effort basis: use at your own risk, and review the compiled output before you apply it. Terms
This catalog was built from index serial 74. Set index_serial: 74 in .kapitan-sandbox.yaml and the consumer workflow refuses any older index, so a rolled-back index cannot bring back a yanked version.
Checks find known patterns; they do not prove a generator safe. What a listing covers
| Version | Built for (schema-checked) |
|---|---|
| 0.1.0 | Tetragon 1.7.1 |
0.1.0#
Inventory
parameters:
kapitan:
dependencies:
- type: oci
source: ghcr.io/kadet-hub/tetragon:0.1.0@sha256:86e03c9db754ae8a0a878c0b077844d729b06ba17e415cd182631020b93b3be9
output_path: lib/tetragon
Verify
gh attestation verify \
oci://ghcr.io/kadet-hub/tetragon@sha256:86e03c9db754ae8a0a878c0b077844d729b06ba17e415cd182631020b93b3be9 \
--owner kadet-hub \
--cert-identity https://github.com/kadet-hub/registry/.github/workflows/release.yml@refs/heads/main
Transparency log: Rekor entry 3571856488, in Sigstore's public, append-only log, so the attestation stays checkable independent of this site.
- Kapitan declared
- >=0.36.3,<0.37
- Kapitan checked
- 0.36.3
- Backends checked
- reclass-rs, omegaconf
- With --cache
- passed
- krab
- compatible
- Built for (schema-checked)
- Tetragon 1.7.1
- Source
- tetragon-v0.1.0 ·
fe1e1c5265b0ea43a9e30acc5280f0208823faef· tetragon - Binaries
- none
- Output capabilities
- none
- Digest
sha256:86e03c9db754ae8a0a878c0b077844d729b06ba17e415cd182631020b93b3be9
Checks
Checked by the release run on , gate at ab3db5e91c4e.
- Secrets gitleaks 8.30.1
No secret matched the marketplace's gitleaks rules. - Malware ClamAV 1.5.4
No file matched a ClamAV signature. - Malicious package heuristics GuardDog 3.2.0
No GuardDog threat rule matched. - Dangerous code Semgrep 1.180.0
No marketplace Semgrep rule matched, such as eval, subprocess or network calls. - Python errors Ruff 0.17.0
No syntax error or undefined name (Ruff, error rules only). - File tree tree_check.py
No symlink, executable or banned file; imports within the allowlist. - Sandboxed compile gVisor 20261005, Kapitan 0.36.3
The fixture compiled without network, with decoy credentials; no undeclared program ran, no decoy was read. - Output capabilities Conftest v0.71.1
The compiled output uses only the capabilities the manifest declares. - CI detection Kapitan 0.36.3
The output is the same with CI variables set.
Output diff
No output diff: no earlier listed version.