The Checkpoint type which is serialized and persisted to disk is in part composed of third-party types:
If these types were to subtly change as a result of a dependency update, the format the driver serializes may become incompatible with prior versions and break driver upgrades. The driver should define these types wholly itself to guard against this.
We should define sufficiently equivalent types for the ones listed above and leverage conversion-gen if possible to convert to the third-party types expected by the kubelet and make incompatible changes which need to be handled manually more visible.