awspring / spring-cloud-aws

The New Home for Spring Cloud AWS
http://awspring.io
Apache License 2.0
878 stars 299 forks source link

Version 3.x and aws.paramstore.* properties. Documentation is highly unclear. #964

Open timo-eloranta opened 11 months ago

timo-eloranta commented 11 months ago

Type: Bug

Component: Parameter Store

Describe the bug We are trying to migrate several applications from Spring Cloud AWS 2.4.4 to 3.0.x.

Based on the announcement (https://spring.io/blog/2023/05/02/announcing-spring-cloud-aws-3-0-0) and documentation (https://docs.awspring.io/spring-cloud-aws/docs/3.0.3/reference/html/index.html#spring-cloud-aws-parameter-store) we understand that a lot has changed. However, our greatest issue at the moment is that due to the Migration Guide being "work in progress" (https://docs.awspring.io/spring-cloud-aws/docs/3.0.3/reference/html/index.html#migration-from-2-x-to-3-x), it is quite difficult to find out exactly what all features have been removed.

In order to make this ticket's scope well defined, I'll limit to the aws.paramstore.* parameters, which are well documented for the 2.4.4 version here: https://docs.awspring.io/spring-cloud-aws/docs/2.4.4/reference/html/index.html#integrating-your-spring-cloud-application-with-the-aws-parameter-store (2nd table, with 7 properties explained).

From https://docs.awspring.io/spring-cloud-aws/docs/3.0.3/reference/html/index.html#migration-from-2-x-to-3-x I can find one of these properties, aws.paramstore.region, which has apparently been renamed as spring.cloud.aws.parameterstore.region.

From https://docs.awspring.io/spring-cloud-aws/docs/3.0.3/reference/html/appendix.html I can find 5 properties related to spring.cloud.aws.parameterstore.* , but none of these seem to match these 6 properties from version 2.x: aws.paramstore.prefix, aws.paramstore.defaultContext, aws.paramstore.profileSeparator, aws.paramstore.failFast, aws.paramstore.name and aws.paramstore.enabled.

If these 6 properties are indeed now obsolete in version 3.x, then I feel this should definitely be mentioned in the Migration Guide.

maciejwalkowiak commented 11 months ago

Yes, we are aware that migration guide is missing. Long story short - in 2.x there were a lot of conventions based on properties, in 3.x you must be explicit about the path you want to import.

timo-eloranta commented 11 months ago

@maciejwalkowiak - Understood. However, can you straight away confirm that the above listed 6 aws.paramstore.* properties no more have significance in 3.x? Having this confirmed would reduce unclarity and help us in cleaning existing configurations.

maciejwalkowiak commented 11 months ago

Yes, that's correct. You're welcome to submit a PR to documentation with an update to migration guide.

timo-eloranta commented 11 months ago

@maciejwalkowiak - Thank you for confirming the situation regarding the old aws.paramstore.* properties. I assume the situation is identical with the aws.secretsmanager.* properties listed here: https://docs.awspring.io/spring-cloud-aws/docs/2.4.4/reference/html/index.html#integrating-your-spring-cloud-application-with-the-aws-secrets-manager ?

maciejwalkowiak commented 10 months ago

@timo-eloranta correct, same for Secrets Manager

Bene98 commented 4 months ago

@timo-eloranta correct, same for Secrets Manager

Is it planned to put this functionality back inside? So is it planned to be able to import: aws-secretsmanager: and this loads by default all properties matching /prefix/application, /prefix/application_profile and so on?

maciejwalkowiak commented 1 month ago

@Bene98, no. This was causing a lot of confusion so we decided to make it very explicit on which secrets are imported.