Skip to content

Commit 4b926e0

Browse files
committed
Merge branch 'release' into 'master'
PB-43559 Merge release into master (v5.3.0) See merge request passbolt/passbolt-ce-api!406
2 parents a978f19 + be15cfe commit 4b926e0

File tree

243 files changed

+4587
-4210
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

243 files changed

+4587
-4210
lines changed
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
name: adminer
2+
repository: ddev/ddev-adminer
3+
version: v1.1.4
4+
install_date: "2025-05-10T22:25:05+02:00"
5+
project_files:
6+
- docker-compose.adminer.yaml
7+
- docker-compose.adminer_norouter.yaml
8+
- commands/host/adminer
9+
global_files: []
10+
removal_actions: []
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
name: ddev-cron
2+
repository: ddev/ddev-cron
3+
version: 1.9.0
4+
install_date: "2025-05-10T22:40:27+02:00"
5+
project_files:
6+
- web-build/Dockerfile.ddev-cron
7+
- web-build/cron.conf
8+
- web-build/time.cron.example
9+
global_files: []
10+
removal_actions: []
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
#!/usr/bin/env bash
2+
3+
## Description: Create passbolt main & test database on db container using 'root' user privileges
4+
## Usage: create_passbolt_db
5+
## Example: "ddev create_passbolt_db"
6+
## DBTypes: mysql,mariadb
7+
## ExecRaw: true
8+
9+
# Prefer 'mariadb' instead of 'mysql' (older versions of MariaDB only have the 'mysql' binary)
10+
if [[ "${DDEV_DATABASE}" == "mariadb"* ]] && command -v mariadb >/dev/null 2>&1; then
11+
mariadb -e "CREATE DATABASE IF NOT EXISTS passbolt; GRANT ALL PRIVILEGES ON passbolt.* TO 'db'@'%'; FLUSH PRIVILEGES;"
12+
mariadb -e "CREATE DATABASE IF NOT EXISTS test_passbolt; GRANT ALL PRIVILEGES ON test_passbolt.* TO 'db'@'%'; FLUSH PRIVILEGES;"
13+
else
14+
mysql -e "CREATE DATABASE IF NOT EXISTS passbolt; GRANT ALL PRIVILEGES ON passbolt.* TO 'db'@'%'; FLUSH PRIVILEGES;"
15+
mysql -e "CREATE DATABASE IF NOT EXISTS test_passbolt; GRANT ALL PRIVILEGES ON test_passbolt.* TO 'db'@'%'; FLUSH PRIVILEGES;"
16+
fi

.ddev/commands/host/adminer

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
#!/usr/bin/env bash
2+
3+
## #ddev-generated: If you want to edit and own this file, remove this line.
4+
## Description: Launch a browser with Adminer
5+
## Usage: adminer
6+
## Example: "ddev adminer"
7+
8+
DDEV_ADMINER_PORT=9100
9+
DDEV_ADMINER_HTTPS_PORT=9101
10+
11+
if [ ${DDEV_PRIMARY_URL%://*} = "http" ] || [ -n "${GITPOD_WORKSPACE_ID:-}" ] || [ "${CODESPACES:-}" = "true" ]; then
12+
ddev launch :$DDEV_ADMINER_PORT
13+
else
14+
ddev launch :$DDEV_ADMINER_HTTPS_PORT
15+
fi

.ddev/commands/host/init_passbolt

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
#!/usr/bin/env bash
2+
3+
## Description: Init passbolt env: install composer deps, create databases and run db migrations
4+
## Usage: init_passbolt
5+
## Example: "ddev init_pasbolt"
6+
## DBTypes: mysql,mariadb
7+
## ExecRaw: true
8+
9+
set -eo pipefail
10+
11+
ddev composer install
12+
ddev create_passbolt_db
13+
if [ ! -f config/jwt/jwt.key ] || [ ! -f config/jwt/jwt.pem ]; then
14+
ddev cake passbolt create_jwt_keys
15+
fi
16+
ddev cake migrations migrate

.ddev/config.yaml

Lines changed: 318 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,318 @@
1+
name: passbolt-pro-api
2+
type: cakephp
3+
docroot: webroot
4+
php_version: "8.3"
5+
webserver_type: nginx-fpm
6+
xdebug_enabled: false
7+
additional_hostnames: []
8+
additional_fqdns: []
9+
database:
10+
type: mariadb
11+
version: "10.11"
12+
use_dns_when_possible: true
13+
composer_version: "2"
14+
web_environment:
15+
- DEBUG=true
16+
- APP_FULL_BASE_URL=https://passbolt-pro-api.ddev.site
17+
- DATASOURCES_DEFAULT_HOST=db
18+
- DATASOURCES_DEFAULT_USERNAME=db
19+
- DATASOURCES_DEFAULT_PASSWORD=db
20+
- DATASOURCES_DEFAULT_DATABASE=passbolt
21+
- DATASOURCES_TEST_HOST=db
22+
- DATASOURCES_TEST_USERNAME=db
23+
- DATASOURCES_TEST_PASSWORD=db
24+
- DATASOURCES_TEST_DATABASE=test_passbolt
25+
- PASSBOLT_GPG_SERVER_KEY_FINGERPRINT=2FC8945833C51946E937F9FED47B0811573EE67E
26+
- PASSBOLT_GPG_SERVER_KEY_PRIVATE=/var/www/html/config/gpg/unsecure_private.key
27+
- PASSBOLT_GPG_SERVER_KEY_PUBLIC=/var/www/html/config/gpg/unsecure.key
28+
- EMAIL_TRANSPORT_DEFAULT_HOST=localhost
29+
- EMAIL_TRANSPORT_DEFAULT_PORT=1025
30+
- EMAIL_DEFAULT_FROM_NAME=Passbolt Local
31+
- EMAIL_DEFAULT_FROM=noreply@passbolt.local
32+
corepack_enable: false
33+
disable_upload_dirs_warning: true
34+
35+
# Key features of DDEV's config.yaml:
36+
37+
# name: <projectname> # Name of the project, automatically provides
38+
# http://projectname.ddev.site and https://projectname.ddev.site
39+
40+
# type: <projecttype> # backdrop, cakephp, craftcms, drupal, drupal6, drupal7, drupal8, drupal9, drupal10, drupal11, generic, laravel, magento, magento2, php, shopware6, silverstripe, symfony, typo3, wordpress
41+
# See https://ddev.readthedocs.io/en/stable/users/quickstart/ for more
42+
# information on the different project types
43+
44+
# docroot: <relative_path> # Relative path to the directory containing index.php.
45+
46+
# php_version: "8.3" # PHP version to use, "5.6" through "8.4"
47+
48+
# You can explicitly specify the webimage but this
49+
# is not recommended, as the images are often closely tied to DDEV's' behavior,
50+
# so this can break upgrades.
51+
52+
# webimage: <docker_image> # nginx/php docker image.
53+
54+
# database:
55+
# type: <dbtype> # mysql, mariadb, postgres
56+
# version: <version> # database version, like "10.11" or "8.0"
57+
# MariaDB versions can be 5.5-10.8, 10.11, and 11.4.
58+
# MySQL versions can be 5.5-8.0.
59+
# PostgreSQL versions can be 9-17.
60+
61+
# router_http_port: <port> # Port to be used for http (defaults to global configuration, usually 80)
62+
# router_https_port: <port> # Port for https (defaults to global configuration, usually 443)
63+
64+
# xdebug_enabled: false # Set to true to enable Xdebug and "ddev start" or "ddev restart"
65+
# Note that for most people the commands
66+
# "ddev xdebug" to enable Xdebug and "ddev xdebug off" to disable it work better,
67+
# as leaving Xdebug enabled all the time is a big performance hit.
68+
69+
# xhgui_https_port: 8142
70+
# Can be used to change the router https port for xhgui application
71+
# Very rarely used
72+
73+
# xhgui_http_port: 8143
74+
# Can be used to change the router http port for xhgui application
75+
# Very rarely used
76+
77+
# host_xhgui_port: 8142
78+
# Can be used to change the host binding port of the xhgui
79+
# application. Rarely used; only when port conflict and
80+
# bind_all_ports is used (normally with router disabled)
81+
82+
# xhprof_enabled: false # Set to true to enable Xhprof and "ddev start" or "ddev restart"
83+
# Note that for most people the commands
84+
# "ddev xhprof" to enable Xhprof and "ddev xhprof off" to disable it work better,
85+
# as leaving Xhprof enabled all the time is a big performance hit.
86+
87+
# xhprof_mode: [prepend|xhgui|global]
88+
# Set to "xhgui" to enable XHGui features
89+
# "xhgui" will become default in a future major release
90+
91+
# webserver_type: nginx-fpm, apache-fpm, generic
92+
93+
# timezone: Europe/Berlin
94+
# If timezone is unset, DDEV will attempt to derive it from the host system timezone
95+
# using the $TZ environment variable or the /etc/localtime symlink.
96+
# This is the timezone used in the containers and by PHP;
97+
# it can be set to any valid timezone,
98+
# see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
99+
# For example Europe/Dublin or MST7MDT
100+
101+
# composer_root: <relative_path>
102+
# Relative path to the Composer root directory from the project root. This is
103+
# the directory which contains the composer.json and where all Composer related
104+
# commands are executed.
105+
106+
# composer_version: "2"
107+
# You can set it to "" or "2" (default) for Composer v2 or "1" for Composer v1
108+
# to use the latest major version available at the time your container is built.
109+
# It is also possible to use each other Composer version channel. This includes:
110+
# - 2.2 (latest Composer LTS version)
111+
# - stable
112+
# - preview
113+
# - snapshot
114+
# Alternatively, an explicit Composer version may be specified, for example "2.2.18".
115+
# To reinstall Composer after the image was built, run "ddev debug rebuild".
116+
117+
# nodejs_version: "22"
118+
# change from the default system Node.js version to any other version.
119+
# See https://ddev.readthedocs.io/en/stable/users/configuration/config/#nodejs_version for more information
120+
# and https://www.npmjs.com/package/n#specifying-nodejs-versions for the full documentation,
121+
# Note that using of 'ddev nvm' is discouraged because "nodejs_version" is much easier to use,
122+
# can specify any version, and is more robust than using 'nvm'.
123+
124+
# corepack_enable: false
125+
# Change to 'true' to 'corepack enable' and gain access to latest versions of yarn/pnpm
126+
127+
# additional_hostnames:
128+
# - somename
129+
# - someothername
130+
# would provide http and https URLs for "somename.ddev.site"
131+
# and "someothername.ddev.site".
132+
133+
# additional_fqdns:
134+
# - example.com
135+
# - sub1.example.com
136+
# would provide http and https URLs for "example.com" and "sub1.example.com"
137+
# Please take care with this because it can cause great confusion.
138+
139+
# upload_dirs: "custom/upload/dir"
140+
#
141+
# upload_dirs:
142+
# - custom/upload/dir
143+
# - ../private
144+
#
145+
# would set the destination paths for ddev import-files to <docroot>/custom/upload/dir
146+
# When Mutagen is enabled this path is bind-mounted so that all the files
147+
# in the upload_dirs don't have to be synced into Mutagen.
148+
149+
# disable_upload_dirs_warning: false
150+
# If true, turns off the normal warning that says
151+
# "You have Mutagen enabled and your 'php' project type doesn't have upload_dirs set"
152+
153+
# ddev_version_constraint: ""
154+
# Example:
155+
# ddev_version_constraint: ">= 1.22.4"
156+
# This will enforce that the running ddev version is within this constraint.
157+
# See https://github.com/Masterminds/semver#checking-version-constraints for
158+
# supported constraint formats
159+
160+
# working_dir:
161+
# web: /var/www/html
162+
# db: /home
163+
# would set the default working directory for the web and db services.
164+
# These values specify the destination directory for ddev ssh and the
165+
# directory in which commands passed into ddev exec are run.
166+
167+
# omit_containers: [db, ddev-ssh-agent]
168+
# Currently only these containers are supported. Some containers can also be
169+
# omitted globally in the ~/.ddev/global_config.yaml. Note that if you omit
170+
# the "db" container, several standard features of DDEV that access the
171+
# database container will be unusable. In the global configuration it is also
172+
# possible to omit ddev-router, but not here.
173+
174+
# performance_mode: "global"
175+
# DDEV offers performance optimization strategies to improve the filesystem
176+
# performance depending on your host system. Should be configured globally.
177+
#
178+
# If set, will override the global config. Possible values are:
179+
# - "global": uses the value from the global config.
180+
# - "none": disables performance optimization for this project.
181+
# - "mutagen": enables Mutagen for this project.
182+
# - "nfs": enables NFS for this project.
183+
#
184+
# See https://ddev.readthedocs.io/en/stable/users/install/performance/#nfs
185+
# See https://ddev.readthedocs.io/en/stable/users/install/performance/#mutagen
186+
187+
# fail_on_hook_fail: False
188+
# Decide whether 'ddev start' should be interrupted by a failing hook
189+
190+
# host_https_port: "59002"
191+
# The host port binding for https can be explicitly specified. It is
192+
# dynamic unless otherwise specified.
193+
# This is not used by most people, most people use the *router* instead
194+
# of the localhost port.
195+
196+
# host_webserver_port: "59001"
197+
# The host port binding for the ddev-webserver can be explicitly specified. It is
198+
# dynamic unless otherwise specified.
199+
# This is not used by most people, most people use the *router* instead
200+
# of the localhost port.
201+
202+
# host_db_port: "59002"
203+
# The host port binding for the ddev-dbserver can be explicitly specified. It is dynamic
204+
# unless explicitly specified.
205+
206+
# mailpit_http_port: "8025"
207+
mailpit_https_port: "9102"
208+
# The Mailpit ports can be changed from the default 8025 and 8026
209+
210+
# host_mailpit_port: "8025"
211+
# The mailpit port is not normally bound on the host at all, instead being routed
212+
# through ddev-router, but it can be bound directly to localhost if specified here.
213+
214+
webimage_extra_packages: [php8.3-gnupg, php8.3-xdebug]
215+
# Extra Debian packages that are needed in the webimage can be added here
216+
217+
# dbimage_extra_packages: [telnet,netcat]
218+
# Extra Debian packages that are needed in the dbimage can be added here
219+
220+
# use_dns_when_possible: true
221+
# If the host has internet access and the domain configured can
222+
# successfully be looked up, DNS will be used for hostname resolution
223+
# instead of editing /etc/hosts
224+
# Defaults to true
225+
226+
# project_tld: ddev.site
227+
# The top-level domain used for project URLs
228+
# The default "ddev.site" allows DNS lookup via a wildcard
229+
# If you prefer you can change this to "ddev.local" to preserve
230+
# pre-v1.9 behavior.
231+
232+
# ngrok_args: --basic-auth username:pass1234
233+
# Provide extra flags to the "ngrok http" command, see
234+
# https://ngrok.com/docs/ngrok-agent/config or run "ngrok http -h"
235+
236+
# disable_settings_management: false
237+
# If true, DDEV will not create CMS-specific settings files like
238+
# Drupal's settings.php/settings.ddev.php or TYPO3's additional.php
239+
# In this case the user must provide all such settings.
240+
241+
# You can inject environment variables into the web container with:
242+
# web_environment:
243+
# - SOMEENV=somevalue
244+
# - SOMEOTHERENV=someothervalue
245+
246+
# no_project_mount: false
247+
# (Experimental) If true, DDEV will not mount the project into the web container;
248+
# the user is responsible for mounting it manually or via a script.
249+
# This is to enable experimentation with alternate file mounting strategies.
250+
# For advanced users only!
251+
252+
# bind_all_interfaces: false
253+
# If true, host ports will be bound on all network interfaces,
254+
# not the localhost interface only. This means that ports
255+
# will be available on the local network if the host firewall
256+
# allows it.
257+
258+
# default_container_timeout: 120
259+
# The default time that DDEV waits for all containers to become ready can be increased from
260+
# the default 120. This helps in importing huge databases, for example.
261+
262+
#web_extra_exposed_ports:
263+
#- name: nodejs
264+
# container_port: 3000
265+
# http_port: 2999
266+
# https_port: 3000
267+
#- name: something
268+
# container_port: 4000
269+
# https_port: 4000
270+
# http_port: 3999
271+
# Allows a set of extra ports to be exposed via ddev-router
272+
# Fill in all three fields even if you don’t intend to use the https_port!
273+
# If you don’t add https_port, then it defaults to 0 and ddev-router will fail to start.
274+
#
275+
# The port behavior on the ddev-webserver must be arranged separately, for example
276+
# using web_extra_daemons.
277+
# For example, with a web app on port 3000 inside the container, this config would
278+
# expose that web app on https://<project>.ddev.site:9999 and http://<project>.ddev.site:9998
279+
# web_extra_exposed_ports:
280+
# - name: myapp
281+
# container_port: 3000
282+
# http_port: 9998
283+
# https_port: 9999
284+
285+
#web_extra_daemons:
286+
#- name: "http-1"
287+
# command: "/var/www/html/node_modules/.bin/http-server -p 3000"
288+
# directory: /var/www/html
289+
#- name: "http-2"
290+
# command: "/var/www/html/node_modules/.bin/http-server /var/www/html/sub -p 3000"
291+
# directory: /var/www/html
292+
293+
# override_config: false
294+
# By default, config.*.yaml files are *merged* into the configuration
295+
# But this means that some things can't be overridden
296+
# For example, if you have 'use_dns_when_possible: true'' you can't override it with a merge
297+
# and you can't erase existing hooks or all environment variables.
298+
# However, with "override_config: true" in a particular config.*.yaml file,
299+
# 'use_dns_when_possible: false' can override the existing values, and
300+
hooks:
301+
post-start:
302+
- exec: "sudo apt-get update"
303+
- exec: sh -c "if [ ! -f /var/www/html/config/app.php ]; then cp /var/www/html/config/app.default.php /var/www/html/config/app.php; fi"
304+
- exec: "gpg --list-keys"
305+
# or
306+
# web_environment: []
307+
# or
308+
# additional_hostnames: []
309+
# can have their intended affect. 'override_config' affects only behavior of the
310+
# config.*.yaml file it exists in.
311+
312+
# Many DDEV commands can be extended to run tasks before or after the
313+
# DDEV command is executed, for example "post-start", "post-import-db",
314+
# "pre-composer", "post-composer"
315+
# See https://ddev.readthedocs.io/en/stable/users/extend/custom-commands/ for more
316+
# information on the commands that can be extended and the tasks you can define
317+
# for them. Example:
318+
#hooks:

0 commit comments

Comments
 (0)