geerlingguy / tower-operator

DEPRECATED: This project was moved and renamed to: https://github.com/ansible/awx-operator
82 stars 34 forks source link

Make Ingress optional #25

Closed v1k0d3n closed 4 years ago

v1k0d3n commented 4 years ago

As always, really nice work @geerlingguy :) You always seem to be one step ahead when I start searching for anything ansible-related on the interwebs.

i'm using Calico CNI, and thus directly reaching pod endpoints via BGP. i don't really need/want ingress support in my deployments and prefer to use externalIPs. since operators can be somewhat ridged in terms of implementation/design, is this something that you've already considered making optional? thanks for everything you do!

geerlingguy commented 4 years ago

Good idea; I hadn't thought of that use case, but basically we could make it an option (https://github.com/geerlingguy/tower-operator/blob/master/roles/tower/templates/tower_web.yaml.j2#L100-L115) — maybe if tower_hostname is null or empty, don't apply the ingress?

v1k0d3n commented 4 years ago

yeah, i think that could work. i can give you some easy to use configs if you think it would help: i.e. a Bird config with a corresponding Calico bgpconfiguration/bgppeer. maybe i can catch you on slack to share some of this, and then I can document the use case a little better for you in the docs here. would that work?

tylerauerbeck commented 4 years ago

Tagging along here as well. Making Ingress optional has also been discussed in #30 as it is currently causing some headaches in the OpenShift deployment. I think in general making this customizable would be good (i.e. if someone wants to use OpenShift routes, the Calico example you mention above, etc.)

tylerauerbeck commented 4 years ago

@geerlingguy So this was actually inadvertantly added while I was working with the OpenShift bits of the operator. Right now if you set tower_ingress_type to anything except for ingress or route, it won't create one. Maybe we could make this a bit more explicit and set the default to something like none? Then if you want an ingress, you have to be explicit about defining the type that you want.