Skip to main content
Version: 0.1 · v0.1.0

Report destinations

spec.source selects where the operator writes the report. Drop any of these blocks into an UpgradeAnalysis.

file (default)​

Written to the pod and served over HTTP (:8084).

source:
type: file
path: "" # optional basename; defaults to <name>.mirops

s3​

No local replica — written to S3 and read back on demand. Omit credentialsSecret to use IRSA.

source:
type: s3
bucket: my-reports
region: us-east-1
key: clusters/prod.mirops # you own the name; empty → <name>.mirops
credentialsSecret: aws-creds # optional; keys: AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY

blob (Azure)​

No local replica. Omit credentialsSecret to use Workload / Managed Identity.

source:
type: blob
accountName: mystorage
containerName: reports
blobName: prod.mirops # you own the name; empty → <name>.mirops
credentialsSecret: azure-creds # optional; keys: AZURE_CLIENT_ID, AZURE_CLIENT_SECRET, AZURE_TENANT_ID

pvc (in-cluster persistent storage)​

Like file, but persistent — the report survives pod restarts, with no cloud object storage needed (handy on-prem). Enable the volume with reportPVC.enabled=true in the Helm chart. Read it in-cluster: the operator's HTTP endpoint, or by mounting the same PVC.

source:
type: pvc
path: /reports # directory on the mounted volume; report → <name>.mirops

Credentials​

credentialsSecret is optional — leave it empty to use IRSA (S3) or Workload/Managed Identity (Azure); set it to a Secret in the operator's namespace with static keys otherwise.

Naming & content​

The content is JSON (uploaded as application/json), saved with the .mirops extension for every destination — local file included. It keeps reports distinct from config files in the same destination — filter them with *.mirops.

Failure reporting​

A write/read failure is recorded on the CR — status.reportState (written/failed), status.reportError, and status.reportLocation — so it surfaces in kubectl describe and the UI. Deleting the CR never deletes the object from S3/Blob/PVC. See reports.