Skip to content
This repository has been archived by the owner on Dec 15, 2022. It is now read-only.

Releases: crossplane/terrajet

v0.4.2

07 Mar 09:38
149baad
Compare
Choose a tag to compare

What's Changed

  • [Backport release-0.4] Support for configuring blocks with optional parameters in attributes-as-blocks mode by @github-actions in #254
  • [Backport release-0.4] Fix sensitive path mapping by @github-actions in #256

Full Changelog: v0.4.1...v0.4.2

v0.4.1

04 Mar 12:45
5d929ed
Compare
Choose a tag to compare

What's Changed

  • [Backport release-0.4] Cli Schema Conversion Fixes & Set ConfigMode Attribute by @github-actions in #252

Full Changelog: v0.4.0...v0.4.1

v0.4.0

22 Feb 12:01
c6a75d7
Compare
Choose a tag to compare

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 your cmd/provider/main.go with the new Options struct.
    • The Setup signature of non-generated controllers will need to be changed as well, such as ProviderConfig controller.
    • In the new kubebuilder version, crd:trivialVersions=true argument has been removed, so you'll need to remove it from the command in your apis/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 your Makefile, delete the crds.clean target and the line generate.done: crds.clean.

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

Full Changelog: v0.3.0...v0.4.0

v0.3.2

18 Jan 12:14
844191d
Compare
Choose a tag to compare

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.

  • [cherry-pick to release-0.3] Conversion: Default to string as element type by @turkenh in #201

Full Changelog: v0.3.1...v0.3.2

v0.3.1

07 Jan 10:12
fbfad2c
Compare
Choose a tag to compare

Notable Changes

The new async operation tracking condition wasn't working properly, #194 fixed it with no breaking changes.

See https://github.com/crossplane/terrajet/releases/tag/v0.3.0 for full release notes of v0.3.

v0.3.0

06 Jan 12:54
4a4dc50
Compare
Choose a tag to compare

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

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

Full Changelog: v0.2.0...v0.3.0

v0.2.1

19 Nov 18:39
0a3d816
Compare
Choose a tag to compare

Notable Updates

Fixed a problem with duplicate parameters type name generated in the same package. See details here: #156

What's Changed

  • pipeline: use generated parameters name instead of hard-coded by @github-actions in #156

Full Changelog: v0.2.0...v0.2.1

v0.2.0

19 Nov 16:58
d9b1c93
Compare
Choose a tag to compare

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!

11 Oct 18:04
734cd94
Compare
Choose a tag to compare

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: