Flavio Castelli

Debugging my life

Oct 5, 2020 - 16 minute read - Comments - argo argo workflow ARM buildah containers kubernetes multi-architecture container

Build multi-architecture container images using argo workflow

Note well: this blog post is part of a series, checkout the previous episode about running containerized buildah on top of Kubernetes. Quick recap I have a small Kubernetes cluster running at home that is made of ARM64 and x86_64 nodes. I want to build multi-architecture images so that I can run them everywhere on the cluster, regardless of the node architecture. My plan is to leverage the same cluster to build these container images.

Sep 16, 2020 - 23 minute read - Comments - AppArmor ARM buildah containers kubernetes multi-architecture container podman seccomp

Build multi-architecture container images using Kubernetes

Recently I’ve added some Raspberry Pi 4 nodes to the Kubernetes cluster I’m running at home. The overall support of ARM inside of the container ecosystem improved a lot over the last years with more container images made available for the armv7 and the arm64 architectures. But what about my own container images? I’m running some homemade containerized applications on top of this cluster and I would like to have them scheduled both on the x64_64 nodes and on the ARM ones.

Feb 27, 2020 - 6 minute read - Comments - docker containers kubernetes

Semantic versioning and containers

Developers are used to express the dependencies of their programs using semantic versioning constraints. For example a Node.js application relying on left-pad could force only certain versions of this library to be used by specifying a constraint like >= 1.1.0 < 1.2.0. This would force npm to install the latest version of the library that satisfies the constraint. How does that translates to containers? Imagine the following scenario: a developer deploys a containerized application that requires a Redi database.

Jul 18, 2018 - 9 minute read - Comments - docker portus containers openSUSE

Hackweek Project Docker Registry Mirror

As part of SUSE Hackweek 17 I decided to work on a fully fledged docker registry mirror. You might wonder why this is needed, after all it’s already possible to run a docker distribution (aka registry) instance as a pull-through cache. While that’s true, this solution doesn’t address the needs of more “sophisticated” users. The problem Based on the feedback we got from a lot of SUSE customers it’s clear that a simple registry configured to act as a pull-through cache isn’t enough.

Jul 24, 2015 - 1 minute read - Comments - docker opensuse

Putting openSUSE Docker images on a diet

In case you missed the openSUSE images for Docker got suddenly smaller. During the last week I worked together with Marcus Schäfer (the author of KIWI) to reduce their size. We fixed some obvious mistakes (like avoiding to install man pages and documentation), but we also removed some useless packages. These are the results of our work: openSUSE 13.2 image: from 254M down to 82M openSUSE Tumbleweed image: from 267M down to 87M Just to make some comparisons, the Ubuntu image is around 188M while the Fedora one is about 186M.

Apr 23, 2015 - 3 minute read - Comments - docker portus opensuse suse hackweek

Introducing Portus: an authorization service and front-end for Docker registry

One of the perks of working at SUSE is hackweek, an entire week you can dedicate working on whatever project you want. Last week the 12th edition of hackweek took place. So I decided to spend it working on solving one of the problems many users have when running an on-premise instance of a Docker registry. The Docker registry works like a charm, but it’s hard to have full control over the images you push to it.

Nov 3, 2014 - 1 minute read - Comments - docker openSUSE orchestration

Orchestrating Docker containers on openSUSE

A couple of weeks ago the 11th edition of SUSE’s hackweek took place. This year I decided to spend this time to look into the different orchestration and service discovery tools build around Docker. In the beginning I looked into the kubernetes project. I found it really promising but AFAIK not yet ready to be used. It’s still in its early days and it’s in constant evolution. I will surely keep looking into it.

May 6, 2014 - 2 minute read - Comments - cloud openSUSE SUSE docker KIWI

Building docker images with KIWI

I’m pleased to announce Marcus Schäfer has just made possible to build docker images with KIWI. For those who never heard about it, KIWI is a tool which creates Linux systems for both physical and virtual machines. It can create openSUSE, SUSE and other types of Linux distributions. Update: I changed the required version of kiwi and the openSUSE 13.1 template. Kiwi just received some improvements which do no longer force the image to include the lxc package.

Feb 13, 2014 - 1 minute read - Comments - cloud openSUSE paas

Docker and openSUSE getting closer

I have some good news about Docker and openSUSE. First of all the Docker package has been moved from my personal OBS project to the more official Virtualization one. The next step is to get the Docker package into Factory :) I’m going to drop the docker package from home:flavio_castelli:docker, so make sure to subscribe to the Virtualization repository to get latest versions of Docker. I have also submitted some openSUSE related documentation to the official Docker project.

Nov 28, 2013 - 2 minute read - Comments - cloud openSUSE paas

Better Docker experience on openSUSE

I don’t know if you are aware of that, but Docker 0.7.0 has been released a couple of days ago. You can read the full announcement here, but let me talk about the biggest change introduced by this release: storage drivers! Docker has always used AUFS, a “unionfs-like” file system, to power its containers. Unfortunately AUFS is neither part of the official kernel nor of the openSUSE/SLE one. In the past I had to build a custom patched kernel to run Docker on openSUSE.