-
-
Notifications
You must be signed in to change notification settings - Fork 322
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CloudMap support for spring aws applications #95
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@hariohmprasath thank you so much for the PR! I am really excited about this one TBH and I don't know why. I have submitted some comments to help you organize the modules much better. Please, don't forget to add yourself as an author for the classes that have been touched.
I'm not an expert in cloudmap and left one question to be clear about it. Also, it would be nice to add some javadocs to know more the class responsibility.
...oudmap-config/src/main/java/org/springframework/cloud/aws/cloudmap/AwsCloudMapDiscovery.java
Outdated
Show resolved
Hide resolved
...fig/src/main/java/org/springframework/cloud/aws/cloudmap/AwsCloudMapDiscoveryProperties.java
Outdated
Show resolved
Hide resolved
...fig/src/main/java/org/springframework/cloud/aws/cloudmap/AwsCloudMapDiscoveryProperties.java
Outdated
Show resolved
Hide resolved
|
||
@ConfigurationProperties(AwsCloudMapProperties.CONFIG_PREFIX) | ||
|
||
public class AwsCloudMapProperties { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Keep CloudMapProperties
and move this class to autoconfigure
module. there should be a package io.awspring.cloud.autoconfigure.cloudmap
containing Properties and AutoConfiguration classes
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I followed the same model that we have for parameter store, where we have a module for reading config and a starter project for beans and initiation. Is it ok if I keep it the same way? Or do you want me to move it here? Because this might require a lot more refactoring, so thought of checking with you before that.
...udmap-config/src/main/java/org/springframework/cloud/aws/cloudmap/AwsCloudMapProperties.java
Outdated
Show resolved
Hide resolved
|
||
import org.springframework.core.env.EnumerablePropertySource; | ||
|
||
public class AwsCloudMapPropertySource extends EnumerablePropertySource<AWSServiceDiscovery> { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why a propertysource for cloudmap? sorry, maybe I am missing something but this service is different from parameter store or secrets manager, right? I see this in spring-cloud-consul but it is because consul provides kv store
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I second the question
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No problem happy to explain. Cloudmap has two parts to it.
- Registration --> Where applications can register itself to CloudMap service
- Discovery --> Where application can discover other registered instances using namespace & service name. We are using property store to allow discovery of these instances.
Here is an example of a property getting injected with HttpInstanceSummary (in string format) from cloudmap service based on CloudMap namespace and service name using the key "namespace/service"
@Value("${test-namespace/test-service}")
private String registryDetails;
You can find this example of this inside [SpringCloudAwsCloudMapSample.java](spring-cloud-aws-samples
/spring-cloud-aws-samples/src/main/java/io/awspring/cloud/cloudmap/sample)
Hope this answers your questions, if you have any further questions, let me know. Happy to explain.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the explanation @hariohmprasath. However, I think we should give this more a flavor similar to spring-cloud-consul-discovery module which brings the service registry and discovery.
...map-config/src/main/java/org/springframework/cloud/aws/cloudmap/CloudMapRegistryService.java
Outdated
Show resolved
Hide resolved
...g/src/test/java/org/springframework/cloud/aws/cloudmap/AwsCloudMapAnnotationScannerTest.java
Outdated
Show resolved
Hide resolved
|
...oud-aws-cloudmap/src/main/java/org/springframework/cloud/aws/cloudmap/CloudMapDiscovery.java
Outdated
Show resolved
Hide resolved
Hi @spencergibb, @eddumelendez, @MatejNedic, @jkuipers, Hope everyone had a wonderful weekend. I have incorporated everyone's feedback, just want to check whether we are fine in merging this pull request or do we have any feedback that you would like to incorporate. Happy to do so. Let me know, appreciate all the love and support from this community. Thanks. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the integration with AWS Cloud Map. I added a few comments.
...p/src/main/java/org/springframework/cloud/aws/cloudmap/AwsCloudMapPropertySourceLocator.java
Outdated
Show resolved
Hide resolved
...loudmap/src/main/java/org/springframework/cloud/aws/cloudmap/AwsCloudMapPropertySources.java
Outdated
Show resolved
Hide resolved
...s-cloudmap/src/main/java/org/springframework/cloud/aws/cloudmap/CloudMapDiscoverService.java
Outdated
Show resolved
Hide resolved
...oudmap/src/main/java/org/springframework/cloud/aws/cloudmap/CloudMapDiscoveryProperties.java
Outdated
Show resolved
Hide resolved
...s-cloudmap/src/main/java/org/springframework/cloud/aws/cloudmap/CloudMapRegistryService.java
Outdated
Show resolved
Hide resolved
Thanks @vanekjar for all the feedback. I have incorporated the changes. By the way @vanekjar is part of the AWS cloudmap development team, thanks for accepting the request for review and validating the correctness of the integration. |
...s-cloudmap/src/main/java/org/springframework/cloud/aws/cloudmap/CloudMapRegistryService.java
Outdated
Show resolved
Hide resolved
Hi @eddumelendez & @vanekjar, Thanks |
@hariohmprasath sorry for the delay. I will review on Thursday but still see things to improve. I think we should see at how https://github.com/spring-cloud/spring-cloud-consul/ has been implemented. More details on Thursday. |
Thanks, appreciate the help on this |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey @hariohmprasath , I left few comments about changes.
.../org/springframework/cloud/aws/autoconfigure/cloudmap/AwsCloudMapBootstrapConfiguration.java
Outdated
Show resolved
Hide resolved
.../org/springframework/cloud/aws/autoconfigure/cloudmap/AwsCloudMapBootstrapConfiguration.java
Outdated
Show resolved
Hide resolved
...map/src/test/java/org/springframework/cloud/aws/cloudmap/AwsCloudMapRegisterServiceTest.java
Outdated
Show resolved
Hide resolved
...oud-aws-cloudmap/src/test/java/org/springframework/cloud/aws/cloudmap/CloudMapTestUtils.java
Outdated
Show resolved
Hide resolved
@hariohmprasath please make sure this PR only contains your changes. it is hard to review. |
@eddumelendez this PR only contains changes related to cloudmap integration. We got lot of good feedback from this community and everything related to this feature has been incorporated part of this PR. Thanks |
check the commits tab, please |
There were other changes that were happening in this branch in parallel while this pull request was open. So I have to rebase my changes with the target branch to make it compatible for getting this merged, which has led to other commits getting in the way of this one. If you remember I infact created a discussion to ask a few questions around this. What do you suggest? I am open to make things easier for you to review so I can take care of the comments. Let me know your thoughts on this. Thanks. |
after the rebase is done only your commits should be displayed. looks like in the process some commits from other authors keep in your branch. there is no need to update the PR with changes happening in the main branch but this time I will appreciate to do it and only keep your commits, please |
Are you fine in reviewing it this time? or do you want me to change the PR. Sorry I am trying to understand your response. Appreciate your quick responses. Thanks |
@hariohmprasath please, just make sure the branch contains only your commits related to cloudmap integration |
Hi @eddumelendez, Or do we have a way of doing what you have in this current pull request? I know we are almost there with a lot of reviews done and feedback incorporated frankly I am not an expert with GIT so can you please help with this? Any pointer to how I can do this on the current one will be really helpful. Thanks in advance
|
Sounds good @eddumelendez . Do you need testing help? Given that dev is completed - any reviews pending? |
Hi @kdhrubo, I have reached out @eddumelendez and team for some early peer review before I wrap up the testcases and submit a PR (more polished one :) ) thanks again for your patience. |
@hariohmprasath thanks. I will try to test the code this week and share my observation. Awesome 👍 work. |
Thanks @kdhrubo. You can directly reach out to me at this email address [email protected] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey @hariohmprasath, tnx for your contribution!
It is looking good so far.
@Bean | ||
@ConditionalOnMissingBean | ||
AWSServiceDiscovery serviceDiscovery(CloudMapProperties properties) { | ||
return createServiceDiscoveryClient(properties); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is no need for a new method.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, you are right. Removed it in the new version
public class AwsCloudMapBootstrapConfiguration { | ||
|
||
@Autowired | ||
private ApplicationContext context; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Use constructor injection instead
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Resolved
@ConditionalOnDiscoveryEnabled | ||
@ConditionalOnBlockingDiscoveryEnabled | ||
public class AwsCloudMapBootstrapConfiguration { | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Instead of injecting properties in each method rather inject it through a constructor and reference it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed
*/ | ||
@Configuration(proxyBeanMethods = false) | ||
@EnableConfigurationProperties(CloudMapProperties.class) | ||
@ConditionalOnClass({AWSServiceDiscovery.class}) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add ServiceRegistration
, CloudMapDiscoveryClient
and CloudMapAutoRegistration
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
those 3 lives in the same library, one of them is just needed in the @ConditionalOnClass
. We can add org.springframework.cloud.client.discovery.event.InstanceRegisteredEvent
and org.springframework.cloud.client.serviceregistry.AutoServiceRegistration
if live in different libraries.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have added the missing beans as part of the @ConditionalOnClass
annotations. But not sure about InstanceRegisteredEvent
and AutoServiceRegistration
as I am not using it.
...g-cloud-aws-cloudmap/src/main/java/org/springframework/cloud/aws/cloudmap/CloudMapUtils.java
Outdated
Show resolved
Hide resolved
spring-cloud-aws-cloudmap/pom.xml
Outdated
<dependency> | ||
<groupId>net.oneandone.reflections8</groupId> | ||
<artifactId>reflections8</artifactId> | ||
<version>0.11.7</version> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we extract the version to the project level?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wonder where it is used or if it is needed for another dependency
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have removed this as it is no longer needed
*/ | ||
public List<String> listServices(final AWSServiceDiscovery serviceDiscovery, | ||
List<CloudMapDiscoveryProperties> discoveryProperties) { | ||
final List<String> serviceList = new ArrayList<>(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Instead if mb we can have Assert.notNull(discoveryProperties,
"DiscoveryProperties must not be null");`
final ServiceFilter serviceFilter = new ServiceFilter().withName(NAMESPACE_ID) | ||
.withCondition("EQ").withValues(nameSpaceId); | ||
final ListServicesRequest servicesRequest = new ListServicesRequest().withFilters(serviceFilter); | ||
if (token != null) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mb change If with this. It is more readable
Optional.ofNullable(token, String.class)).ifPresent(servicesRequest::withNextToken);
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code updated
|
||
List<NamespaceSummary> namespaceSummaries = namespacesResult.getNamespaces(); | ||
Optional<String> namespaceId = namespaceSummaries.stream() | ||
.filter(n -> n.getName().equals(nameSpace)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a question are namespaces case sensitive?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes thats correct
import java.net.URI; | ||
|
||
@Service | ||
public class CloudMapRequestFactory implements ClientHttpRequestFactory { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should this be a Bean, if so define it in starters and remove @Service
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it should be define in the auto-configure module, right? not in the starter
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have removed this as its not getting used
ResponseEntity<String> metaDataResponse = REST_TEMPLATE | ||
.getForEntity(System.getenv("ECS_CONTAINER_METADATA_URI_V4") + "/task", String.class); | ||
JsonNode root = JSON_MAPPER.readTree(metaDataResponse.getBody()); | ||
JsonNode jsonNode = root.get("Containers").get(0).get("Networks").get(0); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is this always true? I mean the first item in the container list and the first network? In general I think is ok but just double checking
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good catch. I have created two methods which will be picked up based on the DEPLOYMENT_PLATFORM
value ECS
getEcsRegistrationAttributes
- Used for ECSgetEksRegistrationAttributes
- Used for EKS
Map<String, String> attributes = new HashMap<>(); | ||
try { | ||
ResponseEntity<String> metaDataResponse = REST_TEMPLATE | ||
.getForEntity(System.getenv("ECS_CONTAINER_METADATA_URI_V4") + "/task", String.class); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the system environment variable is for ECS only right? ehat about services in EC2 or EKS?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Now we have two different methods to handle ECS, EKS. Inside ECS, we have a mechanism to use default metaURL if not available (to handle EC2 use case)
Kudos, SonarCloud Quality Gate passed! |
Hi @eddumelendez, @MatejNedic, Thanks for the quick response on the code review and for helping with the early feedback. It was super helpful. I have updated the code based on the feedback, additionally tested the integration both in |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thanks for the update @hariohmprasath ! I have added some suggestions and questions in order to understand a little bit more about the implementation.
Please, take into account the following points
- starter should only contain a pom
- cloudmap module should not have dependency on spring-boot. So far I have identified it depends on
ConfigurationProperties
- auto-configuration is only managed at
spring-cloud-aws-autoconfigure
module
org.springframework.cloud.client.discovery.EnableDiscoveryClient=\ | ||
org.springframework.cloud.aws.cloudmap.servicediscovery.CloudMapDiscoveryClient |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was not able to see a similar config on spring-cloud-consul. can you point us to it, please?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You are right, this is not required. So I have removed it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @eddumelendez,
Please find my responses below:
- starter should only contain a pom & auto-configuration is only managed at spring-cloud-aws-autoconfigure module
I followed
spring-cloud-starter-aws-parameter-store-config
module implementation to begin with and since we have write a discovery and auto-registration client part ofspring-cloud-aws-cloudmap
module I am unable to move the autoconfiguration toautoconfigure
module.
- cloudmap module should not have dependency on spring-boot. So far I have identified it depends on ConfigurationProperties
Removed
spring-boot
dependencies from the module
*/ | ||
INSTANCE; | ||
|
||
public static final String META_DATA_URL = "http://169.254.169.254/latest/meta-data"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this is a EC2 metadata url, right? can we rename it to EC2_METADATA_URL
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated variable name
* @author Hari Ohm Prasath | ||
* @since 2.3.2 | ||
*/ | ||
public enum CloudMapUtils { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am also in favor or a class instead of enum
public Map<String, String> getRegistrationAttributes() { | ||
String deploymentPlatform = System.getenv(DEPLOYMENT_PLATFORM); | ||
LOGGER.info("Deployment platform passed in {}", deploymentPlatform); | ||
if (StringUtils.hasText(deploymentPlatform) && EKS.equalsIgnoreCase(deploymentPlatform.trim())) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
deploymentPlatform
can have empty spaces at the end?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated CloudMapUtils
to a singleton class and fixed space issue
* register instances to cloudmap service. | ||
* @return map containing ip address and vpcid | ||
*/ | ||
public Map<String, String> getRegistrationAttributes() { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
in case of ECS is taking eks attributes? I think we can clarify this in the javadoc
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have added additional docs to clarify this, let me know if its still not clear
private List<CloudMapDiscoveryProperties> discoveryList; | ||
|
||
public boolean isFailFast() { | ||
return failFast; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
return failFast; | |
return this.failFast; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed
} | ||
|
||
public List<CloudMapDiscoveryProperties> getDiscoveryList() { | ||
return discoveryList; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
return discoveryList; | |
return this.discoveryList; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed
* @author Hari Ohm Prasath | ||
* @since 2.3.2 | ||
*/ | ||
public class AwsCloudMapRegisterServiceTest { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
public class AwsCloudMapRegisterServiceTest { | |
public class CloudMapRegisterServiceTest { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated
@ConditionalOnProperty(prefix = CloudMapProperties.CONFIG_PREFIX, name = "enabled", matchIfMissing = true) | ||
@ConditionalOnDiscoveryEnabled | ||
@ConditionalOnBlockingDiscoveryEnabled | ||
public class AwsCloudMapBootstrapConfiguration { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
public class AwsCloudMapBootstrapConfiguration { | |
public class CloudMapBootstrapConfiguration { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated
|
||
public AwsCloudMapBootstrapConfiguration(CloudMapProperties properties, ApplicationContext context) { | ||
AWSServiceDiscoveryClientBuilder builder = AWSServiceDiscoveryClientBuilder.standard() | ||
.withCredentials(new DefaultAWSCredentialsProviderChain()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can you add .overrideConfiguration(SpringCloudClientConfiguration.clientOverrideConfiguration())
and Optional.ofNullable(this.properties.getEndpoint()).ifPresent(client::endpointOverride);
similar to other auto-configurations. Also. Region and Credentials can be injected. See other auto-configurations
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed the overrides
Hi, we really seeking this module to reach the main branch, is there something we can do to boost this up? |
Thanks for the great effort! We are looking forward to see this PR merged. Is there anything that we can possibly help? |
Any update on this feature? |
Kudos, SonarCloud Quality Gate passed! |
Hi @eddumelendez, |
@maciejwalkowiak If you would have a chance to review, these changes and merge them that would be amazing. |
I am a bit puzzled right now because since this PR started we got huge progress with migration to AWS SDK v2 in Spring Cloud AWS 3.0. The options we have are: merge CloudMap to 2.x and release 3.0 without CloudMap with an idea to migrate it to AWS SDK v2 in 3.1, or rebase this PR on the top of @hariohmprasath are you able to estimate the efforts needed to migrate this PR to AWS SDK v2 and if you would be even willing to do it? |
Is there some way I can help @hariohmprasath ? |
Hi @maciejwalkowiak, |
Thanks @Vostan for volunteering to help me out on this. Since we have a new PR posted based on AWS SDK 2.x we should be good in releasing this feature on time. I would definitely need your help in trying this feature out and work on improving the integration with AWS CloudMap. Thanks |
Hi Maciej,
Thanks for going over the options and I can completely understand the
timelines involved in releasing 3.x with AWS SDK v2 support. So I took some
time over this weekend to rework this feature based on AWS SDK 2.x. I have
submitted a new PR (for 3.x branch)
<#506> with all the
required changes, tested it using AWS ECS and everything seems to work
fine. Since this PR has already been reviewed by the team, the new PR based
on AWS SDK 2.x contains all the requested changes. Hopefully, this will
make things easier on your end for planning the release and let me know if
you have questions or want me to take care of anything before merging this
change. Thanks again for all the support from this team.
#506 <#506>
…On Thu, Sep 1, 2022 at 6:37 AM Maciej Walkowiak ***@***.***> wrote:
I am a bit puzzled right now because since this PR started we got huge
progress with migration to AWS SDK v2 in Spring Cloud AWS 3.0.
The options we have are: merge CloudMap to 2.x and release 3.0 without
CloudMap with an idea to migrate it to AWS SDK v2 in 3.1, or rebase this PR
on the top of main branch migrated to AWS SDK v2 and include it in 3.x at
one point - but this would postpone having CloudMap support even further.
@hariohmprasath <https://github.com/hariohmprasath> are you able to
estimate the efforts needed to migrate this PR to AWS SDK v2 and if you
would be even willing to do it?
—
Reply to this email directly, view it on GitHub
<#95 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAT6QHJJSULQHQ2N2HSPO6LV4CWRHANCNFSM4YSKINKA>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
--
With Regards,
Hari Ohm Prasath
|
@hariohmprasath fantastic! Thanks a lot for putting effort into this! I'm scheduling CloudMap support for M3 and do our best to review and try it out on time. |
Closing in favour of #506 |
📢 Type of change
📜 Description
This pull request adds support for integrating spring boot application with AWS cloudmap. Here is an example of how an simple yaml file integration looks like for both cloudmap registration and discovery
You can also use annotations to register the spring boot applications to cloudmap
💡 Motivation and Context
Adds support for cloudmap integration with spring boot applications for both service registry and discovery
#5
💚 How did you test it?
I executed the following tests:
📝 Checklist
🔮 Next steps