0013 Restore Approach#
Context and Problem Statement#
Restoring volumes from a backup needs a solution so that the deployment of the application is delayed until the restore did happen.
How should this best be implemented?
Considered Options#
Use Helm and its hook mechanism.
Use a custom init container.
Use a Job together with the dependency handling of Flux.
Switch to a different storage which provides snapshots and clones, so that the Volume Provisioner of Volsync can be used.
Decision Outcome#
The dependency handling of Flux does wait until Job did complete.
The waiting for a specific status of the ReplicationDestination object is
implemented in a Job by using kubectl. The volume setup and restore is
installed via a dedicated Flux Kostomization so that the dependency handling of
Flux can be leveraged.