Public | Automated Build

Last pushed: 2 years ago
Short Description
HAProxy frontend allowing simple deployment and configuration of web applications.
Full Description

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/blog running wordpress in separate container.
  • http://bugs.domain.tld running Bugzilla in separate container.
  • http://another-domain.tld running 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 kubectl or osc.

2. Create the haproxy-frontend Kubernetes/Openshift pod

Download the haproxy-frontend-pod.yaml and replace the $kubernetes_client_certificate, $kubernetes_client_key and $kubernetes_namespace variables with the proper values.

For Kubernetes, you can replace $kubernetes_client_certificate and $kubernetes_client_key with an empty string, because Kubernetes provides authorization token in the container automatically. Use default string as a default $kubernetes_namespace.

Then you can deploy the Kubernetes/Openshift pod as usual using kubectl or osc.

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.

Docker Pull Command
Owner
microwebapps
Source Repository

Comments (0)