Skip to content

docs: record CNI chaining spike findings and decision not to pursue - #196

Merged
justinsb merged 1 commit into
gke-labs:mainfrom
codebot-robot:issue_194
Nov 3, 2026
Merged

justinsb merged 1 commit into
gke-labs:mainfrom
codebot-robot:issue_194

Conversation

@codebot-robot

Copy link
Copy Markdown
Collaborator

Fixes #194

Record the findings and learnings from the CNI chaining spike in
docs/design/spikes/cni-plugin.md. Document the decision not to pursue
CNI chaining in favor of NRI (gke-labs#159), covering verification on kind,
fail-closed ordering, pod identity, platform conflicts on GKE, bypasses
(sandboxed runtimes, UID 1337, IPv6), and carrying forward the host-side
interface observation for microVM enforcement (gke-labs#181).

Fixes gke-labs#194

@justinsb justinsb left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Docs-only against current main, and it covers everything #194 asked for: status not pursued because the #159 comparison chose NRI; what the spike built and observed on kind (conflist chaining, API lookup with a node kubeconfig, nsenter rules, ordering ahead of init containers, fail-closed on plugin error); the four observed reasons; the identity statement as it actually was (no RemoteAddr to pod mapping); the prevResult host-side interface carried into #181; and an NRI comparison that is accurate about RunPodSandbox/StopPodSandbox and the rollout window. No license header, 83 lines.

Assigning to @justinsb for the merge.

@justinsb justinsb self-assigned this Nov 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

CNI chaining spike writeup (docs only): record why it is not pursued

2 participants