Full API Versioning

I cant find a way to do proper versioning in SLS and now that I’ve deployed this is a real problem
I’m attempting to switch from a microservices architecture with one function per path method to one function for all API. Without breaking anything for current users.

  • I could deploy a new different service using the other resources but I can’t share resources between 2 different services.
  • I could separate resources and API on different services, but when I use s3 events, SLS attempts to create a new bucket (which exists in the resources service)
  • I can’t use stages because there is no use of the APIG staging. SLS deploys a new APIG completely and also all resources, so unless I use the staging string within my Dynamodb tables, I can’t deploy into a different stage. I.e. MyTable-dev, MyTable-production

Even when lambda aliases are ready, how would you approach this kind of API upgrade? When I deploy all old endpoints will be removed

2 Likes

I am having the same problem. No clear way to get usable versioning.

I’m in the same boat

did any of you solve that problem?

Very late answer, but maybe helpful for users with similiar problem:
serverless-aws-alias

plugins:
  - serverless-aws-alias

I tried to use serverless-aws-alias but I can’t manage to get it work with custom domains.

Is there any way to connect it with custom domains or how to do it?