Run Integration Tests
Provider Storage uses an ephemeral Kind cluster for local integration tests.
The cluster name is provider-storage-it. Every script uses the explicit
kind-provider-storage-it context.
Prerequisites
Install Docker, Kind, kubectl, Helm, Crossplane CLI, and dyff. Run the full unit suite before integration:
tests/unit.bash
An agent must ask the operator before it creates the local test cluster. After approval, run:
tests/integration/create-cluster.bash
The other scripts stop if this cluster is absent. They do not create it or use another current Kubernetes context.
Test MinIO
MinIO needs no cloud IAM bootstrap:
tests/integration/run.bash minio
The integration command deploys Crossplane, MinIO, the required providers,
and one MinIO Storage. It waits for the resource and its credential Secret,
then verifies an object round trip and lifecycle cleanup.
Test a Cloud Backend
Cloud tests use the same cluster. Before provider deployment:
- complete the backend procedure in the cloud IAM bootstrap guide;
- create the provider credential Secret with the direct kubectl command in the integration README; and
- run the provider and verification scripts for the selected backend.
CloudFerro uses a different order because its IAM bootstrap creates the slot ProviderConfigs. Follow the complete command sequence in the integration test guide.
The backend commands, credential formats, and multi-backend workflow are in
tests/integration/README.md.
Run tests/integration/run.bash ovh for OVHcloud. It
creates one Storage with two buckets and checks S3 access through the
generated consumer Secret. Rotation, lifecycle, and orphan cleanup remain in
the integration plan.
List retained test resources by backend:
kubectl --context kind-provider-storage-it \
get storages.pkg.internal \
--namespace provider-storage-it \
-L storages.pkg.internal/backend
The cluster is for a validation cycle. Remove it when the operator directs you to do so:
kind delete cluster --name provider-storage-it