Skip to content
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

add AMQP support to terraform-boot #1901

Open
9 tasks
swaroopar opened this issue Aug 27, 2024 · 2 comments
Open
9 tasks

add AMQP support to terraform-boot #1901

swaroopar opened this issue Aug 27, 2024 · 2 comments
Assignees
Labels
Accepted Issues that have been accepted and planned api terraform-boot

Comments

@swaroopar
Copy link
Contributor

swaroopar commented Aug 27, 2024

  • under api controller add a new package - queue
  • Add AMQP producer and consumer classes
  • Both HTTP controllers and queues must accept same data models.
  • Both HTTP controllers and queues must also call the same methods after receiving requests from client.
  • Terraform-boot processes must call the same methods after the processing is done.
  • Add configuration of rabbitmq broker to amqp.properties.
  • AMQP beans must be activated only when profile amqp is provided.
  • Add documentation on how to start AMQP provider and create queues. All queues must be 'durable'
  • Queue names must all start with org.eclipse.terraform.boot.xxxxxx

Note - The idea is to support any AMQP providers. We can consider rabbitmq as default implementation.

@baixinsui
Copy link
Contributor

I will take it

@swaroopar
Copy link
Contributor Author

@baixinsui We will need this logic similar to our HTTP client callback URLs. Please see if the below solution makes sense to you as well.

  1. As part of the request, client sends on which topic the response is expected. This can be same field as the current http request object where we send the URL.
  2. On all consumer sides, we will verify if the queues exist at the boot time. Example, on terraform-boot, we will verify if the request queues exist and later in xpanse, we will check if all response queues exist.
    This way we can ensure that the all necessary queues exist.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Accepted Issues that have been accepted and planned api terraform-boot
Projects
Status: Planned
Development

No branches or pull requests

7 participants
@swaroopar @baixinsui and others