Skip to content

Commit

Permalink
[#1272] Added support for temp and private files dirs.
Browse files Browse the repository at this point in the history
  • Loading branch information
AlexSkrypnyk committed May 9, 2024
1 parent 485b8a9 commit 604b973
Show file tree
Hide file tree
Showing 13 changed files with 181 additions and 76 deletions.
14 changes: 12 additions & 2 deletions .docker/cli.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,15 @@ ARG WEBROOT=web
ARG GITHUB_TOKEN=""
ENV GITHUB_TOKEN=${GITHUB_TOKEN}

ARG DRUPAL_PUBLIC_FILES="/app/${WEBROOT}/sites/default/files"
ENV DRUPAL_PUBLIC_FILES=${DRUPAL_PUBLIC_FILES}

ARG DRUPAL_PRIVATE_FILES="/app/${WEBROOT}/sites/default/files/private"
ENV DRUPAL_PRIVATE_FILES=${DRUPAL_PRIVATE_FILES}

ARG DRUPAL_TEMPORARY_FILES="${TMP:-/tmp}"
ENV DRUPAL_TEMPORARY_FILES=${DRUPAL_TEMPORARY_FILES}

# Set default values for environment variables.
# These values will be overridden if set in docker-compose.yml or .env file
# during build stage.
Expand Down Expand Up @@ -85,8 +94,9 @@ RUN npm --prefix /app/${WEBROOT}/themes/custom/your_site_theme ci --no-audit --n
# overridden.
COPY . /app

# Create files directory and set correct permissions.
RUN mkdir -p /app/${WEBROOT}/sites/default/files && chmod 0770 /app/${WEBROOT}/sites/default/files
# Create files directories and set correct permissions.
RUN mkdir -p "${DRUPAL_PUBLIC_FILES}" "${DRUPAL_PRIVATE_FILES}" "${DRUPAL_TEMPORARY_FILES}" && \
chmod 0770 "${DRUPAL_PUBLIC_FILES}" "${DRUPAL_PRIVATE_FILES}" "${DRUPAL_TEMPORARY_FILES}"

# Compile front-end assets. Running this after copying all files as we need
# sources to compile assets.
Expand Down
9 changes: 9 additions & 0 deletions .scaffold/docs/.utils/variables/extra/.env.variables.sh
Original file line number Diff line number Diff line change
Expand Up @@ -49,3 +49,12 @@ DREVOPS_COMPOSER_VERBOSE=1

# Print output from NPM install.
DREVOPS_NPM_VERBOSE=0

# Path to public files.
DRUPAL_PUBLIC_FILES="${DRUPAL_PUBLIC_FILES:-./${DREVOPS_WEBROOT}/sites/default/files}"

# Path to private files.
DRUPAL_PRIVATE_FILES="${DRUPAL_PRIVATE_FILES:-${DRUPAL_PUBLIC_FILES}/private}"

# Path to temporary files.
DRUPAL_TEMPORARY_FILES="${DRUPAL_TEMPORARY_FILES:-${DRUPAL_PRIVATE_FILES}/tmp}"
32 changes: 24 additions & 8 deletions .scaffold/docs/content/workflows/variables.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -769,14 +769,6 @@ Default value: `./config/default`

Defined in: `scripts/drevops/provision.sh`

### `DREVOPS_DRUPAL_PRIVATE_FILES`

Path to private files.

Default value: `./${DREVOPS_WEBROOT}/sites/default/files/private`

Defined in: `scripts/drevops/provision.sh`

### `DREVOPS_EXPORT_CODE_DIR`

Directory to store exported code.
Expand Down Expand Up @@ -1636,6 +1628,14 @@ Default value: `UNDEFINED`

Defined in: `ENVIRONMENT`

### `DRUPAL_PRIVATE_FILES`

Path to private files.

Default value: `${DRUPAL_PUBLIC_FILES}/private`

Defined in: `.env`

### `DRUPAL_PROFILE`

Drupal profile name (used only when installing from profile).
Expand All @@ -1644,6 +1644,14 @@ Default value: `standard`

Defined in: `.env`, `scripts/drevops/provision.sh`

### `DRUPAL_PUBLIC_FILES`

Path to public files.

Default value: `./${DREVOPS_WEBROOT}/sites/default/files`

Defined in: `.env`

### `DRUPAL_REDIS_ENABLED`

Enable Redis integration.<br />See settings.redis.php for details.
Expand Down Expand Up @@ -1684,6 +1692,14 @@ Default value: `https://www.your-site-url.example/`

Defined in: `.env`

### `DRUPAL_TEMPORARY_FILES`

Path to temporary files.

Default value: `${DRUPAL_PRIVATE_FILES}/tmp`

Defined in: `.env`

### `DRUPAL_THEME`

Drupal theme name.
Expand Down
24 changes: 24 additions & 0 deletions .scaffold/tests/bats/fixtures/docker-compose.env.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,12 @@
"environment": {
"CI": "true",
"DREVOPS_LOCALDEV_URL": "star_wars.docker.amazee.io",
"DRUPAL_PRIVATE_FILES": "/app/web/sites/default/files/private",
"DRUPAL_PUBLIC_FILES": "/app/web/sites/default/files",
"DRUPAL_REDIS_ENABLED": "0",
"DRUPAL_SHIELD_PASS": "",
"DRUPAL_SHIELD_USER": "",
"DRUPAL_TEMPORARY_FILES": "/tmp",
"LAGOON_ENVIRONMENT_TYPE": "local",
"LAGOON_ROUTE": "star_wars.docker.amazee.io",
"MARIADB_DATABASE": "drupal",
Expand Down Expand Up @@ -67,9 +70,12 @@
"environment": {
"CI": "true",
"DREVOPS_LOCALDEV_URL": "star_wars.docker.amazee.io",
"DRUPAL_PRIVATE_FILES": "/app/web/sites/default/files/private",
"DRUPAL_PUBLIC_FILES": "/app/web/sites/default/files",
"DRUPAL_REDIS_ENABLED": "0",
"DRUPAL_SHIELD_PASS": "",
"DRUPAL_SHIELD_USER": "",
"DRUPAL_TEMPORARY_FILES": "/tmp",
"LAGOON_ENVIRONMENT_TYPE": "local",
"LAGOON_ROUTE": "star_wars.docker.amazee.io",
"MARIADB_DATABASE": "drupal",
Expand Down Expand Up @@ -112,9 +118,12 @@
"environment": {
"CI": "true",
"DREVOPS_LOCALDEV_URL": "star_wars.docker.amazee.io",
"DRUPAL_PRIVATE_FILES": "/app/web/sites/default/files/private",
"DRUPAL_PUBLIC_FILES": "/app/web/sites/default/files",
"DRUPAL_REDIS_ENABLED": "0",
"DRUPAL_SHIELD_PASS": "",
"DRUPAL_SHIELD_USER": "",
"DRUPAL_TEMPORARY_FILES": "/tmp",
"LAGOON_ENVIRONMENT_TYPE": "local",
"LAGOON_ROUTE": "star_wars.docker.amazee.io",
"MARIADB_DATABASE": "drupal",
Expand Down Expand Up @@ -164,9 +173,12 @@
"environment": {
"CI": "true",
"DREVOPS_LOCALDEV_URL": "star_wars.docker.amazee.io",
"DRUPAL_PRIVATE_FILES": "/app/web/sites/default/files/private",
"DRUPAL_PUBLIC_FILES": "/app/web/sites/default/files",
"DRUPAL_REDIS_ENABLED": "0",
"DRUPAL_SHIELD_PASS": "",
"DRUPAL_SHIELD_USER": "",
"DRUPAL_TEMPORARY_FILES": "/tmp",
"LAGOON_ENVIRONMENT_TYPE": "local",
"LAGOON_ROUTE": "star_wars.docker.amazee.io",
"MARIADB_DATABASE": "drupal",
Expand Down Expand Up @@ -197,6 +209,9 @@
"build": {
"args": {
"CLI_IMAGE": "star_wars",
"DRUPAL_PRIVATE_FILES": "/app/web/sites/default/files/private",
"DRUPAL_PUBLIC_FILES": "/app/web/sites/default/files",
"DRUPAL_TEMPORARY_FILES": "/tmp",
"WEBROOT": "web"
},
"context": "FIXTURE_CUR_DIR",
Expand All @@ -213,9 +228,12 @@
"environment": {
"CI": "true",
"DREVOPS_LOCALDEV_URL": "star_wars.docker.amazee.io",
"DRUPAL_PRIVATE_FILES": "/app/web/sites/default/files/private",
"DRUPAL_PUBLIC_FILES": "/app/web/sites/default/files",
"DRUPAL_REDIS_ENABLED": "0",
"DRUPAL_SHIELD_PASS": "",
"DRUPAL_SHIELD_USER": "",
"DRUPAL_TEMPORARY_FILES": "/tmp",
"LAGOON_ENVIRONMENT_TYPE": "local",
"LAGOON_ROUTE": "star_wars.docker.amazee.io",
"MARIADB_DATABASE": "drupal",
Expand Down Expand Up @@ -272,9 +290,12 @@
"environment": {
"CI": "true",
"DREVOPS_LOCALDEV_URL": "star_wars.docker.amazee.io",
"DRUPAL_PRIVATE_FILES": "/app/web/sites/default/files/private",
"DRUPAL_PUBLIC_FILES": "/app/web/sites/default/files",
"DRUPAL_REDIS_ENABLED": "0",
"DRUPAL_SHIELD_PASS": "",
"DRUPAL_SHIELD_USER": "",
"DRUPAL_TEMPORARY_FILES": "/tmp",
"LAGOON_ENVIRONMENT_TYPE": "local",
"LAGOON_ROUTE": "star_wars.docker.amazee.io",
"MARIADB_DATABASE": "drupal",
Expand Down Expand Up @@ -341,9 +362,12 @@
"environment": {
"CI": "true",
"DREVOPS_LOCALDEV_URL": "star_wars.docker.amazee.io",
"DRUPAL_PRIVATE_FILES": "/app/web/sites/default/files/private",
"DRUPAL_PUBLIC_FILES": "/app/web/sites/default/files",
"DRUPAL_REDIS_ENABLED": "0",
"DRUPAL_SHIELD_PASS": "",
"DRUPAL_SHIELD_USER": "",
"DRUPAL_TEMPORARY_FILES": "/tmp",
"LAGOON_ENVIRONMENT_TYPE": "local",
"LAGOON_ROUTE": "star_wars.docker.amazee.io",
"MARIADB_DATABASE": "drupal",
Expand Down
24 changes: 24 additions & 0 deletions .scaffold/tests/bats/fixtures/docker-compose.env_local.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,12 @@
"environment": {
"CI": "true",
"DREVOPS_LOCALDEV_URL": "star_wars.docker.amazee.io",
"DRUPAL_PRIVATE_FILES": "/app/web/sites/default/files/private",
"DRUPAL_PUBLIC_FILES": "/app/web/sites/default/files",
"DRUPAL_REDIS_ENABLED": "0",
"DRUPAL_SHIELD_PASS": "",
"DRUPAL_SHIELD_USER": "",
"DRUPAL_TEMPORARY_FILES": "/tmp",
"LAGOON_ENVIRONMENT_TYPE": "local",
"LAGOON_ROUTE": "star_wars.docker.amazee.io",
"MARIADB_DATABASE": "drupal",
Expand Down Expand Up @@ -67,9 +70,12 @@
"environment": {
"CI": "true",
"DREVOPS_LOCALDEV_URL": "star_wars.docker.amazee.io",
"DRUPAL_PRIVATE_FILES": "/app/web/sites/default/files/private",
"DRUPAL_PUBLIC_FILES": "/app/web/sites/default/files",
"DRUPAL_REDIS_ENABLED": "0",
"DRUPAL_SHIELD_PASS": "",
"DRUPAL_SHIELD_USER": "",
"DRUPAL_TEMPORARY_FILES": "/tmp",
"LAGOON_ENVIRONMENT_TYPE": "local",
"LAGOON_ROUTE": "star_wars.docker.amazee.io",
"MARIADB_DATABASE": "drupal",
Expand Down Expand Up @@ -112,9 +118,12 @@
"environment": {
"CI": "true",
"DREVOPS_LOCALDEV_URL": "star_wars.docker.amazee.io",
"DRUPAL_PRIVATE_FILES": "/app/web/sites/default/files/private",
"DRUPAL_PUBLIC_FILES": "/app/web/sites/default/files",
"DRUPAL_REDIS_ENABLED": "0",
"DRUPAL_SHIELD_PASS": "",
"DRUPAL_SHIELD_USER": "",
"DRUPAL_TEMPORARY_FILES": "/tmp",
"LAGOON_ENVIRONMENT_TYPE": "local",
"LAGOON_ROUTE": "star_wars.docker.amazee.io",
"MARIADB_DATABASE": "drupal",
Expand Down Expand Up @@ -164,9 +173,12 @@
"environment": {
"CI": "true",
"DREVOPS_LOCALDEV_URL": "star_wars.docker.amazee.io",
"DRUPAL_PRIVATE_FILES": "/app/web/sites/default/files/private",
"DRUPAL_PUBLIC_FILES": "/app/web/sites/default/files",
"DRUPAL_REDIS_ENABLED": "0",
"DRUPAL_SHIELD_PASS": "",
"DRUPAL_SHIELD_USER": "",
"DRUPAL_TEMPORARY_FILES": "/tmp",
"LAGOON_ENVIRONMENT_TYPE": "local",
"LAGOON_ROUTE": "star_wars.docker.amazee.io",
"MARIADB_DATABASE": "drupal",
Expand Down Expand Up @@ -197,6 +209,9 @@
"build": {
"args": {
"CLI_IMAGE": "star_wars",
"DRUPAL_PRIVATE_FILES": "/app/web/sites/default/files/private",
"DRUPAL_PUBLIC_FILES": "/app/web/sites/default/files",
"DRUPAL_TEMPORARY_FILES": "/tmp",
"WEBROOT": "web"
},
"context": "FIXTURE_CUR_DIR",
Expand All @@ -213,9 +228,12 @@
"environment": {
"CI": "true",
"DREVOPS_LOCALDEV_URL": "star_wars.docker.amazee.io",
"DRUPAL_PRIVATE_FILES": "/app/web/sites/default/files/private",
"DRUPAL_PUBLIC_FILES": "/app/web/sites/default/files",
"DRUPAL_REDIS_ENABLED": "0",
"DRUPAL_SHIELD_PASS": "",
"DRUPAL_SHIELD_USER": "",
"DRUPAL_TEMPORARY_FILES": "/tmp",
"LAGOON_ENVIRONMENT_TYPE": "local",
"LAGOON_ROUTE": "star_wars.docker.amazee.io",
"MARIADB_DATABASE": "drupal",
Expand Down Expand Up @@ -272,9 +290,12 @@
"environment": {
"CI": "true",
"DREVOPS_LOCALDEV_URL": "star_wars.docker.amazee.io",
"DRUPAL_PRIVATE_FILES": "/app/web/sites/default/files/private",
"DRUPAL_PUBLIC_FILES": "/app/web/sites/default/files",
"DRUPAL_REDIS_ENABLED": "0",
"DRUPAL_SHIELD_PASS": "",
"DRUPAL_SHIELD_USER": "",
"DRUPAL_TEMPORARY_FILES": "/tmp",
"LAGOON_ENVIRONMENT_TYPE": "local",
"LAGOON_ROUTE": "star_wars.docker.amazee.io",
"MARIADB_DATABASE": "drupal",
Expand Down Expand Up @@ -341,9 +362,12 @@
"environment": {
"CI": "true",
"DREVOPS_LOCALDEV_URL": "star_wars.docker.amazee.io",
"DRUPAL_PRIVATE_FILES": "/app/web/sites/default/files/private",
"DRUPAL_PUBLIC_FILES": "/app/web/sites/default/files",
"DRUPAL_REDIS_ENABLED": "0",
"DRUPAL_SHIELD_PASS": "",
"DRUPAL_SHIELD_USER": "",
"DRUPAL_TEMPORARY_FILES": "/tmp",
"LAGOON_ENVIRONMENT_TYPE": "local",
"LAGOON_ROUTE": "star_wars.docker.amazee.io",
"MARIADB_DATABASE": "drupal",
Expand Down
Loading

1 comment on commit 604b973

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.