Setup the service requires good understanding of containers and docker, https certificates, domain names and network server configuration. This is usually a task done by a K8s sys. admin.
The K8s yaml files are simple examples of how to deploy the service. They must be customised to the specific network and cluster configuration. Do not proceed if you do not know how to download, modify and execute the K8s files referenced below.
Ensure that you have a working kubernetes cluster and the kubectl command line interface installed on your environment and helm to deploy the service. You need access to a valid https certificate for your domain.
Create a namespace for Constellation CDN service(multiple versions) and App-Static service in your cluster. - namespace 'cdn-onprem' is used in all examples here:
For example : kubectl create namespace cdn-onprem
With the Constellation CDN(multiple versions) and App-Static images available in your Docker repository, create a K8s secret to pull the docker image during cluster install. Make sure that this is created in the same namespace as step2.
{"auths":{"pega-docker.downloads.pega.com":{"username":"yourusername","password":"yourpassword"}}}
kubectl create secret generic regcred --from-file=.dockerconfigjson=/path-to-config.json-from-previous-step --type=kubernetes.io/dockerconfigjson -n cdn-onprem
Install the nginx-ingress on the kubernetes cluster. For more information please check this page. This step will also have created a network loadbalancer in the cloud which will be used as the constellationservicesURI.
For service type load balancer in the nginx-ingress namespace add your amazon certificate in the annotations to enable the HTTPS version of the service
To direct the HTTPS port to HTTP since the backed will be an HTTP service update targetPort to http for https.
For persistent storage, download efs csi driver. If persistance is not required skip this step and in the step7 after downloading please comment out refences to efs
https://docs.aws.amazon.com/eks/latest/userguide/efs-csi.html
Download the helm charts from here
Update the templates and values for your versions
Install the charts using the below command
helm install /path-to-/charts/constellation --values /path-to-/charts/constellation/values.yaml --namespace namespace-created-in-step2 --generate-name
Let the deployment complete.
Take the network load balancer url and create a record set in the hosted zone of your aws account to obtain a user friendly URL that can be used as the constellationserviceURI.
Constellation CDN service version 8.8.3 should now be available at https://yourdomainname/8.8.3
Constellation CDN service version 8.8.2 should be available at https://yourdomainname/8.8.2
You can perform a build version check * for 8.8.3 version service at https://yourdomainname/8.8.3/react/prod/buildinfo.json * for 8.8.2 version service at https://yourdomainname/8.8.2/react/prod/buildinfo.json
Now you can set the ConstellationPegaStaticURL DSS to the https://yourdomainname url to use the service. Based on the infinity version request routes to corresponding constellation service.
Remember to add /cs to the path if running a CS app.
Constellation Appstatic service should be available at https://yourdomainname/c11n-appstatic
You can perform a ping check on the service at https://yourdomainname/c11n-appstatic/v860/ping
You can perform a health check on the service at https://yourdomainname/c11n-appstatic/v860/healthcheck
Now you can set the ConstellationSvcURL DSS to the https://yourdomainname/c11n-appstatic url to use the service.