Docktorino is a real-time continious testing tool for your docker builds, helping you containerize with confidence! When building Docker images it is sometimes tricky to assert the image behavior, for example, whether the contents of the image you built is correct, or that commands can execute correctly inside your container ( maybe you forgot to set your binary’s PATH). Docktrino makes these types of assertions easy to define when building your Docker images.
DOCKument is a tool that helps you auto-generate documentation for your Dockerfiles and Docker images the way you would an API. Matthias Lübken gave an example on how to use “API” like labels to describe important information in the Dockerfile (e.g., resources used, exposed ports, dependencies, etc) here. This project makes use of similar label patterns to fetch important data in Dockerfiles / Docker images and create Dockumentation for it automagically.
Kubernetes has been taking over the container orchesteration stage for sometime now, it has a large community and a great set of tooling and contributers backing it. Along those lines, picking up kubernetes skills can be a little daunting at first, but fear not, as documentation is rich and concepts are well elaborated in not one but many places. In this post, I won’t attempt to re-explain kubernetes concepts (pods, deployments, services, replicasets, …etc) since as I said, a lot of great people did that job already, and did it very well (if you still have doubts about some of the concepts, I would be glad to help clear smoke up).
In this post we will be covering eBPF concepts, as well as challenges faced when applying network policies for microservices and how these challenges can be tackled. Finally, we will have a look at Cilium to see how it makes eBPF simple and easy to utilize. Introduction - What is eBPF - The bpf() system call - Important use-cases for eBPF - How to create an eBPF program? Microservices - What are Microservices and how do they work?
Alright, so recently I decided to use sensor for different applications. Sensors are a great way to hear, see, and even feel things that we as humans can’t see or hear. This post is the first in a long series to come about making, circuits, and the discovery of the world of things around use. Components How does an ultrasonic sensor work? My latest project was to use an ultrasonic sensor to detect distance.
OCI, Containerd, runC, Moby, linuxkit are all relatively new components that work together for building containers. In this post we will explain each component and how these components relate to one another. Lets Start with the Basics (OCI, runC, Containerd) So what is the Open Container Initiative (OCI)? What are runC and Containerd? Demistyfing Moby & The LinuxKit Linuxkit Test-Drive Important References Lets Start with the Basics (OCI, runC, Containerd) Before jumping in and talking about Moby and Linuxkit, it is important to establish some basic knowledge first, this will make understanding Linuxkit much easier.
As you might know already Docker is now the defacto standard for containers. It is being used as the run-time for many clustering frameworks. Therefore, I thought about summarizing some of the important commands that you might need in your day-to-day docker life. I hope this post will be useful for you. General Docker Commands ## Tagging an image docker tage <image_id> name_of_the_image #real time logs docker logs --tail 1 --follow cbceaaea0ef5 # Forcing a rebuild docker build --no-cache # publish a port even if it was not expose in the dockerfile docker run -p <port> # publish all ports that were explosed in the docker file docker run -P # Setting up environment variables docker run -e WEBAPP_PORT=8000 -e WEBAPP_HOST=www.
I have received many questions about a new project that I have created called GoSayan, so I decided to write a blog post about it. What is GoSayan? Needless to say that GoSayan is a project I started to work on as a hobby in my free time. So I am a “learn by doing” kind of person, even when I was learning Golang, I tried coding as many stub projects as I could, however, there is a limit to the amount of knowledge I can acquire because I have another life to live :D.
Welcome to “Go Recipes For the Lost” post, this is a live post, it won’t ever be done as long as I am writing go code. The intention here is to share with you some fast resolution for common Go coding problems. Let’s begin. Undefined function even though it is declared in another file! When you would like to use functions defined in another go file, and you are using the “run” command.
Microservices are decoupled components that follows the Single Responsibility Principle (SRP), that is, a component does one thing but does it really well. In this mini-book we will be discussing various patterns for decomposing a service into a microservice. What motivates developers to go Micro? How to decompose your services? Handling Cross-cutting concerns Handling communication between micro-services ? Service-Discovery - Where is my-service? Handling failure across dependent services (Circuit breaking reliability) Handling storage-dependencies for microservices Handling access to services Service Function Validation Logging, Instrumentation, and health-checking (Observability) Is it really worth it?