Deploy and use Connections Customizer

connections cnx

Some weeks ago IBM released Connections Customizer (on-premises) as part of the Component Pack 6.0.0.4. In this post, I would like to describe how to deploy, configure and use it.

First of all, you need to install Connections Customizer (or the whole Component Pack) by following this documentation. This will include the prerequisites like installing IBM Cloud private, configuring persistent storage as well as the installation process itself. Please also check this blog post to get some more insights how to install the Component Pack. After running the install.sh script you need to patch and configure your Connections Customizer installation. Unfortunately, not all steps are part of the documentation until now.  IBM is working on finalizing the updated documentation soon. Until then I would recommend following the steps below.

IBM HTTP Server & Nginx

There will be different topologies available which can be used to integrate Connections Customizer into your Connections environment. In this post I will use a Nginx server as an entry point for all request (non-clustered environment). The Nginx will forward all requests to the Connections Customizer. Customizer will then talk to your IBM HTTP Server which will serve your Connections Applications. Nginx and IBM HTTP Server will run on the same machine.

  • Install Nginx and configure the basics (You will find the official documentation here)
  • Enable HTTPS on port 443 and HTTP on port 80
  • Customize the Nginx configuration to forward all traffic to Connections Customizer
    ...
    server {
    ...
    proxy_redirect          off;
    proxy_set_header        Host            $host;
    proxy_set_header        X-Real-IP       $remote_addr;
    proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_connect_timeout   90;
    proxy_send_timeout      90;
    proxy_read_timeout      90;
    fastcgi_buffers 16 16k;
    fastcgi_buffer_size 32k;
    proxy_buffer_size   256k;
    proxy_buffers   4 256k;
    proxy_busy_buffers_size   256k;
    ...
    location / {
    proxy_pass http://<icp_host>:30301;
    }
    ...
    }
    ...
  • Trust your SSL root certificate in the CellDefaultTrustStore of your WebSphere installation
  • Reconfigure your IBM HTTP Server to listen on different ports (I will use 6080 for HTTP and 6443 for HTTPS)
  • Configure Proxypass for /appreq and /appregistry on your IHS (more information)

 Patch Connections Customizer

You need to customize the previous installed Connections Customizer to get it up and running smoothly. Therefore some more steps are needed.

  • Delete the existing Customizer installation
    helm delete --purge mw-proxy
  • Unzip <install_dir>/microservices/hybridcloud/helmbuilds/mw-proxy/mw-proxy-0.1.0-20171211-082332.tgz and navigate into the  mw-proxy folder
  • Customize the templates/appdev-mw-proxy-deployment.yaml based on this example
    apiVersion: extensions/v1beta1
    kind: Deployment
    ...
    ports:
    - containerPort: {{ .Values.port }}
    name: {{ .Values.portName }}
    volumeMounts:
    - name: nfs
    mountPath: "/mnt"
    env:
    - name: USE_SSL
    value: "true"
    - name: use_ssl
    value: "true"
    - name: IS_PRIVATE_CLOUD
    value: "true"
    - name: LOCAL_DIRECTORY
    value: /mnt
    - name: NEW_RELIC_LICENSE_KEY
    valueFrom:
    secretKeyRef:
    name: new-relic-secret
    key: new-relic-license-key
    - name: MW_REVERSE_PROXY
    valueFrom:
    configMapKeyRef:
    name: {{ .Values.env.configMapKeyRef.name }}
    key: orient-cnx-host
    - name: ORIENT_CNX_INTERSERVICE_HOST
    valueFrom:
    configMapKeyRef:
    name: {{ .Values.env.configMapKeyRef.name }}
    key: orient-cnx-host
    - name: ORIENT_CNX_INTERSERVICE_PORT
    value: "6443"
    ...
    resources:
    limits:
    cpu: "0.5"
    memory: "400Mi"
    requests:
    cpu: "0.05"
    memory: "75Mi"
    volumes:
    - name: nfs
    persistentVolumeClaim:
    claimName: customizernfsclaim
    imagePullSecrets:
    ...
  • Customize the templates/appdev-mw-proxy-service.yaml based on this example
    apiVersion: v1
    kind: Service
    ...
    spec:
    type: {{ .Values.internalServiceType }}
    ports:
    - port: {{ .Values.servicePort }}
    targetPort: {{ .Values.port }}
    protocol: TCP
    nodePort: 30301
    selector:
    ...
  • Reinstall Customizer by issuing following command within the mw-proxy folder
    helm install --values=/microservices/hybridcloud/bin/common_values.yaml -n mw-proxy .

Apply your Connections customizations

Connections Customizer

Access the URL /appreg/apps to create your first customization by clicking on the “new App” Button. You can then create or import your application json. Afterwards, you just need to copy all needed customization files into the /pv-connections/customizations directoryFollow this documentation to get some more detailed Information.

Happy customizing!

 

2 thoughts on “Deploy and use Connections Customizer”

Leave a Reply

Your email address will not be published. Required fields are marked *