/cricket

A no-op Open Container Initiative-based implementation of Kubernetes Container Runtime Interface

Primary LanguageGoMIT LicenseMIT

cricket

Release Version

cricket logo

cricket is a simple, terribly lazy, work-in-progress Open Container Initiative-based implementation of Kubernetes Container Runtime Interface. When asked to do anything by its clients, it just "nods" its imaginary head and silently ignores it (insert crickets noise here). It stores some state which helps it to lie in the future. This is by design.

It's NOT meant to be used for anything serious at all.

But why?

tl;dr: because we can!

Besides, it helps one to see what is happening under the hood and gain a deeper understanding of the layers beneath the kubelet.

I created this mostly for fun and no profit.

Build

$ make cricket

Run

$ build/cricket

Once the server is running, it can be interacted with by the crictl command-line tool.

$ crictl --runtime-endpoint unix:///tmp/cricket.sock version
Version:  v0.4.20
RuntimeName:  cricket
RuntimeVersion:  v0.4.20
RuntimeApiVersion:  v1alpha1

Supported commands

  • Version
  • RunPodSandbox
  • StopPodSandbox
  • RemovePodSandbox
  • PodSandboxStatus
  • ListPodSandbox
  • CreateContainer
  • StartContainer
  • StopContainer
  • RemoveContainer
  • ListContainers
  • ContainerStatus
  • UpdateContainerResources
  • ReopenContainerLog
  • ExecSync
  • Exec
  • Attach
  • PortForward
  • ContainerStats
  • ListContainerStats
  • PodSandboxStats
  • ListPodSandboxStats
  • UpdateRuntimeConfig
  • Status
  • CheckpointContainer
  • GetContainerEvents
  • ListMetricDescriptors
  • ListPodSandboxMetrics
  • RuntimeConfig
  • ListImages
  • ImageStatus
  • PullImage
  • RemoveImage
  • ImageFsInfo