Python based proxy looking at multiple AMQP queues for incoming requests of VMware vCloud Director's API Extensions and forwarding to specified REST backends.
- Free software: MIT license
- Documentation: https://vcdextproxy.readthedocs.io.
- Support multiple queues subscriptions
- Can address multiple REST endpoints depending on extension(s)
- 1 REST endpoint is a associated to 1 extension in vCD
- Backend servers:
- HTTP + HTTPS support
- Basic authentication
- Basic URI rewritting
- AMQP server:
- Multiple Exchange/Queue listening
- Manage Exchange/Queue declarations
- SSL support
- Extension lifecyle:
- Deploy a newly declared extension
- Redeploy an existing extension
- vCloud Director:
- Support vCD from 9.1 to 10.0
- Can check user's right based on per extension setting
- Can check organization's membership of an user
- #6 - Address some pre-checks like rights management
- #18 - Check organization's membership of an user
- #2 - Manage extension lifecycle (deploy/re-deploy)
In a vCloud Director instance where 2 API extensions are used (example1, example2):
vcdextproxy subscribe to following AMQP queues:
When a message is sent to example1 queue:
- A URI path check is made: is /api/example1 a correct API path for extension named example1 ?
- If valid, all fields of the request are converted to REST request (as headers or as body content)
- REST endpoint handle the request as a standard REST one (with a lot of vCloud information...)
- REST endpoint replies to vcdextproxy
- vcdextproxy reformat the reply as an AMQP reply message
This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.