What is micro-webapps?
The goal of the micro-webapps project is to allow simple deployment of web applications in the cloud (multi container) environment. Admin is able to choose the frontend which will serve the web applications and then install the web applications as separate containers. For each web application, he is able to configure the URI on which the web application will be served.
It is therefore possible to setup webserver with, for example, following structure:
http://domain.tld/running static content.
http://domain.tld/blogrunning wordpress in separate container.
http://bugs.domain.tldrunning Bugzilla in separate container.
http://another-domain.tldrunning completely different domain.
It also allows more advanced features like load-balancing. For more information, check the micro-webapps home page.
What is haproxy-frontend?
This Docker image contains HAProxy running as frontend for other web applications in the cloud. It is intended to be used with Kubernetes or Openshift. It fetches the list of deployed micro-webapps from the Kubernetes or Openshift API server and sets up the reverse proxy for the web applications.
How to use haproxy-frontend?
You should consider using Atomic App to deploy haproxy-frontend using the microwebapps/haproxy-frontend-atomicapp Docker image, but it is also possible to just use this this Docker image without Atomic App to deploy the haproxy-frontend.
1. Create the haproxy-frontend Kubernetes/Openshift service
Download the haproxy-frontend-service.json and replace the
$publicip variable with the public IP address you want to use for the haproxy-frontend.
Then you can deploy the Kubernetes/Openshift service as usual using
2. Create the haproxy-frontend Kubernetes/Openshift pod
Download the haproxy-frontend-pod.yaml and replace the
$kubernetes_namespace variables with the proper values.
For Kubernetes, you can replace
$kubernetes_client_key with an empty string, because Kubernetes provides authorization token in the container automatically. Use
default string as a default
Then you can deploy the Kubernetes/Openshift pod as usual using
3. Test that the haproxy-frontend is running.
You should now be able to use curl or wget to check that haproxy-frontend is responding on the $publicip or on the IP address showed in
kubectl get service or
osc get service output.
Deploying micro-webapps web application
When haproxy-frontend is running, you can start deploying micro-webapps web applications. Check the micro-webapps Docker registry for list of supported web applications.