# Docker image
-Maven produces a single docker image containing the policy GUIs. These are exposed on
-the same port (2443) using different URLs:
-- Apex Policy Editor: http://localhost:2443/apex-editor
-- PDP Monitoring UI: http://localhost:2443/pdp-monitoring
-- CLAMP Designer UI: http://localhost:2443/clamp
+Maven produces a single docker image containing the policy GUIs.
+These are exposed on the same port (2443) using different URLs:
+- Apex Policy Editor: https://localhost:2443/apex-editor
+- PDP Monitoring UI: https://localhost:2443/pdp-monitoring
+- CLAMP Designer UI: https://localhost:2443/clamp
## Building
You can use the following command to build the policy-gui docker image:
```
## Deployment
-Currently, the policy-gui docker image can be deployed with minimal configuration. As
-the clamp backend is required to use the clamp GUI, you can use the CLAMP_REST_URL
-environment variable to set its location.
+Currently, the policy-gui docker image can be deployed without configuration.
+For the GUI container to start correctly, the CLAMP backend
+`policy-clamp-backend` should be started first.
-By default, CLAMP_REST_URL is set to an invalid address (0.0.0.0), meaning the CLAMP GUI
-will not work without specifying CLAMP_REST_URL.
-
-If running clamp as part of a docker network, where `policy-clamp-backend` is the CLAMP
-backend, then CLAMP_REST_URL should be set to `https://policy-clamp-backend:8443`.
-
-If running clamp backend on localhost port 8443, the policy-gui docker image would be
-started like this:
+For local testing, if the CLAMP backend is running on localhost port 8443,
+the policy-gui docker container can be started with:
```
-docker run -p 2443:2443 \
- --add-host host.docker.internal:host-gateway \
- --env CLAMP_REST_URL=https://host.docker.internal:8443 \
- onap/policy-gui
+docker run -p 2443:2443 --add-host policy-clamp-backend:host-gateway onap/policy-gui
```
## Client Credentials
ENV POLICY_LOGS=$POLICY_LOGS
ENV POLICY_HOME=$POLICY_HOME/gui
-ENV CLAMP_REST_URL=http://0.0.0.0
RUN mkdir -p $POLICY_HOME $POLICY_LOGS $POLICY_HOME/bin $POLICY_HOME/lib && \
chown -R policy:policy $POLICY_HOME $POLICY_LOGS && \
apk update && \
- apk add --no-cache gettext nginx
+ apk add --no-cache nginx
-WORKDIR $POLICY_HOME
-COPY policy-gui.sh ./bin/
-COPY /maven/gui-editor-apex-uber.jar ./lib/
-COPY /maven/gui-pdp-monitoring-uber.jar ./lib/
-COPY etc/ssl/clamp.key /etc/ssl/clamp.key
-COPY etc/ssl/clamp.pem /etc/ssl/clamp.pem
-COPY nginx/nginx.conf /etc/nginx/nginx.conf
-COPY nginx/default.conf.template /etc/nginx/templates/default.conf.template
-COPY nginx/index.html /usr/share/nginx/html/
-ADD /maven/gui-clamp-html.tar.gz /usr/share/nginx/html/
-ADD /maven/gui-pdp-monitoring-html.tar.gz /usr/share/nginx/html/
-RUN rm /etc/nginx/conf.d/default.conf && \
- ln -sf /dev/stdout /var/log/nginx/access.log && \
+COPY --chown=policy:policy etc/ /etc/
+COPY --chown=policy:policy policy-gui.sh $POLICY_HOME/bin/
+COPY --chown=policy:policy /maven/*.jar $POLICY_HOME/lib/
+ADD --chown=policy:policy index.html /maven/*-html.tar.gz /usr/share/nginx/html/
+RUN ln -sf /dev/stdout /var/log/nginx/access.log && \
ln -sf /dev/stderr /var/log/nginx/error.log && \
touch /var/run/nginx.pid && \
- chown -R policy:policy . /etc/nginx /usr/share/nginx /var/lib/nginx /var/log/nginx /var/run/nginx.pid && \
- chmod 755 bin/*.sh
+ chown -R policy:policy /etc/nginx /usr/share/nginx /var/lib/nginx /var/log/nginx /var/run/nginx.pid && \
+ chmod 755 $POLICY_HOME/bin/*.sh
USER policy
WORKDIR $POLICY_HOME/bin