Minio for local S3 storage using podman

Minio for local S3 storage using podman Introduction When using Single Node OpenShift and other options for local clusters it may be helpful to also have a local s3 instance. The very basics An instance of minio without HTTPS can be created very easily. Networking considerations Because the default ports for HTTP and HTTPS are privileged you must make a decision how to run these commands. Run the podman run commands as root Create /etc/sysctl....

November 3, 2021 · Jason Montleon

Using Single Node OpenShift for Development

Introduction Single Node OpenShift is a new offering that also works great for development, although it does require some planning and preparation before using it for the first time. You will need to provide 8 vCPU, 32GB of RAM, and 120GB of storage at a minimum. Decide where you want to run SNO after reviewing the minimum requiremnents Configuring a static lease is helpful but not required Configuring DNS entries is preferable, but again optional Minimum Requirements:...

November 3, 2021 · Jason Montleon

Multi Arch Container Builds

Introduction OADP is a backup solution for OpenShift and Kubernetes. As its popularity grows the desire to use it for backups on platforms other than x86_64 has grown. Hardware for s390x, aarch64/arm64, and ppc64le is not readily available so we had to find an alternative solution for performing builds. We used podman locally to test builds, and then implemented automated builds for a golang 1.16 builder in one org where GitHub Actions are preferred, and then built the application images in another org where Travis is required....

October 30, 2021 · Jason Montleon

Interchangeable Components with Go Interfaces

Introduction The MTC codebase has grown over the years to add in support for multiple methods of PV migration. As we added in the additional methods the code grew in complexity. We recently addressed this complexity by refactoring to create Go Interfaces to obtain interchangeable components. This pattern has worked well for the development team and we’d like to describe more of the thinking process and steps we took to arrive at this implementation in this post....

July 27, 2021 · Jason Montleon

Restic Out of Cache

Recently the engineering team was engaged in a customer issue where using restic for PV migration was failing. The issue reported was very close to this, the details of which are captured here. The cache that is being talked about in this issue is a memory reserved by the restic program when running the restore CLI command. More details here. The fix of this issue removes the cache altogether. Prior to restic v0....

May 21, 2021 · Alay Patel

Copying Pvc Data Manually

Sometimes there is a need top copy select files from one PVC to another. This post describes how to use rsync and a bastian host that has access to both PVCs (same cluster or different) to copy selected files. Set up a temporary Pods In order to copy data using rsync, both the source and destination PVC needs to be mounted on a Pod that has rsync and tar binaries. If you already have the PVC’s mounted with pods that has both the aforementioned binaries, this step can be skipped....

May 21, 2021 · Alay Patel

Iterating on Molecule Testing

Testing Molecule Test Code Openshift ci is enabled on the mig-operator, and now we should be writing end-to-end tests when a feature or bugfix is added. This document will show you how to iterate and test the molecule test that must be added. Creating Molecule Test The first step is to create your molecule test. These tests should be added in the openshift directory. To understand how to write molecule tests, you should look at the docs here....

May 21, 2021 · Shawn Hurley