v1.3.0
New Features
-
Health and readiness probes (#301): The provider now exposes HTTP health (
/healthz) and readiness (/readyz) endpoints. Probe configuration is aligned with standard Crossplane provider conventions. -
Configurable webhook port and metrics bind address (#301): Webhook port and metrics bind address are now configurable via flags, making it easier to deploy the provider in restricted network environments.
-
Nebius in-process service account identity auth (#499): A new
NebiusServiceAccountCredentialsidentity type authenticates to Nebius Managed Kubernetes clusters by minting IAM tokens in-process from a service account's credentials, without requiring an exec credential plugin. Token sources are cached per-credentials to avoid leaks across reconciles. -
Configurable
DeletionPropagationPolicyfor Object (#437): TheObjectspec now accepts adeletionPropagationPolicyfield. Defaults toBackground. Set toForegroundto ensure dependent resources are fully cleaned up before the owner is removed. -
Remove managed fields from observed objects (#483): Managed fields are now stripped from objects returned by the provider, reducing noise in status and stored state.
-
Strip managed fields in informer caches (#425): The controller-runtime cache is now configured to strip managed fields from informer objects and uses
PartialObjectMetadatawhere appropriate, reducing memory usage when watching resources.
Bug Fixes
-
Redact Secret data from debug logs (#533): Secret values are no longer logged at debug level, preventing accidental credential exposure in log aggregators.
-
Do not block Object deletion on failed connection details (#531): A failure to publish connection details no longer prevents an
Objectfrom being deleted, avoiding stuck finalizers. -
Honor proxy-url from kubeconfig cluster config (#530): The provider now correctly picks up the
proxy-urlfield from the kubeconfig cluster entry when building the Kubernetes client. -
Fix OpenAPI v3 ServerRelativeURL root prefix stripping (#507): SSA apply no longer fails when the OpenAPI discovery server returns a URL with an unexpected root path prefix.
-
Fix ProviderConfig readiness for wrapped providers (#423): An
Objectthat creates ak8s.m ProviderConfignow correctly transitions toReadyonce the inner provider config is healthy.
Dependency & Security Updates
- Crossplane runtime bumped to v2.3.3 (#512)
- Security patches:
google.golang.org/grpc→ v1.82.1,golang.org/x/net→ v0.55.0,go.opentelemetry.io/otel→ v1.41.0,github.com/google/cel-go→ v0.29.0 - Go toolchain updated to v1.26.5
Contributors
Thank you to everyone who contributed to this release:
- @jonasz-lasut (Jonasz Łasut-Balcerzak)
- @bobh66 (Bob Haddleton)
- @erhancagirici (Erhan Cagirici)
- @alanrichman (Alan Richman)
- @Argannor
- @LAMRobinson (Laurence Robinson)
- @jcogilvie (Jonathan Ogilvie)
- @blut (Hannes Blut)
- @patscott (Patrick Lee Scott)
What's Changed
- fix: object that creates a k8s.m ProviderConfig never becomes ready by @patrickleet in #423
- e2e: add Object manifest for a wrapped provider config by @erhancagirici in #436
- Add bobh66 (myself) as a maintainer by @bobh66 in #444
- build(deps): bump github.com/aws/aws-sdk-go-v2/service/sts from 1.38.9 to 1.41.9 by @dependabot[bot] in #434
- ci: switch to renovate for dependency updates by @erhancagirici in #441
- Update codecov/codecov-action digest to 75cd116 by @renovate[bot] in #446
- Pin dependencies by @renovate[bot] in #445
- Update dependency go to v1.24.13 by @renovate[bot] in #448
- Update dependency docker/buildx to v0.33.0 by @renovate[bot] in #449
- Update docker/setup-buildx-action action to v4 by @renovate[bot] in #452
- Update docker/setup-qemu-action action to v4 by @renovate[bot] in #453
- Update codecov/codecov-action action to v6 by @renovate[bot] in #451
- Update gcr.io/distroless/static Docker digest to 47b2d72 by @renovate[bot] in #454
- Update actions/setup-go action to v6 by @renovate[bot] in #450
- Update dependency kubernetes-sigs/kind to v0.31.0 by @renovate[bot] in #460
- Update dependency crossplane/crossplane to v2.2.1 by @renovate[bot] in #458
- Update actions/checkout action to v6.0.2 by @renovate[bot] in #457
- Update dependency golangci/golangci-lint to v2.11.4 by @renovate[bot] in #459
- Update module google.golang.org/grpc to v1.79.3 [SECURITY] by @renovate[bot] in #465
- ci: add codecov token for coverage report uploads by @erhancagirici in #470
- Update module go.opentelemetry.io/otel to v1.41.0 [SECURITY] by @renovate[bot] in #472
- Add configurable Object DeletionPropagationPolicy by @alanrichman in #437
- Add DeletionPropagationPolicy unit tests by @phisco in #477
- Update dependency docker/buildx to v0.34.1 by @renovate[bot] in #478
- Remove wildcards from renovate patterns by @bobh66 in #486
- Update codecov/codecov-action digest to fb8b358 by @renovate[bot] in #487
- Update crossplane versions in CI to v2.3.2 by @renovate[bot] in #489
- Update codecov/codecov-action action to v7 by @renovate[bot] in #490
- Update docker/setup-qemu-action digest to 0611638 by @renovate[bot] in #491
- Update gcr.io/distroless/static Docker digest to 3592aa8 by @renovate[bot] in #492
- Update all non-major github action by @renovate[bot] in #493
- Update dependency kubernetes-sigs/kind to v0.32.0 by @renovate[bot] in #494
- Update golangci-lint versions in CI to v2.12.2 by @renovate[bot] in #495
- Update docker/setup-buildx-action digest to d7f5e7f by @renovate[bot] in #488
- Update golang versions to v1.26.4 by @renovate[bot] in #474
- Update dependency docker/buildx to v0.35.0 by @renovate[bot] in #497
- Restore valid wildcards in renovate config by @bobh66 in #496
- Update actions/checkout action to v7 by @renovate[bot] in #498
- Update actions/setup-go action to v6.5.0 by @renovate[bot] in #503
- Update dependency crossplane/crossplane to v2.3.3 by @renovate[bot] in #500
- feat(nebius): add in-process service account identity auth for Nebius Cloud by @jonasz-lasut in #499
- chore: use pflag ParseErrorsAllowlist and bump pflag to v1.0.10 by @jcogilvie in #506
- fix(ssa): strip API root prefix from OpenAPI v3 ServerRelativeURL by @jcogilvie in #507
- Update docker/setup-qemu-action digest to 96fe6ef by @renovate[bot] in #505
- Update golangci/golangci-lint-action action to v9.3.0 by @renovate[bot] in #504
- Update module golang.org/x/net to v0.55.0 [SECURITY] by @renovate[bot] in #508
- feat: update Crossplane runtime to v2.3.3 by @jcogilvie in #512
- Update module google.golang.org/grpc to v1.82.1 [SECURITY] by @renovate[bot] in #515
- Update dependency go to v1.26.5 by @renovate[bot] in #513
- Update docker/setup-buildx-action digest to bb05f3f by @renovate[bot] in #509
- Update all non-major github action by @renovate[bot] in #517
- Update gcr.io/distroless/static Docker digest to 9197324 by @renovate[bot] in #516
- Update actions/setup-go action to v7 by @renovate[bot] in #520
- Update dependency crossplane/crossplane to v2.3.4 by @renovate[bot] in #518
- Update module sigs.k8s.io/structured-merge-diff/v6 to v6.4.2 by @renovate[bot] in #519
- Update module github.com/google/cel-go to v0.29.0 [SECURITY] by @renovate[bot] in #521
- Update kubernetes patches by @renovate[bot] in #522
- feat: remove managed fields by @blut in #483
- Add jonasz-lasut to codeowners/owners.md by @jonasz-lasut in #529
- Reduce memory usage when watching resources by @LAMRobinson in #425
- feat: make the webhook port configurable by @Argannor in #301
- Honor proxy-url from kubeconfig cluster config by @jonasz-lasut in #530
- Do not block Object deletion on failed connection details by @jonasz-lasut in #531
- Redact Secret data from debug logs by @jonasz-lasut in #533
- security: Bump golang.org/x/text to v0.39.0 by @sergenyalcin in #537
New Contributors
- @patrickleet made their first contribution in #423
- @renovate[bot] made their first contribution in #446
- @alanrichman made their first contribution in #437
- @jonasz-lasut made their first contribution in #499
- @jcogilvie made their first contribution in #506
- @blut made their first contribution in #483
- @LAMRobinson made their first contribution in #425
- @Argannor made their first contribution in #301
Full Changelog: v1.2.1...v1.3.0