A handy way to troubleshoot containers lacking a shell and/or debugging tools (e.g, scratch, slim, or distroless):
cdebug exec -it <target>.
This project allows one to make a bootable Linux disk image from a Dockerfile. It was meant to be a just for fun educational thing but turned out to have some real-world use cases. Read more about the technique in this post of mine.
A growing collection of mini-programs covering various
client-go use cases inspired by client-go/examples. The intention (at least so far) is to test (more or less) fresh version of Go and packages against a few latest Kubernetes versions.
Not an awesome-docker list. Instead of being beginner-focused all-encompassing list of resources to get into containers, this project is collecting links to (and thoughts about):
- Lower-level building blocks (runtimes, libraries, CLIs)
- Solutions for running containers locally and remotely
- Helper tools and libraries to inspect, edit, or move images
- In-depth write-ups and video resources on the above.
I often find myself staring at Nginx or Envoy access logs
tailed to my screen in real time. My only wish at that moment is to be able to aggregate the lines somehow and analyze the output at a slower pace. Ideally, with a familiar and concise query language. And that's what
pq does. It allows one to define the basic parsing rules turning a log file into a stream of structured records. When every record has a timestamp, such a stream becomes a time series. Hence,
pq can aggregate it into various histograms, percentiles, and counters on the fly. Read more here.
The aim of the project is to implement yet another container manager. Just like Docker but way more lightweight. Primarily, for the sake of [self-]education. The conman project is heavily inspired by cri-o and the ultimate goal was to make it Kubernetes CRI-compatible. Check out this series of articles for more.
Shimmy is a simplistic shim between a container manager and a container runtime. It's a low-level piece of system software written in Rust. It started as part of the conman project with the goal to simplify programmatic use of runc (low-level container runtime) from the higher-level container manager.
This project collects a bunch of scenarios (in form of docker-compose files) showing various ways how to run an asynchronous Flask application with gevent. You can find the comparison of the options here.
Well, it's a fully-functional event loop implementation in 100 lines of plain Python (no advanced language features are used). I find it super-helpful to explain the programming model behind Node.js or alike environment. Check out this short series for more.
- diskusage-ng - Node.js package to get disk usage information via OS built-ins. Windows, macOS, and Linux support. No dependencies. Suitable for server-side or Electron apps.
- Producer-Consumer problem visualization - interactive HTML5 canvas demo.
- nim-2048 - console version of 2048 game written in Nim (a non-mainstream language).
- popen2 - duplex
popen()written in C.