SSL/TLS for PULSE UI using ad-proxy
Enabling (TLS) HTTPS for Pulse Web UI Configuration using ad-proxy
Pre-requisites
- Certificate File: cert.crt
- Certificate Key: cert.key
- CA Certificate: ca.crt (optional)
- Decide whether to keep the HTTP port (Default: 4000) open or not
- Decide on which port to use (default: 443)
Deployment and Configuration
- Copy the
cert.crt
,cert.key
andca.crt
(optional) files to$AcceloHome/config/proxy/certs
location. - Check if
ad-core.yml
file is present by executing the following command.
ls -al $AcceloHome/config/docker/ad-core.yml
- If
ad-core.yml
file is not present, then generate thead-core.yml
file by executing the following command.
accelo admin makeconfig ad-core
The output for the above looks as follows.
[root@hostname:addons (ad-default)]$ accelo admin makeconfig ad-core
WARN: Gauntlet is running in dry run mode. Disable this to delete indices from elastic and purge data from mongo DB
✓ Done, Configuration file generated
IMPORTANT: Please edit/verify the file '/data01/acceldata/config/docker/ad-core.yml'.
If the stack is already up and running, use './accelo admin recreate' to recreate the whole environment with the new configuration.
- Modify the
ad-core.yml
file.- Open the
ad-core.yml
file by executing the following command..
- Open the
vi $AcceloHome/config/docker/ad-core.yml
b. Remove the ports:
field in the ad-graphql
section of ad-core.yml
ports:
- 4000:4000
c. The resulted ad-graphql
section will look like as follows:
ad-graphql:
image: ad-graphql
container_name: ""
environment:
- MONGO_URI=ZN4v8cuUTXYvdnDJIDp+R8Z+ZsVXXjv8zDOvh8UwQXosC8vfVkGYGWGPNnX64ZVSp9yHgErQknPBAfYZ9cOG1A==
- MONGO_ENCRYPTED=true
- MONGO_SECRET=Ah+MqxeIjflxE8u+/wcqWA==
- UI_PORT=4000
- LDAP_HOST=ad-ldap
- LDAP_PORT=19020
- SSL_ENFORCED=false
- SSL_ENABLED=false
- SSL_KEYDIR=/etc/acceldata/ssl/
- SSL_KEYFILE=ssl.key
- SSL_CERTDIR=/etc/acceldata/ssl/
- SSL_CERTFILE=ssl.crt
- SSL_PASSPHRASE=""
- DS_HOST=ad-query-estimation
- DS_PORT=8181
- 'FEATURE_FLAGS={ "ui_regex": { "regex": "ip-([^.]+)", "index": 1 }, "rename_nav_labels":{},
"timezone": "", "experimental": true, "themes": false, "hive_const":{ "HIVE_QUERY_COST_ENABLED":
false, "HIVE_MEMORY_GBHOUR_COST": 0, "HIVE_VCORE_HOUR_COST": 0 }, "spark_const":
{ "SPARK_QUERY_COST_ENABLED": false, "SPARK_MEMORY_GBHOUR_COST": 0, "SPARK_VCORE_HOUR_COST":
0 }, "queryRecommendations": false, "hostIsTrialORLocalhost": false, "data_temp_string":
"" }'
volumes:
- /etc/localtime:/etc/localtime:ro
- /etc/hosts:/etc/hosts:ro
- /data01/acceldata/work/license:/etc/acceldata/license:ro
ulimits: {}
depends_on:
- ad-db
opts: {}
restart: ""
extra_hosts: []
network_alias: []
d. Save the file.
- Restart the
ad-graphql
container by executing the following command.
accelo restart ad-graphql
- Check if the port is not exposed to host by executing the following command.
docker ps
The output for the above command looks as follows.
ea4eb6fd540f 191579300362.dkr.ecr.us-east-1.amazonaws.com/acceldata/ad-graphql:3.2.1 "docker-entrypoint.s…" 9 minutes ago Up 9 minutes 4000/tcp ad-graphql_default
- Check if there any errors in
ad-graphql
container:
docker logs -f ad-graphql_default
- Deploy the
ad-proxy
addons, run the following command and selectProxy
from the list and press enter.
accelo deploy addons
The output for the above command looks as follows.
[x] Notifications
[x] Oozie Connector
> [x] Proxy
[ ] QUERY ROUTER DB
[ ] SHARD SERVER DB
[ ] StandAlone Connector
- Check if any errors are there in the
ad-proxy
container:
docker logs -f ad-proxy_default
- Now you can access the Pulse UI using
https://<pulse-server-hostname>
By default the port used is 443
Configuration
If you want to change the SSL port to another ports, follow the below steps.
- Check if
ad-proxy.yml
file is present, by executing the following command.
ls -altrh $AcceloHome/config/docker/addons/ad-proxy.yml
- Generate the
ad-proxy.yml
file if its not present, by executing the following command.
accelo admin makeconfig ad-proxy
The output for the above command looks as follows.
[root@hostname:addons (ad-default)]$ accelo admin makeconfig ad-proxy
WARN: Gauntlet is running in dry run mode. Disable this to delete indices from elastic and purge data from mongo DB
✓ Done, Configuration file generated
IMPORTANT: Please edit/verify the file '/data01/acceldata/config/docker/addons/ad-proxy.yml'.
If the addon is already up and running, use './accelo deploy addons' to remove and recreate the addon service.
Modify the
ad-proxy.yml.
- ```Open the
ad-proxy.yml
file by executing the following command. ` ``
- ```Open the
vi $AcceloHome/config/docker/addons/ad-proxy.yml
b. Change the host port in the ports list to the desired port.
ports:
- <DESIRED_HOST_PORT>:443
The final file will look like this, if the host port is 6003
version: "2"
services:
ad-proxy:
image: ad-proxy
container_name: ""
environment: []
volumes:
- /etc/localtime:/etc/localtime:ro
- /data01/acceldata/config/proxy/traefik.toml:/etc/traefik/traefik.toml
- /data01/acceldata/config/proxy/config.toml:/etc/traefik/conf/config.toml
- /data01/acceldata/config/proxy/certs:/etc/acceldata
ulimits: {}
ports:
- 6003:443
depends_on: []
opts: {}
restart: ""
extra_hosts: []
network_alias: []
label: Proxy
c. Save thew file.
- Restart the
ad-proxy
container by executing the following command.
accelo restart ad-proxy
- Check if there aren’t any errors.
docker logs -f ad-proxy_default
- Now you can access the Pulse UI using the following URL.
https://<pulse-server-hostname>:6003
Was this page helpful?