Reverse Proxy¶
Pulp’s architecture makes use of a reverse proxy that sits in front of the REST API and the content serving application:
A pulp plugin may have webserver snippets to route custom URLs.
The operator convert these snippets into paths on routes and NGINX Ingress Controllers.
For now, because of a limitation (they do not support rewrite rules
in their load balancer) in AWS
and GCE
ingress controllers (controllers supported and maintained by Kubernetes project), Pulp operator will keep deploying pulp-web
and Ingresses
for "non-nginx" controllers.
Manually Configuring Ingress Resources¶
There are cases in which the Ingress
resource provided by Pulp Operator does not meet the usage requirements or it is required to have custom configurations not available through Pulp CR.
For such situations, it is possible to configure it manually.
The following yaml
file is a template with all the snippets used by Pulp: ingress.yaml.
It can be used as an example to configure the Ingress
backend rules.
After modifying the file with the expected configurations, create the Ingress
resource:
$ kubectl apply -f ingress.yaml
and update Pulp CR with the hostname
used in Ingress
:
spec:
pulp_settings:
content_origin: http://<ingress host>
ansible_api_hostname: http://<ingress host>
token_server: http://<ingress host>/token/
Note
Resources manually created will not be managed by the operator, which means, the operator will not reconcile or verify if this resource has the necessary configurations for Pulp's proper execution.