Aye aye captain

All aboard the gopher-governed container ship! And yes, we have Kubernetes stuff going on again! This time in the form of a platform for simple CI/CD management that is entirely developed in Go! Let’s a have a closer look at this intriguing combination!

Dear friends and colleagues, guess what!

It’s time to pick inside another Kubernetes goodie bag! This time it comes in the form of a platform for simple CI/CD pipelines setup, revision control, and role management.

Meet Containerum, an open source platform for the complete management of Kubernetes clusters.

The number one advantage of Containerum is that it allows performing updates and rollbacks in a matter of minutes and ensures fast automated delivery and flexible cloud management.

What’s more, Containerum runs on top of any Kubernetes cluster and is managed via CLI or intuitive Web UI.

Let’s have a closer look at some of the features.

What it’s made of

Containerum consists of 9 main components and 2 libraries ( MongoDB, PostgreSQL). More precisely:

Gateway: api-gateway provides routing for Containerum components

User manager: a service for managing users, groups, credentials, blacklists for Containerum

Resource: manages Kubernetes namespace objects: deployments, ingresses, etc.

Permitssions: manage user access to enable teamwork

Kubi-api: a set of API for communication between Containerum and K8s

Auth: an OAuth authentication server for Containerum that handles user authorization and token management.

Mail: a mail server and newsletter template manager

UI: a Web User Interface for Containerum

Chkita: a desktop CLI client for Containerum.

Check out the official documentation to find out more. But to give you a quick overview of how Containerum works, the following figure illustrates its architecture:

Make sure you keep track of the roadmap implementation on the official Containerum Projects page. The team has some super amazing features and improvements on the way!

The best of both worlds?

There is a huge surprise hidden behind the creation of Containerum and that is Go!

Containerum is being developed entirely in Go and as Pavel Petrukhin mentioned in his article, “despite certain challenges”, the team behind the project believes that Go was the right choice.

In the same article, Petrukhin went through the benefits of this choice, including:

Static typing

Minimalism

Powerful standard library

Linters and utilities

Performance

Super-fast compilation

If you ask me, containers and a gopher make for a pretty sweet combination!

Getting started

Before installing Containerum, you should make sure you have the following components:

Docker

Kubernetes 1.5 or higher

Helm

Installed Kubernetes Ingress Controller

You can launch Containerum on your Kubernetes Cluster by running:

helm repo add containerum https://charts.containerum.io helm repo update helm install containerum/containerum

There is also the online version! It is already installed and preconfigured for production. However, keep in mind that while the platform is still free, users are billed only for resources.

asap