Johannes Kastl's avatar

Johannes Kastl

ojkastl_buildservice

Involved Projects and Packages
Maintainer Bugowner

firectl is a command-line tool to run Firecracker microVMs

This project is where work on new versions for packages related to containers, like docker, runc, etc. is being done. This project contains the packages as well as the runtime dependencies. Thus, feel free to add this repo to your box and install the packages you are interested in.

Some build time dependencies are on other projects that we use on "build time", like go packages. If you are interested on knowing where each build dependency comes from, use "osc buildinfo".

Some packages here are automatically submitted to openSUSE:Factory.

Feel free to fork the packages here and send submit requests with patches/updates.

Diun is a CLI application written in Go and delivered as a single executable (and a Docker image) to receive notifications when a Docker image is updated on a Docker registry.

Docker Compose is a tool for running multi-container applications on Docker defined using the Compose file format. A Compose file is used to define how the one or more containers that make up your application are configured. Once you have a Compose file, you can create and start your application with a single command: docker compose up.
About update and backward compatibility

Docker Compose V2 is a major version bump release of Docker Compose. It has been completely rewritten from scratch in Golang (V1 was in Python). The installation instructions for Compose V2 differ from V1. V2 is not a standalone binary anymore, and installation scripts will have to be adjusted. Some commands are different.

For a smooth transition from legacy docker-compose 1.xx, please consider installing compose-switch to translate docker-compose ... commands into Compose V2's docker compose .... . Also check V2's --compatibility flag.

Compose Switch is a replacement to the Compose V1 docker-compose (python) executable. It translates the command line into Compose V2 docker compose then run the latter.

Helm is a tool for managing Kubernetes charts. Charts are packages of pre-configured Kubernetes resources.

Kubetui is a terminal user interface (TUI) tool designed for monitoring Kubernetes resources.
It provides an easy-to-use interface for developers and operators to access important information about their applications and infrastructure.

A toolkit for building secure, portable and lean operating systems for containers

Maintainer Bugowner

LXC is the well-known and heavily tested low-level Linux container runtime.

Maintainer Bugowner

LXCFS is a small FUSE filesystem written with the intention of making Linux containers feel more like a virtual machine. It started as a side-project of LXC but is useable by any runtime.

Features

- Pull-through cache for _any_ registry, not just docker.io
- This includes private, authenticated registries. **This means that you can create an unauthenticated mirror of a private registry and expose it to the Internet. Easily. Don't do that.**
- Two storage back-ends
- S3
- Local filesystem
- Small footprint; in my test system, the official `registry` uses approximately 130 MiB of memory to mirror docker.io; five replicas of `oci-registry` combined use approximately 60 MiB to mirror everything in [example.yaml](example.yaml), plus one private registry. CPU is negligible for both.

Client interface for the registry API. This includes regctl for a command line interface to manage registries.

youki is an implementation of the OCI runtime-spec in Rust, similar to runc.

Here is why we are writing a new container runtime in Rust.

* Rust is one of the best languages to implement the oci-runtime spec. Many very nice container tools are currently written in Go. However, the container runtime requires the use of system calls, which requires a bit of special handling when implemented in Go. This is too tricky (e.g. namespaces(7), fork(2)); with Rust, it's not that tricky. And, unlike in C, Rust provides the benefit of memory safety. While Rust is not yet a major player in the container field, it has the potential to contribute a lot: something this project attempts to exemplify.

* youki has the potential to be faster and use less memory than runc, and therefore work in environments with tight memory usage requirements. Here is a simple benchmark of a container from creation to deletion.

Runtime Time (mean ± σ) Range (min … max)
youki 198.4 ms ± 52.1 ms 97.2 ms … 296.1 ms
runc 352.3 ms ± 53.3 ms 248.3 ms … 772.2 ms
crun 153.5 ms ± 21.6 ms 80.9 ms … 196.6 ms

* I have fun implementing this. In fact, this may be the most important.

This is the factory development project for Vagrant

This plugin allows obtaining a public IP address of a guest machine.

This uses a fork with small adjustments to make this work with up-to-date ruby and bundler versions.
https://github.com/johanneskastl/vagrant-address

This is a Vagrant plugin that adds a Libvirt provider to Vagrant, allowing
Vagrant to control and provision machines via the Libvirt toolkit.

Tools for VMware

10564 contributions in the last year
Mon                                                                                                          
Tue                                                                                                          
Wed                                                                                                          
Thu                                                                                                          
Fri                                                                                                          
Sat                                                                                                          
Sun                                                                                                        
Contributions on 2024-09-23
32 commits
23 requests created
7 comments written
openSUSE Build Service is sponsored by