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