Configure an HTTP Proxy for a Pliant instance

In a Pliant instance that is installed without having direct Internet access (air-gapped installation), users will often need to use an HTTP proxy to access the Internet. To facilitate this, Pliant includes a command line utility in the installation package to configure two of the Pliant microservices to use the proxy:

  • pliant-worker-nodejs-config: This is the service that ingests newly uploaded integration packages and makes their action blocks available for use in workflows. This service creates a “build” package containing the code that a pliant-worker instance needs in order to execute workflows. This build process can require downloading NodeJS NPM packages from the Internet. On an air-gapped installation, this service will not function and is disabled by default. Configuring it for proxy access will enable this service, and then Pliant admins will be able to add, update, and remove integration packages without assistance from Pliant Support.

  • pliant-worker: This is the service that executes the workflows. In an air-gapped installation, the worker will be unable to reach any cloud services. By configuring the worker to use a proxy, all Pliant blocks will automatically use the proxy without requiring a per-block configuration.

Proxy Configuration Steps

The most recent Pliant installation should be in the “pliant-install” directory of the user account used to install Pliant. Change to this directory:

AGTest:~$ cd pliant-install

Run the “activate-proxy.sh” script. It will step through gathering the proxy parameters and reconfiguring the services:

Command:

./infrastructure/kubernetes/activate-proxy.sh

Example run:

AGTest:~/pliant-install$ ./infrastructure/kubernetes/activate-proxy.sh
Enter the IP address for the proxy: 192.168.118.19
Enter the TCP port number for the proxy: 9999
Does the proxy require authentication? (y/n)y
Enter the username for the proxy: proxyusername
Enter the TCP port number for the proxy: myproxypassword
[ NOTICE ] Answering 'y' below will offload all certificate checking to your proxy.
Do you want to use this proxy for worker config builds? (y/n)y
deployment.apps/pliant-worker-nodejs-config env updated
deployment.apps/pliant-worker-nodejs-config patched
Do you want to use this proxy for outbound connections from the local worker? (y/n)y
configmap/worker-proxy-config created
deployment.apps/pliant-worker patched
AGTest:~/pliant-install$

Removing proxy settings

pliant-worker

kubectl edit deployment pliant-worker

Find and remove these lines:

- name: EGRES_PROXY value: <http://proxyuser:proxypass@192.168.118.19:9999>

Save and quit

Workers will terminate and restart

Proxy is gone