tetragon

module
v1.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 13, 2024 License: Apache-2.0

README ยถ

License License License


Ciliumโ€™s new Tetragon component enables powerful real-time, eBPF-based Security Observability and Runtime Enforcement.

Tetragon detects and is able to react to security-significant events, such as

  • Process execution events
  • System call activity
  • I/O activity including network & file access

When used in a Kubernetes environment, Tetragon is Kubernetes-aware - that is, it understands Kubernetes identities such as namespaces, pods and so on - so that security event detection can be configured in relation to individual workloads.

Tetragon Overview Diagram

See more about how Tetragon is using eBPF.

Getting started

Refer to the official documentation of Tetragon.

To get started with Tetragon, take a look at the getting started guides to:

Tetragon is able to observe critical hooks in the kernel through its sensors and generates events enriched with Linux and Kubernetes metadata:

  1. Process lifecycle: generating process_exec and process_exit events by default, enabling full process lifecycle observability. Learn more about these events on the process lifecycle use case page.
  2. Generic tracing: generating process_kprobe, process_tracepoint and process_uprobe events for more advanced and custom use cases. Learn more about these events on the TracingPolicy concept page and discover multiple use cases like:

See further resources:

Join the community

Join the Tetragon ๐Ÿ’ฌ Slack channel and the ๐Ÿ“… Community Call to chat with developers, maintainers, and other users. This is a good first stop to ask questions and share your experiences.

How to Contribute

For getting started with local development, you can refer to the Contribution Guide. If you plan to submit a PR, please "sign-off" your commits.

Directories ยถ

Path Synopsis
api module
cmd
contrib
cmd
crd
pkg
alignchecker
Package alignchecker is a thin wrapper around pkg/alignchecker to validate datapath object alignment.
Package alignchecker is a thin wrapper around pkg/alignchecker to validate datapath object alignment.
api
bpf
btf
cri
metrics
The metrics package provides a set of helpers (wrappers around [prometheus Go library](https://pkg.go.dev/github.com/prometheus/client_golang/prometheus)) for defining and managing prometheus metrics.
The metrics package provides a set of helpers (wrappers around [prometheus Go library](https://pkg.go.dev/github.com/prometheus/client_golang/prometheus)) for defining and managing prometheus metrics.
multiplexer
This package provides a multiplexer for combine one or more gRPC event streams into a single stream.
This package provides a multiplexer for combine one or more gRPC event streams into a single stream.
option
Package option provides global singletons for storing configuration and variables used in Tetragon.
Package option provides global singletons for storing configuration and variables used in Tetragon.
policyfilter
nolint:revive // prevent unused-parameter alert, disabled method obviously don't use args
nolint:revive // prevent unused-parameter alert, disabled method obviously don't use args
rthooks
Package rthooks contains code for managing run-time hooks
Package rthooks contains code for managing run-time hooks
server
nolint:revive // ignore unused parameter alerts, dummy methods
nolint:revive // ignore unused parameter alerts, dummy methods
stt
testutils/perfring
Package perfring provides utilities to do tests using the perf ringbuffer directly
Package perfring provides utilities to do tests using the perf ringbuffer directly
vmtests
Package vmtests includes utilities for running tetragon tests inside VMs.
Package vmtests includes utilities for running tetragon tests inside VMs.
vtuple
helper functions to manage 5-tuples
helper functions to manage 5-tuples
k8s Module
tests
e2e/checker
This package provides a Tetragon gRPC client multiplexer and an RPCChecker that wraps a MultiEventChecker and uses the gRPC multiplexer to get a stream of events from all Tetragon pods.
This package provides a Tetragon gRPC client multiplexer and an RPCChecker that wraps a MultiEventChecker and uses the gRPC multiplexer to get a stream of events from all Tetragon pods.
e2e/flags
This package contains all the configuration flags for Tetragon e2e tests.
This package contains all the configuration flags for Tetragon e2e tests.
e2e/helpers
This package contains various helper functions for writing Tetragon e2e tests, including many setup and feature functions.
This package contains various helper functions for writing Tetragon e2e tests, including many setup and feature functions.
e2e/helpers/gops
Package gops is a simple gops client implementation to dump gops info from end-to-end tests.
Package gops is a simple gops client implementation to dump gops info from end-to-end tests.
e2e/helpers/grpc
Package grpc provides some helpers for contacting with the gRPC tetragon service.
Package grpc provides some helpers for contacting with the gRPC tetragon service.
e2e/install/cilium
This package contains and configuration options for installing Cilium.
This package contains and configuration options for installing Cilium.
e2e/install/tetragon
This package contains and configuration options for installing Tetragon.
This package contains and configuration options for installing Tetragon.
e2e/runners
This package contains helpers for configuring test runners that automate test setup/teardown.
This package contains helpers for configuring test runners that automate test setup/teardown.
e2e/state
This package provides keys used to store state in the e2e tests' context.Context.
This package provides keys used to store state in the e2e tests' context.Context.
e2e/tests
This package contains subpackages that define the individual Tetragon e2e tests.
This package contains subpackages that define the individual Tetragon e2e tests.
tools

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL