Summary
Improve crane transfer-pvc for same-cluster StorageClass conversion so it does not require or create a public
endpoint (--endpoint) when source and destination PVCs are in the same cluster.
Motivation
For same-cluster PVC conversion, Crane when currently uses the direct-transfer path and requires an endpoint such
as an OpenShift Route or Kubernetes Ingress. The rsync source and destination Pods already run in the same
cluster, so exposing a temporary public endpoint is unnecessary and may be disallowed by cluster networking
policy.
Proposed behavior
When source and destination contexts resolve to the same cluster:
- Detect same-cluster transfer automatically.
- Create rsync client/server Pods that communicate through an internal ClusterIP Service.
- Do not require --endpoint, --ingress-class, or --subdomain.
- Avoid creating Routes or Ingress resources.
- Retain the existing same-cluster/different-PVC-name validation.
- Continue supporting --dest-storage-class for conversion workflows.
Acceptance criteria
- Same-cluster transfers complete without --endpoint.
- No Route or Ingress is created for same-cluster transfers.
- Source and destination PVCs can have different names and StorageClasses in the same namespace.
- Internal service communication is used for the rsync transfer.
- Cross-cluster transfers retain existing endpoint behavior.
- Tests cover same-cluster conversion and ensure no endpoint resources are created.
Summary
Improve crane transfer-pvc for same-cluster StorageClass conversion so it does not require or create a public
endpoint (--endpoint) when source and destination PVCs are in the same cluster.
Motivation
For same-cluster PVC conversion, Crane when currently uses the direct-transfer path and requires an endpoint such
as an OpenShift Route or Kubernetes Ingress. The rsync source and destination Pods already run in the same
cluster, so exposing a temporary public endpoint is unnecessary and may be disallowed by cluster networking
policy.
Proposed behavior
When source and destination contexts resolve to the same cluster:
Acceptance criteria