Skip to content

MKurator 0.12.2

Latest

Choose a tag to compare

@github-actions github-actions released this 10 Jul 15:58
036782a

0.12.2 - 2026-07-10

Breaking Changes

  • crds: Add generated+augmented Queue reference page (DOC-7 pilot) (#91) 848747c

  • ci: Phase C e2e pyramid and CI filters 9c9fe52

  • e2e: Phase C PR labels and main Helm pass d1eff5d

  • e2e: Phase C pyramid trim and CI labels 72c186c

  • e2e: Parallel MQ lanes and single deploy 9aaaa55

Bug Fixes

  • validation: Satisfy lint for v1beta1 admission 94b49b6

  • e2e: Serialize suite teardown on process 1 (#57) 7ae8c9e

  • task: Prefer valid kind kubeconfig path 66cf2db

  • e2e: Use USERMAP mcaUser drift for observe-only spec 1056bc9

  • auth: USERMAP drift polish and validation breadth (AUTH-3b) 4a3ed71

  • api: Guard Queue description CEL with has() (#23) 4b9f3e8

  • ci: Use gitleaks CLI for org repo secret scan bd23f0d

  • api: Keep MQObject interface out of api package 20559e9

  • controller: Classify events via typed wrap errors 403f8d9

  • controller: Observe-only auth skips SET when missing fdb8d55

  • controller: Requeue workloads after finalizer add 1f0962e

  • controller: Stabilize QMC Ready under secret watch 09ec4f1

  • controller: Preserve QMC Ready on transient ping 9df6b39

  • mqrest: Identity-keyed cache with replace-on-rotation 2d99fbc

  • validation: Harden CHLAUTH/AUTHREC MQSC fields 43f6974

  • controller: Deletion before connection chain (ADR-0022) c483ac0

  • controller: Reliability fixes for wave 1 (#7-10) 83cd131

  • controller: Release without Secret; stop QMC hot loop 5e24f03

  • ci: Stop release tags from failing GitHub Pages deploy c894ae2

  • test: Stabilize Helm e2e metrics and raise coverage floor 0f2449e

  • mqrest: Treat AUTHREC NONE as not found 2c1aee8

  • ci: Expose CODECOV_TOKEN on test job env 011f545

  • ci: Skip Codecov without invalid secrets if 48b89a4

  • ci: Unblock verify, codecov, and e2e CI 75866b3

  • test: Bound kubectl in MQ e2e cleanup d298d20

  • test: Define kurator-system namespace in helpers e8e69d4

  • test: Prevent e2e AfterSuite undeploy hang 0930ebc

  • ci: Use git-cliff-action content for release notes 9fad692

  • test: Make AfterEach kubectl delete non-blocking e3a926d

  • test: Stabilize parallel MQ e2e lanes ad324a0

  • test: Avoid corrupt merged coverage.out dc7add6

  • rbac: Allow events.k8s.io for controller be9f9db

  • test: Let Helm e2e own kurator-system namespace b0685b1

  • deps: Update kubernetes packages c1376e1

  • deps: Update go dependencies 31386bc

  • helm: Add auth CR RBAC and verify in helm:lint c9c8688

  • ci: Repair Renovate workflow permissions and token 22cd170

  • ci: Drop invalid workflows permission from Renovate job 9e4fe1e

  • ci: Configure Renovate repository target and token 3d598b6

  • ci: Migrate renovate config for v43 1208bb1

  • ci: Flock mutex for e2e and integration suites f0b4227

  • e2e: Drop deprecated ginkgo.progress flag 8185002

  • mqrest: Treat empty AUTHREC authorities as not found 15b8c4d

  • auth: Unblock ChannelAuthRule delete and e2e waits 718dff1

  • ci: Skip generated files in format:check diff 4c2053a

  • auth: Parse DISPLAY text and correct SET AUTHREC MQSC 8b1075d

  • samples: Unify deploy:samples for kind e9d6849

  • e2e: Deploy operator via task deploy ff1091e

  • task: Propagate KURATOR_E2E_MQ into test:e2e task env 0df9a9a

  • e2e: Race-safe subprocess output and webhook assertion 867a201

  • task: Resolve kustomize path with go tool -n e40a0a0

  • samples: Let kustomization set namespace on Helm samples 64f82b9

  • ci: Bump Go 1.26.4 and sync verify artifacts adb9b87

  • ci: Align CRDs with go tool controller-gen 9c56489

  • makefile: Use go tool kustomize for deploy targets 87250df

  • e2e: Wait for webhook cert and rollout before MQ tests 4456aec

  • config: Fix webhook kustomize for e2e make deploy 9307cb9

  • webhook: Fix unit test race under -race 86e1f8c

  • makefile: Apply CRDs from bases on make install f740052

  • test: Pass QueueSpec to GetQueue in MQ e2e 6bf3072

  • mqrest: Normalize alias/remote DISPLAY attribute names from mqweb 71880ee

  • ci: Clear lint/verify; reconcile alias and remote queues f1a674d

  • test: Wait for CRDs after make install in MQ e2e 47d3418

  • test: Restore cmd declarations in deploy_helpers d496aff

  • test: Serialize e2e suites and idempotent namespace create dc0647c

  • test,ci: Ordered MQ e2e context; gofmt metrics imports 5831666

  • test,ci: MQ e2e redeploys operator; bump otel for Trivy 933b71c

  • ci: Set KIND via GITHUB_ENV in e2e install step 89ff433

  • ci: E2e PATH and sync deepcopy with controller-gen 4c1e294

  • ci: Unblock CI and e2e on GitHub Actions c29429c

  • ci: Pin correct setup-terraform action SHA 6ce2bb6

  • queue: Defer MQ admin client until connection is Ready 93ae3a7

  • mqrest: Drop maxmsglen from queue DISPLAY on mqweb 9.4 e947130

  • logging: Reuse err var for Setup after Load 1576255

Features

  • webhook: Add v1beta1 validating admission 1c495bb

  • samples: Default sample CRs to v1beta1 (8d-4) 3065354

  • webhook: Conversion webhook for v1beta1 hub (8d-2) 7ca807f

  • api: Scaffold v1beta1 types and multi-version CRDs (8d-1) (#71) 575c597

  • mqrest: Probe all QLOCAL define-only candidates (#69) 9bf02b8

  • auth: AUTHREC channel/namelist profile parity (AUTH-9) 1d66960

  • channel: Add RCVR receiver channel type (AUTH-8b) 4805573

  • channel: Add SDR sender channel type (AUTH-8a) (#63) 9ff4289

  • mqrest: Wire share DISPLAY probe into queue drift (Day 27 MQ-3) (#62) 8cb7d51

  • mqrest: DISPLAY capability probe spike (Day 22 MQ-1) (#58) f89e579

  • auth: QMGRMAP CHLAUTH remoteQueueManager field d3c20f1

  • channelauth: SSLPEERMAP CHLAUTH CRD and mqrest 3d00a85

  • channelauthrule: USERMAP CHLAUTH CRD and mqrest SET edea155

  • topic: Add publishScope and subscribeScope typed fields (#39) 2d94ff7

  • topic: Add defPersistence typed field (#38) aefd51f

  • topic: Add publish and subscribe typed fields (#37) e12ac33

  • channel: Add sslCipherSpec and sslClientAuth fields (#36) 416de83

  • channel: Add maxInstances and maxInstancesClient fields (#35) e64e085

  • channel: Add Channel.spec.mcaUser typed field (#34) accf7a7

  • api: Add Channel.spec.shareConv typed field (#33) b042b27

  • api: Add Channel.spec.transportType typed field (#32) 7fbad61

  • api: Add Channel.spec.maxMsgLength typed field (#31) 19ce060

  • api: Add Channel.spec.description typed field (#30) a258043

  • api: Add Topic.spec.description typed field (#29) fbe2e39

  • api: Add Topic.spec.topicString typed field (#28) 7165c1f

  • api: Add Queue remote xmitQueue and remoteQueueManager de3c925

  • api: Add Queue.spec.targetQueue for alias queues cfc8f75

  • api: Add typed get/put fields to Queue spec (#25) 2735298

  • api: Add typed defPersistence to Queue spec (#24) 16f444d

  • api: Add typed description field to Queue spec 5a88796

  • api: Add typed maxDepth field to Queue spec 3725b14

  • api: Add CEL admission rules per ADR-0025 5d3f86b

  • mqrest: Add mqweb retry and circuit breaker f514861

  • api: Add deletion and adoption lifecycle policies c1fb8f0

  • runtime: Scope Secret cache and warn on admin default 79ca386

  • controller: Watch referenced Secrets for QMC recovery 414ef89

  • controller: Add spec.suspend and reconcile-now e39edef

  • controller: Expose configurable requeue intervals c5f9860

  • controller: Periodic jittered drift resync 2322d7c

  • e2e: Wire Helm admission webhook e2e path 7402c3d

  • mqpcf: Scaffold PCF adapter behind MQAdmin 7dbed06

  • status: Expose desiredMQSC on Topic, Channel, auth CRs 840c4b7

  • auth: Drift-aware GET reconcile for auth CRs 26a25b7

  • operator: Gate readyz on QMC connectivity c5eaf5c

  • controller: Observe-only drift policy and Phase 4 DISPLAY 4df20cd

  • validation: ChannelAuthRule channel referential checks 37021c7

  • validation: Tighten MQ object name checks 6d701a4

  • controller: Status UX and reconcile concurrency 0ffdcf3

  • webhook: Require opt-in for insecure QMC TLS 56b7fec

  • queue: Expose status.desiredMQSC for GitOps debug 64e479e

  • auth: Add GetChannelAuth and GetAuthority MQAdmin paths fcd4dd8

  • auth: Add ChannelAuthRule and AuthorityRecord CRDs b960325

  • webhook: Deny QMC delete when dependents exist 48b5f39

  • controller: Expand Kubernetes event emission 0c267c6

  • messaging: Reconcile Topic and Channel CRs via mqweb 353135d

  • metrics: Add Prometheus metrics and Helm alerts bdc414f

  • kind: Add mq console URL and runmqsc CLI tasks 786dc55

  • chart: Add Helm chart, reference docs, and MQ e2e fixtures 0acb510

  • Add Queue and QueueManagerConnection reconcilers f34f98d

  • cluster: Haproxy ingress, Argo CD, upstream IBM MQ 6bc8ba4

  • Scaffold Kurator operator (Phase 1) b27dd50

  • logging: Add configurable slog logger f3f76bf

Refactoring

  • webhook: Split v1beta1 envtest suite 4de93de

  • mqrest: Table-drive CHLAUTH auth unit tests 69c63de

  • controller: Collapse workload type switches via MQObject c922a80

  • validation: Keep webhooks stateful-only da3dfe9

  • controller: Delete dead drift helpers and padding tests a01bcf5

  • [breaking] Rename project Kurator to MKurator d2c5f95

  • controller: Migrate to events EventRecorder API 2aa19fb

  • [breaking] Konih module path, docs hub, admission webhooks 90df81f

  • controller: Shared reconcile helpers and connection fixes 85a49cc

Merge

  • Bring dependabot go minor patch fixes 01afe8f

  • Bring task and docs fixes from chore/tst-4-blockaddr-default-samples 26b1436

  • Bring kubeconfig task fix from chore/tst-4-blockaddr-default-samples f52bb76


Container image

ghcr.io/conduit-ops/mkurator:0.12.2

Multi-arch (linux/amd64, linux/arm64), distroless nonroot base.

OCI attestations (SBOM + SLSA provenance) are attached in GHCR. Verify the signature:

cosign verify \
  --certificate-oidc-issuer https://token.actions.githubusercontent.com \
  --certificate-identity-regexp '^https://github.com/conduit-ops/MKurator/.+' \
  ghcr.io/conduit-ops/mkurator@sha256:4bd45c7eed63ad18cca7abcab717ed92f3986f2a1128a8b82c00ad66ec8b90e3

Install (Kustomize)

kubectl apply -f install-crds.yaml
kubectl apply -f install.yaml

Install (Helm — OCI)

helm upgrade --install mkurator oci://ghcr.io/conduit-ops/mkurator \
  --version 0.12.2 \
  --namespace mkurator-system \
  --create-namespace \
  --set image.repository=ghcr.io/conduit-ops/mkurator \
  --set image.tag=0.12.2

Install (Helm — GitHub Release tarball)

helm upgrade --install mkurator mkurator-0.12.2.tgz \
  --namespace mkurator-system \
  --create-namespace \
  --set image.repository=ghcr.io/conduit-ops/mkurator \
  --set image.tag=0.12.2

Verify checksums with sha256sum -c checksums.txt.