This repository contains the source of the differential snapshot controller prototype.
Prerequisites:
- Go
- Docker
To compile the controller Go binary locally:
make compileThis will produce a local binary named diffsnap-controller. To run it:
./diffsnap-controllerTo build and push the controller's image:
make build
make pushThe image name and tag can be overridden using the IMAGE_NAME and IMAGE_TAG
variables.
To deploy to Kubernetes:
kubectl apply -f artifacts/examples/differentialsnapshot.example.com_getchangedblocks.yaml
kubectl apply -f deploy/controller/ns.yaml
kubectl auth reconcile -f deploy/controller/rbac.yaml
kubectl apply -f deploy/controller/deploy.yamlThe controller will be deployed to the new diffsnap namespace.
An example of the GetChangedBlock custom resource can be found in
artifacts/examples/getchangedblocks.yaml.
Instructions on how to set up an EKS cluster with the CSI snapshot controller
and EBS CSI driver can be found in the deploy/eks/README.md file.
To re-generate the CRD clientsets and informers code:
make codegen