{"action":"created","issue":{"url":"https://api.github.com/repos/envoyproxy/envoy/issues/3415","repository_url":"https://api.github.com/repos/envoyproxy/envoy","labels_url":"https://api.github.com/repos/envoyproxy/envoy/issues/3415/labels{/name}","comments_url":"https://api.github.com/repos/envoyproxy/envoy/issues/3415/comments","events_url":"https://api.github.com/repos/envoyproxy/envoy/issues/3415/events","html_url":"https://github.com/envoyproxy/envoy/issues/3415","id":324015292,"node_id":"MDU6SXNzdWUzMjQwMTUyOTI=","number":3415,"title":"AMQP/HTTP bridge","user":{"login":"alanconway","id":7780958,"node_id":"MDQ6VXNlcjc3ODA5NTg=","avatar_url":"https://avatars0.githubusercontent.com/u/7780958?v=4","gravatar_id":"","url":"https://api.github.com/users/alanconway","html_url":"https://github.com/alanconway","followers_url":"https://api.github.com/users/alanconway/followers","following_url":"https://api.github.com/users/alanconway/following{/other_user}","gists_url":"https://api.github.com/users/alanconway/gists{/gist_id}","starred_url":"https://api.github.com/users/alanconway/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alanconway/subscriptions","organizations_url":"https://api.github.com/users/alanconway/orgs","repos_url":"https://api.github.com/users/alanconway/repos","events_url":"https://api.github.com/users/alanconway/events{/privacy}","received_events_url":"https://api.github.com/users/alanconway/received_events","type":"User","site_admin":false},"labels":[{"id":620444894,"node_id":"MDU6TGFiZWw2MjA0NDQ4OTQ=","url":"https://api.github.com/repos/envoyproxy/envoy/labels/design%20proposal","name":"design proposal","color":"c5def5","default":false},{"id":867150379,"node_id":"MDU6TGFiZWw4NjcxNTAzNzk=","url":"https://api.github.com/repos/envoyproxy/envoy/labels/stale","name":"stale","color":"bfd4f2","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":9,"created_at":"2018-05-17T13:08:12Z","updated_at":"2018-09-04T15:52:51Z","closed_at":null,"author_association":"NONE","body":"*Title*: AMQP/HTTP bridge for envoy\r\n\r\n*Description*:\r\n\r\nAMQP (http://www.amqp.org/) is a popular standard protocol for messaging middleware. It supports many patterns of asynchronous message exchanged (brokered queues, peer-to-peer, routed etc.) including the request-response pattern used by HTTP. The idea is to bridge between AMQP request/response and HTTP. Other messaging patters possible in AMQP are out of scope.\r\n\r\nThe bridge would be in 2 halves: \r\n1. Receiving AMQP requests, forwarding as HTTP, translating HTTP responses back to AMQP\r\n2. Receiving HTTP requests, forwarding as AMQP translating AMQP responses back to HTTP\r\n\r\nEach half can be deployed independently allowing Envoy to behave as an AMQP to HTTP bridge or a HTTP to AMQP bridge. Both halves could be deployed in the same Envoy instance to make it behave like a limited (request/response only) AMQP router, since there are full-featured AMQP routers already out there that probably isn't a major use case. \r\n\r\nThe bridge will be implemented as a pair of filters, or a single filter that can be configured to work in either mode. The filter will do a simple, fixed translation from AMQP to HTTP and back. Users of the bridge will rely on Envoy's existing HTTP features to get interesting routing and transformation behaviour on the HTTP side of the bridge.\r\n\r\n*Goals*\r\n\r\n* Envoy can accept and initiate AMQP connections (act as AMQP client or server)\r\n* Allow all existing Envoy HTTP routing/rewriting features on the HTTP side of the bridge.\r\n* Flexible mapping/routing of AMQP addresses to HTTP host + path using Envoy's existing URL rewriting and routing abilities\r\n* Run-time sync between incoming AMQP links and Envoy service discovery (needs more thought)\r\n\r\n*Use cases*\r\n\r\n* HTTP tunneling over a routed AMQP network using http://qpid.apache.org/components/dispatch-router\r\n* HTTP client access to AMQP requset/response services\r\n* AMQP client access to HTTP servers\r\n* (AMQP request/response tunneling over HTTP - possible but not clear that anyone wants that.)\r\n\r\n*Relevant Links*\r\n\r\nThere is an incomplete work in progress at https://github.com/alanconway/envoy-amqp\r\n"},"comment":{"url":"https://api.github.com/repos/envoyproxy/envoy/issues/comments/418420575","html_url":"https://github.com/envoyproxy/envoy/issues/3415#issuecomment-418420575","issue_url":"https://api.github.com/repos/envoyproxy/envoy/issues/3415","id":418420575,"node_id":"MDEyOklzc3VlQ29tbWVudDQxODQyMDU3NQ==","user":{"login":"cmluciano","id":4790487,"node_id":"MDQ6VXNlcjQ3OTA0ODc=","avatar_url":"https://avatars1.githubusercontent.com/u/4790487?v=4","gravatar_id":"","url":"https://api.github.com/users/cmluciano","html_url":"https://github.com/cmluciano","followers_url":"https://api.github.com/users/cmluciano/followers","following_url":"https://api.github.com/users/cmluciano/following{/other_user}","gists_url":"https://api.github.com/users/cmluciano/gists{/gist_id}","starred_url":"https://api.github.com/users/cmluciano/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cmluciano/subscriptions","organizations_url":"https://api.github.com/users/cmluciano/orgs","repos_url":"https://api.github.com/users/cmluciano/repos","events_url":"https://api.github.com/users/cmluciano/events{/privacy}","received_events_url":"https://api.github.com/users/cmluciano/received_events","type":"User","site_admin":false},"created_at":"2018-09-04T15:52:51Z","updated_at":"2018-09-04T15:52:51Z","author_association":"MEMBER","body":"Can we add the \"no stalebot\" label to this issue @envoyproxy/maintainers "}}
{"actor":{"display_login":"cmluciano"}}