Lagoon 2.10 - so many changes!!!
lagoon-charts
Lagoon operators should check the lagoon-charts release notes carefully, as there may be action needed - especially if you use custom image references for the docker-host, drush-alias, overrideBuildDeployImage or UI images
Service consolidation
A large number of services have either been consolidated, removed or transferred to new repositories - this is aiming towards Lagoon having a leaner, meaner core, and having more predictable release cycles for the various components.
- kubectl-build-deploy-dind has now been consolidated and transferred to https://www.github.com/uselagoon/build-deploy-tool, and the deprecated kubectl, oc and oc-build-deploy-dind images now no longer built
- lagoon-ui has now been transferred to https://www.github.com/uselagoon/lagoon-ui and adapted for more rapid build cycles (and easier contribution)
- a host of service images (docker-host, drush-alias, athenapdf, logs-concentrator, logs-dispatcher) have now been transferred to https://www.github.com/uselagoon/lagoon-service-images as they no longer depend on lagoon-core, and can be independently updated
- the individual logs2x services (slack, teams, rocketchat, email, webhooks, s3) have all been consolidated into a single logs2notifications service, that operates identically to the previous services.
- Lagoon can now support running the storage-calculator in lagoon-remote as well as lagoon-core. This will be made available shortly at https://github.com/uselagoon/storage-calculator and added as an option to lagoon-remote in a future release.
Database updates
A large focus of this release is to prepare for a larger database upgrade in 2.11 - namely migrating from the MariaDB 10.4 pod, to a newer version of mariadb, with the added option of using a managed database service, such as RDS etc
- All foreign keys have been removed from the api-db - they were non-functional anyway (and a couple were misconfigured). We will reassess whether we should use any foreign keys in future. This will be the final migration written to operate in api-db via raw SQL. As of 2.11, we will utilise an init process to trigger knex-based migrations.
Service updates
- The golang based services have all been updated to Golang 1.18 and rejigged to share a common structure
- The storage-calculator has been updated to a more recent version of kubectl and given improved error handling abilities
API updates
- The ability to disable harbor-core integration (to be depracated in favor of harbor-remote) and opensearch integration (for installs not using lagoon-logs) has been added to the API as feature flags.
- Specifying the lagoon-build-image to be used for a lagoon-remote has now been added to the API, along with sensible defaults to match the current release - this will avoid mismatches between lagoon-core and lagoon-remote releases, and place more control in the hands of Lagoon administrators. We will also shortly start work on compatibility checking between core and remote.
- Environment and Project cleanup has been improved, with the API not allowing a project to be deleted if environments exist, and the removal of a project or environment triggering the removal of any associated variables from the API.
- GraphQL support for a couple of new features in the UI - being able to filter deployments, and being able to request Lagoon Insights files from S3.
- Additional fixes to Active/Standby, build variable merging, DeployTarget config and reading S3 buckets on S3-compatible hosts.
- Audit logging now goes to a single consolidated index.
Local development and Test changes
- The local development docker-compose has been updated to remove or repoint the consolidated/removed/transferred services
- Some test routines have been reorganised to closer align durations to avoid potential issues in github actions
What's Changed
- chore: flag to disable harbor core integration on add project by @shreddedbacon in #3267
- chore: use bridge for s3_files_host for local by @shreddedbacon in #3254
- Feature: add lagoon-core version to build payload by @shreddedbacon in #3260
- Feature: Configure remote target build image in API by @shreddedbacon in #3244
- Chore: remove logs2logs-db by @shreddedbacon in #3226
- Go svc updates by @CGoodwin90 in #3245
- Sets stricter mandatory fields for addDeployTargetConfig by @bomoko in #3239
- Update install-harbor.md by @noskovao in #3269
- Feature: return error if environments exist when deleting project by @shreddedbacon in #3261
- chore: update storage-calculator for kubernetes by @shreddedbacon in #3201
- Makes the opensearch api integration feature flaggable by @bomoko in #3268
- Feature: remove associated variables from api when environments and projects are deleted by @shreddedbacon in #2946
- Fixing CLI docs link. by @AlannaBurke in #3278
- remove kubectl, kbdd, oc and references by @tobybellwood in #3271
- Feature: logs2notifications by @shreddedbacon in #3077
- consolidated docs update by @tobybellwood in #3279
- add test step to check/remove existing kind clusters by @tobybellwood in #3265
- remove all logs2x remnants by @tobybellwood in #3280
- Fix: active/standby support for environments with slash in the name by @shreddedbacon in #3214
- Adds self excluding task source environment argument by @bomoko in #3276
- Fix anchor to SSL certificates help doc by @christopher-hopper in #3282
- use longer varchar for self exclude migration by @tobybellwood in #3285
- Fix documentation on how to generate JWT token by @achton in #3295
- Fixes logic error in build var merging by @bomoko in #3296
- Increases width of varchar(74) temporary tables in migrations by @bomoko in #3298
- remove UI from lagoon-core repo by @tobybellwood in #3290
- Make the instructions clearer for custom backup and restore buckets. by @seanhamlin in #3287
- docs: fix up hsts documentation by @shreddedbacon in #3274
- Adds new deploymentByFilter query to api by @bomoko in #3293
- feat: add storage-calculator support to actions-handler by @shreddedbacon in #3291
- build lagoon-service-images in uselagoon/lagoon-service-images by @tobybellwood in #3288
- move cronjobs and var tests out of features-kubernetes by @tobybellwood in #3301
- Filters out deleted environments in getDeploymentsByFilter by @bomoko in #3300
- Introducing s3 insights file handling to the API by @timclifford in #3056
- minor localdev fixup by @tobybellwood in #3302
- Remove (unused) foreign keys from api-db by @CGoodwin90 in #3292
- tidyup allocation of lagoon-logs audit events to projects by @tobybellwood in #3303
New Contributors
Full Changelog: v2.9.2...v2.10.0