A Cilium controller for Nomad clusters that manages endpoints, syncs policies, and cleans up orphaned resources.
Netreap is a Cilium controller implementation built for Nomad clusters, enabling Cilium's advanced networking and security features in non-Kubernetes environments. It manages Cilium endpoints, synchronizes network policies via Consul, and cleans up orphaned resources to maintain a healthy network mesh. The project solves the problem of integrating Cilium with Nomad, where the standard Cilium Operator is tightly coupled to Kubernetes.
DevOps engineers and platform teams running Nomad clusters who need Cilium's container networking capabilities, including network policy enforcement and service mesh features.
Developers choose Netreap because it provides a lightweight, purpose-built alternative to the Kubernetes-only Cilium Operator, allowing Nomad users to leverage Cilium's powerful networking stack without Kubernetes overhead. Its simplicity and direct integration with Nomad's job lifecycle make it easier to deploy and manage in Nomad environments.
A Cilium controller implementation for Nomad
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Designed specifically for Nomad's architecture, using its API and constraints to run only on nodes with Cilium CNI available, ensuring tight orchestration alignment.
Manages Cilium endpoints, syncs network policies via Consul, and cleans up orphaned nodes, providing key operator functions without Kubernetes dependencies, as outlined in the README.
Supports leader election for running multiple instances, allowing for fault-tolerant deployments in production Nomad clusters.
Watches a Consul key for Cilium policy JSON, enabling real-time policy changes across the cluster with a simple `consul kv put` command, as demonstrated in the configuration section.
Cilium cannot be run as a Nomad job and must be manually installed via systemd on each node, increasing setup complexity and operational burden, as admitted in the README.
The README notes there are no automated tests, and development requires a full Linux setup with Consul, Nomad, and Cilium, indicating the project is still experimental.
Policy synchronization is tied to Consul KV store, forcing users to maintain Consul infrastructure even if they prefer other KV options for Cilium, adding to the stack complexity.
Only supports Cilium 1.12.x or 1.13.x, which may not be compatible with newer releases, risking obsolescence and limiting upgrade paths.