Akri logo

Akri

Akri is a CNCF Sandbox project that exposes heterogeneous leaf devices (such as IP cameras and USB devices) as resources in a Kubernetes cluster. It enables dynamic discovery and utilization of IoT edge devices through protocol-specific Discovery Handlers for ONVIF, OPC UA, and udev, with automatic workload scheduling and high availability.

1 APIs 1 Capabilities 10 Features
Device ManagementEdge ComputingIoTKubernetesCNCFOpen SourceOPC UAONVIFudev

APIs

Akri Metrics API

Akri exposes Prometheus metrics on port 8080 at /metrics for the Agent, Controller, and broker pods. Metrics include instance count, discovery response results and latency, and ...

Capabilities

Akri Edge Device Monitoring

Workflow capability for monitoring Akri edge device discovery and broker health in Kubernetes clusters. Combines Prometheus metrics to provide visibility into discovered instanc...

Run with Naftiko

Features

Dynamic Device Discovery

Automatically discovers heterogeneous leaf devices (IP cameras, USB devices, industrial sensors) across Kubernetes cluster nodes using protocol-specific Discovery Handlers.

ONVIF Discovery Handler

Discovers IP cameras via ONVIF standards and RTSP streams, with filtering by IP address, MAC address, ONVIF scopes, and device UUIDs.

OPC UA Discovery Handler

Discovers industrial automation servers and Local Discovery Servers via OPC UA protocol, supporting x509 certificate authentication for secure connections.

udev Discovery Handler

Discovers locally attached hardware (USB devices, cameras, microphones) on Linux nodes using udev rules with kernel device name and capability filtering.

Automatic Workload Scheduling

Automatically schedules broker Pods or Jobs per discovered device based on Akri Configuration specifications, managing the full workload lifecycle.

High Availability

Multiple nodes can access a single leaf device, ensuring service continuity if a node fails. Supports multi-node device reservation.

Kubernetes Custom Resources

Two CRDs: configurations.akri.sh for discovery specification and instances.akri.sh representing each discovered device as a Kubernetes resource.

Extensible Discovery Handler Framework

Community can implement custom Discovery Handlers as DaemonSets using the akri-discovery-handler-template, enabling support for any device protocol.

Prometheus Metrics

Built-in Prometheus metrics on port 8080 for instance count, discovery response results, discovery latency, and broker pod count, with Grafana visualization support.

Multi-Architecture Support

Supports Linux nodes on amd64, arm64v8, and arm32v7 architectures with Kubernetes v1.16+, K3s, and MicroK8s distributions.

Use Cases

Edge IoT Device Management

Expose and manage IoT leaf devices such as IP cameras and USB sensors as first-class Kubernetes resources for edge computing workloads.

Industrial Automation Integration

Connect industrial OPC UA servers and automation equipment to Kubernetes clusters for real-time monitoring and control workflows.

Computer Vision at the Edge

Deploy ONVIF-compliant IP camera brokers automatically as cameras are discovered, enabling distributed computer vision processing.

Dynamic Hardware Resource Scheduling

Automatically schedule GPU, FPGA, or specialized hardware workloads based on real-time device availability across cluster nodes.

Heterogeneous Device Fleet Management

Manage fleets of diverse edge devices with different protocols from a single Kubernetes control plane using unified Configuration resources.

Integrations

Prometheus

Native Prometheus metrics integration via ServiceMonitor and PodMonitor custom resources, with Grafana visualization support.

Helm

Official Helm chart packaging for deploying Akri Controller, Agent DaemonSet, and Discovery Handler DaemonSets.

Kubernetes Device Plugin Framework

Extends the Kubernetes Device Plugin Framework with edge-specific capabilities for heterogeneous leaf device management.

ONVIF

Built-in ONVIF protocol support for discovering and managing standards-compliant IP cameras and video devices.

OPC UA

Built-in OPC UA protocol support for industrial automation device discovery with certificate-based security.

Linux udev

Built-in udev integration for discovering locally attached hardware devices on Linux Kubernetes nodes.

CNCF Ecosystem

CNCF Sandbox project integrating with cloud native tooling including K3s, MicroK8s, and standard Kubernetes distributions.

Semantic Vocabularies

Akri Akri Context

6 classes · 19 properties

JSON-LD

API Governance Rules

Akri API Rules

25 rules · 12 errors 12 warnings 1 info

SPECTRAL

Resources

👥
GitHubOrganization
GitHubOrganization
👥
GitHubRepository
GitHubRepository
🔗
Documentation
Documentation
🚀
GettingStarted
GettingStarted
📄
ChangeLog
ChangeLog
📦
Helm Chart
SDK
💻
Example Brokers and Applications
CodeExamples
📦
Discovery Handler Template (Rust)
SDK
🔗
SpectralRules
SpectralRules
🔗
Vocabulary
Vocabulary
🔗
JSONLD
JSONLD
🔗
Akri Metrics Shared Capability
NaftikoCapability
🔗
Edge Device Monitoring Workflow
NaftikoCapability