Recursive namespaces to run containers inside a container

We would like to deploy a containerized workload that creates nested containers to isolate individual tasks. This post explores the challenges of safely running a container inside a container. In three parts, I present:

  • User namespaces.
  • Required capabilities …
more ...


Logreduce WASM based web interface

This post introduces a new Web Assembly (WASM) based web interface to visualize logreduce's reports.

In three parts, I present:

  • The logreduce report format.
  • WASM and Web APIs.
  • HTML macro examples.

Context and problem statement

Logreduce produces a report containing the anomalies context …

more ...

Introducing an effects system for Monocle

This blog post explains the reasons we integrated an effect system in Monocle. This post aims to be beginner friendly. We understand that some concepts sound intimidating and we hope that this post demystifies them a bit.

First …

more ...

How to manually update Kubernetes Resources

This article demonstrates different strategies to update kubernetes resources.

Context and Problem Statement

Our goal is to update resource without overwritting changes made outside of our control. For example, we would like to upgrade a container image version or a deployment replicas count.

In the context of a kubernetes operator …

more ...

Running Software Factory on OpenShift

This article presents a plan for running Software Factory on OpenShift.

Context and Problem Statement

We are looking for solutions to the following list of pain points with the current system:

  • Where are the services secrets, and how can I rotate them? This is a key requirement for auditing purpose …
more ...

Completing the first release of logreduce-rust

I am happy to announce that the logreduce-rust project now implements a minimum viable product. It can be used to compare two remote directories like this: logreduce diff build-log-url1 build-log-url2. This article introduces the latest features.

In this post I will write about:

  • My choices regarding user input processing.
  • Data …
more ...

Introducing the BytesLines iterator

The BytesLines iterator's goal is to provide an API for processing logs line by line. It processes logs by:

  • Splitting sub line to treat cmd output embedded as a long oneliner.
  • Working with Read objects, such as file decompressors or network endpoints.
  • Using zero copy slices to optimize memory usage …
more ...


Improving logreduce with Rust

This article introduces logreduce-tokenizer which leverages the Rust programing language to improve logreduce performance and reporting capabilities.

In this post you will learn:

  • What logreduce is.
  • How it works.
  • Why we need this new function.
  • What the upcoming roadmap is.

Logreduce

Logreduce is a command line tool that can extract …

more ...