New Features
Multi-Replica Support
- Added support for reconciling from multiple replicas (#365)
- Introduces sharding utilities to enable running multiple provider instances
- Improves scalability and availability for large-scale deployments
- New
pkg/shardutilpackage for managing replica coordination
Metrics Support
- Added comprehensive metrics support (#361)
- Enhanced observability with controller metrics
- Bumped crossplane-runtime to support new metrics capabilities
- Added metrics configuration to provider CRDs
SSH Password Authentication
- Added support for SSH connections with password authentication (#359)
- Includes
sshpassin Docker dependencies for password-based SSH connections - Expands inventory connection options beyond key-based authentication
- Includes
Improvements
Runtime Updates
- Updated crossplane-runtime (#369)
- Upgraded Go, crossplane-runtime, and Kubernetes API versions
- Improved performance and compatibility with latest Crossplane features
- Updated linting configuration and fixed deprecated settings
Error Handling
- Improved error handling with ignore_errors support (#329)
- Better respects
ignore_errorsflag when extracting error messages from Ansible event data - More accurate error reporting in playbook execution
- Better respects
Logger Configuration
- Fixed controller-runtime logger initialization (#374)
- Always sets controller-runtime logger, including fallback for non-debug mode
- Resolves logging issues in production deployments
Security
Vulnerability Fixes
- Addressed security vulnerabilities (#380)
- Updated Go module dependencies to resolve security issues
- Enhanced container image security
Registry Migration
- Migrated container registry to ghcr.io (#382)
- Moved from previous registry to GitHub Container Registry
- Improved build and deployment pipeline reliability
Development & CI
Dependency Updates
- GitHub Actions updates:
- actions/checkout: 4 → 5
- actions/setup-go: 5 → 6
- actions/github-script: 7 → 8
- codecov/codecov-action: 4 → 5
- zeebe-io/backport-action: 2.5.0 → 3.3.0
- golangci/golangci-lint-action: 4 → 6
Upgrade Notes
- This release includes dependency updates that may require rebuilding any custom extensions
- The registry change to ghcr.io requires updating any deployment scripts or configurations that reference the old registry
What's Changed
- Bump k8s.io/api from 0.25.1 to 0.25.2 by @dependabot[bot] in #112
- Bump github.com/google/go-cmp from 0.5.8 to 0.5.9 by @dependabot[bot] in #110
- Bump k8s.io/client-go from 0.25.1 to 0.25.2 by @dependabot[bot] in #111
- Bump fkirc/skip-duplicate-actions from 4.0.0 to 5.1.0 by @dependabot[bot] in #113
- Bump fkirc/skip-duplicate-actions from 5.1.0 to 5.2.0 by @dependabot[bot] in #115
- refacto package build/ publish by @fahedouch in #116
- Use contrib DockerHub user and password by @hasheddan in #117
- Update maintainers by @morningspace in #118
- Bump gotest.tools/v3 from 3.3.0 to 3.4.0 by @dependabot[bot] in #119
- Bump k8s.io/apimachinery from 0.25.2 to 0.25.3 by @dependabot[bot] in #122
- Bump k8s.io/client-go from 0.25.2 to 0.25.3 by @dependabot[bot] in #124
- fix ObserveAndDelete ansibleRun example by @fahedouch in #125
- update readme by @fahedouch in #126
- fix doctoc Table of Contents by @fahedouch in #127
- Bump xt0rted/slash-command-action from 1 to 2 by @dependabot[bot] in #128
- Bump k8s.io/client-go from 0.25.3 to 0.25.4 by @dependabot[bot] in #135
- Bump github.com/spf13/afero from 1.9.2 to 1.9.3 by @dependabot[bot] in #136
- Bump zeebe-io/backport-action from 0.0.8 to 0.0.9 by @dependabot[bot] in #139
- Refacto Runner configuration AND support inline and non-inline ansible inventory by @fahedouch in #132
- fix runner fails lead to infinite loop by @fahedouch in #141
- enhance controller(s) && upgrade: crossplane-runtime (v0.18.0), crossplane-tools by @fahedouch in #142
- Bump fkirc/skip-duplicate-actions from 5.2.0 to 5.3.0 by @dependabot[bot] in #148
- refacto ansible examples by @fahedouch in #146
- Bump k8s.io/api from 0.25.4 to 0.25.5 by @dependabot[bot] in #150
- Bump k8s.io/api from 0.25.5 to 0.26.0 by @dependabot[bot] in #153
- fix ANSIBLE_INVENTORY env varible for roles by @eljohnson92 in #155
- switch base image to python:alpine so latest version of ansible can be installed by @eljohnson92 in #154
- baseWorkingDir should be an absolut path by @fahedouch in #157
- add git to new docker image by @eljohnson92 in #163
- fix ansible-runner context for roles by @eljohnson92 in #161
- Bump zeebe-io/backport-action from 0.0.9 to 1.0.0 by @dependabot[bot] in #168
- fix ansibleEnvDir by @fahedouch in #167
- Fix CheckWhenObserve Policy by @fahedouch in #149
- Bump zeebe-io/backport-action from 1.0.0 to 1.0.1 by @dependabot[bot] in #169
- fix checkWhenObserve extenal observation by @fahedouch in #170
- Update design doc per community feedback by @morningspace in #174
- add configurable timeout for ansibleRuns by @eljohnson92 in #177
- Bump k8s.io/apimachinery from 0.26.0 to 0.26.1 by @dependabot[bot] in #181
- Bump k8s.io/api from 0.26.0 to 0.26.1 by @dependabot[bot] in #180
- remove useless dockerfile by @fahedouch in #179
- Bump zeebe-io/backport-action from 1.0.1 to 1.1.0 by @dependabot[bot] in #182
- support arm64 build by @fahedouch in #178
- update remote submodule: build / bump GOLANGCILINT and UP by @fahedouch in #184
- make Behavior vars available for ansible-galaxy by @fahedouch in #183
- fix generated crds diff by @fahedouch in #187
- Bump github.com/crossplane/crossplane-runtime from 0.18.0 to 0.19.0 by @dependabot[bot] in #186
- Bump sigs.k8s.io/controller-runtime from 0.14.1 to 0.14.2 by @dependabot[bot] in #189
- set Credentials as optional field so it is not required for public remotes by @fahedouch in #191
- Bump sigs.k8s.io/controller-runtime from 0.14.2 to 0.14.4 by @dependabot[bot] in #196
- add option to set inventory as executable by @eljohnson92 in #193
- fix check diff by @fahedouch in #198
- Bump sigs.k8s.io/controller-tools from 0.11.1 to 0.11.3 by @dependabot[bot] in #195
- Bump github.com/crossplane/crossplane-runtime from 0.19.0 to 0.19.1 by @dependabot[bot] in #200
- Bump zeebe-io/backport-action from 1.1.0 to 1.2.0 by @dependabot[bot] in #204
- Bump github.com/spf13/afero from 1.9.3 to 1.9.4 by @dependabot[bot] in #203
- reflect (not yet) supported Playbooks in API spec by @fahedouch in #205
- Bump docker/login-action from 1 to 2 by @dependabot[bot] in #206
- Bump github.com/spf13/afero from 1.9.4 to 1.9.5 by @dependabot[bot] in #210
- Bump sigs.k8s.io/controller-runtime from 0.14.4 to 0.14.5 by @dependabot[bot] in #209
- Bump k8s.io/api from 0.26.1 to 0.26.2 by @dependabot[bot] in #208
- Support mixed references to roles and collections when defining requirements by @ron1 in #202
- Bump github.com/crossplane/crossplane-runtime from 0.19.1 to 0.19.2 by @dependabot[bot] in #211
- Bump actions/setup-go from 3 to 4 by @dependabot[bot] in #212
- Bump k8s.io/api from 0.26.2 to 0.26.3 by @dependabot[bot] in #213
- Bump sigs.k8s.io/controller-runtime from 0.14.5 to 0.14.6 by @dependabot[bot] in #215
- upgrade to go1.20 by @fahedouch in #199
- Bump k8s.io/apimachinery from 0.26.3 to 0.27.2 by @dependabot[bot] in #223
- Bump zeebe-io/backport-action from 1.2.0 to 1.3.0 by @dependabot[bot] in #225
- Bump zeebe-io/backport-action from 1.3.0 to 1.3.1 by @dependabot[bot] in #227
- Bump k8s.io/apimachinery from 0.27.2 to 0.27.3 by @dependabot[bot] in #230
- Bump github.com/apenella/go-ansible from 1.1.7 to 1.2.0 by @dependabot[bot] in #233
- Bump gotest.tools/v3 from 3.4.0 to 3.5.0 by @dependabot[bot] in #232
- Bump zeebe-io/backport-action from 1.3.1 to 1.4.0 by @dependabot[bot] in #243
- The field annotation is not supported it shoud be annotations. by @xandradx in #259
- Bump docker/login-action from 2 to 3 by @dependabot[bot] in #254
- Bump docker/setup-qemu-action from 2 to 3 by @dependabot[bot] in #253
- Bump actions/checkout from 3 to 4 by @dependabot[bot] in #250
- Bump docker/setup-buildx-action from 2 to 3 by @dependabot[bot] in #252
- Bump fkirc/skip-duplicate-actions from 5.3.0 to 5.3.1 by @dependabot[bot] in #266
- Bump actions/upload-artifact from 3 to 4 by @dependabot[bot] in #283
- Bump zeebe-io/backport-action from 1.4.0 to 2.3.0 by @dependabot[bot] in #284
- Bump github/codeql-action from 2 to 3 by @dependabot[bot] in #280
- Bump actions/setup-go from 4 to 5 by @dependabot[bot] in #278
- Bump actions/github-script from 6 to 7 by @dependabot[bot] in #272
- make the
AnsibleRunresource cluster-scoped by @janwillies in #286 - Fixes CheckWhenObserve policy by @mrdunski in #262
- set Ready condition after running ansible by @d-honeybadger in #294
- let ansible-runner shut down gracefully on timeout by @d-honeybadger in #299
- Retry failed runs with ObserveAndDelete policy by @d-honeybadger in #301
- Bump codecov/codecov-action from 3 to 4 by @dependabot[bot] in #302
- Bump zeebe-io/backport-action from 2.3.0 to 2.4.1 by @dependabot[bot] in #298
- Bump actions/cache from 3 to 4 by @dependabot[bot] in #291
- use dumb-init so that orphaned children processes get cleaned up by @d-honeybadger in #305
- Bump golangci/golangci-lint-action from 3 to 4 by @dependabot[bot] in #306
- feat(meta.pkg): set to v1 by @haarchri in #257
- limit the number of artifacts directories retained on disk by @d-honeybadger in #314
- fix ready condition not being set to true by @d-honeybadger in #303
- parse job events to extract failure messages by @d-honeybadger in #310
- MAINTAINERS: add Dasha Komsa as a MAINTAINER by @fahedouch in #317
- upgrade go to 1.21 and fix deps version by @fahedouch in #318
- Bump k8s.io/apimachinery from 0.27.3 to 0.29.3 by @dependabot[bot] in #320
- Bump k8s.io/api from 0.26.3 to 0.29.3 by @dependabot[bot] in #319
- Bump gotest.tools/v3 from 3.5.0 to 3.5.1 by @dependabot[bot] in #321
- Bump github.com/apenella/go-ansible from 1.2.0 to 1.3.0 by @dependabot[bot] in #322
- Bump github.com/google/uuid from 1.4.0 to 1.6.0 by @dependabot[bot] in #325
- Bump zeebe-io/backport-action from 2.4.1 to 2.5.0 by @dependabot[bot] in #326
- Add distlib for Ansible Collections from source by @glennpratt in #323
- Bump github.com/crossplane/crossplane-runtime from 0.19.2 to 1.15.1 by @dependabot[bot] in #315
- respect ignore_errors when extracting error messages from event data by @d-honeybadger in #329
- Bump golangci/golangci-lint-action from 4 to 6 by @dependabot[bot] in #341
- Bump zeebe-io/backport-action from 2.5.0 to 3.0.2 by @dependabot[bot] in #349
- bump k8s APIs version by @fahedouch in #358
- Bump zeebe-io/backport-action from 3.0.2 to 3.1.0 by @dependabot[bot] in #354
- Bump codecov/codecov-action from 4 to 5 by @dependabot[bot] in #355
- Add metrics support + bump crossplane runtime by @tchinmai7 in #361
- Bump zeebe-io/backport-action from 3.1.0 to 3.2.0 by @dependabot[bot] in #363
- Update Makefile to fix local dev target and set Crossplane configuration by @fahedouch in #360
- Add sshpass to Dockerfile dependencies by @fahedouch in #359
- Allow reconciling from multiple replicas by @julsemaan in #365
- update crossplane runtime by @d-honeybadger in #369
- Bump actions/github-script from 7 to 8 by @dependabot[bot] in #379
- Bump actions/setup-go from 5 to 6 by @dependabot[bot] in #378
- Bump zeebe-io/backport-action from 3.2.0 to 3.3.0 by @dependabot[bot] in #377
- Bump actions/checkout from 4 to 5 by @dependabot[bot] in #375
- fix: always set controller-runtime logger by @guilhem in #374
- Fix security vulnerabilities by @sergenyalcin in #380
- Proposal: Additional maintainer support from Upbound team by @jeanduplessis in #381
- Change registry to ghcr.io (xpkg.crossplane.io) by @sergenyalcin in #382
New Contributors
- @hasheddan made their first contribution in #117
- @eljohnson92 made their first contribution in #155
- @ron1 made their first contribution in #202
- @xandradx made their first contribution in #259
- @janwillies made their first contribution in #286
- @mrdunski made their first contribution in #262
- @d-honeybadger made their first contribution in #294
- @haarchri made their first contribution in #257
- @glennpratt made their first contribution in #323
- @tchinmai7 made their first contribution in #361
- @julsemaan made their first contribution in #365
- @guilhem made their first contribution in #374
- @sergenyalcin made their first contribution in #380
- @jeanduplessis made their first contribution in #381
Full Changelog: v0.2.2...v0.7.0