Skip to content

Commit

Permalink
Merge pull request #3222 from uselagoon/feature/lagoon_docs
Browse files Browse the repository at this point in the history
  • Loading branch information
tobybellwood authored Jul 22, 2022
2 parents fe4157a + 7de31e3 commit 93340e1
Showing 1 changed file with 216 additions and 33 deletions.
249 changes: 216 additions & 33 deletions docs/using-lagoon-advanced/service-types.md
Original file line number Diff line number Diff line change
@@ -1,36 +1,219 @@
# Service Types

This table lists all service types that can be defined via `lagoon.type` within a [`docker-compose.yml` file](../using-lagoon-the-basics/docker-compose-yml.md).

💡 _Tip: Scroll right to see the whole table!_

| Type | Description | Healthcheck | Exposed Ports | Auto generated routes | Storage | Additional customization parameters |
| :--- | :--- | :--- | :--- | :--- | :--- | :--- |
| `cli` | Use for any kind of CLI container \(like PHP, Node.js, etc.\). Automatically gets the customer SSH private key that is mounted in `/var/run/secrets/lagoon/sshkey/ssh-privatekey`. | - | No | No | No | - |
| `cli-persistent` | Like `cli`, expects `lagoon.persistent.name` to be given the name of a service that has persistent storage, which will be mounted under defined `lagoon.persistent` label. Does NOT generate its own persistent storage, only used to mount another service's persistent storage. | - | No | No | Yes | `lagoon.persistent.name`, `lagoon.persistent` |
| `elasticsearch` | Elasticsearch container, will auto-generate persistent storage under `/usr/share/elasticsearch/data`. | HTTP on `localhost:9200/_cluster/health?local=true` | `9200` | No | Yes | `lagoon.persistent.size` |
| `kibana` | Kibana container. | TCP connection on `5601` | `5601` | Yes | No | - |
| `logstash` | Logstash container. | TCP connection on `9600` | `9600` | No | No | - |
| `mariadb` | A meta-service which will tell Lagoon to automatically decide between `mariadb-single` and `mariadb-dbaas`. | - | - | - | - | - |
| `mariadb-single` | MariaDB container. Creates cron job for backups running every 24h executing `/lagoon/mysql-backup.sh 127.0.0.1`. | TCP connection on `3306` | `3306` | No | Yes | `lagoon.persistent.size` |
| `mariadb-dbaas` | Uses a shared MariaDB server via the DBaaS Operator. | Not Needed | `3306` | No | - | - |
| `mongo` | A meta-service which will tell Lagoon to automatically decide between `mongo-single` and `mongo-dbaas`. | - | - | - | - | - |
| `mongo-single` | MongoDB container, will generate persistent storage of min 1GB mounted at `/data/db`. | TCP connection on `27017` | `27017` | No | Yes | `lagoon.persistent.size` |
| `mongo-dbaas` | Uses a shared MongoDB server via the DBaaS Operator. | Not Needed | `27017` | No | - | - |
| `nginx` | Nginx container. No persistent storage. | `localhost:50000/nginx_status` | `8080` | Yes | No | - |
| `nginx-php` | Like `nginx`, but additionally a `php` container. | Nginx: `localhost:50000/nginx_status`, PHP: `/usr/sbin/check_fcgi` | `8080` | Yes | No | - |
| `nginx-php-persistent` | Like `nginx-php.` Will generate persistent storage, defines mount location via `lagoon.persistent`. | Nginx: `localhost:50000/nginx_status`, PHP: `/usr/sbin/check_fcgi` | http on `8080` | Yes | Yes | `lagoon.persistent`, `lagoon.persistent.name`, `lagoon.persistent.size`, `lagoon.persistent.class` |
| `node` | Node.js container. No persistent storage. | TCP connection on `3000` | `3000` | Yes | No | - |
| `node-persistent` | Like `node`. Will generate persistent storage, defines mount location via `lagoon.persistent`. | TCP connection on `3000` | `3000` | Yes | Yes | `lagoon.persistent`, `lagoon.persistent.name`, `lagoon.persistent.size`, `lagoon.persistent.class` |
| `none` | Instructs Lagoon to completely ignore this service. | - | - | - | - | - |
| `postgres` | A meta-service which will tell Lagoon to automatically decide between `postgres-single` and `postgres-dbaas`. | - | - | - | - | - |
| `postgres-single` | Postgres container. Creates cron job for backups running every 24h executing `/lagoon/postgres-backup.sh localhost`. | TCP connection on `5432` | `5432` | No | Yes | `lagoon.persistent.size` |
| `postgres-dbaas` | Uses a shared PostgreSQL server via the DBaaS Operator. | Not Needed | `5432` | No | - | - |
| `python` | Python container. No persistent storage. | HTTP connection on `8800` | `8800` | Yes | No | - |
| `python-persistent` | Python container. With persistent storage. | HTTP connection on `8800` | `8800` | Yes | Yes | - |
| `redis` | Redis container. | TCP connection on `6379` | `6379` | No | No | - |
| `redis-persistent` | Redis container with auto-generated persistent storage mounted under `/data`. | TCP connection on `6379` | `6379` | No | Yes | `lagoon.persistent.size` |
| `solr` | Solr container with auto-generated persistent storage mounted under `/var/solr`. | TCP connection on `8983` | `8983` | No | Yes | `lagoon.persistent.size` |
| `varnish` | Varnish container. | HTTP request `localhost:8080/varnish_status` | `8080` | Yes | No | - |
| `varnish-persistent` | Varnish container with auto-generated persistent storage mounted under `/var/cache/varnish`. | HTTP request `localhost:8080/varnish_status` | `8080` | Yes | Yes | `lagoon.persistent.size` |
The below lists all service types that can be defined via `lagoon.type` within a [`docker-compose.yml` file](../using-lagoon-the-basics/docker-compose-yml.md).

## **`cli`**
Use for any kind of CLI container \(like PHP, Node.js, etc.\). Automatically gets the customer SSH private key that is mounted in `/var/run/secrets/lagoon/sshkey/ssh-privatekey`.

| Healthcheck | Exposed Ports | Auto Generated Routes | Storage | Additional customization parameter |
| :--- | :--- | :--- | :--- | :--- |
| - | No | No | No | - |

## **`cli-persistent`**

Like `cli`, expects `lagoon.persistent.name` to be given the name of a service that has persistent storage, which will be mounted under defined `lagoon.persistent` label. Does NOT generate its own persistent storage, only used to mount another service's persistent storage.

| Healthcheck | Exposed Ports | Auto Generated Routes | Storage | Additional customization parameter |
| :--- | :--- | :--- | :--- | :--- |
| - | No | No | Yes | `lagoon.persistent.name`, `lagoon.persistent` |

## **`elasticsearch`**

Elasticsearch container, will auto-generate persistent storage under `/usr/share/elasticsearch/data`.

| Healthcheck | Exposed Ports | Auto Generated Routes | Storage | Additional customization parameter |
| :--- | :--- | :--- | :--- | :--- |
| HTTP on `localhost:9200/_cluster/health?local=true` | 9200 | No | Yes | `lagoon.persistent.size` |

## **`kibana`**

Kibana container.

| Healthcheck | Exposed Ports | Auto Generated Routes | Storage | Additional customization parameter |
| :--- | :--- | :--- | :--- | :--- |
| TCP connection on `5601` | `5601` | Yes | No | - |

## **`logstash`**

Logstash container.

| Healthcheck | Exposed Ports | Auto Generated Routes | Storage | Additional customization parameter |
| :--- | :--- | :--- | :--- | :--- |
| TCP connection on `9600` | `9600` | No | No | - |

## **`mariadb`**

A meta-service which will tell Lagoon to automatically decide between `mariadb-single` and `mariadb-dbaas`.

| Healthcheck | Exposed Ports | Auto Generated Routes | Storage | Additional customization parameter |
| :--- | :--- | :--- | :--- | :--- |
| - | - | - | - | - |

## **`mariadb-single`**

MariaDB container. Creates cron job for backups running every 24h executing `/lagoon/mysql-backup.sh 127.0.0.1`.

| Healthcheck | Exposed Ports | Auto Generated Routes | Storage | Additional customization parameter |
| :--- | :--- | :--- | :--- | :--- |
| TCP connection on `3306` | `3306` | No | Yes | `lagoon.persistent.size` |

## **`mariadb-dbaas`**

Uses a shared MariaDB server via the DBaaS Operator.

| Healthcheck | Exposed Ports | Auto Generated Routes | Storage | Additional customization parameter |
| :--- | :--- | :--- | :--- | :--- |
| Not Needed | `3306` | No | - | - |

## **`mongo`**

A meta-service which will tell Lagoon to automatically decide between `mongo-single` and `mongo-dbaas`.

| Healthcheck | Exposed Ports | Auto Generated Routes | Storage | Additional customization parameter |
| :--- | :--- | :--- | :--- | :--- |
| - | - | - | - | - |

## **`mongo-single`**

MongoDB container, will generate persistent storage of min 1GB mounted at `/data/db`.

| Healthcheck | Exposed Ports | Auto Generated Routes | Storage | Additional customization parameter |
| :--- | :--- | :--- | :--- | :--- |
| TCP connection on `27017` | `27017` | No | Yes | `lagoon.persistent.size` |

## **`mongo-dbaas`**

Uses a shared MongoDB server via the DBaaS Operator.

| Healthcheck | Exposed Ports | Auto Generated Routes | Storage | Additional customization parameter |
| :--- | :--- | :--- | :--- | :--- |
| Not Needed | `27017` | No | - | - |


## **`nginx`**

Nginx container. No persistent storage.

| Healthcheck | Exposed Ports | Auto Generated Routes | Storage | Additional customization parameter |
| :--- | :--- | :--- | :--- | :--- |
| `localhost:50000/nginx_status` | `8080` | Yes | No | - |

## **`nginx-php`**

Like `nginx`, but additionally a `php` container.

| Healthcheck | Exposed Ports | Auto Generated Routes | Storage | Additional customization parameter |
| :--- | :--- | :--- | :--- | :--- |
| Nginx: `localhost:50000/nginx_status`, PHP: `/usr/sbin/check_fcgi` | `8080` | Yes | No | - |

## **`nginx-php-persistent`**

Like `nginx-php.` Will generate persistent storage, defines mount location via `lagoon.persistent`.

| Healthcheck | Exposed Ports | Auto Generated Routes | Storage | Additional customization parameter |
| :--- | :--- | :--- | :--- | :--- |
| Nginx: `localhost:50000/nginx_status`, PHP: `/usr/sbin/check_fcgi` | http on `8080` | Yes | Yes | `lagoon.persistent`, `lagoon.persistent.name`, `lagoon.persistent.size`, `lagoon.persistent.class` |

## **`node`**

Node.js container. No persistent storage.

| Healthcheck | Exposed Ports | Auto Generated Routes | Storage | Additional customization parameter |
| :--- | :--- | :--- | :--- | :--- |
| TCP connection on `3000` | `3000` | Yes | No | - |

## **`node-persistent`**

Like `node`. Will generate persistent storage, defines mount location via `lagoon.persistent`.

| Healthcheck | Exposed Ports | Auto Generated Routes | Storage | Additional customization parameter |
| :--- | :--- | :--- | :--- | :--- |
| TCP connection on `3000` | `3000` | Yes | Yes | `lagoon.persistent`, `lagoon.persistent.name`, `lagoon.persistent.size`, `lagoon.persistent.class` |

## **`none`**

Instructs Lagoon to completely ignore this service.

| Healthcheck | Exposed Ports | Auto Generated Routes | Storage | Additional customization parameter |
| :--- | :--- | :--- | :--- | :--- |
| - | - | - | - | - |

## **`postgres`**

A meta-service which will tell Lagoon to automatically decide between `postgres-single` and `postgres-dbaas`.

| Healthcheck | Exposed Ports | Auto Generated Routes | Storage | Additional customization parameter |
| :--- | :--- | :--- | :--- | :--- |
| - | - | - | - | - |

## **`postgres-single`**

Postgres container. Creates cron job for backups running every 24h executing `/lagoon/postgres-backup.sh localhost`.

| Healthcheck | Exposed Ports | Auto Generated Routes | Storage | Additional customization parameter |
| :--- | :--- | :--- | :--- | :--- |
| TCP connection on `5432` | `5432` | No | Yes | `lagoon.persistent.size` |

## **`postgres-dbaas`**

Uses a shared PostgreSQL server via the DBaaS Operator.

| Healthcheck | Exposed Ports | Auto Generated Routes | Storage | Additional customization parameter |
| :--- | :--- | :--- | :--- | :--- |
| Not Needed | `5432` | No | - | - |

## **`python`**

Python container. No persistent storage.

| Healthcheck | Exposed Ports | Auto Generated Routes | Storage | Additional customization parameter |
| :--- | :--- | :--- | :--- | :--- |
| HTTP connection on `8800` | `8800` | Yes | No | - |

## **`python-persistent`**

Python container. With persistent storage.

| Healthcheck | Exposed Ports | Auto Generated Routes | Storage | Additional customization parameter |
| :--- | :--- | :--- | :--- | :--- |
| HTTP connection on `8800` | `8800` | Yes | Yes | - |

## **`redis`**

Redis container.

| Healthcheck | Exposed Ports | Auto Generated Routes | Storage | Additional customization parameter |
| :--- | :--- | :--- | :--- | :--- |
| TCP connection on `6379` | `6379` | No | No | - |

## **`redis-persistent`**

Redis container with auto-generated persistent storage mounted under `/data`.

| Healthcheck | Exposed Ports | Auto Generated Routes | Storage | Additional customization parameter |
| :--- | :--- | :--- | :--- | :--- |
| TCP connection on `6379` | `6379` | No | Yes | `lagoon.persistent.size` |

## **`solr`**

Solr container with auto-generated persistent storage mounted under `/var/solr`.

| Healthcheck | Exposed Ports | Auto Generated Routes | Storage | Additional customization parameter |
| :--- | :--- | :--- | :--- | :--- |
| TCP connection on `8983` | `8983` | No | Yes | `lagoon.persistent.size` |

## **`varnish`**

Varnish container.

| Healthcheck | Exposed Ports | Auto Generated Routes | Storage | Additional customization parameter |
| :--- | :--- | :--- | :--- | :--- |
| HTTP request `localhost:8080/varnish_status` | `8080` | Yes | No | - |

## **`varnish-persistent`**

Varnish container with auto-generated persistent storage mounted under `/var/cache/varnish`.

| Healthcheck | Exposed Ports | Auto Generated Routes | Storage | Additional customization parameter |
| :--- | :--- | :--- | :--- | :--- |
| HTTP request `localhost:8080/varnish_status` | `8080` | Yes | Yes | `lagoon.persistent.size` |

0 comments on commit 93340e1

Please sign in to comment.