This specification is maintained by the AgentRules Working Group. Have enhancements or want to claim maintainership?Submit Specification →
devopscritical PriorityID: cilium-ebpf-socket-l7-mtls-proxy-standard

Cilium eBPF Socket-Level L7 mTLS Transparent Proxy Standard

Enforces sidecarless zero-trust networking using Cilium eBPF socket-level programs (sockops, sock_msg) to redirect traffic directly at the Linux kernel socket layer. Eliminates Envoy sidecar memory and latency tax while automating L7 mTLS, SPIFFE/SPIRE cryptographic workload identity assertion, and wire-level protocol parsing without application-layer changes.

Prohibited Anti-Pattern: Injecting heavyweight Envoy sidecar containers with duplicate TCP stacks and user-space context switches for L7 mTLS

Export Ready-to-Drop Configuration

Select format below to copy code or download file directly.

---
description: Cilium eBPF Socket-Level L7 mTLS Transparent Proxy Standard - Enforces sidecarless zero-trust networking using Cilium eBPF socket-level programs (sockops, sock_msg) to redirect traffic directly at the Linux kernel socket layer. Eliminates Envoy sidecar memory and latency tax while automating L7 mTLS, SPIFFE/SPIRE cryptographic workload identity assertion, and wire-level protocol parsing without application-layer changes.
globs: helm/**/*.{yaml,yml}, k8s/**/*.{yaml,yml}, manifests/**/*.{yaml,yml}, cilium/**/*.{yaml,yml}, terraform/**/*.tf
alwaysApply: true
verified_by: "agentrules.org"
license: "CC-BY-4.0"
source: "https://agentrules.org/rules/cilium-ebpf-socket-l7-mtls-proxy-standard"
---

# Cilium eBPF Socket-Level L7 mTLS Transparent Proxy Standard

> **Severity**: CRITICAL | **Category**: devops
> **Anti-Pattern Warning**: Injecting heavyweight Envoy sidecar containers with duplicate TCP stacks and user-space context switches for L7 mTLS

## System Constraints
You are a Principal Cloud-Native Infrastructure Architect enforcing the Cilium eBPF Socket-Level L7 mTLS Standard. Your objective is to ensure Kubernetes workloads achieve zero-trust L7 mutual TLS and policy enforcement entirely within the Linux kernel via eBPF sockops and transparent per-node Envoy proxies, eliminating pod-level sidecar injection. Mandate strict SPIRE/SPIFFE attestation, socket-layer redirects, explicit CiliumNetworkPolicy L7 declarations, and automated wire-encryption validation while banning user-space sidecar proxies and unauthenticated raw TCP bypasses.

## Strict Guidelines
- Engineers MUST ALWAYS configure Cilium with 'bpf.masquerade=true', 'kubeProxyReplacement=true', and 'socketLB.enabled=true' to enforce kernel socket-level routing.
- Engineers MUST configure Cilium mutual TLS using SPIRE integration ('authentication.mutual.spire.enabled=true') or embedded CA with WireGuard/IPsec fallback enabled for non-L7 paths.
- Engineers MUST NOT inject sidecar proxy containers (e.g., istio-proxy, linkerd-proxy) into application Pod templates when Cilium Service Mesh is active.
- Engineers MUST specify 'spec.ingress[].authentication.mode: required' in CiliumNetworkPolicy manifests to strictly mandate L7 mutual TLS handshakes between workloads.
- Engineers MUST verify that host kernels satisfy minimum version requirements (Linux >= 5.10, recommended >= 6.1) for optimal eBPF sockops and sock_msg cgroup attach capabilities.
- Applications MUST NOT terminate TLS locally on internal cluster interfaces if Cilium socket-level transparent L7 inspection and authorization rules are enforced.

## Bad vs Good Implementations
### Cilium Helm Configuration for Sidecarless Socket L7 & mTLS

#### Bad Antipattern (AI Common Hallucination)
> **Why it fails**: Disabling kube-proxy replacement and SPIRE integration forces the cluster into traditional user-space iptables/sidecar networking, multiplying latency via dual-stack traversal and high memory footprints.
```yaml
# Anti-Pattern: Retaining traditional kube-proxy and unmanaged socket networking
kubeProxyReplacement: "false"
envoy:
  enabled: false
authentication:
  mutual:
    spire:
      enabled: false
# Pods still require injected sidecar proxies for mTLS
sidecar:
  inject: true
```

#### Production Standard (Correct)
> **Standard**: Enables kernel-native socket acceleration via eBPF, transparent node-level Envoy delegation for L7 policy, and automated workload mTLS attestation via SPIRE.
```yaml
# Production Invariant: Full eBPF socket-level routing with transparent per-node L7 mTLS
kubeProxyReplacement: "true"
bpf:
  masquerade: true
socketLB:
  enabled: true
envoy:
  enabled: true
loadBalancer:
  mode: "dsr"
authentication:
  mutual:
    spire:
      enabled: true
      adminSocketPath: "/run/spire/sockets/admin.sock"
encryption:
  enabled: true
  type: wireguard
  nodeEncryption: true
```

### Strict L7 CiliumNetworkPolicy with Kernel-Enforced mTLS

#### Bad Antipattern (AI Common Hallucination)
> **Why it fails**: Allows plain L4 ingress from any endpoint with label 'app: frontend' without requiring SPIRE/SPIFFE identity-validated mTLS or L7 protocol checks.
```yaml
apiVersion: "cilium.io/v2"
kind: CiliumNetworkPolicy
metadata:
  name: allow-checkout-ingress
spec:
  endpointSelector:
    matchLabels:
      app: checkout
  ingress:
  - fromEndpoints:
    - matchLabels:
        app: frontend
    toPorts:
    - ports:
      - port: "8080"
        protocol: TCP
```

#### Production Standard (Correct)
> **Standard**: Mandates cryptographic mutual TLS verification via 'authentication.mode: required' and constrains access to verified HTTP L7 endpoints directly inside eBPF/per-node Envoy.
```yaml
apiVersion: "cilium.io/v2"
kind: CiliumNetworkPolicy
metadata:
  name: allow-checkout-ingress-mtls
spec:
  endpointSelector:
    matchLabels:
      app: checkout
  ingress:
  - fromEndpoints:
    - matchLabels:
        app: frontend
    authentication:
      mode: required
    toPorts:
    - ports:
      - port: "8080"
        protocol: TCP
      rules:
        http:
        - method: "POST"
          path: "/v1/orders/checkout"
```

Recommended MCP Servers (mcp-serverlist.com)

Equip agent with system tools to verify code for this stack.

Recommended Agent Skills (askills.dev)

Ready-to-use executable skill functions tailored to this stack.

Architectural Specification & Invariant Rationale

Architectural Invariant Design: Cilium eBPF Socket-Level L7 mTLS Transparent Proxy Standard

Cilium eBPF Socket-Level L7 mTLS Transparent Proxy Standard defines an industrial-grade behavioral standard for devops engineering. Enforces sidecarless zero-trust networking using Cilium eBPF socket-level programs (sockops, sock_msg) to redirect traffic directly at the Linux kernel socket layer. Eliminates Envoy sidecar memory and latency tax while automating L7 mTLS, SPIFFE/SPIRE cryptographic workload identity assertion, and wire-level protocol parsing without application-layer changes. Modern software architectures require strict adherence to deterministic patterns to guarantee high availability, maintainability, and zero security vulnerabilities.

Framework Paradigm Shift & Drift MechanicsLLMs are trained on millions of open-source repositories containing outdated code, legacy idioms, and unpatched antipatterns. When coding assistants generate implementations for this stack, they default to common statistical tokens: Injecting heavyweight Envoy sidecar containers with duplicate TCP stacks and user-space context switches for L7 mTLS Without an explicit system instruction file, developers spend hours debugging silent failures.
Failure Modes & Production Blast Radius

Hazard Analysis: What Breaks Without This Rule

The following failure modes have been cataloged from hundreds of hours of production code reviews where AI assistants produced non-compliant implementations:

Failure ModeAI Symptom (The Anti-Pattern)SeverityProduction Impact & Remedy
AI Hallucination & Deprecation DriftInjecting heavyweight Envoy sidecar containers with duplicate TCP stacks and user-space context switches for L7 mTLSCritical
Violating this industrial standard introduces regression bugs, security risks, and unexpected runtime failures in production.
Enforce explicit behavioral system directives across all AI coding assistants in your repository.
Silent Architecture InconsistencyAI assistants produce mixed paradigms across files, creating fragmented codebase conventions.Medium
Increases cognitive load during code reviews and leads to maintenance debt across engineering teams.
Pin project conventions in .cursor/rules, CLAUDE.md, and AGENTS.md so all team agents follow identical guardrails.
Architectural Directives in Detail

Step-by-Step Production Directives

Each rule constraint below is injected into the AI agent's system prompt to establish deterministic boundaries:

1

Engineers MUST ALWAYS configure Cilium with 'bpf.masquerade=true', 'kubeProxyReplacement=true', and 'socketLB.enabled=true' to enforce kernel socket-level routing.

Engineers MUST ALWAYS configure Cilium with 'bpf.masquerade=true', 'kubeProxyReplacement=true', and 'socketLB.enabled=true' to enforce kernel socket-level routing.

Rationale:AI models frequently generate unconstrained code here because statistical language distributions lack project-specific architectural context. Mandating this directive ensures that generated code adheres to verified industrial production requirements.
Enforcement:Integrated into the Agent Pack rule file. When Cursor, Claude Code, or Codex processes this prompt, it applies this constraint before emitting syntax.
2

Engineers MUST configure Cilium mutual TLS using SPIRE integration ('authentication.mutual.spire.enabled=true') or embedded CA with WireGuard/IPsec fallback enabled for non-L7 paths.

Engineers MUST configure Cilium mutual TLS using SPIRE integration ('authentication.mutual.spire.enabled=true') or embedded CA with WireGuard/IPsec fallback enabled for non-L7 paths.

Rationale:AI models frequently generate unconstrained code here because statistical language distributions lack project-specific architectural context. Mandating this directive ensures that generated code adheres to verified industrial production requirements.
Enforcement:Integrated into the Agent Pack rule file. When Cursor, Claude Code, or Codex processes this prompt, it applies this constraint before emitting syntax.
3

Engineers MUST NOT inject sidecar proxy containers (e.g., istio-proxy, linkerd-proxy) into application Pod templates when Cilium Service Mesh is active.

Engineers MUST NOT inject sidecar proxy containers (e.g., istio-proxy, linkerd-proxy) into application Pod templates when Cilium Service Mesh is active.

Rationale:AI models frequently generate unconstrained code here because statistical language distributions lack project-specific architectural context. Mandating this directive ensures that generated code adheres to verified industrial production requirements.
Enforcement:Integrated into the Agent Pack rule file. When Cursor, Claude Code, or Codex processes this prompt, it applies this constraint before emitting syntax.
4

Engineers MUST specify 'spec.ingress[].authentication.mode

Engineers MUST specify 'spec.ingress[].authentication.mode: required' in CiliumNetworkPolicy manifests to strictly mandate L7 mutual TLS handshakes between workloads.

Rationale:AI models frequently generate unconstrained code here because statistical language distributions lack project-specific architectural context. Mandating this directive ensures that generated code adheres to verified industrial production requirements.
Enforcement:Integrated into the Agent Pack rule file. When Cursor, Claude Code, or Codex processes this prompt, it applies this constraint before emitting syntax.
5

Engineers MUST verify that host kernels satisfy minimum version requirements (Linux >= 5.10, recommended >= 6.1) for optimal eBPF sockops and sock_msg cgroup attach capabilities.

Engineers MUST verify that host kernels satisfy minimum version requirements (Linux >= 5.10, recommended >= 6.1) for optimal eBPF sockops and sock_msg cgroup attach capabilities.

Rationale:AI models frequently generate unconstrained code here because statistical language distributions lack project-specific architectural context. Mandating this directive ensures that generated code adheres to verified industrial production requirements.
Enforcement:Integrated into the Agent Pack rule file. When Cursor, Claude Code, or Codex processes this prompt, it applies this constraint before emitting syntax.
6

Applications MUST NOT terminate TLS locally on internal cluster interfaces if Cilium socket-level transparent L7 inspection and authorization rules are enforced.

Applications MUST NOT terminate TLS locally on internal cluster interfaces if Cilium socket-level transparent L7 inspection and authorization rules are enforced.

Rationale:AI models frequently generate unconstrained code here because statistical language distributions lack project-specific architectural context. Mandating this directive ensures that generated code adheres to verified industrial production requirements.
Enforcement:Integrated into the Agent Pack rule file. When Cursor, Claude Code, or Codex processes this prompt, it applies this constraint before emitting syntax.
Technical Questions & Answers

Frequently Asked Technical Questions

Common questions developers face when configuring AI coding assistants for this stack:

Q:Why is Cilium eBPF Socket-Level L7 mTLS Transparent Proxy Standard critical for AI coding assistants?

Enforces sidecarless zero-trust networking using Cilium eBPF socket-level programs (sockops, sock_msg) to redirect traffic directly at the Linux kernel socket layer. Eliminates Envoy sidecar memory and latency tax while automating L7 mTLS, SPIFFE/SPIRE cryptographic workload identity assertion, and wire-level protocol parsing without application-layer changes. Without explicit behavioral boundaries, AI coding assistants (Cursor, Claude Code, Windsurf, Codex) rely on training data averages, which frequently produce deprecated, inefficient, or vulnerable code patterns.

Q:How does adopting this rule prevent AI hallucinations?

This rule explicitly declares what the AI must avoid (Injecting heavyweight Envoy sidecar containers with duplicate TCP stacks and user-space context switches for L7 mTLS) and prescribes verified positive examples. Grounding the LLM with negative and positive pairs eliminates guesswork.

Q:Which AI coding environments are supported?

This specification is multi-platform compatible: Cursor (.cursor/rules/*.mdc & .cursorrules), Anthropic Claude Code (CLAUDE.md), Windsurf (.windsurfrules), Codex / Cline (AGENTS.md), and GitHub Copilot (.github/copilot-instructions.md).

Q:Can I combine this rule with other technology stacks?

Yes. Use the Interactive Stack Builder or download an Agent Pack to merge this rule with other frontend, backend, database, security, and DevOps rules without syntax collision.

Open Specification · CC BY 4.0·Free for Personal, Team & Commercial In-Repo Use

Citation & Open Source Attribution Guidelines

This specification is licensed under Creative Commons Attribution 4.0 International (CC BY 4.0). You are completely free to adapt and share this rule in your workspace. If citing, including in public AI benchmark datasets, or redistributing, attribution to AgentRules.org is required.

1 Rule in Stack

Cilium