Previously I set up Metallb & Nginx Ingress and now I will continue to work on exposing ChartMuseum service to the outside world.
This process should be pretty simple and I don't even need to buy a domain name because I can use a free service like noip.com to create a hostname.
Create free DNS and map to my IP
I have registered a new account on noip.com, created a new hostname, and mapped it to my public IP address.
Add Chartmuseum ingress rule
Chartmuseum helm chart already has an ingress template and I just had to modify the helm release and add the following lines:
ingress: enabled: true ingressClassName: nginx hosts: - name: alex-chartmuseum.ddns.net path: /
Forward port 8080 to MetalLb IP
In one of the previous articles, I set up an IP range for MetalLb to use. Now I need to find out on which IP is Chartmuseum listening. I can do this by checking the ingress resource:
Okay so looks like I have to forward traffic coming into my home router on port 8080 to 192.168.1.2 port 80.
But why forward port 8080 and not 80?
Well... because for some weird reason which I don't understand, my home router remote management interface is listening on port 80 and I couldn't find a way to disable it or at least change the port... so that's why I have to use a different port.
I have logged into my router management interface and added the following port forwarding rule:
Say a prayer and test🙏
Now assuming everything I did was correct and the service is working I should be able to see something when I access alex-chartmuseum.ddns.net:8080.
It did work! 🎉 Obviously it did, otherwise I would have probably not posted this article😅
I got this wonderful homepage message:
Disclaimer: I have removed the DNS record after writing this article.
I will probably write another article at some point about how to add TLS & authentication for Chartmuseum, but for now, I'm eager to start the CI/CD work with GitOps.
If you want to learn more about that one stay tuned!