pvc-remover

command module
v0.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 22, 2020 License: Apache-2.0 Imports: 16 Imported by: 0

README

pvc-remover

Kubernetes controllers to remove a PersistentVolumeClaim (PVC) of a particular StorageClass when an associated Pod is completed.

This project's primary purpose is the early deletion of volumes provisioned by cache-provisioner so that the volume contents can be committed and quickly reused for the next (build) job.

How it works

The Pod controller annotates and deletes matching PVCs (storageClassName, accessMode=ReadWriteOnce) that are associated with a matching, completed Pod (annotations?, labels?, status.phase=Succeeded, restartPolicy=Never).
The PVC controller removes the finalizer kubernetes.io/pvc-protection from PVCs that have a deletion timestamp and the annotation pvc-remover.mgoltzsche.github.com/no-pvc-protection allowing unsafe deletion while still referenced by Pods.

Build

make

Test

Run controller tests:

make test

Test interactively against a real cluster:

make manager
./bin/manager --storage-class=<your-ephemeral-storage-class-name>

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL