Skip to content
View NahumLitvin's full-sized avatar

Block or report NahumLitvin

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
NahumLitvin/README.md

Hi, I'm Nahum

Technical Lead - DevOps Engineering at Wix, Dublin. I keep a multi-region Kubernetes platform for untrusted user code running: isolation, cold starts, scaling, cost and on-call, one site per gVisor sandbox.

When the bug is in open source, I fix it upstream, and I write up how I found it at catchkill9.dev.

%%{init: {"themeVariables": {"fontSize": "18px"}}}%%
flowchart LR
  kubelet -->|CRI| ctr["containerd"]
  ctr --> shim["gVisor shim"]
  shim --> sandbox
  subgraph sandbox["Pod sandbox, one site"]
    code["Untrusted<br/>user code"] -->|syscalls| sentry["gVisor Sentry"]
  end
  sentry --> kernel["Host kernel"]
  style sandbox fill:#fff8e1,stroke:#bf8700,color:#4d2d00
  style code fill:#fff1c2,stroke:#bf8700,color:#4d2d00
  style kubelet fill:#326ce5,stroke:#1f4fb4,color:#ffffff
  style ctr fill:#8250df,stroke:#5e34a8,color:#ffffff
  style shim fill:#8250df,stroke:#5e34a8,color:#ffffff
  style sentry fill:#8250df,stroke:#5e34a8,color:#ffffff
  style kernel fill:#1a7f37,stroke:#0f5323,color:#ffffff
Loading

Upstream

containerd
Bound snapshot GC so a hung snapshotter can't block new pods while the node still reports Ready merged, then reverted for a client-side fix
Configurable deadline on proxy snapshotter calls so one hung call can't block the whole snapshotter open
gVisor
Keep resending to a slow stub instead of killing it, so a long host page fault can't take down a healthy sandbox open
30s deadlines on runsc Kill, Stats and Status so a wedged sandbox can't hold the shim lock forever merged
Recover missed systrap interrupts and kill only the stuck subprocess, so a wedged task can't block sandbox teardown merged
Document inotify behaviour on shared volumes merged
SOCI snapshotter
Close the span cache reader in file Verify so pod-start bursts can't leak the snapshotter past its fd limit merged
Security Profiles Operator
Handle AppArmorProfile owners in node status, my first upstream PR merged

All of it with the backstory: catchkill9.dev/oss

Latest posts

Blog · LinkedIn · dev.to · RSS

Popular repositories Loading

  1. prismantis prismantis Public

    Colorful, themeable Claude Code replies: tables, code, diagrams, charts and tool rows in 15 themes, with copy buttons. A Claude Code mod.

    TypeScript 8

  2. WPF.Toaster WPF.Toaster Public

    Forked from IvanLeonenko/WPFGrowlNotification

    Lightweight growl notifications for WPF project.

    C# 1

  3. PubSale2015 PubSale2015 Public

    Java WorkShop Project Bsc - סדנה בגאווה מתקדם

    Java 1

  4. Ioc.QuickStart Ioc.QuickStart Public

    ioc usage lecture

    C#

  5. JDBCExample JDBCExample Public

    דוגמה עבור קורס גאווה מתקדם

    Java

  6. sharedfile sharedfile Public

    Automatically exported from code.google.com/p/sharedfile

    ActionScript