From a74aaaf6ed4f4cf17a6b844d23cd883a00d7824e Mon Sep 17 00:00:00 2001 From: Toby Bellwood Date: Tue, 17 Sep 2024 13:37:58 +1000 Subject: [PATCH 1/5] docs: Add docs on "additional volumes" --- docs/concepts-advanced/service-types.md | 28 +++++---- docs/concepts-basics/docker-compose-yml.md | 69 +++++++++++++++++++++- 2 files changed, 82 insertions(+), 15 deletions(-) diff --git a/docs/concepts-advanced/service-types.md b/docs/concepts-advanced/service-types.md index fbb99e27c6..600eaf44dd 100644 --- a/docs/concepts-advanced/service-types.md +++ b/docs/concepts-advanced/service-types.md @@ -2,6 +2,8 @@ The below lists all service types that can be defined via `lagoon.type` within a [`docker-compose.yml` file](../concepts-basics/docker-compose-yml.md). +For more information on the `lagoon.volumes.X.path` label, please see [Additional Volumes](../../concepts-basics/docker-compose-yml/#additional-volumes) + !!! Warning Once a `lagoon.type` is defined and the environment is deployed, changing it to a different type is not supported and could result in a broken environment. @@ -11,7 +13,7 @@ Basic container, good to use for most applications that don't have an existing t | Healthcheck | Exposed Ports | Auto Generated Routes | Storage | Additional customization parameter | | :--- | :--- | :--- | :--- | :--- | -| TCP connection on `3000` | `3000` | Yes | No | `lagoon.service.port`, `lagoon.autogeneratedroute` | +| TCP connection on `3000` | `3000` | Yes | No | `lagoon.service.port`, `lagoon.autogeneratedroute`, `lagoon.volumes.X.path` | ## `basic-persistent` @@ -19,7 +21,7 @@ Like `basic`. Will also generate persistent storage, defines mount location via | Healthcheck | Exposed Ports | Auto Generated Routes | Storage | Additional customization parameter | | :--- | :--- | :--- | :--- | :--- | -| TCP connection on `3000` | `3000` | Yes | Yes | `lagoon.service.port`, `lagoon.autogeneratedroute`, `lagoon.persistent`, `lagoon.persistent.name`, `lagoon.persistent.size`, `lagoon.persistent.class` | +| TCP connection on `3000` | `3000` | Yes | Yes | `lagoon.service.port`, `lagoon.autogeneratedroute`, `lagoon.persistent`, `lagoon.persistent.name`, `lagoon.persistent.size`, `lagoon.persistent.class` , `lagoon.volumes.X.path` | ## `cli` @@ -27,7 +29,7 @@ Use for any kind of CLI container \(like PHP, Node.js, etc\). Automatically gets | Healthcheck | Exposed Ports | Auto Generated Routes | Storage | Additional customization parameter | | :--- | :--- | :--- | :--- | :--- | -| - | No | No | No | - | +| - | No | No | No | `lagoon.volumes.X.path` | ## `cli-persistent` @@ -35,7 +37,7 @@ Like `cli`, expects `lagoon.persistent.name` to be given the name of a service t | Healthcheck | Exposed Ports | Auto Generated Routes | Storage | Additional customization parameter | | :--- | :--- | :--- | :--- | :--- | -| - | No | No | Yes | `lagoon.persistent.name`, `lagoon.persistent` | +| - | No | No | Yes | `lagoon.persistent.name`, `lagoon.persistent`, `lagoon.volumes.X.path` | ## `elasticsearch` @@ -115,7 +117,7 @@ NGINX container. No persistent storage. | Healthcheck | Exposed Ports | Auto Generated Routes | Storage | Additional customization parameter | | :--- | :--- | :--- | :--- | :--- | -| `localhost:50000/nginx_status` | `8080` | Yes | No | `lagoon.autogeneratedroute` | +| `localhost:50000/nginx_status` | `8080` | Yes | No | `lagoon.autogeneratedroute`, `lagoon.volumes.X.path` | ## `nginx-php` @@ -123,7 +125,7 @@ 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 | `lagoon.autogeneratedroute` | +| NGINX: `localhost:50000/nginx_status`, PHP: `/usr/sbin/check_fcgi` | `8080` | Yes | No | `lagoon.autogeneratedroute`, `lagoon.volumes.X.path` | ## `nginx-php-persistent` @@ -131,7 +133,7 @@ Like `nginx-php.` Will generate persistent storage, defines mount location via ` | 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.autogeneratedroute`, `lagoon.persistent`, `lagoon.persistent.name`, `lagoon.persistent.size`, `lagoon.persistent.class` | +| NGINX: `localhost:50000/nginx_status`, PHP: `/usr/sbin/check_fcgi` | http on `8080` | Yes | Yes | `lagoon.autogeneratedroute`, `lagoon.persistent`, `lagoon.persistent.name`, `lagoon.persistent.size`, `lagoon.persistent.class`, `lagoon.volumes.X.path` | ## `node` @@ -139,7 +141,7 @@ Node.js container. No persistent storage. | Healthcheck | Exposed Ports | Auto Generated Routes | Storage | Additional customization parameter | | :--- | :--- | :--- | :--- | :--- | -| TCP connection on `3000` | `3000` | Yes | No | `lagoon.autogeneratedroute` | +| TCP connection on `3000` | `3000` | Yes | No | `lagoon.autogeneratedroute`, `lagoon.volumes.X.path` | ## `node-persistent` @@ -147,7 +149,7 @@ Like `node`. Will generate persistent storage, defines mount location via `lagoo | Healthcheck | Exposed Ports | Auto Generated Routes | Storage | Additional customization parameter | | :--- | :--- | :--- | :--- | :--- | -| TCP connection on `3000` | `3000` | Yes | Yes | `lagoon.autogeneratedroute`, `lagoon.persistent`, `lagoon.persistent.name`, `lagoon.persistent.size`, `lagoon.persistent.class` | +| TCP connection on `3000` | `3000` | Yes | Yes | `lagoon.autogeneratedroute`, `lagoon.persistent`, `lagoon.persistent.name`, `lagoon.persistent.size`, `lagoon.persistent.class`, `lagoon.volumes.X.path` | ## `none` @@ -195,7 +197,7 @@ Python container. No persistent storage. | Healthcheck | Exposed Ports | Auto Generated Routes | Storage | Additional customization parameter | | :--- | :--- | :--- | :--- | :--- | -| HTTP connection on `8800` | `8800` | Yes | No | `lagoon.autogeneratedroute` | +| HTTP connection on `8800` | `8800` | Yes | No | `lagoon.autogeneratedroute`, `lagoon.volumes.X.path` | ## `python-persistent` @@ -203,7 +205,7 @@ Python container. With persistent storage. | Healthcheck | Exposed Ports | Auto Generated Routes | Storage | Additional customization parameter | | :--- | :--- | :--- | :--- | :--- | -| HTTP connection on `8800` | `8800` | Yes | Yes | `lagoon.autogeneratedroute` | +| HTTP connection on `8800` | `8800` | Yes | Yes | `lagoon.autogeneratedroute`, `lagoon.volumes.X.path` | ## `redis` @@ -251,7 +253,7 @@ Use for any kind of worker container \(like queue workers, etc.\) where there is | Healthcheck | Exposed Ports | Auto Generated Routes | Storage | Additional customization parameter | | :--- | :--- | :--- | :--- | :--- | -| - | No | No | No | - | +| - | No | No | No | `lagoon.volumes.X.path` | ## `worker-persistent` @@ -259,4 +261,4 @@ Like `worker`, expects `lagoon.persistent.name` to be given the name of a servic | Healthcheck | Exposed Ports | Auto Generated Routes | Storage | Additional customization parameter | | :--- | :--- | :--- | :--- | :--- | -| - | No | No | Yes | `lagoon.persistent.name`, `lagoon.persistent` | +| - | No | No | Yes | `lagoon.persistent.name`, `lagoon.persistent`, `lagoon.volumes.X.path` | diff --git a/docs/concepts-basics/docker-compose-yml.md b/docs/concepts-basics/docker-compose-yml.md index a6f57bfdfb..55139afce9 100644 --- a/docs/concepts-basics/docker-compose-yml.md +++ b/docs/concepts-basics/docker-compose-yml.md @@ -16,8 +16,6 @@ This is intentional, as the `docker-compose` file is there to define your local Here a straightforward example of a `docker-compose.yml` file for Drupal: ```yaml title="docker-compose.yml" -version: '2.3' - x-lagoon-project: # Lagoon project name (leave `&lagoon-project` when you edit this) &lagoon-project drupal-example @@ -148,12 +146,79 @@ In many cases, Lagoon knows where that persistent storage needs to go. For examp * `lagoon.persistent.size` - The size of persistent storage you require (Lagoon usually gives you minimum 5G of persistent storage, if you need more, define it here). * `lagoon.persistent.class` - By default Lagoon automatically assigns the right storage class for your service (like SSDs for MySQL, bulk storage for Nginx, etc.). If you need to overwrite this, you can do so here. This is highly dependent on the underlying Kubernetes/OpenShift that Lagoon runs on. Contact {{ defaults.helpstring }} for this. +See the [Additional Volumes](#additional-volumes) section on how to add more volumes + ### Auto-generated Routes The docker-compose.yml file also supports per-service enabling and disabling of [autogenerated routes](./lagoon-yml.md#routes) * `lagoon.autogeneratedroute: false` label will stop a route from being automatically created for that service. It can be applied to all services with autogenerated routes, but is mostly useful for the [`basic`](../concepts-advanced/service-types.md#basic) and [`basic-persistent`](../concepts-advanced/service-types.md#basic-persistent) service types when used to create an additional internal-facing service for a database service or similar. The inverse is also true - it will enable an auto-generated route for a service when the .lagoon.yml file [disables them](lagoon-yml.md#routesautogenerate). +## Additional Volumes + +In situations where more than one persistent volume is required by a service (or services), Lagoon can support the creation of multiple additional volumes. + +To do this, the volume should be created in the docker-compose.yml with a `lagoon.type` label - currently only "persistent" is supported. + +```yaml title="docker-compose.yml volumes snippet" +volumes: + extravol: + labels: + lagoon.type: persistent +``` + +This volume can then be referenced in each service that requires it, along with the path + +```yaml title="docker-compose.yml volume usage snippet" +services: + basic: + build: + context: . + dockerfile: basic.dockerfile + labels: + lagoon.type: basic-persistent + lagoon.persistent: /data # basic-persistent provides a default volume, this needs to be defined + lagoon.volumes.extravol.path: /extra + volumes: # these volumes are ignored by lagoon, only the labels above are consumed to handle volume mapping + - ./data:/data:delegated + - extravol:/extra +``` +Note that the original volume created for this service still exists. + +### Supported persistent volume flags +* The default size is 5Gi - but can be modified with a `lagoon.persistent.size: XXGi` label on the volume. +* By default, Lagoon will back up all persistent volumes, but this can be disabled with a `lagoon.backup: false` label on the volume. + +```yaml title="docker-compose.yml volumes snippet" +volumes: + extravol: + labels: + lagoon.type: persistent + lagoon.persistent.size: 10Gi + lagoon.backup: false +``` + +### Default persistent volumes +* If a service type provides a default persistent volume (nginx-php-persistent, basic-persistent, node-persistent, python-persistent), it will be created and named as the name of the service (unless the lagoon.persistent.name label is assigned). +* If a volume defined in the volumes block is also named the same as a default volume would be, it will be ignored and only the default volume will be created. +* If a lagoon.volumes.${volume_name}.path is also defined on a service that has a default volume (or a volume linked to it using the lagoon.persistent.name label, it will also be ignored and the value of the lagoon.persistent path will be used. +### Ignored volume +* If a volume defined in the volumes block has a label lagoon.type: none it will not be created. +* If a volume defined in the volumes block has a label lagoon.type of a type (currently only persistent), but it is not consumed by any service using a lagoon.volumes.${volume_name}.path, then the volume will not be created. +### Maximum number of volumes +* Currently a hard-coded limit of 6 volumes is in place, this may be made configurable in the future. +### Supported service types +Currently, the only service types that support additional volumes are the following + +* basic / basic-persistent +* worker / worker-persistent +* node / node-persistent +* python / python-persistent +* nginx / nginx-php / nginx-php-persistent +* cli / cli-persistent + +Adding a volume to any other type will result in an error during a build. + ## Multi-Container Pods Kubernetes and OpenShift don't deploy plain containers. Instead, they deploy pods, with each one or more containers. Usually Lagoon creates a single pod with a container inside for each defined `docker-compose` service. For some cases, we need to put two containers inside a single pod, as these containers are so dependent on each other that they should always stay together. An example for such a situation is the PHP and NGINX containers that both contain PHP code of a web application like Drupal. From 30619e8c83c562a2a721d92436f53f155258f116 Mon Sep 17 00:00:00 2001 From: Toby Bellwood Date: Tue, 17 Sep 2024 13:37:59 +1000 Subject: [PATCH 2/5] docs: revert BuildKit logic --- docs/concepts-basics/docker-compose-yml.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/concepts-basics/docker-compose-yml.md b/docs/concepts-basics/docker-compose-yml.md index 55139afce9..0fa495623e 100644 --- a/docs/concepts-basics/docker-compose-yml.md +++ b/docs/concepts-basics/docker-compose-yml.md @@ -309,7 +309,7 @@ no such service: container:amazeeio-ssh-agent BuildKit is a toolkit for converting source code to build artifacts in an efficient, expressive and repeatable manner. -With the release of Lagoon v2.11.0, Lagoon now provides support for more advanced BuildKit-based docker compose builds. To enable BuildKit for your Project or Environment, add `DOCKER_BUILDKIT=1` as a build-time variable to your Lagoon project or environment. +With the release of Lagoon v2.11.0, Lagoon now provides support for more advanced BuildKit-based docker compose builds, and in Lagoon v2.21.0, BuildKit is now enabled by default for all builds. To specifically disable BuildKit for your Project or Environment, add `DOCKER_BUILDKIT=0` as a build-time variable to your Lagoon project or environment. ## Docker Compose Errors in Lagoon Builds From 9771139e1dbd01d302c94575d1d5340dbad2b04c Mon Sep 17 00:00:00 2001 From: Toby Bellwood Date: Tue, 17 Sep 2024 13:37:59 +1000 Subject: [PATCH 3/5] docs: deprecated images fixup --- docs/docker-images/deprecated-images.md | 12 ++++++++++++ docs/images/deprecated-images-build.png | Bin 0 -> 112989 bytes .../lagoon-build-errors-and-warnings.md | 6 ++++++ 3 files changed, 18 insertions(+) create mode 100644 docs/images/deprecated-images-build.png diff --git a/docs/docker-images/deprecated-images.md b/docs/docker-images/deprecated-images.md index a0ce568fbb..86d36cea98 100644 --- a/docs/docker-images/deprecated-images.md +++ b/docs/docker-images/deprecated-images.md @@ -4,8 +4,20 @@ From time to time, the Lagoon team may need to mark images as deprecated. This is conveyed in a "sh.lagoon.image.deprecated" . It can be viewed in Docker Desktop, via a `docker inspect` command, or in future releases of Lagoon, highlighted in a build. +![Deprecated Images in a build:](../images/deprecated-images-build.png) + If the image has a suggested replacement, it will be conveyed in a "sh.lagoon.image.deprecated.suggested" label attached the deprecated image. +```shell title="docker inspect output showing deprecated image" +$ docker inspect amazeeio/mongo:latest +... +{ + ... + "sh.lagoon.image.deprecated.status": "replaced", + "sh.lagoon.image.deprecated.suggested": "docker.io/uselagoon/mongo-4" +} +``` + ## Changing the image In all cases, changing to a suggested or updated image will require a change in your codebase. Any reference to the image in a Dockerfile, or in your docker-compose.yml will need to be updated. diff --git a/docs/images/deprecated-images-build.png b/docs/images/deprecated-images-build.png new file mode 100644 index 0000000000000000000000000000000000000000..a0ff8f23f851fc9a1ecfc31e609bf559e4d4757e GIT binary patch literal 112989 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 T;6=X`E%9wzc4?-mTloGz&3e!S literal 0 HcmV?d00001 diff --git a/docs/using-lagoon-the-basics/lagoon-build-errors-and-warnings.md b/docs/using-lagoon-the-basics/lagoon-build-errors-and-warnings.md index 390e070d55..a15608cb88 100644 --- a/docs/using-lagoon-the-basics/lagoon-build-errors-and-warnings.md +++ b/docs/using-lagoon-the-basics/lagoon-build-errors-and-warnings.md @@ -27,3 +27,9 @@ There is an error in your Docker Compose file, most likely relating to a malform ``` There is an error in your Docker Compose file, most likely relating to a malformed or misused alias or anchor. The error message should help you understand where. + +## Deprecated Images + +Please see the [dedicated page](../docker-images/deprecated-images.md) on how to handle this warning + +![Deprecated Images in a build:](../images/deprecated-images-build.png) From 873e1650c71414d355322b802d6972236b381d93 Mon Sep 17 00:00:00 2001 From: Toby Bellwood Date: Tue, 17 Sep 2024 13:37:59 +1000 Subject: [PATCH 4/5] docs: fix link --- docs/concepts-advanced/service-types.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/concepts-advanced/service-types.md b/docs/concepts-advanced/service-types.md index 600eaf44dd..37840c6c22 100644 --- a/docs/concepts-advanced/service-types.md +++ b/docs/concepts-advanced/service-types.md @@ -2,7 +2,7 @@ The below lists all service types that can be defined via `lagoon.type` within a [`docker-compose.yml` file](../concepts-basics/docker-compose-yml.md). -For more information on the `lagoon.volumes.X.path` label, please see [Additional Volumes](../../concepts-basics/docker-compose-yml/#additional-volumes) +For more information on the `lagoon.volumes.X.path` label, please see [Additional Volumes](../concepts-basics/docker-compose-yml.md/#additional-volumes) !!! Warning Once a `lagoon.type` is defined and the environment is deployed, changing it to a different type is not supported and could result in a broken environment. From 06dc6805f58a794ff308b673c918fc7931d0449f Mon Sep 17 00:00:00 2001 From: Toby Bellwood Date: Tue, 17 Sep 2024 13:37:59 +1000 Subject: [PATCH 5/5] docs: update Lagoon release docs --- docs/releases/2.21.0.md | 13 ++++++++++--- docs/releases/2.22.0.md | 18 ++++++++++++++++++ 2 files changed, 28 insertions(+), 3 deletions(-) create mode 100644 docs/releases/2.22.0.md diff --git a/docs/releases/2.21.0.md b/docs/releases/2.21.0.md index 0379103558..c66764fdbd 100644 --- a/docs/releases/2.21.0.md +++ b/docs/releases/2.21.0.md @@ -2,17 +2,24 @@ * lagoon [v2.21.0](https://github.com/uselagoon/lagoon/releases/tag/v2.21.0) * lagoon-ui [core-v2.21.0](https://github.com/uselagoon/lagoon-ui/releases/tag/core-v2.21.0) * lagoon-build-deploy [core-v2.21.0](https://github.com/uselagoon/build-deploy-tool/releases/tag/core-v2.21.0) -* lagoon-core chart [x.xx.x](https://github.com/uselagoon/lagoon-charts/releases/tag/lagoon-core-x.xx.0) +* lagoon-core chart [1.48.0](https://github.com/uselagoon/lagoon-charts/releases/tag/lagoon-core-1.48.0) +* lagoon-remote chart [0.94.0](https://github.com/uselagoon/lagoon-charts/releases/tag/lagoon-remote-0.94.0) ## Release Notes -tbc +This release is a standard Lagoon release. ## Upgrades ### Upgrade to v2.20.x first You *must* upgrade to Lagoon v2.20.x before upgrading to v2.21.0. Ensure you read all the linked release notes. +The upgrade to v2.20.x is to ensure that the functionality used to enable the feature flags in the broker service is present prior to being called as a pre-upgrade job in v2.22.x + +### Keycloak 24 +This release includes an update to Keycloak 24. This should be a seamless experience for all users. ## Deprecations -tbc +### Organization & Notification GraphQL commands +Some of the GraphQL commands used to modify organization user roles have changed. The API schema documents them. +Some of the GRaphQL command inputs used to interact with Notifications may have changed. The API schema documents them. diff --git a/docs/releases/2.22.0.md b/docs/releases/2.22.0.md new file mode 100644 index 0000000000..3f209f433c --- /dev/null +++ b/docs/releases/2.22.0.md @@ -0,0 +1,18 @@ +#### Release Links +* lagoon [v2.22.0](https://github.com/uselagoon/lagoon/releases/tag/v2.22.0) +* lagoon-ui [core-v2.22.0](https://github.com/uselagoon/lagoon-ui/releases/tag/core-v2.22.0) +* lagoon-build-deploy [core-v2.22.0](https://github.com/uselagoon/build-deploy-tool/releases/tag/core-v2.22.0) +* lagoon-core chart [x.xx.x](https://github.com/uselagoon/lagoon-charts/releases/tag/lagoon-core-x.xx.0) +* lagoon-remote chart [x.xx.x](https://github.com/uselagoon/lagoon-charts/releases/tag/lagoon-remote-x.xx.x) + +## Release Notes + +tbc - Not released yet + +## Upgrades + +tbc + +## Deprecations + +tbc