This release adds support for the spec.initProvider
API and for the granular management policies alpha feature detailed here.
The generated example manifests from Terraform registry no longer contain the trailing YAML document separator (---
).
There are numerous improvements and new features introduced to the migration framework to support some new migration cases, such the monolithic official providers to the provider families migration.
The external client for Terraformed
resources now explicitly requeue, up to 20 retries, a reconciliation request if a shared provider has expired. And only after 20 retries it propagates the error down to the managed reconciler. The ttl-expired error message has also been improved to hint at the --provider-ttl
command-line option.
Also status updates and updates to certain annotations (crossplane.io/external-create-failed
& crossplane.io/external-create-pending
) no longer queue reconciliation requests, which decreases the resource utilization of upjet-based providers. This is especially important when errors happen during the external connecter's Create
call, or in general, when an MR is failing to sync successfully.
What's Changed
- Add check for native provider upgrade by @sergenyalcin in #150
- Add a test-case for config.GetExternalNameFromTemplated where the external-name template variable is not available by @ulucinar in #149
- Rename migration.Converter.ComposedTemplates as Composition by @ulucinar in #148
- Filter failed "terraform init" output for sensitive information by @ulucinar in #156
- Bump Github workflow dependencies by @ulucinar in #157
- docs: enphasize functions usage image on new resource doc by @Brocaneli in #165
- Add
OWNERS.md
andCODEOWNERS
by @turkenf in #169 - Add upjet runtime Prometheus metrics by @ulucinar in #170
- [scraper]: Add support for deducing resource name from file path by @ulucinar in #172
- Add terraform.ProviderScheduler by @ulucinar in #178
- Add an introductory Upjet-based provider monitoring guide by @ulucinar in #181
- Add a sizing guide for official providers by @sergenyalcin in #182
- Add config.Resource.Path to support configuring plural names of generated resources by @ulucinar in #184
- Include full state under status.atProvider by @turkenh in #164
- Generate CEL validation rules not to enforce required fields when ObserveOnly by @turkenh in #166
- Observe with Terraform Import when Observe Only by @turkenh in #168
- Do not add tags to spec when ObserveOnly by @turkenh in #186
- Guide for adding Observe Only Support by @turkenh in #187
- Add an example
ControllerConfig
to sizing-guide by @turkenf in #191 - Add ToLower & ToUpper template functions for config.TemplatedStringAsIdentifier by @ulucinar in #190
- Consume ESS plugin changes by @ezgidemirel in #188
- Generate per-service providers by @ulucinar in #194
- Deprecate config.BasePackages.Controller in favor of ControllerMap by @ulucinar in #195
- Add Patch migration step type by @ulucinar in #153
- Add migration.PlanGeneratorOption to configure a PlanGenerator by @ulucinar in #173
- Add Smaller Provider Migration guides by @ezgidemirel in #203
- Fixes and improvements in smaller provider migration docs by @turkenh in #204
- Move inline bash code to separate files to prevent copy/paste errors by @ezgidemirel in #205
- Incorporate Feedback on the New Provider Generation Guide by @turkenf in #193
- Remove the command related to the sample configuration directory by @turkenf in #208
- Extend SSOP migration script and process with the local source by @ytsarev in #207
- Merge two SP migration docs into a single file by @ezgidemirel in #206
- Add an example Smaller Provider migration plan by @ezgidemirel in #210
- Add support for converting Crossplane Configurations by @ulucinar in #209
- Switch to discovery client for managed resources by @sergenyalcin in #200
- Add support for category-based manifest pre-processors by @ulucinar in #212
- Remove family provider migrator docs by @sergenyalcin in #216
- Add support for categorical converters by @ulucinar in #217
- Adding backstage catalog file by @Piotr1215 in #228
- Fast Follow: Converting upjet to component to include CI visibility by @Piotr1215 in #229
- Add design-doc-provider-identity-based-auth.md to docs by @dverveiko in #227
- Bump Go version to v1.20 in go.mod by @ulucinar in #236
- Support granular managment policies by @lsviben in #224
- Requeue the reconcile request on async update error by @ulucinar in #231
- Remove the trailing document separator (---) from examples generated by @turkenf in #221
- Support initProvider by @lsviben in #237
- Fix config.Provider.RootGroup field docs by @ulucinar in #242
- Fix the controller.go.tmpl for MRs reconciled in synchronous mode by @ulucinar in #243
- feat(doc-generator): fix generation examples for provider-vault by @haarchri in #238
- Revert "feat(doc-generator): fix generation examples for provider-vault" by @ulucinar in #244
- Explicitly Queue a Reconcile Request if a Shared Provider has Expired by @ulucinar in #241
New Contributors
- @Brocaneli made their first contribution in #165
- @Piotr1215 made their first contribution in #228
- @dverveiko made their first contribution in #227
- @lsviben made their first contribution in #224
- @haarchri made their first contribution in #238
Full Changelog: v0.8.0...v0.9.0