Skip to content
This repository was archived by the owner on Mar 22, 2018. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions mwa-haproxy-frontend-atomicapp/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
FROM projectatomic/atomicapp:0.1.12

MAINTAINER Jan Kaluza <jkaluza@redhat.com>

LABEL io.projectatomic.nulecule.specversion 0.0.2

LABEL Build docker build --rm --tag testing/haproxy-frontend-atomicapp .


ADD Nulecule /application-entity/
ADD artifacts/ /application-entity/artifacts/
36 changes: 36 additions & 0 deletions mwa-haproxy-frontend-atomicapp/Nulecule
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
specversion: 0.0.2
id: haproxy-frontend-atomicapp
metadata:
name: mwa-haproxy-frontend
appversion: 0.0.1
description: >
This is a nulecule that will get you the container with micro-webapps
haproxy-frontend.
graph:
- name: mwa-haproxy-frontend
params:
- name: publicip
description: The IP address or addresses at which haproxy can be reached
- name: kubernetes_client_certificate
description: >
Client certificate to access Kubernetes API with new-lines escaped to "\n".
This can be done by sed ':a;N;$!ba;s/\n/\\n/g'. Set to None if no certificate
is needed.
default: None
- name: kubernetes_client_key
description: >
Client key to access Kubernetes API with new-lines escaped to "\n".
This can be done by sed ':a;N;$!ba;s/\n/\\n/g'. Set to None if no key
is needed.
default: None
- name: kubernetes_namespace
description: Kubernetes namespace used to query the Kubernestes API.
default: default
artifacts:
kubernetes:
- file://artifacts/kubernetes/mwa-haproxy-frontend-pod.yaml
- file://artifacts/kubernetes/mwa-haproxy-frontend-service.json
openshift:
- inherit:
- kubernetes
33 changes: 33 additions & 0 deletions mwa-haproxy-frontend-atomicapp/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
## What is micro-webapps?
The goal of the [micro-webapps](https://github.com/micro-webapps/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](https://github.com/micro-webapps/micro-webapps).

## What is haproxy-frontend-atomicapp?
This Docker image contains Atomic App running HAProxy 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-atomicapp?

Using [Atomic App](https://github.com/projectatomic/atomicapp) is the preferred how to deploy micro-webapps Docker images, but it is also possible to deploy it without the Atomic App as described in the description of microwebapps/haproxy-frontend Docker image.

To deploy the haproxy-frontend-atomicapp using the Atomic App, all you have to do is running following command:

```
# atomicapp run microwebapps/haproxy-frontend-atomicapp
```


This downloads all the Docker images needed by the haproxy-frontend and deploys it. It will also ask for the configuration variables with their description.

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](https://hub.docker.com/u/microwebapps/dashboard/) Docker registry for list of supported web applications.
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
apiVersion: v1
kind: Pod
metadata:
name: haproxy-frontend
labels:
app: haproxy-frontend
spec:
containers:
- name: haproxy-frontend
image: microwebapps/haproxy-frontend
ports:
- containerPort: 80
env:
- name: KUBERNETES_CLIENT_CERTIFICATE_DATA
value: $kubernetes_client_certificate
- name: KUBERNETES_CLIENT_KEY_DATA
value: $kubernetes_client_key
- name: KUBERNETES_NAMESPACE
value: $kubernetes_namespace
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
{
"kind": "Service",
"apiVersion": "v1",
"metadata": {
"name": "haproxy-frontend-service"
},
"spec": {
"selector": {
"app": "haproxy-frontend"
},
"publicIPs": ["$publicip"],
"ports": [
{
"name": "http-port",
"protocol": "TCP",
"port": 80,
"targetPort": 80
},
{
"name": "https-port",
"protocol": "TCP",
"port": 443,
"targetPort": 443
}
]
}
}
10 changes: 10 additions & 0 deletions mwa-httpd-frontend-atomicapp/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
FROM projectatomic/atomicapp:0.1.12

MAINTAINER Jan Kaluza <jkaluza@redhat.com>

LABEL io.projectatomic.nulecule.specversion="0.0.2" \
io.projectatomic.nulecule.providers="kubernetes, openshift" \
Build="docker build --rm --tag test/httpd-frontend-atomicapp ."

ADD /Nulecule /Dockerfile /application-entity/
ADD /artifacts /application-entity/artifacts
36 changes: 36 additions & 0 deletions mwa-httpd-frontend-atomicapp/Nulecule
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
specversion: 0.0.2
id: httpd-frontend-atomicapp
metadata:
name: mwa-httpd-frontend
appversion: 0.0.1
description: >
This is a nulecule that will get you the container with micro-webapps
httpd-frontend.
graph:
- name: mwa-httpd-frontend
params:
- name: publicip
description: The IP address or addresses at which httpd can be reached
- name: kubernetes_client_certificate
description: >
Client certificate to access Kubernetes API with new-lines escaped to "\n".
This can be done by sed ':a;N;$!ba;s/\n/\\n/g'. Set to None if no certificate
is needed.
default: None
- name: kubernetes_client_key
description: >
Client key to access Kubernetes API with new-lines escaped to "\n".
This can be done by sed ':a;N;$!ba;s/\n/\\n/g'. Set to None if no key
is needed.
default: None
- name: kubernetes_namespace
description: Kubernetes namespace used to query the Kubernestes API.
default: default
artifacts:
kubernetes:
- file://artifacts/kubernetes/mwa-httpd-frontend-pod.yaml
- file://artifacts/kubernetes/mwa-httpd-frontend-service.json
openshift:
- inherit:
- kubernetes
33 changes: 33 additions & 0 deletions mwa-httpd-frontend-atomicapp/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
## What is micro-webapps?
The goal of the [micro-webapps](https://github.com/micro-webapps/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](https://github.com/micro-webapps/micro-webapps).

## What is httpd-frontend-atomicapp?
This Docker image contains Atomic App running HAProxy 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 httpd-frontend-atomicapp?

Using [Atomic App](https://github.com/projectatomic/atomicapp) is the preferred how to deploy micro-webapps Docker images, but it is also possible to deploy it without the Atomic App as described in the description of microwebapps/httpd-frontend Docker image.

To deploy the httpd-frontend-atomicapp using the Atomic App, all you have to do is running following command:

```
# atomicapp run microwebapps/httpd-frontend-atomicapp
```


This downloads all the Docker images needed by the httpd-frontend and deploys it. It will also ask for the configuration variables with their description.

You should now be able to use curl or wget to check that httpd-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 httpd-frontend is running, you can start deploying micro-webapps web applications. Check the [micro-webapps](https://hub.docker.com/u/microwebapps/dashboard/) Docker registry for list of supported web applications.
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
apiVersion: v1
kind: Pod
metadata:
name: httpd-frontend
labels:
app: httpd-frontend
spec:
containers:
- name: httpd-frontend
image: microwebapps/httpd-frontend
ports:
- containerPort: 80
env:
- name: KUBERNETES_CLIENT_CERTIFICATE_DATA
value: $kubernetes_client_certificate
- name: KUBERNETES_CLIENT_KEY_DATA
value: $kubernetes_client_key
- name: KUBERNETES_NAMESPACE
value: $kubernetes_namespace
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
{
"kind": "Service",
"apiVersion": "v1",
"metadata": {
"name": "httpd-frontend-service"
},
"spec": {
"selector": {
"app": "httpd-frontend"
},
"publicIPs": ["$publicip"],
"ports": [
{
"name": "http-port",
"protocol": "TCP",
"port": 80,
"targetPort": 80
},
{
"name": "https-port",
"protocol": "TCP",
"port": 443,
"targetPort": 443
}
]
}
}
11 changes: 11 additions & 0 deletions mwa-nginx-frontend-atomicapp/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
FROM projectatomic/atomicapp:0.1.12

MAINTAINER Jan Kaluza <jkaluza@redhat.com>

LABEL io.projectatomic.nulecule.specversion 0.0.2

LABEL Build docker build --rm --tag testing/nginx-frontend-atomicapp .


ADD Nulecule /application-entity/
ADD artifacts/ /application-entity/artifacts/
36 changes: 36 additions & 0 deletions mwa-nginx-frontend-atomicapp/Nulecule
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
specversion: 0.0.2
id: nginx-frontend-atomicapp
metadata:
name: mwa-nginx-frontend
appversion: 0.0.1
description: >
This is a nulecule that will get you the container with micro-webapps
nginx-frontend.
graph:
- name: mwa-nginx-frontend
params:
- name: publicip
description: The IP address or addresses at which nginx can be reached
- name: kubernetes_client_certificate
description: >
Client certificate to access Kubernetes API with new-lines escaped to "\n".
This can be done by sed ':a;N;$!ba;s/\n/\\n/g'. Set to None if no certificate
is needed.
default: None
- name: kubernetes_client_key
description: >
Client key to access Kubernetes API with new-lines escaped to "\n".
This can be done by sed ':a;N;$!ba;s/\n/\\n/g'. Set to None if no key
is needed.
default: None
- name: kubernetes_namespace
description: Kubernetes namespace used to query the Kubernestes API.
default: default
artifacts:
kubernetes:
- file://artifacts/kubernetes/mwa-nginx-frontend-pod.yaml
- file://artifacts/kubernetes/mwa-nginx-frontend-service.json
openshift:
- inherit:
- kubernetes
33 changes: 33 additions & 0 deletions mwa-nginx-frontend-atomicapp/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
## What is micro-webapps?
The goal of the [micro-webapps](https://github.com/micro-webapps/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](https://github.com/micro-webapps/micro-webapps).

## What is nginx-frontend-atomicapp?
This Docker image contains Atomic App running HAProxy 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 nginx-frontend-atomicapp?

Using [Atomic App](https://github.com/projectatomic/atomicapp) is the preferred how to deploy micro-webapps Docker images, but it is also possible to deploy it without the Atomic App as described in the description of microwebapps/nginx-frontend Docker image.

To deploy the nginx-frontend-atomicapp using the Atomic App, all you have to do is running following command:

```
# atomicapp run microwebapps/nginx-frontend-atomicapp
```


This downloads all the Docker images needed by the nginx-frontend and deploys it. It will also ask for the configuration variables with their description.

You should now be able to use curl or wget to check that nginx-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 nginx-frontend is running, you can start deploying micro-webapps web applications. Check the [micro-webapps](https://hub.docker.com/u/microwebapps/dashboard/) Docker registry for list of supported web applications.
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
apiVersion: v1
kind: Pod
metadata:
name: nginx-frontend
labels:
app: nginx-frontend
spec:
containers:
- name: nginx-frontend
image: microwebapps/nginx-frontend
ports:
- containerPort: 80
env:
- name: KUBERNETES_CLIENT_CERTIFICATE_DATA
value: $kubernetes_client_certificate
- name: KUBERNETES_CLIENT_KEY_DATA
value: $kubernetes_client_key
- name: KUBERNETES_NAMESPACE
value: $kubernetes_namespace
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
{
"kind": "Service",
"apiVersion": "v1",
"metadata": {
"name": "nginx-frontend-service"
},
"spec": {
"selector": {
"app": "nginx-frontend"
},
"publicIPs": ["$publicip"],
"ports": [
{
"name": "http-port",
"protocol": "TCP",
"port": 80,
"targetPort": 80
},
{
"name": "https-port",
"protocol": "TCP",
"port": 443,
"targetPort": 443
}
]
}
}
Loading