@lando/drupal 1.12.0 → 1.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintignore +5 -0
- package/.lando.yml +1 -2
- package/CHANGELOG.md +26 -0
- package/LICENSE +21 -0
- package/README.md +20 -27
- package/builders/_drupaly.js +44 -19
- package/builders/drupal-mariadb.js +1 -1
- package/builders/drupal-mssql.js +1 -1
- package/builders/drupal-mysql.js +7 -1
- package/builders/drupal-nginx.js +1 -1
- package/builders/drupal-php.js +1 -3
- package/builders/drupal-postgres.js +1 -1
- package/config/drupal11/mysql8.cnf +44 -92
- package/inits/drupal10.js +5 -0
- package/inits/drupal11.js +7 -0
- package/inits/drupal6.js +4 -0
- package/inits/drupal7.js +3 -0
- package/inits/drupal8.js +3 -0
- package/inits/drupal9.js +5 -0
- package/netlify.toml +1 -1
- package/node_modules/@lando/mariadb/.lando.yml +1 -1
- package/node_modules/@lando/mariadb/.node-version +1 -1
- package/node_modules/@lando/mariadb/CHANGELOG.md +12 -1
- package/node_modules/@lando/mariadb/LICENSE +21 -0
- package/node_modules/@lando/mariadb/README.md +5 -2
- package/node_modules/@lando/mariadb/builders/mariadb.js +26 -22
- package/node_modules/@lando/mariadb/netlify.toml +9 -2
- package/node_modules/@lando/mariadb/package.json +8 -8
- package/node_modules/@lando/mysql/.lando.yml +1 -1
- package/node_modules/@lando/mysql/CHANGELOG.md +5 -0
- package/node_modules/@lando/mysql/LICENSE +21 -0
- package/node_modules/@lando/mysql/README.md +5 -2
- package/node_modules/@lando/mysql/builders/mysql.js +9 -5
- package/node_modules/@lando/mysql/netlify.toml +9 -0
- package/node_modules/@lando/mysql/package.json +8 -8
- package/node_modules/@lando/php/.lando.yml +1 -1
- package/node_modules/@lando/php/AGENTS.md +81 -0
- package/node_modules/@lando/php/CHANGELOG.md +31 -0
- package/node_modules/@lando/php/LICENSE +21 -0
- package/node_modules/@lando/php/README.md +9 -3
- package/node_modules/@lando/php/builders/php.js +39 -12
- package/node_modules/@lando/php/images/5.6-apache/Dockerfile +9 -4
- package/node_modules/@lando/php/images/5.6-fpm/Dockerfile +9 -4
- package/node_modules/@lando/php/images/7.0-apache/Dockerfile +9 -4
- package/node_modules/@lando/php/images/7.0-fpm/Dockerfile +9 -4
- package/node_modules/@lando/php/images/7.1-apache/Dockerfile +1 -1
- package/node_modules/@lando/php/images/7.1-fpm/Dockerfile +1 -1
- package/node_modules/@lando/php/images/7.2-apache/Dockerfile +1 -1
- package/node_modules/@lando/php/images/7.2-fpm/Dockerfile +1 -1
- package/node_modules/@lando/php/images/7.3-apache/Dockerfile +1 -1
- package/node_modules/@lando/php/images/7.3-fpm/Dockerfile +1 -1
- package/node_modules/@lando/php/images/7.4-apache/Dockerfile +2 -2
- package/node_modules/@lando/php/images/7.4-fpm/Dockerfile +2 -2
- package/node_modules/@lando/php/images/8.0-apache/Dockerfile +2 -2
- package/node_modules/@lando/php/images/8.0-fpm/Dockerfile +2 -2
- package/node_modules/@lando/php/images/8.1-apache/Dockerfile +1 -1
- package/node_modules/@lando/php/images/8.1-fpm/Dockerfile +1 -1
- package/node_modules/@lando/php/images/8.2-apache/Dockerfile +1 -1
- package/node_modules/@lando/php/images/8.2-fpm/Dockerfile +1 -1
- package/node_modules/@lando/php/images/8.3-apache/Dockerfile +23 -22
- package/node_modules/@lando/php/images/8.3-fpm/Dockerfile +22 -22
- package/node_modules/@lando/php/images/8.4-apache/Dockerfile +21 -22
- package/node_modules/@lando/php/images/8.4-fpm/Dockerfile +21 -22
- package/node_modules/@lando/php/images/8.5-apache/Dockerfile +77 -0
- package/node_modules/@lando/php/images/8.5-fpm/Dockerfile +78 -0
- package/node_modules/@lando/php/netlify.toml +10 -1
- package/node_modules/@lando/php/node_modules/@lando/nginx/.lando.yml +1 -1
- package/node_modules/@lando/php/node_modules/@lando/nginx/.node-version +1 -1
- package/node_modules/@lando/php/node_modules/@lando/nginx/CHANGELOG.md +9 -1
- package/node_modules/@lando/php/node_modules/@lando/nginx/LICENSE +21 -0
- package/node_modules/@lando/php/node_modules/@lando/nginx/README.md +5 -2
- package/node_modules/@lando/php/node_modules/@lando/nginx/builders/nginx.js +34 -15
- package/node_modules/@lando/php/node_modules/@lando/nginx/netlify.toml +9 -4
- package/node_modules/@lando/php/node_modules/@lando/nginx/package.json +8 -8
- package/node_modules/@lando/php/package.json +10 -10
- package/node_modules/@lando/php/scripts/install-db-client.sh +31 -0
- package/node_modules/@lando/php/scripts/mariadb-compat-install.sh +42 -0
- package/node_modules/@lando/php/scripts/mysql-client-install.sh +62 -0
- package/node_modules/@lando/postgres/.lando.yml +1 -1
- package/node_modules/@lando/postgres/CHANGELOG.md +15 -0
- package/node_modules/@lando/postgres/LICENSE +21 -0
- package/node_modules/@lando/postgres/README.md +5 -2
- package/node_modules/@lando/postgres/builders/postgres.js +11 -10
- package/node_modules/@lando/postgres/netlify.toml +9 -4
- package/node_modules/@lando/postgres/package.json +8 -8
- package/node_modules/semver/README.md +14 -4
- package/node_modules/semver/bin/semver.js +4 -1
- package/node_modules/semver/classes/comparator.js +2 -0
- package/node_modules/semver/classes/index.js +2 -0
- package/node_modules/semver/classes/range.js +2 -0
- package/node_modules/semver/classes/semver.js +22 -5
- package/node_modules/semver/functions/clean.js +2 -0
- package/node_modules/semver/functions/cmp.js +2 -0
- package/node_modules/semver/functions/coerce.js +2 -0
- package/node_modules/semver/functions/compare-build.js +2 -0
- package/node_modules/semver/functions/compare-loose.js +2 -0
- package/node_modules/semver/functions/compare.js +2 -0
- package/node_modules/semver/functions/diff.js +7 -12
- package/node_modules/semver/functions/eq.js +2 -0
- package/node_modules/semver/functions/gt.js +2 -0
- package/node_modules/semver/functions/gte.js +2 -0
- package/node_modules/semver/functions/inc.js +2 -0
- package/node_modules/semver/functions/lt.js +2 -0
- package/node_modules/semver/functions/lte.js +2 -0
- package/node_modules/semver/functions/major.js +2 -0
- package/node_modules/semver/functions/minor.js +2 -0
- package/node_modules/semver/functions/neq.js +2 -0
- package/node_modules/semver/functions/parse.js +2 -0
- package/node_modules/semver/functions/patch.js +2 -0
- package/node_modules/semver/functions/prerelease.js +2 -0
- package/node_modules/semver/functions/rcompare.js +2 -0
- package/node_modules/semver/functions/rsort.js +2 -0
- package/node_modules/semver/functions/satisfies.js +2 -0
- package/node_modules/semver/functions/sort.js +2 -0
- package/node_modules/semver/functions/valid.js +2 -0
- package/node_modules/semver/index.js +2 -0
- package/node_modules/semver/internal/constants.js +2 -0
- package/node_modules/semver/internal/debug.js +2 -0
- package/node_modules/semver/internal/identifiers.js +2 -0
- package/node_modules/semver/internal/lrucache.js +2 -0
- package/node_modules/semver/internal/parse-options.js +2 -0
- package/node_modules/semver/internal/re.js +10 -4
- package/node_modules/semver/package.json +8 -7
- package/node_modules/semver/preload.js +2 -0
- package/node_modules/semver/ranges/gtr.js +2 -0
- package/node_modules/semver/ranges/intersects.js +2 -0
- package/node_modules/semver/ranges/ltr.js +2 -0
- package/node_modules/semver/ranges/max-satisfying.js +2 -0
- package/node_modules/semver/ranges/min-satisfying.js +2 -0
- package/node_modules/semver/ranges/min-version.js +2 -0
- package/node_modules/semver/ranges/outside.js +2 -0
- package/node_modules/semver/ranges/simplify.js +2 -0
- package/node_modules/semver/ranges/subset.js +2 -0
- package/node_modules/semver/ranges/to-comparators.js +2 -0
- package/node_modules/semver/ranges/valid.js +2 -0
- package/package.json +13 -13
- package/LICENSE.md +0 -674
- package/PRIVACY.md +0 -169
- package/node_modules/@lando/mariadb/LICENSE.md +0 -674
- package/node_modules/@lando/mariadb/PRIVACY.md +0 -169
- package/node_modules/@lando/mariadb/tmpfile +0 -0
- package/node_modules/@lando/mysql/.tool-versions +0 -1
- package/node_modules/@lando/mysql/LICENSE.md +0 -674
- package/node_modules/@lando/mysql/PRIVACY.md +0 -169
- package/node_modules/@lando/php/LICENSE.md +0 -674
- package/node_modules/@lando/php/PRIVACY.md +0 -169
- package/node_modules/@lando/php/node_modules/@lando/nginx/LICENSE.md +0 -674
- package/node_modules/@lando/php/node_modules/@lando/nginx/PRIVACY.md +0 -169
- package/node_modules/@lando/postgres/LICENSE.md +0 -674
- package/node_modules/@lando/postgres/PRIVACY.md +0 -169
package/.eslintignore
CHANGED
package/.lando.yml
CHANGED
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,31 @@
|
|
|
1
1
|
## {{ UNRELEASED_VERSION }} - [{{ UNRELEASED_DATE }}]({{ UNRELEASED_LINK }})
|
|
2
2
|
|
|
3
|
+
## v1.14.0 - [February 19, 2026](https://github.com/lando/drupal/releases/tag/v1.14.0)
|
|
4
|
+
|
|
5
|
+
* Added `drush_uri` configuration option to set `DRUSH_OPTIONS_URI` environment variable in the appserver service with SSL support
|
|
6
|
+
* Updated `@lando/php` to `^1.11.0` for MySQL client auto-detection fix
|
|
7
|
+
* Updated to [@lando/php@1.10.0](https://github.com/lando/php/releases/tag/v1.10.0)
|
|
8
|
+
* Updated to [@lando/mariadb@1.8.0](https://github.com/lando/mariadb/releases/tag/v1.8.0)
|
|
9
|
+
* Updated to [@lando/postgres@1.6.0](https://github.com/lando/postgres/releases/tag/v1.6.0)
|
|
10
|
+
* Updated to [@lando/argv@1.2.0](https://github.com/lando/argv/releases/tag/v1.2.0)
|
|
11
|
+
* Fixed release workflow to trigger npm publish on `published` event
|
|
12
|
+
* Fixed drupal-multisite docs [#175](https://github.com/lando/drupal/pull/175)
|
|
13
|
+
* Updated documented dependency versions
|
|
14
|
+
* Updated supported PHP version range to 8.5+
|
|
15
|
+
* Added dependabot config
|
|
16
|
+
* Bumped actions group (checkout, setup-node, cache)
|
|
17
|
+
|
|
18
|
+
## v1.13.0 - [September 17, 2025](https://github.com/lando/drupal/releases/tag/v1.13.0)
|
|
19
|
+
|
|
20
|
+
* Added default config values to the `.lando.yml` file after init.
|
|
21
|
+
* Switched images to [bitnamilegacy](https://github.com/bitnami/containers/issues/83267) namespace
|
|
22
|
+
* Updated to [@lando/mariadb@1.7.0](https://github.com/lando/mariadb/releases/tag/v1.7.0)
|
|
23
|
+
* Updated to [@lando/mysql@1.6.0](https://github.com/lando/mysql/releases/tag/v1.6.0)
|
|
24
|
+
* Updated to [@lando/php@1.8.0](https://github.com/lando/php/releases/tag/v1.8.0)
|
|
25
|
+
* Updated to [@lando/postgres@1.5.0](https://github.com/lando/postgres/releases/tag/v1.5.0)
|
|
26
|
+
* Updated default `nginx` version to `1.29`
|
|
27
|
+
* Updated MySQL config for better MySQL 8.4 support.
|
|
28
|
+
|
|
3
29
|
## v1.12.0 - [January 16, 2025](https://github.com/lando/drupal/releases/tag/v1.12.0)
|
|
4
30
|
|
|
5
31
|
* Updated globally installed Drush to `v8.5.0`.
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Lando Alliance
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
This is the _official_ [Lando](https://lando.dev) plugin for [Drupal](https://www.drupal.org/). When installed it...
|
|
4
4
|
|
|
5
5
|
* Allows users to run `drupal` cms
|
|
6
|
-
* Allows users to configure `php` version from `5.3` all the way to `8.
|
|
6
|
+
* Allows users to configure `php` version from `5.3` all the way to `8.5+`
|
|
7
7
|
* Allows users to configure `webroot`
|
|
8
8
|
* Allows users to configure web server to (`apache` or `nginx`)
|
|
9
9
|
* Allows users to configure database backend to (`mariadb`, `mysql`, or `postgres`)
|
|
@@ -15,11 +15,15 @@ Of course, once a user is running their Drupal project with Lando they can take
|
|
|
15
15
|
|
|
16
16
|
## Basic Usage
|
|
17
17
|
|
|
18
|
-
Add a `
|
|
18
|
+
Add a `drupal11` recipe to your Landofile
|
|
19
19
|
|
|
20
20
|
```yaml
|
|
21
|
-
name: Drupal
|
|
22
|
-
recipe:
|
|
21
|
+
name: Drupal 11
|
|
22
|
+
recipe: drupal11
|
|
23
|
+
config:
|
|
24
|
+
php: 8.3
|
|
25
|
+
via: apache:2.4
|
|
26
|
+
database: mysql:8.0
|
|
23
27
|
```
|
|
24
28
|
|
|
25
29
|
For more info you should check out the [docs](https://docs.lando.dev/drupal):
|
|
@@ -35,14 +39,11 @@ For more info you should check out the [docs](https://docs.lando.dev/drupal):
|
|
|
35
39
|
```bash
|
|
36
40
|
# With npm
|
|
37
41
|
npm install @lando/drupal
|
|
38
|
-
|
|
39
|
-
# With yarn
|
|
40
|
-
yarn add @lando/drupal
|
|
41
42
|
```
|
|
42
43
|
|
|
43
44
|
## Issues, Questions and Support
|
|
44
45
|
|
|
45
|
-
If you have a question or would like some community support we recommend you [join us on Slack](https://launchpass.com/devwithlando).
|
|
46
|
+
If you have a question or would like some community support we recommend you [join us on Slack](https://launchpass.com/devwithlando).
|
|
46
47
|
|
|
47
48
|
If you'd like to report a bug or submit a feature request then please [use the issue queue](https://github.com/lando/drupal/issues/new/choose) in this repo.
|
|
48
49
|
|
|
@@ -53,40 +54,27 @@ We try to log all changes big and small in both [THE CHANGELOG](https://github.c
|
|
|
53
54
|
|
|
54
55
|
## Development
|
|
55
56
|
|
|
56
|
-
* Requires [Node
|
|
57
|
-
* Prefers [Yarn](https://classic.yarnpkg.com/lang/en/docs/install)
|
|
58
|
-
|
|
59
|
-
```bash
|
|
60
|
-
git clone https://github.com/lando/drupal.git && cd drupal
|
|
61
|
-
yarn install
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
If you don't want to install Node 18 or Yarn for whatever reason you can install [Lando](https://docs.lando.dev/basics/installation.html) and use that:
|
|
57
|
+
* Requires [Node 20+](https://nodejs.org/dist/latest-v20.x/)
|
|
65
58
|
|
|
66
59
|
```bash
|
|
67
60
|
git clone https://github.com/lando/drupal.git && cd drupal
|
|
68
|
-
|
|
69
|
-
lando start
|
|
70
|
-
|
|
71
|
-
# Run commands
|
|
72
|
-
lando node
|
|
73
|
-
lando yarn
|
|
61
|
+
npm install
|
|
74
62
|
```
|
|
75
63
|
|
|
76
64
|
## Testing
|
|
77
65
|
|
|
78
66
|
```bash
|
|
79
67
|
# Lint the code
|
|
80
|
-
|
|
68
|
+
npm run lint
|
|
81
69
|
|
|
82
70
|
# Run unit tests
|
|
83
|
-
|
|
71
|
+
npm test
|
|
84
72
|
```
|
|
85
73
|
|
|
86
74
|
## Releasing
|
|
87
75
|
|
|
88
76
|
```bash
|
|
89
|
-
|
|
77
|
+
npm release
|
|
90
78
|
```
|
|
91
79
|
|
|
92
80
|
|
|
@@ -94,6 +82,7 @@ yarn release
|
|
|
94
82
|
|
|
95
83
|
* [@pirog](https://github.com/pirog)
|
|
96
84
|
* [@reynoldsalec](https://github.com/reynoldsalec)
|
|
85
|
+
* [@AaronFeledy](https://github.com/AaronFeledy)
|
|
97
86
|
|
|
98
87
|
## Contributors
|
|
99
88
|
|
|
@@ -105,4 +94,8 @@ Made with [contributors-img](https://contrib.rocks).
|
|
|
105
94
|
|
|
106
95
|
## Other Resources
|
|
107
96
|
|
|
108
|
-
* [
|
|
97
|
+
* [LICENSE](/LICENSE)
|
|
98
|
+
* [TERMS OF USE](https://docs.lando.dev/terms)
|
|
99
|
+
* [PRIVACY POLICY](https://docs.lando.dev/privacy)
|
|
100
|
+
* [CODE OF CONDUCT](https://docs.lando.dev/coc)
|
|
101
|
+
|
package/builders/_drupaly.js
CHANGED
|
@@ -147,7 +147,7 @@ const getServices = options => ({
|
|
|
147
147
|
},
|
|
148
148
|
database: {
|
|
149
149
|
config: getServiceConfig(options, ['database']),
|
|
150
|
-
authentication: '
|
|
150
|
+
authentication: '',
|
|
151
151
|
type: `drupal-${options.database}`,
|
|
152
152
|
portforward: true,
|
|
153
153
|
creds: {
|
|
@@ -162,13 +162,11 @@ const getServices = options => ({
|
|
|
162
162
|
* Helper to get the phar build command
|
|
163
163
|
*/
|
|
164
164
|
const getDbTooling = database => {
|
|
165
|
-
|
|
166
|
-
const db = database.split(':')[0];
|
|
167
|
-
const ver = database.split(':')[1];
|
|
165
|
+
const [db, ver] = database.split(':');
|
|
168
166
|
// Choose wisely
|
|
169
167
|
if (db === 'mysql') {
|
|
170
168
|
return {mysql: mysqlCli};
|
|
171
|
-
} else if (db === 'mariadb' && ver
|
|
169
|
+
} else if (db === 'mariadb' && semver.lt(semver.coerce(ver), '10.4.0')) {
|
|
172
170
|
// Use mysql command for MariaDB 10.3.x and below
|
|
173
171
|
return {mysql: mysqlCli};
|
|
174
172
|
} else if (db === 'mariadb') {
|
|
@@ -176,10 +174,12 @@ const getDbTooling = database => {
|
|
|
176
174
|
} else if (db === 'postgres') {
|
|
177
175
|
return {psql: postgresCli};
|
|
178
176
|
} else if (db === 'mongo') {
|
|
179
|
-
return {
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
177
|
+
return {
|
|
178
|
+
mongo: {
|
|
179
|
+
service: 'database',
|
|
180
|
+
description: 'Drop into the mongo shell',
|
|
181
|
+
},
|
|
182
|
+
};
|
|
183
183
|
}
|
|
184
184
|
};
|
|
185
185
|
|
|
@@ -228,22 +228,26 @@ module.exports = {
|
|
|
228
228
|
composer: {},
|
|
229
229
|
confSrc: __dirname,
|
|
230
230
|
config: {},
|
|
231
|
-
database: 'mysql',
|
|
231
|
+
database: 'mysql:5.7',
|
|
232
232
|
defaultFiles: {
|
|
233
233
|
php: 'php.ini',
|
|
234
234
|
},
|
|
235
235
|
php: '7.2',
|
|
236
|
-
tooling: {
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
236
|
+
tooling: {
|
|
237
|
+
drush: {
|
|
238
|
+
service: 'appserver',
|
|
239
|
+
},
|
|
240
|
+
},
|
|
241
|
+
via: 'apache:2.4',
|
|
240
242
|
webroot: '.',
|
|
241
243
|
xdebug: false,
|
|
242
244
|
proxy: {},
|
|
245
|
+
drush_uri: null,
|
|
243
246
|
},
|
|
244
247
|
builder: (parent, config) => class LandoDrupal extends parent {
|
|
245
248
|
constructor(id, options = {}) {
|
|
246
249
|
options = _.merge({}, config, options);
|
|
250
|
+
|
|
247
251
|
// Set the default drush version if we don't have it
|
|
248
252
|
if (!_.has(options, 'drush')) options.drush = (options.php === '5.3') ? DRUSH7 : DRUSH8;
|
|
249
253
|
|
|
@@ -264,12 +268,16 @@ module.exports = {
|
|
|
264
268
|
}
|
|
265
269
|
|
|
266
270
|
// Set legacy envars
|
|
267
|
-
options.services = _.merge({}, options.services, {
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
+
options.services = _.merge({}, options.services, {
|
|
272
|
+
appserver: {
|
|
273
|
+
overrides: {
|
|
274
|
+
environment: {
|
|
275
|
+
SIMPLETEST_BASE_URL: (options.via === 'nginx') ? 'https://appserver_nginx' : 'https://appserver',
|
|
276
|
+
SIMPLETEST_DB: `mysql://${options.recipe}:${options.recipe}@database/${options.recipe}`,
|
|
277
|
+
},
|
|
278
|
+
},
|
|
271
279
|
},
|
|
272
|
-
}
|
|
280
|
+
});
|
|
273
281
|
|
|
274
282
|
// Switch the proxy service if needed
|
|
275
283
|
if (!_.has(options, 'proxyService')) {
|
|
@@ -283,6 +291,23 @@ module.exports = {
|
|
|
283
291
|
options.services = _.merge({}, getServices(options), options.services);
|
|
284
292
|
options.tooling = _.merge({}, getTooling(options), options.tooling);
|
|
285
293
|
|
|
294
|
+
// Set DRUSH_OPTIONS_URI based on drush_uri config or proxy settings
|
|
295
|
+
let drushUri = options.drush_uri;
|
|
296
|
+
if (!drushUri) {
|
|
297
|
+
const proxyUrl = options.proxy[options.proxyService]?.[0];
|
|
298
|
+
if (proxyUrl) {
|
|
299
|
+
// Check SSL setting for the proxy service
|
|
300
|
+
const proxyServiceSsl = options.services[options.proxyService]?.ssl;
|
|
301
|
+
const ssl = proxyServiceSsl !== undefined ? proxyServiceSsl : options.services.appserver?.ssl;
|
|
302
|
+
drushUri = ssl ? `https://${proxyUrl}` : `http://${proxyUrl}`;
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
if (drushUri) {
|
|
307
|
+
options.services.appserver.environment = options.services.appserver.environment || {};
|
|
308
|
+
options.services.appserver.environment.DRUSH_OPTIONS_URI = drushUri;
|
|
309
|
+
}
|
|
310
|
+
|
|
286
311
|
// Send downstream
|
|
287
312
|
super(id, _.merge({}, config, options));
|
|
288
313
|
}
|
package/builders/drupal-mssql.js
CHANGED
package/builders/drupal-mysql.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
const _ = require('lodash');
|
|
4
|
-
const
|
|
4
|
+
const semver = require('semver');
|
|
5
|
+
const LandoMysql = require('@lando/mysql/builders/mysql.js');
|
|
5
6
|
|
|
6
7
|
// Builder
|
|
7
8
|
module.exports = {
|
|
@@ -9,6 +10,11 @@ module.exports = {
|
|
|
9
10
|
parent: '_service',
|
|
10
11
|
builder: parent => class DrupalMysql extends LandoMysql.builder(parent, LandoMysql.config) {
|
|
11
12
|
constructor(id, options = {}) {
|
|
13
|
+
// Versions of MySQL prior to 8.4 use mysql_native_password authentication
|
|
14
|
+
if (!options.authentication && semver.lt(semver.coerce(options.version), '8.4.0')) {
|
|
15
|
+
options.authentication = 'mysql_native_password';
|
|
16
|
+
}
|
|
17
|
+
|
|
12
18
|
super(id, options, {services: _.set({}, options.name)});
|
|
13
19
|
}
|
|
14
20
|
},
|
package/builders/drupal-nginx.js
CHANGED
package/builders/drupal-php.js
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
const
|
|
4
|
-
const landoPhpPath = path.join(__dirname, '../node_modules/@lando/php');
|
|
5
|
-
const LandoPhp = require(`${landoPhpPath}/builders/php.js`);
|
|
3
|
+
const LandoPhp = require('@lando/php/builders/php.js');
|
|
6
4
|
|
|
7
5
|
/**
|
|
8
6
|
* Drupal PHP builder class that extends Lando PHP builder.
|
|
@@ -3,104 +3,56 @@
|
|
|
3
3
|
#
|
|
4
4
|
# LANDODRUPALMYSQL8CNF
|
|
5
5
|
|
|
6
|
-
[
|
|
7
|
-
#
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
default-storage-engine = innodb
|
|
6
|
+
[server]
|
|
7
|
+
# Character sets and SQL mode
|
|
8
|
+
character_set_server = utf8mb4
|
|
9
|
+
collation_server = utf8mb4_general_ci
|
|
10
|
+
sql_mode = ONLY_FULL_GROUP_BY,TRADITIONAL
|
|
12
11
|
|
|
13
|
-
#
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
max_allowed_packet
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
#
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
table_open_cache =
|
|
28
|
-
|
|
12
|
+
# Basic Tuning.
|
|
13
|
+
max_connections = 500
|
|
14
|
+
connect_timeout = 5
|
|
15
|
+
wait_timeout = 28800
|
|
16
|
+
max_allowed_packet = 32M
|
|
17
|
+
thread_cache_size = 128
|
|
18
|
+
sort_buffer_size = 4M
|
|
19
|
+
bulk_insert_buffer_size = 16M
|
|
20
|
+
tmp_table_size = 32M
|
|
21
|
+
max_heap_table_size = 32M
|
|
22
|
+
|
|
23
|
+
# MyISAM.
|
|
24
|
+
myisam_recover_options = BACKUP
|
|
25
|
+
key_buffer_size = 128M
|
|
26
|
+
table_open_cache = 400
|
|
27
|
+
myisam_sort_buffer_size = 512M
|
|
28
|
+
concurrent_insert = 2
|
|
29
29
|
read_buffer_size = 2M
|
|
30
|
+
read_rnd_buffer_size = 1M
|
|
30
31
|
|
|
31
|
-
#
|
|
32
|
-
|
|
33
|
-
#
|
|
34
|
-
# Both location gets rotated by the cronjob.
|
|
35
|
-
# Be aware that this log type is a performance killer.
|
|
36
|
-
# As of 5.1 you can enable the log at runtime!
|
|
37
|
-
#general_log_file = /src/.lando/log/mysql.log
|
|
38
|
-
#general_log = 1
|
|
39
|
-
#
|
|
40
|
-
# Error logging goes to syslog due to /etc/mysql/conf.d/mysqld_safe_syslog.cnf.
|
|
41
|
-
#
|
|
42
|
-
# Here you can see queries with especially long duration
|
|
43
|
-
#log_slow_queries = /var/log/mysql/mysql-slow.log
|
|
44
|
-
#long_query_time = 2
|
|
45
|
-
#log-queries-not-using-indexes
|
|
46
|
-
#
|
|
47
|
-
# The following can be used as easy to replay backup logs or for replication.
|
|
48
|
-
# note: if you are setting up a replication slave, see README.Debian about
|
|
49
|
-
# other settings you may need to change.
|
|
50
|
-
#server-id = 1
|
|
51
|
-
#log_bin = /src/.lando/log/mysql-bin.log
|
|
52
|
-
expire_logs_days = 10
|
|
53
|
-
max_binlog_size = 101M
|
|
54
|
-
#binlog_do_db = include_database_name
|
|
55
|
-
#binlog_ignore_db = include_database_name
|
|
56
|
-
#
|
|
57
|
-
# * InnoDB
|
|
58
|
-
#
|
|
59
|
-
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
|
|
60
|
-
# Read the manual for more InnoDB related options. There are many!
|
|
61
|
-
#
|
|
62
|
-
# Uncomment the following if you are using InnoDB tables
|
|
63
|
-
#innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend
|
|
64
|
-
#innodb_log_group_home_dir = C:\mysql\data/
|
|
65
|
-
# You can set .._buffer_pool_size up to 50 - 80 %
|
|
66
|
-
# of RAM but beware of setting memory usage too high
|
|
67
|
-
#innodb_buffer_pool_size = 384M
|
|
68
|
-
#innodb_additional_mem_pool_size = 20M
|
|
69
|
-
# Set .._log_file_size to 25 % of buffer pool size
|
|
70
|
-
innodb_log_file_size = 100M
|
|
71
|
-
#innodb_log_buffer_size = 8M
|
|
72
|
-
innodb_flush_log_at_trx_commit = 0
|
|
73
|
-
#innodb_lock_wait_timeout = 50
|
|
32
|
+
# InnoDB.
|
|
33
|
+
default_storage_engine = InnoDB
|
|
74
34
|
innodb_buffer_pool_size = 384M
|
|
75
|
-
innodb_log_buffer_size
|
|
76
|
-
innodb_file_per_table
|
|
77
|
-
innodb_open_files
|
|
78
|
-
innodb_io_capacity
|
|
79
|
-
|
|
80
|
-
|
|
35
|
+
innodb_log_buffer_size = 8M
|
|
36
|
+
innodb_file_per_table = 1
|
|
37
|
+
innodb_open_files = 400
|
|
38
|
+
innodb_io_capacity = 512
|
|
39
|
+
innodb_thread_concurrency = 0
|
|
40
|
+
innodb_read_io_threads = 16
|
|
41
|
+
innodb_write_io_threads = 16
|
|
42
|
+
innodb_flush_log_at_trx_commit = 0
|
|
43
|
+
innodb_max_dirty_pages_pct = 70
|
|
44
|
+
innodb_adaptive_hash_index = 0
|
|
45
|
+
innodb_use_native_aio = 0
|
|
81
46
|
innodb_lock_wait_timeout = 127
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
#
|
|
90
|
-
# ssl-ca=/etc/mysql/cacert.pem
|
|
91
|
-
# ssl-cert=/etc/mysql/server-cert.pem
|
|
92
|
-
# ssl-key=/etc/mysql/server-key.pem
|
|
47
|
+
|
|
48
|
+
[mysqld-8.4]
|
|
49
|
+
mysql_native_password=ON
|
|
50
|
+
|
|
51
|
+
[client]
|
|
52
|
+
default_character_set=utf8mb4
|
|
53
|
+
max_allowed_packet = 64M
|
|
93
54
|
|
|
94
55
|
[mysqldump]
|
|
95
56
|
quick
|
|
96
57
|
quote-names
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
[mysql]
|
|
100
|
-
#no-auto-rehash # faster start of mysql but no tab completion
|
|
101
|
-
|
|
102
|
-
[isamchk]
|
|
103
|
-
key_buffer_size = 384M
|
|
104
|
-
sort_buffer_size = 256M
|
|
105
|
-
read_buffer = 2M
|
|
106
|
-
write_buffer = 2M
|
|
58
|
+
no-tablespaces
|
package/inits/drupal10.js
CHANGED
package/inits/drupal11.js
CHANGED
package/inits/drupal6.js
CHANGED
package/inits/drupal7.js
CHANGED
package/inits/drupal8.js
CHANGED
package/inits/drupal9.js
CHANGED
package/netlify.toml
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
20
|
|
@@ -1,7 +1,18 @@
|
|
|
1
1
|
## {{ UNRELEASED_VERSION }} - [{{ UNRELEASED_DATE }}]({{ UNRELEASED_LINK }})
|
|
2
2
|
|
|
3
|
+
## v1.8.0 - [September 8, 2025](https://github.com/lando/mariadb/releases/tag/v1.8.0)
|
|
4
|
+
|
|
5
|
+
* Added support for MariaDB 11.8
|
|
6
|
+
|
|
7
|
+
## v1.7.0 - [August 30, 2025](https://github.com/lando/mariadb/releases/tag/v1.7.0)
|
|
8
|
+
|
|
9
|
+
* Switched images to [bitnamilegacy](https://github.com/bitnami/containers/issues/83267) namespace
|
|
10
|
+
* Updated `mariadb:11.4` to `11.4.7`
|
|
11
|
+
|
|
3
12
|
## v1.6.3 - [December 6, 2024](https://github.com/lando/mariadb/releases/tag/v1.6.3)
|
|
4
13
|
|
|
14
|
+
* Added support for MariaDB 11.6 and 11.7.
|
|
15
|
+
* Bumped all available MariaDB minor versions.
|
|
5
16
|
* Updated the version index.md to get Docuverse page to build correctly.
|
|
6
17
|
|
|
7
18
|
## v1.6.2 - [December 4, 2024](https://github.com/lando/mariadb/releases/tag/v1.6.2)
|
|
@@ -19,7 +30,7 @@
|
|
|
19
30
|
## v1.5.0 - [September 26, 2024](https://github.com/lando/mariadb/releases/tag/v1.5.0)
|
|
20
31
|
|
|
21
32
|
* Added MariaDB 11.5.
|
|
22
|
-
* Updated pinned image versions to be ARM compatible.
|
|
33
|
+
* Updated pinned image versions to be ARM compatible.
|
|
23
34
|
|
|
24
35
|
## v1.4.0 - [September 24, 2024](https://github.com/lando/mariadb/releases/tag/v1.4.0)
|
|
25
36
|
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Lando Alliance
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|