Skip to content

Reverse Proxy#

Pulp’s architecture makes use of a reverse proxy that sits in front of the REST API and the content serving application: Architecture

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 snipets 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.