I unpacked the chart and looked at it's default values.yml
. It seems that IBM/HCL doesn't follow the Helm template, which allow configuring https in almost any charts using ingress.tls
.
The only possible way seems to be manually modifying our ingress ressources like this:
kubectl edit ing cnx-ingress-orient-me
- Replace
*
by a subdomain (e.g. ing
): - host: ing.k8s.internal
- Add a
tls
section in spec
:
tls:
- hosts:
- ing.k8s.internal
Save the changes and verify your ingress is avaliable using https, for example with the comp
curl "https://ing.k8s.internal/social/views/login.html" --head
should return HTTP/2 200
We need to repat this for all deployed ingress ressources. When all features are deployed, there are 4:
$ kging | grep -v NAME | awk '{print $1}'
cnx-ingress-appreg
cnx-ingress-orient-me
cnx-ingress-sanity
external-service
Automation
Its also possible to automate those changes by exporting the ingress to a file:
kubectl get ing cnx-ingress-orient-me -o yaml > /tmp/ing.yml
No we can search/replace using sed
# Replaces the general HTTP listen hostname
sed -i "s/host: '\*\./ing./g" /tmp/ing.yml
# Adds tls-tree with corresponding indention
sed "s/\(\s*\)\(rules:\)/tls:\n\1- hosts:\n\1\1- ing.k8s.internal\n\1\2/g" /tmp/ing.yml
To apply our changes:
kubectl replace -f /tmp/ing.yml