awx-operator icon indicating copy to clipboard operation
awx-operator copied to clipboard

Adding option to enable a websocket listener

Open dale-mittleman opened this issue 2 years ago • 2 comments

This is a simple way to add a websocket listener to the AWX deployment. Doing so will allow for the introduction of remote execution nodes.

related #634

There are a couple of questions that need to be addressed...

  • Should it be possible to expose any type of listener (TCP / UDP / websocket)? Websocket is simplest because it can be handled most easily by an ingress controller. Should this PR also handle the other two cases?
  • How should the ingress for the websocket be provided? In my testing, I created an additional Ingress object to handle connections. Should an additional ingress template be added to the repo? Or should the websocket port be available through the primary ingress?
  • Do the field names follow convention? i.e. I wasn't sure whether to name the field _enable or _enabled.

dale-mittleman avatar Apr 26 '22 18:04 dale-mittleman

Hello. Thanks for this PR. We are going to prioritize remote execution nodes pretty soon, but I'm not sure we're going to go the direction you've taken this PR. There are some use cases where we want to expose this functionality but the end user will not have direct access to the underlying infrastructure. We may end up adding the ability to connect to external execution nodes via the API, possibly the UI. We're about a month out from planning the next release of our product and this is one of the things we will be scoping out. I'll circle back here and share any documents that fall out of that effort.

shanemcd avatar Apr 27 '22 13:04 shanemcd

Hello. Thanks for this PR. We are going to prioritize remote execution nodes pretty soon, but I'm not sure we're going to go the direction you've taken this PR. There are some use cases where we want to expose this functionality but the end user will not have direct access to the underlying infrastructure. We may end up adding the ability to connect to external execution nodes via the API, possibly the UI. We're about a month out from planning the next release of our product and this is one of the things we will be scoping out. I'll circle back here and share any documents that fall out of that effort.

Any news on the 'remote execution nodes' you're referring to here? Does that envision a non receptor based approach of job delegation?

sdktr avatar Aug 02 '22 12:08 sdktr

Closing this, as the project has implemented execution nodes, preferring a mesh model where the tower node connects out to all remote execution instances

dale-mittleman avatar Nov 14 '22 16:11 dale-mittleman