Releases: crossplane/terrajet
v0.4.2
v0.4.1
v0.4.0
Notable Changes
With #174 , you don't need to import TF provider Go module anymore! We'll be able to run Terraform CLI to get the schema JSON and work with that directly, hence no need to deal with all dependency problems with the TF provider!
With #198 , you can add your own initializers and there is a built-in common one that you can use off the shelf to tag your resources automatically! Take a look at the API Patterns doc to see why this is important.
Breaking Changes
- #195 changes the function signature of generated
Setup
function. A PR that does all the steps described below is here.- You'll need to call
controller.Setup
in yourcmd/provider/main.go
with the new Options struct. - The
Setup
signature of non-generated controllers will need to be changed as well, such asProviderConfig
controller. - In the new kubebuilder version,
crd:trivialVersions=true
argument has been removed, so you'll need to remove it from the command in yourapis/generate.go
- This change will update
kubebuilder
as well and in its new version it doesn't print extra two lines at the top anymore. So, in yourMakefile
, delete thecrds.clean
target and the linegenerate.done: crds.clean
.
- You'll need to call
What's Changed
- controller: set ongoing operation condition correctly by @muvaf in #194
- Update Configuring a Resource guide by @turkenh in #187
- Conversion: Default to string as element type by @turkenh in #199
- Fix function name in documentation by @ezgidemirel in #202
- Terrajet provider generation documentation fixes by @ytsarev in #205
- Tagging Convention by @sergenyalcin in #198
- Support []string and []*string as sensitive fields by @sergenyalcin in #197
- Add Sergen as a maintainer by @turkenh in #215
- Add unit tests for builder by @sergenyalcin in #189
- Support for map[string]*string as sensitive fields by @sergenyalcin in #218
- Fixes the unmarshal error for sensitive string type by @sergenyalcin in #238
- Conversion from tfjson to consume schema from cli output by @turkenh in #174
- Fix reconciliation errors if a referenced secret is deleted by @ezgidemirel in #237
- Update go, crossplane-runtime and k8s libraries by @muvaf in #195
- [Backport release-0.4] controller: set async finished condition only if the resource is async by @github-actions in #240
New Contributors
- @ezgidemirel made their first contribution in #202
- @ytsarev made their first contribution in #205
Full Changelog: v0.3.0...v0.4.0
v0.3.2
What's Changed
No breaking changes, fixing an issue in conversion package which is used when terraform provider still uses an old version (i.e. v1
) of terraform plugin sdk.
Full Changelog: v0.3.1...v0.3.2
v0.3.1
v0.3.0
Terrajet is part of Crossplane organization now! In addition, this release adds many improvements to existing pipelines and unit tests that adds to the maturity of Terrajet.
Notable Changes
- Make Terraform resource ID available in status.atProvider by @ulucinar in #160
- Unit tests for terraform.Workspace by @sergenyalcin in #172
- Add condition about running async operation by @vaspahomov in #186
- Configurable operation timeouts by @turkenh in #191
What's Changed
- pipeline: use generated parameters name instead of hard-coded by @muvaf in #155
- Update guide to get tf provider from generate main by @turkenh in #163
- Make Terraform resource ID available in status.atProvider by @ulucinar in #160
- typo fix in terraformed template by @muvaf in #165
- github: remove github actions that are related to publishing container images by @muvaf in #166
- Directions for calling ./hack/prepare.sh in the provider guide by @ulucinar in #167
- Instruct to update provider import path in cmd/provider/main.go as well by @turkenh in #168
- Handle sensitive optionals coming as null by @turkenh in #170
- Add OWNERS.md in preparation of move to crossplane org by @muvaf in #180
- Unit tests for terraform.Workspace by @sergenyalcin in #172
- Capitalize prefix/suffix acronyms in default resource config's kind name by @ulucinar in #179
- Add more acronyms by @turkenh in #181
- New acronyms by @muvaf in #183
- types: add type name to scope earlier by @muvaf in #184
- go.mod: rename go module to adopt new org in github by @muvaf in #188
- Assume string type for unset Set/List/Map element types by @ulucinar in #182
- controller: set external name to its latest value no matter what by @muvaf in #190
- Add condition about running async operation by @vaspahomov in #186
- Configurable operation timeouts by @turkenh in #191
- Empty commit ahead of the 0.3 release by @muvaf in #192
New Contributors
- @sergenyalcin made their first contribution in #172
- @vaspahomov made their first contribution in #186
Full Changelog: v0.2.0...v0.3.0
v0.2.1
v0.2.0
Notable Updates
The main theme of this release is to stabilize the interfaces for external usage and adding more configuration points to enable even more resources.
You can now go ahead and generate your own Crossplane provider using Terrajet by following the guide here!
What's Changed
- Pass provider credentials as environment variables by @ulucinar in #111
- Capture Terraform resource schema version with resource.Terraformed by @ulucinar in #117
- external name: use function in the config directly instead of generating the call by @muvaf in #124
- controller: return the resource as ready as soon as possible by @muvaf in #126
- Add custom config option for defining custom connection keys by @turkenh in #121
- Callback for updating status with last operation error by @muvaf in #103
- Pipeline abstraction and configuration interface improvements by @turkenh in #128
- Do not run configurator chain on a not-included resource by @ulucinar in #138
- Find a unique type name by appending indexes by @turkenh in #137
- Use explicit root directory so that generator can be run from anywhere by @muvaf in #145
- pipeline: put underscore between CRD kind and GVK suffix by @muvaf in #142
- pipeline: prepend group and version with CRD so that CRDs whose name is Group can be generated by @muvaf in #146
- pipeline: run goimports with absolute path from root dir by @muvaf in #147
- Rename Group to ShortGroup and allow empty short group by @muvaf in #144
- pipeline: sort processing order, otherwise import lists are unstable by @muvaf in #148
- Ability to override ID operations by @muvaf in #132
- pipeline: sort import order by @muvaf in #150
- Use pointer for secret ref if optional by @turkenh in #149
- Extract Terraform error messages from JSON logs by @ulucinar in #143
- replace tf strings with jet by @muvaf in #152
- Generating a Provider guide by @turkenh in #130
Full Changelog: v0.1.0...v0.2.0
v0.1.0 - First Release!
This is the first release of Terrajet!
You can start using Terrajet today to generate fully XRM-compliant Crossplane providers. Since it's still alpha, there are many things subject to change and we'd love to get your feedback to prioritize the most important ones for Crossplane community.
Today, there are two providers generated already that you can take a look and give a spin in your clusters: