Back to top

List of all features available in Lagoon

All user-initiated actions in the API are logged independently, capturing the username, access method, IP address and the query or action performed.
The ability to define routes in the API instead of the Git repository, allowing for more route configurability without needing updates to code.
Coming Soon
Lagoon local development is fully supported on all M1/M2-based Applie computers, and any other arm64-based machines. The base images are all created as multiarchitecture, and the associated Lagoon and Pygmy tooling is all native supported as well.
Lagoon integrates with k8up to perform a range of backup/restore activities. These can be scheduled to occur out of hours, and the retention periods can also be configured per-project.
Lagoon is fully integrated with Let’s Encrypt to automatically provision all the certificates needed when creating additional environments. This reduces the headaches around certificate renewal.
Lagoon has the functionality to trigger the deployment of hundreds of sites from a single command, and then process them in an orderly fashion, setting priorities appropriately.
Lagoon’s flexible pre/post rollout task system allows the conditional execution of tasks, based on build configuration, status and variables.
Lagoon projects can be configured to deploy environments to multiple different target clusters. This would usually be used to physically segregate production and development workloads onto separate Kubernetes clusters.
The integration with Git providers will trigger a Lagoon deployment via a webhook on a push/branch or PR to a repository. Deployments can also be triggered via the User Interface, Command Line Interface, or via a GraphQL request.
Lagoon is completely flexible for your Git workflow - we support Active/Standby, Branch, Pull Request, Promote and Canary deployments.
Lagoon supports wildcard aliases in Drush, which automatically provides full Drush functionality to all environments for a Drupal site.
Lagoon is able to consume site audit information from Drutiny, a Drupal audit utility, when used in combination with the Lagoon Drutiny plugin. The results from Drutiny audits are stored in the Problems system.
Lagoon has many methods for setting environment variables, either file-based, or API-driven. These variables can be scoped to different phases for added security.
Lagoon has a range of tools that can compute and collect information from environments,such as application or package versions, current states or statuses. These facts can be used to filter or sort projects and environments.
Lagoon only requires a single .lagoon.yml file to be present in your Git repository. This file instructs Lagoon on where to find the docker-compose configuration necessary to build the environment’s containers.
Lagoon supports GitHub, GitLab, BitBucket and Gitea for hosting your Git repositories. Both the enterprise and self-hosted versions are supported.
Lagoon features a full GraphQL API, protected with strong Role Based Access Control to give users full control over projects, environments, users and groups.
The ability for a user to customize the notifications they receive, and where.
Lagoon is tightly integrated with Harbor, the Image Registry. For each environment that is created in Lagoon, a corresponding image repository is created to store the built images for use in Lagoon builds. This image registry is installed alongside Lagoon (either centrally, or per-cluster).
Lagoon has a CLI (command line interface) tool, initially developed by a member of our community, that supports the full range of GraphQL API functionality. Written in Go, it is a useful tool for developers, as well as being highly utilized in CI (continuous improvement) processes.
The Lagoon tasks system allows arbitrarily-defined commands to be run in environments. These tasks can be defined at group, project, or environment level and can cascade down. These tasks can also be run conditionally based on facts or permissions.
Lagoon has a full-featured UI, built in React, integrated with the permission system to show the status of projects, environments and deployments.
The standard deployment workflow Lagoon can be extended to contain rule-based triggers to perform a wider range of functions to allow testing, release gates, etc.
Lagoon supports local development in Lando, which will reduce developer onboarding time. Lando also has integrations into Lagoon to push/pull databases and files to facilitate easy on-going development.
Lagoon supports the sending of Logs to a number of external cloud monitoring services, including SumoLogic, Splunk, DataDog and Cloudwatch, but can be extended to any provider with a Fluentd output plugin.
Lagoon supports the addition of client-provided metadata at the project level. This helps customers with multiple projects store additional information alongside the sites, and this information can be easily queried. Metadata support was contributed by the Lagoon community.
Updated 2021
Lagoon supports sending a range of notifications to Slack, RocketChat, Email, Microsoft Teams and Webhooks. These notifications can be configured to send to specific channels or addresses, and can be actioned on different events.
Lagoon is fully configurable to only deploy the branches and pull/merge requests you want it to. A simple regex is all that’s needed, and each the number of concurrent development environments can be configured per project.
Coming Soon

Lagoon fully supports Opensearch (and Opensearch Dashboards) as the logging service for a Lagoon cluster. Lagoon also currently has backwards compatitble support for OpenDistro and Elasticsearch, although these are no longer recommended for use, and Lagoon may not be compatible with all versions.

Lagoon also provides Opensearch images for use in projects, and has created a Drupal example using the correct plugin.

Organizations allow users of the Lagoon platform to manage their portfolio of sites more easily through the UI. They have easy access to all projects, groups and users that come under their organization, and can create new resources as required. Lagoon administrators can easily set limits and restrictions for these projects.
Lagoon has the ability to define set tasks to perform during the deployment phase, which could include pre-deployment backups, post-rollout tasks/updates/checks etc. These are all defined inside the project’s own Git repository, and are 100% customizable.
Lagoon maintains a per-environment database of “problems.” issues discovered—typically automatically—with running environments. These problems are assigned severity levels and, where possible, linked to the originating CVE (Common Vulnerabilities and Exposures) or project issue.
Coming Soon
Problems can now be generated from the new fact sources - covering SBOM analysis, fact gathering tools, and audit packages.
Lagoon publishes a full set of Docker-compatible base images to build projects with. These images are the some ones used to build projects locally and in the cloud, meaning that the chance of incompatibilities is minimized.
Pygmy is a lightweight local development tool for docker-compose. Out of the box, it supports multiple concurrent projects, and provides a mail-testing tool. The latest rewrite of pygmy, written in Go, was contributed by the Lagoon community.
Lagoon has full RBAC (Role-based access control) with tiers suitable for most users, allowing users to set permissions according to the tasks that they will be performing.
Operating a per-cluster endpoint to minimize latency in SSH access to sites.
A single Lagoon core can manage large numbers of remote Kubernetes clusters, across multiple providers and regions.
Allow Kubernetes to run its Lagoon workloads without root privileges.
Lagoon has the functionality to regenerate and store a Software Bill of Materials for every service, updated every deployment.
Coming Soon
More and more Lagoon features are now able to be controlled by the users of the platform, depending on their RBAC levels. This includes the management of Organizations, visual management of variables, and a number of other convenience functions. The Lagoon team continually reviews the premissions required to perform actions and ensures that they are set in-line with the expected use of the platform.
All Lagoon projects are tied back to a source Git repository. Each project can have multiple environments, which are usually named the same as branches (and pull/merge requests). The environments within a project are configured to be able to communicate with each other to facilitate database/file synchronization.
Lagoon supports Harbor’s integration with the Trivy Image scanner. Each environment image is scanned on creation against the latest vulnerability databases.
Coming Soon
New and Improved UI - providing more methods for viewing sites, their metadata and gaining operational insights, as well as peforming more tasks via the UI.