A service for migrating ReportPortal data between storage systems and upgrading database schemas. Supports three migration types that can run independently or together in a single execution.
| Capability | Description |
|---|---|
| Upgrade to 23.3+ | Migrate OAuth access tokens to API keys (required for ReportPortal 23.3+) |
| Consolidate storage | Merge multiple buckets (e.g. prj-1, prj-2, rp-bucket) into one (MinIO or S3) |
| MinIO → S3 | Migrate data from MinIO to Amazon S3 |
Benefits: All migrations can run in one job, execute sequentially, and preserve data integrity.
| Migration | Downtime |
|---|---|
| API Keys | Yes — ReportPortal must be stopped |
| Multi-bucket → single bucket | Yes — ReportPortal must be stopped |
| MinIO to S3 | No — ReportPortal can keep running; switch to S3 and run migration in background |
helm repo add reportportal-migrations https://reportportal.io/migrations-complex/
helm repo update
helm show values reportportal-migrations/migrations-complex > my-values.yaml
# Edit my-values.yaml: enable migrations and set DB/storage credentials
helm install my-migration reportportal-migrations/migrations-complex -f my-values.yaml
Monitor:
kubectl logs -l app.kubernetes.io/name=migrations-complex --follow
Clean up:
helm uninstall my-migration
Enable migrations and set endpoints/credentials in your values file:
migrations:
database:
apiKeys:
enabled: false # true for API keys migration
storage:
multiBucketToSingleBucket:
enabled: false
destinationType: minio # or "s3"
buckets:
projectPrefix: "prj-"
pluginsBucket: "rp-bucket"
singleBucketName: "rp-storage"
minioToS3:
enabled: false
buckets:
sourceBucket: "rp-storage"
destinationBucket: "rp-s3-storage"
database:
endpoint: <postgres-host>
port: 5432
user: rpuser
dbName: reportportal
password: "" # or use secretName
storage:
minio:
endpoint: <minio-host>
port: 9000
ssl: false
accessKey: ""
secretKey: ""
s3:
region: "eu-central-1"
endpoint: s3.eu-central-1.amazonaws.com
ssl: true
accessKey: ""
secretKey: ""
Use Kubernetes secrets for credentials when possible (secretName / passwordKeyName, etc.).
kubectl run with postgres image and psql).See repository LICENSE file.
Content type
Image
Digest
sha256:ddca10b1f…
Size
375.6 MB
Last updated
8 months ago
docker pull reportportal/migrations-complex