Breaking API changes on each release causing issues for terraform provider

#1

Hi,

For each kong point release there are a number of breaking changes happening to the API. e.g. between version 0.13.0 and 0.14.0 the field ssl_certificate_id on SNI got renamed to certificate_id.

I support a fairly popular terraform provider https://github.com/kevholditch/terraform-provider-kong that allows people to configure kong. Now the issue I have is that some of the users are going to be on different versions of kong so the make the provider work I’m going to have to keep doing nasty conversions based on the version of kong they are using.

It would be good if changes such as this could be kept to a minimum to allow community projects like this to keep functioning and take advantage of kong which is awesome.

I know technically speaking you are sticking to semver as until you get to version 1.0.0 you can do what you like with breaking changes but please spare a thought for developers in the community writing products to enable kong to be used more easily

1 Like
#2

@kevholditch I was just about to try out your plugin, since I want to move away from kongfig. It looks great. What you’re describing sounds problematic. We’re still on kong 0.12.x and was hoping to upgrade to 0.13.x. Usually I wait a bit before updating to a new release. Is it possible to somehow choose the version of kong with your plugin? I hope the kong team listens to your request. I agree that they should think of the community.

#3

@donalddw thanks. So version 0.13 is fully supported by the terraform provider version 0.14 isn’t. So you should be safe to upgrade to 0.13.x. If you look at the build I run it against different versions of kong so you can see what is supported. It is in version 0.14 that the fun really starts with the breaking changes…

#4

@kevholditch I see, thanks for clarifying. I feel you…

#5

@kevholditch, I am currently on kong enterprise .34-1 version and using your latest plugin but getting an error.

  • kong_route.route: failed to create kong route: &{0xc0003e4da0 [0xc0003f66c0 0xc0003f66d0] [0xc0003f67e0 0xc0003f67f0] [0xc0003e5060] [0xc0003e5120] 0xc0001076f8 0xc0001076a7 0xc0001076cd [] [] [] 0xc0003e5330} error: could not register the route, error: {“fields”:{“destinations”:“unknown field”,“name”:“unknown field”,“snis”:“unknown field”,“sources”:“unknown field”},“name”:“schema violation”,“code”:2,“message”:“4 schema violations (destinations: unknown field; name: unknown field; snis: unknown field; sources: unknown field)”}

I understand that the current version of plugin supports Kong- 1.0 only, so i tried with version 1.9.1 and 1.9.0 but got different error.

Error: kong_route.route: : invalid or unknown key: name

Error: kong_route.route: : invalid or unknown key: regex_priority