PageSourceSearch

https://www.vortextemplate.com/assets/js/84a95018.a00f826b.js

js vortextemplate.com collected 2026-10-04 19:32:54 UTC 66,936 bytes, 1 lines download raw bytes

1"use strict";(globalThis.webpackChunkvortex_docs||=[]).push([[6677],{27627(e,d,s){s.r(d),s.d(d,{assets:()=>l,contentTitle:()=>t,default:()=>x,frontMatter:()=>c,metadata:()=>i,toc:()=>o});const i=JSON.parse('{"id":"development/variables","title":"Variables","description":"Vortex uses environment variables to configure scripts without the need to","source":"@site/content/development/variables.mdx","sourceDirName":"development","slug":"/development/variables","permalink":"/docs/v2/development/variables","draft":false,"unlisted":false,"editUrl":"https://github.com/drevops/vortex/tree/main/.vortex/docs/content/development/variables.mdx","tags":[],"version":"current","sidebarPosition":100,"frontMatter":{"sidebar_position":100,"hide_table_of_contents":true},"sidebar":"docs","previous":{"title":"FAQs","permalink":"/docs/v2/development/faqs"},"next":{"title":"Overview","permalink":"/docs/v2/continuous-integration/"}}');var r=s(74848),n=s(28453);const c={sidebar_position:100,hide_table_of_contents:!0},t="Variables",l={},o=[{value:"<code>.env</code> and <code>.env.local</code> files",id:"env-and-envlocal-files",level:2},{value:"Override order (bottom values win)",id:"override-order-bottom-values-win",level:2},{value:"Naming conventions",id:"naming-conventions",level:3},{value:"Default values",id:"default-values",level:3},{value:"Boolean variables",id:"boolean-variables",level:3},{value:"Variables list",id:"variables-list",level:2}];function h(e){const d={a:"a",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,n.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(d.header,{children:(0,r.jsx)(d.h1,{id:"variables",children:"Variables"})}),"\n",(0,r.jsxs)(d.p,{children:[(0,r.jsx)(d.strong,{children:"Vortex"})," uses environment variables to configure scripts without the need to\nchange the code to alter behavior."]}),"\n",(0,r.jsx)(d.p,{children:"There are two main types of variables:"}),"\n",(0,r.jsxs)(d.p,{children:[(0,r.jsx)(d.strong,{children:"Project Configuration Variables"})," are set once during project setup and\nremain constant throughout the project lifecycle. These are typically\nconfigured in the ",(0,r.jsx)(d.code,{children:".env"})," file, or within the CI or hosting provider\nenvironments."]}),"\n",(0,r.jsxs)(d.p,{children:[(0,r.jsx)(d.strong,{children:"Runtime Variables"})," can be changed during the project lifecycle\nto alter script behavior. For example, changing how deployment behaves\nor skipping a certain code branch deployment within CI."]}),"\n",(0,r.jsxs)(d.h2,{id:"env-and-envlocal-files",children:[(0,r.jsx)(d.code,{children:".env"})," and ",(0,r.jsx)(d.code,{children:".env.local"})," files"]}),"\n",(0,r.jsxs)(d.p,{children:["Only required variables are listed in ",(0,r.jsx)(d.code,{children:".env"})," to keep it concise. There are\nmore optional variables set in scripts with sensible defaults. These are\ndocumented below - add them to your ",(0,r.jsx)(d.code,{children:".env"})," file as needed to override\nthe defaults."]}),"\n",(0,r.jsxs)(d.p,{children:["The ",(0,r.jsx)(d.code,{children:".env.local"})," file is intended to store local overrides and sensitive\ninformation like passwords and API keys. This file is ignored by Git\nand should not be committed to the repository. It is a good practice to\nstore local overrides and sensitive information in ",(0,r.jsx)(d.code,{children:".env.local"})," to keep them\nseparate from the main ",(0,r.jsx)(d.code,{children:".env"})," file."]}),"\n",(0,r.jsx)(d.h2,{id:"override-order-bottom-values-win",children:"Override order (bottom values win)"}),"\n",(0,r.jsxs)(d.ul,{children:["\n",(0,r.jsx)(d.li,{children:"default value in container taken from image"}),"\n",(0,r.jsxs)(d.li,{children:["default value in ",(0,r.jsx)(d.code,{children:"docker-compose.yml"})]}),"\n",(0,r.jsxs)(d.li,{children:["value in ",(0,r.jsx)(d.code,{children:".env"})," (last value wins)"]}),"\n",(0,r.jsxs)(d.li,{children:["value in ",(0,r.jsx)(d.code,{children:".env.local"})," (last value wins)"]}),"\n",(0,r.jsx)(d.li,{children:"value from environment"}),"\n"]}),"\n",(0,r.jsx)(d.h3,{id:"naming-conventions",children:"Naming conventions"}),"\n",(0,r.jsxs)(d.p,{children:["All variables used by ",(0,r.jsx)(d.strong,{children:"Vortex"})," scripts start with the ",(0,r.jsx)(d.code,{children:"VORTEX_"})," prefix to\ndifferentiate them from other environment variables. The exception is\n",(0,r.jsx)(d.code,{children:"LOCALDEV_URL"}),", the local development URL, which shares its value with the\nunprefixed hosting route (",(0,r.jsx)(d.code,{children:"LAGOON_ROUTE"}),") and is therefore used without the\nprefix."]}),"\n",(0,r.jsxs)(d.p,{children:["All Drupal-specific environment variables start with the ",(0,r.jsx)(d.code,{children:"DRUPAL_"})," prefix."]}),"\n",(0,r.jsxs)(d.p,{children:["Environment detection variables read by the environment detector - such as\n",(0,r.jsx)(d.code,{children:"ENVIRONMENT_TYPE"}),", ",(0,r.jsx)(d.code,{children:"ENVIRONMENT_PRODUCTION_BRANCH"}),", and ",(0,r.jsx)(d.code,{children:"LOCALDEV_URL"})," - are\nshared, platform-neutral names and intentionally carry neither the ",(0,r.jsx)(d.code,{children:"VORTEX_"}),"\nnor the ",(0,r.jsx)(d.code,{children:"DRUPAL_"})," prefix."]}),"\n",(0,r.jsxs)(d.p,{children:["Any other third-party service variables (like ",(0,r.jsx)(d.code,{children:"COMPOSER_TOKEN"})," or ",(0,r.jsx)(d.code,{children:"NEWRELIC_API_KEY"}),")\nare used as-is."]}),"\n",(0,r.jsx)(d.h3,{id:"default-values",children:"Default values"}),"\n",(0,r.jsxs)(d.p,{children:["All ",(0,r.jsx)(d.em,{children:"required"})," variables used by ",(0,r.jsx)(d.strong,{children:"Vortex"})," scripts have checks in place to\nensure they are set before proceeding. If a required variable is missing, the\nscript will fail with a clear error message."]}),"\n",(0,r.jsxs)(d.p,{children:["All ",(0,r.jsx)(d.em,{children:"optional"})," variables used by ",(0,r.jsx)(d.strong,{children:"Vortex"})," scripts have default values\ndefined within the scripts. This ensures that scripts can run out-of-the-box\nwithout requiring extensive configuration."]}),"\n",(0,r.jsx)(d.p,{children:"Variables without values provided or set in scripts are considered defects in\nthe template implementation and should be reported. This is because in Shell\nscripts not having a value or having an empty value may lead to unexpected\nbehavior in when these values are evaluated in conditions. Moreover, having\nempty or unset values do not allow to have a reliable multi-level override\nmechanism for variables."}
1),"\n",(0,r.jsxs)(d.p,{children:["For example, a variable can have a default value in the script, be overridden in\nthe ",(0,r.jsx)(d.code,{children:".env"})," file, and further overridden in the CI/hosting for all environments,\nand then additionally overridden for a specific environment."]}),"\n",(0,r.jsx)(d.h3,{id:"boolean-variables",children:"Boolean variables"}),"\n",(0,r.jsxs)(d.p,{children:["Boolean variables use ",(0,r.jsx)(d.code,{children:"1"})," for true and ",(0,r.jsx)(d.code,{children:"0"})," for false values to ensure consistency\nacross different environments."]}),"\n",(0,r.jsxs)(d.p,{children:["We do not use ",(0,r.jsx)(d.code,{children:"true"}),"/",(0,r.jsx)(d.code,{children:"false"}),", ",(0,r.jsx)(d.code,{children:"yes"}),"/",(0,r.jsx)(d.code,{children:"no"}),", or other variations to make value\ntruly cross-platform (some systems may interpret ",(0,r.jsx)(d.code,{children:"true"})," and ",(0,r.jsx)(d.code,{children:"false"})," differently)."]}),"\n",(0,r.jsx)("style",{children:"\ntable {\n  overflow: visible;\n  font-size: 80%;\n}\ntable td code {\n  overflow-wrap: anywhere;\n}\ntable td:nth-child(1) {\n  width: 25%;\n}\ntable td:nth-child(2) {\n  width: 25%;\n}\ntable td:nth-child(3) {\n  width: 25%;\n}\ntable td:nth-child(3) code {\n  max-width: 30ch;\n}\ntable td:nth-child(4) {\n  width: 25%;\n}\n"}),"\n",(0,r.jsx)(d.h2,{id:"variables-list",children:"Variables list"}),"\n",(0,r.jsxs)(d.p,{children:["The list below is automatically generated with ",(0,r.jsx)(d.a,{href:"https://github.com/alexSkrypnyk/shellvar",children:"Shellvar"})," from all Shell scripts."]}),"\n",(0,r.jsxs)(d.table,{children:[(0,r.jsx)(d.thead,{children:(0,r.jsxs)(d.tr,{children:[(0,r.jsx)(d.th,{children:"Name"}),(0,r.jsx)(d.th,{children:"Description"}),(0,r.jsx)(d.th,{children:"Default value"}),(0,r.jsx)(d.th,{children:"Defined or used in"})]})}),(0,r.jsxs)(d.tbody,{children:[(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"ahoy_confirm_response"}),(0,r.jsx)(d.code,{children:"AHOY_CONFIRM_RESPONSE"})]}),(0,r.jsxs)(d.td,{children:["Set to ",(0,r.jsx)(d.code,{children:"y"})," to suppress Ahoy prompts."]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env.local.example"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"ahoy_confirm_wait_skip"}),(0,r.jsx)(d.code,{children:"AHOY_CONFIRM_WAIT_SKIP"})]}),(0,r.jsxs)(d.td,{children:["When Ahoy prompts are suppressed (",(0,r.jsx)(d.a,{href:"#ahoy_confirm_response",children:(0,r.jsx)(d.code,{children:"$AHOY_CONFIRM_RESPONSE"})})," is ",(0,r.jsx)(d.code,{children:"1"}),"), the command will wait for ",(0,r.jsx)(d.code,{children:"3"}),' seconds before proceeding. Set this variable to "',(0,r.jsx)(d.code,{children:"1"}),'" to skip the wait.']}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"1"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env.local.example"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"compose_project_name"}),(0,r.jsx)(d.code,{children:"COMPOSE_PROJECT_NAME"})]}),(0,r.jsxs)(d.td,{children:["Docker Compose project name.",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"Sets the project name for a Docker Compose project. Influences container and network names.",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"Defaults to the name of the project directory."]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"ENVIRONMENT"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"database_charset"}),(0,r.jsx)(d.code,{children:"DATABASE_CHARSET"})]}),(0,r.jsxs)(d.td,{children:["Local database charset.",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"Variable is not used in hosting environment."]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"utf8mb4"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"docker-compose.yml"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"database_collation"}),(0,r.jsx)(d.code,{children:"DATABASE_COLLATION"})]}),(0,r.jsxs)(d.td,{children:["Local database collation.",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"Variable is not used in hosting environment."]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"utf8mb4_general_ci"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"docker-compose.yml"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"database_database"}),(0,r.jsx)(d.code,{children:"DATABASE_DATABASE"})]}),(0,r.jsx)(d.td,{children:"Database name."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"LAGOON ENVIRONMENT"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"database_host"}),(0,r.jsx)(d.code,{children:"DATABASE_HOST"})]}),(0,r.jsxs)(d.td,{children:["Local database host.",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"Variable is not used in hosting environment."]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"database"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"docker-compose.yml"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"database_name"}),(0,r.jsx)(d.code,{children:"DATABASE_NAME"})]}),(0,r.jsxs)(d.td,{children:["Local database name.",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"Variable is not used in hosting environment."]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"drupal"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"docker-compose.yml"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"database_password"}),(0,r.jsx)(d.code,{children:"DATABASE_PASSWORD"})]}),(0,r.jsxs)(d.td,{children:["Local database password.",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"Variable is not used in hosting environment."]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"drupal"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"docker-compose.yml"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"database_port"}),(0,r.jsx)(d.code,{children:"DATABASE_PORT"})]}),(0,r.jsxs)(d.td,{children:["Local database port.",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"Variable is not used in hosting environment."]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"3306"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"docker-compose.yml"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"database_username"}),(0,r.jsx)(d.code,{children:"DATABASE_USERNAME"})]}),(0,r.jsxs)(d.td,{children:["Local database user.",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"Variable is not used in hosting environment."]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"drupal"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"docker-compose.yml"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"drupal_admin_email"}),(0,r.jsx)(d.code,{children:"DRUPAL_ADMIN_EMAIL"})]}),(0,r.jsx)(d.td,{children:"Drupal admin email. May need to be reset if database was sanitized."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"drupal_clamav_enabled"}),(0,r.jsx)(d.code,{children:"DRUPAL_CLAMAV_ENABLED"})]}),(0,r.jsx)(d.td,{children:"Enable ClamAV integration."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"1"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"drupal_clamav_mode"}),(0,r.jsx)(d.code,{children:"DRUPAL_CLAMAV_MODE"})]}),(0,r.jsxs)(d.td,{children:["ClamAV mode.",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"Run ClamAV in either daemon mode by setting it to ",(0,r.jsx)(d.code,{children:"0"})," (or 'daemon') or in executable mode by setting it to ",(0,r.jsx)(d.code,{children:"1"}),"."]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"daemon"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"drupal_config_path"}),(0,r.jsx)(d.code,{children:"DRUPAL_CONFIG_PATH"})]}),(0,r.jsxs)(d.td,{children:["Drupal configuration directory.",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"Path from the web root directory to the configuration directory. If not set, the default location is inside a randomly-named directory in the public files path."]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"../config/default"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"drupal_hash_salt"}),(0,r.jsx)(d.code,{children:"DRUPAL_HASH_SALT"})]}
1),(0,r.jsxs)(d.td,{children:["Drupal hash salt.",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"Secures one-time login links, password-reset URLs, and CSRF/form tokens. Set a long, random, unique value for every hosted environment as a platform variable or secret. If not set, a fallback is derived from the database host, which is suitable for local and CI use only.",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"@see ",(0,r.jsx)(d.a,{href:"https://www.vortextemplate.com/docs/development/settings",children:"https://www.vortextemplate.com/docs/development/settings"})]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"<generated from database host>"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"ENVIRONMENT"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"drupal_maintenance_theme"}),(0,r.jsx)(d.code,{children:"DRUPAL_MAINTENANCE_THEME"})]}),(0,r.jsx)(d.td,{children:"Drupal maintenance theme name."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"your_site_theme"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"drupal_private_files"}),(0,r.jsx)(d.code,{children:"DRUPAL_PRIVATE_FILES"})]}),(0,r.jsx)(d.td,{children:"Path to private files."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"${DRUPAL_PUBLIC_FILES}/private"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"docker-compose.yml"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"drupal_profile"}),(0,r.jsx)(d.code,{children:"DRUPAL_PROFILE"})]}),(0,r.jsx)(d.td,{children:"Drupal profile name."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"standard"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"drupal_public_files"}),(0,r.jsx)(d.code,{children:"DRUPAL_PUBLIC_FILES"})]}),(0,r.jsx)(d.td,{children:"Path to public files."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"./${WEBROOT}/sites/default/files"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"docker-compose.yml"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"drupal_redis_enabled"}),(0,r.jsx)(d.code,{children:"DRUPAL_REDIS_ENABLED"})]}),(0,r.jsx)(d.td,{children:"Enable Redis integration. See settings.redis.php for details."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"1"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"drupal_search_index_skip"}),(0,r.jsx)(d.code,{children:"DRUPAL_SEARCH_INDEX_SKIP"})]}),(0,r.jsx)(d.td,{children:"Skip search indexing."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"drupal_shield_print"}),(0,r.jsx)(d.code,{children:"DRUPAL_SHIELD_PRINT"})]}),(0,r.jsx)(d.td,{children:"Shield message."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"Restricted access."})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"drupal_site_email"}),(0,r.jsx)(d.code,{children:"DRUPAL_SITE_EMAIL"})]}),(0,r.jsx)(d.td,{children:"Drupal site email. Used only when installing from profile."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"[email protected]"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"drupal_site_name"}),(0,r.jsx)(d.code,{children:"DRUPAL_SITE_NAME"})]}),(0,r.jsx)(d.td,{children:"Drupal site name. Used only when installing from profile."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"${VORTEX_PROJECT}"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"drupal_stage_file_proxy_origin"}),(0,r.jsx)(d.code,{children:"DRUPAL_STAGE_FILE_PROXY_ORIGIN"})]}),(0,r.jsxs)(d.td,{children:["Stage file proxy origin.",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"If using Shield, the HTTP authentication credentials will be automatically added to the origin URL."]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"https://www.your-site-domain.example"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"drupal_temporary_files"}),(0,r.jsx)(d.code,{children:"DRUPAL_TEMPORARY_FILES"})]}),(0,r.jsx)(d.td,{children:"Path to temporary files."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"${DRUPAL_PRIVATE_FILES}/tmp"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"docker-compose.yml"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"drupal_theme"}),(0,r.jsx)(d.code,{children:"DRUPAL_THEME"})]}),(0,r.jsx)(d.td,{children:"Drupal theme name."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"your_site_theme"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"drupal_trusted_hosts"}),(0,r.jsx)(d.code,{children:"DRUPAL_TRUSTED_HOSTS"})]}),(0,r.jsxs)(d.td,{children:["Trusted host patterns.",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"Comma-separated list of domains for trusted host patterns. These domains will be added to the trusted host patterns alongside any other routes defined by the hosting provider."]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"your-site-domain.example,www.your-site-domain.example"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"environment_production_branch"}),(0,r.jsx)(d.code,{children:"ENVIRONMENT_PRODUCTION_BRANCH"})]}),(0,r.jsx)(d.td,{children:"Dedicated branch to identify the production environment."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"main"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"environment_type"}),(0,r.jsx)(d.code,{children:"ENVIRONMENT_TYPE"})]}),(0,r.jsxs)(d.td,{children:["Override the detected environment type.",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"Set before detection to force a specific environment type. Read by the environment detector."]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"ENVIRONMENT"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"lagoon_project"}),(0,r.jsx)(d.code,{children:"LAGOON_PROJECT"})]}),(0,r.jsxs)(d.td,{children:["Lagoon project name. May be different from ",(0,r.jsx)(d.a,{href:"#vortex_project",children:(0,r.jsx)(d.code,{children:"$VORTEX_PROJECT"})}),".",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"Update drush/sites/lagoon.site.yml if you update this value."]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"your_site"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"localdev_url"}),(0,r.jsx)(d.code,{children:"LOCALDEV_URL"})]}),(0,r.jsxs)(d.td,{children:["Local development URL.",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"Based on the ",(0,r.jsx)(d.a,{href:"#compose_project_name",children:(0,r.jsx)(d.code,{children:"$COMPOSE_PROJECT_NAME"})})," environment variable, which is set by Docker Compose to the name of the project directory.",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"Override only if you need to use a different URL than the default."]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"example-site.docker.amazee.io"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env.local.example"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"newrelic_enabled"}),(0,r.jsx)(d.code,{children:"NEWRELIC_ENABLED"})]}),(0,r.jsxs)(d.td,{children:["Enable New Relic in Lagoon environment.",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"Set as project-wide variable."]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"LAGOON ENVIRONMENT"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"newrelic_license"}),(0,r.jsx)(d.code,{children:"NEWRELIC_LICENSE"})]}),(0,r.jsxs)(d.td,{children:["New Relic license.",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"Set as project-wide variable."]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"LAGOON ENVIRONMENT"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"package_token"}
1),(0,r.jsx)(d.code,{children:"PACKAGE_TOKEN"})]}),(0,r.jsxs)(d.td,{children:["GitHub token used to overcome API rate limits or access private repositories. @see ",(0,r.jsx)(d.a,{href:"https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token",children:"https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token"})]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:".env.local.example"}),", ",(0,r.jsx)(d.code,{children:"scripts/vortex-tooling.sh"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"renovate_dependency_dashboard"}),(0,r.jsx)(d.code,{children:"RENOVATE_DEPENDENCY_DASHBOARD"})]}),(0,r.jsx)(d.td,{children:"Whether to enable self-hosted Renovate bot dashboard."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"false"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"CI config"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"renovate_dry_run"}),(0,r.jsx)(d.code,{children:"RENOVATE_DRY_RUN"})]}),(0,r.jsx)(d.td,{children:"Whether to allow self-hosted Renovate bot make changes to the repository."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"false"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"CI config"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"renovate_git_author"}),(0,r.jsx)(d.code,{children:"RENOVATE_GIT_AUTHOR"})]}),(0,r.jsx)(d.td,{children:"Commit author for self-hosted Renovate bot."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"'Renovate Self Hosted <[email protected]>'"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"CI config"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"renovate_repositories"}),(0,r.jsx)(d.code,{children:"RENOVATE_REPOSITORIES"})]}),(0,r.jsx)(d.td,{children:'Renovate repositories to manage. Set as "organization/repository".'}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"CI config"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"renovate_token"}),(0,r.jsx)(d.code,{children:"RENOVATE_TOKEN"})]}),(0,r.jsx)(d.td,{children:"Self-hosted Renovate bot token. Create a GitHub token with a permission to write to a repository."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"CI config"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"tz"}),(0,r.jsx)(d.code,{children:"TZ"})]}),(0,r.jsx)(d.td,{children:"The timezone used within the containers."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UTC"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_acquia_app_name"}),(0,r.jsx)(d.code,{children:"VORTEX_ACQUIA_APP_NAME"})]}),(0,r.jsx)(d.td,{children:"Acquia application name."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_acquia_key"}),(0,r.jsx)(d.code,{children:"VORTEX_ACQUIA_KEY"})]}),(0,r.jsx)(d.td,{children:"Acquia Cloud API key."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env.local.example"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_acquia_secret"}),(0,r.jsx)(d.code,{children:"VORTEX_ACQUIA_SECRET"})]}),(0,r.jsx)(d.td,{children:"Acquia Cloud API secret."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env.local.example"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_ci_artifacts"}),(0,r.jsx)(d.code,{children:"VORTEX_CI_ARTIFACTS"})]}),(0,r.jsx)(d.td,{children:"Directory to store test artifacts in CI."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"/tmp/artifacts"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"CI config"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_ci_behat_ignore_failure"}),(0,r.jsx)(d.code,{children:"VORTEX_CI_BEHAT_IGNORE_FAILURE"})]}),(0,r.jsx)(d.td,{children:"Ignore Behat test failures."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"CI config"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_ci_behat_profile"}),(0,r.jsx)(d.code,{children:"VORTEX_CI_BEHAT_PROFILE"})]}),(0,r.jsxs)(d.td,{children:["Test Behat profile to use in CI. If not set, the ",(0,r.jsx)(d.code,{children:"default"})," profile will be used."]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"CI config"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_ci_code_coverage_pr_comment_skip"}),(0,r.jsx)(d.code,{children:"VORTEX_CI_CODE_COVERAGE_PR_COMMENT_SKIP"})]}),(0,r.jsx)(d.td,{children:"Skip posting code coverage report as a PR comment."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"CI config"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_ci_code_coverage_threshold"}),(0,r.jsx)(d.code,{children:"VORTEX_CI_CODE_COVERAGE_THRESHOLD"})]}
1),(0,r.jsx)(d.td,{children:"Code coverage threshold percentage. Build fails if coverage is below this value."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"90"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"CI config"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_ci_composer_audit_ignore_failure"}),(0,r.jsx)(d.code,{children:"VORTEX_CI_COMPOSER_AUDIT_IGNORE_FAILURE"})]}),(0,r.jsxs)(d.td,{children:["Ignore ",(0,r.jsx)(d.code,{children:"composer audit"})," failures."]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"CI config"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_ci_composer_normalize_ignore_failure"}),(0,r.jsx)(d.code,{children:"VORTEX_CI_COMPOSER_NORMALIZE_IGNORE_FAILURE"})]}),(0,r.jsxs)(d.td,{children:["Ignore ",(0,r.jsx)(d.code,{children:"composer normalize"})," failures."]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"CI config"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_ci_composer_validate_ignore_failure"}),(0,r.jsx)(d.code,{children:"VORTEX_CI_COMPOSER_VALIDATE_IGNORE_FAILURE"})]}),(0,r.jsxs)(d.td,{children:["Ignore ",(0,r.jsx)(d.code,{children:"composer validate"})," failures."]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"CI config"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_ci_dcl
1int_ignore_failure"}),(0,r.jsx)(d.code,{children:"VORTEX_CI_DCLINT_IGNORE_FAILURE"})]}),(0,r.jsx)(d.td,{children:"Ignore DCLint failures."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"CI config"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_ci_free_disk_space"}),(0,r.jsx)(d.code,{children:"VORTEX_CI_FREE_DISK_SPACE"})]}),(0,r.jsxs)(d.td,{children:["Set to ",(0,r.jsx)(d.code,{children:"1"})," to remove preinstalled toolchains from the GitHub Actions runner and free disk space."]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"CI config"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_ci_gherkin_lint_ignore_failure"}),(0,r.jsx)(d.code,{children:"VORTEX_CI_GHERKIN_LINT_IGNORE_FAILURE"})]}),(0,r.jsx)(d.td,{children:"Ignore Gherkin Lint failures."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"CI config"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_ci_hadolint_ignore_failure"}),(0,r.jsx)(d.code,{children:"VORTEX_CI_HADOLINT_IGNORE_FAILURE"})]}),(0,r.jsx)(d.td,{children:"Ignore Hadolint failures."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"CI config"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_ci_jest_ignore_failure"}),(0,r.jsx)(d.code,{children:"VORTEX_CI_JEST_IGNORE_FAILURE"})]}),(0,r.jsx)(d.td,{children:"Ignore Jest test failures."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"CI config"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_ci_nodejs_lint_ignore_failure"}),(0,r.jsx)(d.code,{children:"VORTEX_CI_NODEJS_LINT_IGNORE_FAILURE"})]}),(0,r.jsx)(d.td,{children:"Ignore NodeJS linters failures."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"CI config"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_ci_phpcs_ignore_failure"}),(0,r.jsx)(d.code,{children:"VORTEX_CI_PHPCS_IGNORE_FAILURE"})]}),(0,r.jsx)(d.td,{children:"Ignore PHPCS failures."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"CI config"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_ci_phpstan_ignore_failure"}),(0,r.jsx)(d.code,{children:"VORTEX_CI_PHPSTAN_IGNORE_FAILURE"})]}),(0,r.jsx)(d.td,{children:"Ignore PHPStan failures."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"CI config"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_ci_phpunit_ignore_failure"}),(0,r.jsx)(d.code,{children:"VORTEX_CI_PHPUNIT_IGNORE_FAILURE"})]}),(0,r.jsx)(d.td,{children:"Ignore PHPUnit test failures."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"CI config"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_ci_rector_ignore_failure"}),(0,r.jsx)(d.code,{children:"VORTEX_CI_RECTOR_IGNORE_FAILURE"})]}),(0,r.jsx)(d.td,{children:"Ignore Rector failures."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"CI config"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_ci_test_results"}),(0,r.jsx)(d.code,{children:"VORTEX_CI_TEST_RESULTS"})]}),(0,r.jsx)(d.td,{children:"Directory to store test results in CI."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"/tmp/tests"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"CI config"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_ci_twig_cs_fixer_ignore_failure"}),(0,r.jsx)(d.code,{children:"VORTEX_CI_TWIG_CS_FIXER_IGNORE_FAILURE"})]}),(0,r.jsx)(d.td,{children:"Ignore Twig CS Fixer failures."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"CI config"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_container_registry"}),(0,r.jsx)(d.code,{children:"VORTEX_CONTAINER_REGISTRY"})]}
1),(0,r.jsxs)(d.td,{children:["Container registry name.",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"Provide port, if required as ",(0,r.jsx)(d.code,{children:"<server_name>:<port>"}),"."]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"docker.io"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_container_registry_pass"}),(0,r.jsx)(d.code,{children:"VORTEX_CONTAINER_REGISTRY_PASS"})]}),(0,r.jsx)(d.td,{children:"The password (token) to log into the container registry."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env.local.example"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_container_registry_user"}),(0,r.jsx)(d.code,{children:"VORTEX_CONTAINER_REGISTRY_USER"})]}),(0,r.jsx)(d.td,{children:"The username to log into the container registry."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env.local.example"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_db_dir"}),(0,r.jsx)(d.code,{children:"VORTEX_DB_DIR"})]}),(0,r.jsxs)(d.td,{children:["Database dump directory.",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"The directory is used to store the database dump files for import and export."]}
1),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"./.data"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_db_file"}),(0,r.jsx)(d.code,{children:"VORTEX_DB_FILE"})]}),(0,r.jsxs)(d.td,{children:["Database dump file name.",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"The file is used to import the database into an empty database container."]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"db.sql"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_db_image"}),(0,r.jsx)(d.code,{children:"VORTEX_DB_IMAGE"})]}),(0,r.jsxs)(d.td,{children:["Name of the database container image to use.",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"See ",(0,r.jsx)(d.a,{href:"https://github.com/drevops/mariadb-drupal-data",children:"https://github.com/drevops/mariadb-drupal-data"})," to seed your DB image."]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_db_image_base"}),(0,r.jsx)(d.code,{children:"VORTEX_DB_IMAGE_BASE"})]}),(0,r.jsxs)(d.td,{children:["Name of the database fall-back container image to use.",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"If the image specified in ",(0,r.jsx)(d.a,{href:"#vortex_db_image",children:(0,r.jsx)(d.code,{children:"$VORTEX_DB_IMAGE"})}),' does not exist and base image was provided - it will be used as a "clean slate" for the database.']}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_debug"}),(0,r.jsx)(d.code,{children:"VORTEX_DEBUG"})]}),(0,r.jsxs)(d.td,{children:["Set to ",(0,r.jsx)(d.code,{children:"1"})," to print debug information in Vortex scripts."]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env.local.example"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_deploy_allow_label"}),(0,r.jsx)(d.code,{children:"VORTEX_DEPLOY_ALLOW_LABEL"})]}),(0,r.jsx)(d.td,{children:"Label that authorizes a pull request deployment. When set, a PR is deployed only if it carries this label."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"CI config"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_deploy_allow_skip"}),(0,r.jsx)(d.code,{children:"VORTEX_DEPLOY_ALLOW_SKIP"})]}),(0,r.jsx)(d.td,{children:"Flag to allow skipping of a deployment using additional flags."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"CI config"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_deploy_skip"}),(0,r.jsx)(d.code,{children:"VORTEX_DEPLOY_SKIP"})]}),(0,r.jsx)(d.td,{children:"Skip all deployments."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"CI config"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_deploy_skip_branches"}),(0,r.jsx)(d.code,{children:"VORTEX_DEPLOY_SKIP_BRANCHES"})]}),(0,r.jsx)(d.td,{children:"Branch names to skip deployment for (single value or comma-separated list)."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"CI config"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_deploy_skip_prs"}),(0,r.jsx)(d.code,{children:"VORTEX_DEPLOY_SKIP_PRS"})]}),(0,r.jsx)(d.td,{children:"Pull request numbers to skip deployment for (single value or comma-separated list)."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"CI config"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_deploy_types"}),(0,r.jsx)(d.code,{children:"VORTEX_DEPLOY_TYPES"})]}),(0,r.jsxs)(d.td,{children:["Deployment occurs when tests pass in the CI environment. @see ",(0,r.jsx)(d.a,{href:"https://www.vortextemplate.com/docs/deployment",children:"https://www.vortextemplate.com/docs/deployment"})]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"artifact"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_export_db_container_registry_push_proceed"}),(0,r.jsx)(d.code,{children:"VORTEX_EXPORT_DB_CONTAINER_REGISTRY_PUSH_PROCEED"})]}),(0,r.jsx)(d.td,{children:"Proceed with container image push after it was exported."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"CI config"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_fetch_db2_acquia_db_name"}),(0,r.jsx)(d.code,{children:"VORTEX_FETCH_DB2_ACQUIA_DB_NAME"})]}),(0,r.jsx)(d.td,{children:"Acquia database name to fetch the second database from."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"your_site"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_fetch_db2_environment"}),(0,r.jsx)(d.code,{children:"VORTEX_FETCH_DB2_ENVIRONMENT"})]}),(0,r.jsxs)(d.td,{children:["Environment to fetch the second database from.",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"Applies to hosting environments."]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"prod"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_fetch_db2_file"}),(0,r.jsx)(d.code,{children:"VORTEX_FETCH_DB2_FILE"})]}),(0,r.jsx)(d.td,{children:"Second database dump file name."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"db2.sql"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_fetch_db2_ftp_file"}),(0,r.jsx)(d.code,{children:"VORTEX_FETCH_DB2_FTP_FILE"})]}),(0,r.jsx)(d.td,{children:"Second database dump FTP file name."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"db2.sql"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_fetch_db2_ftp_host"}),(0,r.jsx)(d.code,{children:"VORTEX_FETCH_DB2_FTP_HOST"})]}),(0,r.jsx)(d.td,{children:"Second database dump FTP host."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_fetch_db2_ftp_port"}),(0,r.jsx)(d.code,{children:"VORTEX_FETCH_DB2_FTP_PORT"})]}),(0,r.jsx)(d.td,{children:"Second database dump FTP port."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"21"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_fetch_db2_s3_bucket"}),(0,r.jsx)(d.code,{children:"VORTEX_FETCH_DB2_S3_BUCKET"})]}),(0,r.jsx)(d.td,{children:"AWS S3 bucket name for second database fetch."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_fetch_db2_s3_region"}),(0,r.jsx)(d.code,{children:"VORTEX_FETCH_DB2_S3_REGION"})]}),(0,r.jsx)(d.td,{children:"AWS S3 region."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"ap-southeast-2"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_fetch_db2_source"}),(0,r.jsx)(d.code,{children:"VORTEX_FETCH_DB2_SOURCE"})]}),(0,r.jsx)(d.td,{children:"Second database fetch source."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"url"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_fetch_db2_url"}),(0,r.jsx)(d.code,{children:"VORTEX_FETCH_DB2_URL"})]}),(0,r.jsxs)(d.td,{children:["Second database dump file sourced from a URL.",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"HTTP Basic Authentication credentials should be embedded into the value."]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_fetch_db_acquia_db_name"}),(0,r.jsx)(d.code,{children:"VORTEX_FETCH_DB_ACQUIA_DB_NAME"})]}),(0,r.jsx)(d.td,{children:"Acquia database name to fetch the database from."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"your_site"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_fetch_db_environment"}),(0,r.jsx)(d.code,{children:"VORTEX_FETCH_DB_ENVIRONMENT"})]}),(0,r.jsxs)(d.td,{children:["Environment to fetch the database from.",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"Applies to hosting environments. Note that depending on the hosting provider, this variable may represent a branch name or an environment name."]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"prod"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_fetch_db_force"}),(0,r.jsx)(d.code,{children:"VORTEX_FETCH_DB_FORCE"})]}),(0,r.jsx)(d.td,{children:"Always override existing fetched DB dump."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"1"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env.local.example"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_fetch_db_ftp_file"}),(0,r.jsx)(d.code,{children:"VORTEX_FETCH_DB_FTP_FILE"})]}),(0,r.jsx)(d.td,{children:"Database dump FTP file name."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"db.sql"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_fetch_db_ftp_host"}),(0,r.jsx)(d.code,{children:"VORTEX_FETCH_DB_FTP_HOST"})]}),(0,r.jsx)(d.td,{children:"Database dump FTP host."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_fetch_db_ftp_pass"}),(0,r.jsx)(d.code,{children:"VORTEX_FETCH_DB_FTP_PASS"})]}),(0,r.jsx)(d.td,{children:"Database dump FTP password."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env.local.example"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_fetch_db_ftp_port"}),(0,r.jsx)(d.code,{children:"VORTEX_FETCH_DB_FTP_PORT"})]}),(0,r.jsx)(d.td,{children:"Database dump FTP port."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"21"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_fetch_db_ftp_user"}),(0,r.jsx)(d.code,{children:"VORTEX_FETCH_DB_FTP_USER"})]}),(0,r.jsx)(d.td,{children:"Database dump FTP user."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env.local.example"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_fetch_db_s3_access_key"}),(0,r.jsx)(d.code,{children:"VORTEX_FETCH_DB_S3_ACCESS_KEY"})]}),(0,r.jsx)(d.td,{children:"AWS access key for S3 database fetch."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env.local.example"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_fetch_db_s3_bucket"}),(0,r.jsx)(d.code,{children:"VORTEX_FETCH_DB_S3_BUCKET"})]}),(0,r.jsx)(d.td,{children:"AWS S3 bucket name for database fetch."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_fetch_db_s3_region"}),(0,r.jsx)(d.code,{children:"VORTEX_FETCH_DB_S3_REGION"})]}),(0,r.jsx)(d.td,{children:"AWS S3 region."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"ap-southeast-2"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_fetch_db_s3_secret_key"}),(0,r.jsx)(d.code,{children:"VORTEX_FETCH_DB_S3_SECRET_KEY"})]}),(0,r.jsx)(d.td,{children:"AWS secret key for S3 database fetch."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env.local.example"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_fetch_db_source"}),(0,r.jsx)(d.code,{children:"VORTEX_FETCH_DB_SOURCE"})]}),(0,r.jsx)(d.td,{children:"Database fetch source."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"url"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_fetch_db_url"}),(0,r.jsx)(d.code,{children:"VORTEX_FETCH_DB_URL"})]}),(0,r.jsxs)(d.td,{children:["Database dump file sourced from a URL.",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"HTTP Basic Authentication credentials should be embedded into the value."]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_frontend_build_skip"}),(0,r.jsx)(d.code,{children:"VORTEX_FRONTEND_BUILD_SKIP"})]}),(0,r.jsxs)(d.td,{children:["Skip building of the front-end assets inside the container image.",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"Set to ",(0,r.jsx)(d.code,{children:"1"})," to build theme assets on the host or as part of deployment instead of during the container image build."]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_notify_channels"}),(0,r.jsx)(d.code,{children:"VORTEX_NOTIFY_CHANNELS"})]}),(0,r.jsxs)(d.td,{children:["The channels of the notifications.",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"A combination of comma-separated values: email,slack,newrelic,github,jira,webhook,diffy"]}
1),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"email"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_notify_email_from"}),(0,r.jsx)(d.code,{children:"VORTEX_NOTIFY_EMAIL_FROM"})]}),(0,r.jsxs)(d.td,{children:["An email address to send notifications from.",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"Applies to email notifications."]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"[email protected]"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_notify_email_recipients"}),(0,r.jsx)(d.code,{children:"VORTEX_NOTIFY_EMAIL_RECIPIENTS"})]}),(0,r.jsxs)(d.td,{children:["Email address(es) to send notifications to.",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"Applies to email notifications.",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),'Multiple names can be specified as a comma-separated list of email addresses with optional names in the format "email']}),(0,r.jsxs)(d.td,{children:['name". Example: "',(0,r.jsx)(d.a,{href:"mailto:[email protected]",children:"[email protected]"})]}),(0,r.jsxs)(d.td,{children:["Jane Doe, ",(0,r.jsx)(d.a,{href:"mailto:[email protected]",children:"[email protected]"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_notify_github_token"}),(0,r.jsx)(d.code,{children:"VORTEX_NOTIFY_GITHUB_TOKEN"})]}),(0,r.jsxs)(d.td,{children:["GitHub token.",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"@see ",(0,r.jsx)(d.a,{href:"https://www.vortextemplate.com/docs/deployment/notifications/github",children:"https://www.vortextemplate.com/docs/deployment/notifications/github"})]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:"ACQUIA ENVIRONMENT"}),", ",(0,r.jsx)(d.code,{children:"LAGOON ENVIRONMENT"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_notify_jira_token"}),(0,r.jsx)(d.code,{children:"VORTEX_NOTIFY_JIRA_TOKEN"})]}),(0,r.jsxs)(d.td,{children:["JIRA API token.",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"@see ",(0,r.jsx)(d.a,{href:"https://www.vortextemplate.com/docs/deployment/notifications/jira",children:"https://www.vortextemplate.com/docs/deployment/notifications/jira"})]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:"ACQUIA ENVIRONMENT"}),", ",(0,r.jsx)(d.code,{children:"LAGOON ENVIRONMENT"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_notify_jira_user_email"}),(0,r.jsx)(d.code,{children:"VORTEX_NOTIFY_JIRA_USER_EMAIL"})]}),(0,r.jsx)(d.td,{children:"JIRA user email address."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"[email protected]"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_notify_newrelic_apikey"}),(0,r.jsx)(d.code,{children:"VORTEX_NOTIFY_NEWRELIC_APIKEY"})]}),(0,r.jsxs)(d.td,{children:["NewRelic API key, usually of type 'USER'.",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"@see ",(0,r.jsx)(d.a,{href:"https://www.vortextemplate.com/docs/deployment/notifications/newrelic",children:"https://www.vortextemplate.com/docs/deployment/notifications/newrelic"})]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:"ACQUIA ENVIRONMENT"}),", ",(0,r.jsx)(d.code,{children:"LAGOON ENVIRONMENT"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_notify_slack_webhook"}),(0,r.jsx)(d.code,{children:"VORTEX_NOTIFY_SLACK_WEBHOOK"})]}),(0,r.jsxs)(d.td,{children:["Slack webhook URL. The incoming Webhook URL from your Slack app configuration. @see ",(0,r.jsx)(d.a,{href:"https://www.vortextemplate.com/docs/deployment/notifications/slack",children:"https://www.vortextemplate.com/docs/deployment/notifications/slack"})]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:"ACQUIA ENVIRONMENT"}),", ",(0,r.jsx)(d.code,{children:"LAGOON ENVIRONMENT"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_notify_webhook_url"}),(0,r.jsx)(d.code,{children:"VORTEX_NOTIFY_WEBHOOK_URL"})]}),(0,r.jsx)(d.td,{children:"Webhook URL to send notifications to."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:".env"}),", ",(0,r.jsx)(d.code,{children:"ACQUIA ENVIRONMENT"}),", ",(0,r.jsx)(d.code,{children:"LAGOON ENVIRONMENT"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_project"}),(0,r.jsx)(d.code,{children:"VORTEX_PROJECT"})]}),(0,r.jsxs)(d.td,{children:["Project name.",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"Drives internal naming within the codebase. Does not affect the names of containers and development URL - those depend on the project directory and can be overridden with ",(0,r.jsx)(d.a,{href:"#compose_project_name",children:(0,r.jsx)(d.code,{children:"$COMPOSE_PROJECT_NAME"})}),"."]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"your_site"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_provision_acquia_skip"}),(0,r.jsx)(d.code,{children:"VORTEX_PROVISION_ACQUIA_SKIP"})]}),(0,r.jsx)(d.td,{children:"Skip Drupal site provisioning in Acquia environment."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"ACQUIA ENVIRONMENT"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_provision_fallback_to_profile"}),(0,r.jsx)(d.code,{children:"VORTEX_PROVISION_FALLBACK_TO_PROFILE"})]}),(0,r.jsxs)(d.td,{children:["Fallback to profile installation if the database dump is not available.",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),'When enabled and the provision type is set to "database", the site will be installed from the profile if the database dump file or container image is not available.']}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_provision_override_db"}),(0,r.jsx)(d.code,{children:"VORTEX_PROVISION_OVERRIDE_DB"})]}),(0,r.jsxs)(d.td,{children:["Overwrite a database if it exists.",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"Usually set to ",(0,r.jsx)(d.code,{children:"0"})," in deployed environments and can be temporary set to ",(0,r.jsx)(d.code,{children:"1"})," for a specific deployment. Set this to ",(0,r.jsx)(d.code,{children:"1"})," in .env.local to override when developing locally."]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsxs)(d.td,{children:[(0,r.jsx)(d.code,{children:".env"}),", ",(0,r.jsx)(d.code,{children:".env.local.example"})]})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_provision_sanitize_db_email"}),(0,r.jsx)(d.code,{children:"VORTEX_PROVISION_SANITIZE_DB_EMAIL"})]}),(0,r.jsxs)(d.td,{children:["Sanitization email pattern.",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"Applied if database sanitization is enabled. @see ",(0,r.jsx)(d.a,{href:"https://www.vortextemplate.com/docs/development/provision#database-sanitization",children:"https://www.vortextemplate.com/docs/development/provision#database-sanitization"})]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"user_%[email protected]"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_provision_sanitize_db_password"}),(0,r.jsx)(d.code,{children:"VORTEX_PROVISION_SANITIZE_DB_PASSWORD"})]}),(0,r.jsx)(d.td,{children:"Password replacement used for sanitized database."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"<RANDOM STRING>"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_provision_sanitize_db_replace_username_with_email"}),(0,r.jsx)(d.code,{children:"VORTEX_PROVISION_SANITIZE_DB_REPLACE_USERNAME_WITH_EMAIL"})]}),(0,r.jsx)(d.td,{children:"Replace username with email after database sanitization. Useful when email is used as username."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_provision_sanitize_db_skip"}),(0,r.jsx)(d.code,{children:"VORTEX_PROVISION_SANITIZE_DB_SKIP"})]}),(0,r.jsxs)(d.td,{children:["Skip database sanitization.",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"Database sanitization is enabled by default in all non-production environments and is always skipped in the production environment. @see ",(0,r.jsx)(d.a,{href:"https://www.vortextemplate.com/docs/development/provision#database-sanitization",children:"https://www.vortextemplate.com/docs/development/provision#database-sanitization"})]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_provision_type"}),(0,r.jsx)(d.code,{children:"VORTEX_PROVISION_TYPE"})]}),(0,r.jsx)(d.td,{children:"Set to 'profile' to install a site from profile instead of the database dump."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"database"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_provision_use_maintenance_mode"}),(0,r.jsx)(d.code,{children:"VORTEX_PROVISION_USE_MAINTENANCE_MODE"})]}),(0,r.jsx)(d.td,{children:"Put the site into a maintenance mode during site provisioning."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"1"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_provision_verify_config_unchanged_after_update"}),(0,r.jsx)(d.code,{children:"VORTEX_PROVISION_VERIFY_CONFIG_UNCHANGED_AFTER_UPDATE"})]}),(0,r.jsxs)(d.td,{children:["Verify that configuration was not changed by database updates. If enabled and config files are present, the provision 
1will fail if database update hooks modify active configuration, preventing drush config",":import"," from silently overwriting those changes."]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_purge_cache_acquia_skip"}),(0,r.jsx)(d.code,{children:"VORTEX_PURGE_CACHE_ACQUIA_SKIP"})]}),(0,r.jsx)(d.td,{children:"Skip purging of edge cache in Acquia environment."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"ACQUIA ENVIRONMENT"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_release_version_scheme"}),(0,r.jsx)(d.code,{children:"VORTEX_RELEASE_VERSION_SCHEME"})]}),(0,r.jsxs)(d.td,{children:["Versioning scheme used for releases.",(0,r.jsx)("br",{}),(0,r.jsx)("br",{}),"Can be one of: calver, semver, other @see ",(0,r.jsx)(d.a,{href:"https://www.vortextemplate.com/docs/releasing",children:"https://www.vortextemplate.com/docs/releasing"})]}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"calver"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_task_copy_db_acquia_skip"}),(0,r.jsx)(d.code,{children:"VORTEX_TASK_COPY_DB_ACQUIA_SKIP"})]}),(0,r.jsx)(d.td,{children:"Skip copying of database between Acquia environment."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"ACQUIA ENVIRONMENT"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_task_copy_files_acquia_skip"}),(0,r.jsx)(d.code,{children:"VORTEX_TASK_COPY_FILES_ACQUIA_SKIP"})]}),(0,r.jsx)(d.td,{children:"Skip copying of files between Acquia environment."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"UNDEFINED"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"ACQUIA ENVIRONMENT"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"vortex_unblock_admin"}),(0,r.jsx)(d.code,{children:"VORTEX_UNBLOCK_ADMIN"})]}),(0,r.jsx)(d.td,{children:"Unblock admin account when logging in."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"1"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env"})})]}),(0,r.jsxs)(d.tr,{children:[(0,r.jsxs)(d.td,{children:[(0,r.jsx)("a",{id:"webroot"}),(0,r.jsx)(d.code,{children:"WEBROOT"})]}),(0,r.jsx)(d.td,{children:"Name of the web root directory containing a Drupal codebase."}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:"web"})}),(0,r.jsx)(d.td,{children:(0,r.jsx)(d.code,{children:".env"})})]})]})]})]})}function x(e={}){const{wrapper:d}={...(0,n.R)(),...e.components};return d?(0,r.jsx)(d,{...e,children:(0,r.jsx)(h,{...e})}):h(e)}},28453(e,d,s){s.d(d,{R:()=>c,x:()=>t});var i=s(96540);const r={},n=i.createContext(r);function c(e){const d=i.useContext(n);return i.useMemo(function(){return"function"==typeof e?e(d):{...d,...e}},[d,e])}function t(e){let d;return d=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:c(e.components),i.createElement(n.Provider,{value:d},e.children)}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.