Operators
Add-on: Workload identity
A root-owned Rust systemd-service add-on that collects node-local CRI/container workload metadata for Kubernetes pod, namespace, container, image, and runtime identity enrichment.
The Workload identity add-on is a node-local collector for CRI/container metadata. It discovers Kubernetes pod, namespace, container, image, and runtime identity and writes bounded identity snapshots for the agent to ingest. It is a Rust systemd-service add-on that runs as root to reach the container runtime socket.
At a glance
| id |
workload-identity |
| version |
0.1.4 |
| language | Rust |
| delivery |
pushed-artifact |
| supervision |
systemd-service |
| run as |
root |
| capabilities |
workload-identity, container-inventory |
| state dirs |
/var/lib/serviceradar/workload-identity, /var/lib/serviceradar/workload-identity/spool |
| platforms | linux |
Manifest
id: workload-identity
name: Workload Identity
version: 0.1.4
description: >-
Node-local CRI/container workload metadata collector for Kubernetes pod,
namespace, container, image, and runtime identity enrichment.
kind: native
delivery: pushed-artifact
supervision: systemd-service
language: rust
capabilities:
- workload-identity
- container-inventory
requires:
base_agent: ">=1.2.0"
platforms: [linux]
os_capabilities: []
run_as: root
exec:
binary: serviceradar-workload-identity
install_path: /usr/local/lib/serviceradar/bin
state_dirs:
- /var/lib/serviceradar/workload-identity
- /var/lib/serviceradar/workload-identity/spool
config_schema: config.schema.jsonPrivileges and supervision
Kubernetes CRI sockets are commonly root:root mode 0660. Running this
collector as a standalone root-owned service keeps that privileged runtime access
isolated from serviceradar-agent and netprobe, which both run
unprivileged. The shipped systemd unit runs User=root, Group=serviceradar
under the serviceradar.slice cgroup with strong hardening
(NoNewPrivileges=true, empty capability bounding set, ProtectSystem=strict,
RestrictAddressFamilies=AF_UNIX, a @system-service syscall filter, and
StateDirectory= for its spool). The collector writes snapshots to its spool;
the agent reads them from there.