diff --git a/CHANGELOG.md b/CHANGELOG.md index c9078d31..889dc2d7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,9 +5,26 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [0.6.3] - 2024-04-08 +## [0.6.4] - 2024-05-10 + +We're super excited to announce `Reward` 0.6.4! + +### Added + +- Add support to add custom headers to requests proxied by Traefik. You can now add custom headers to requests proxied + by Traefik. Add `REWARD_TRAEFIK_CUSTOM_HEADERS` to your `.env` file to configure custom headers. +- Add support to customize Traefik log level. You can now customize Traefik log level. Add `reward_traefik_log_level` to + the `reward.yml` file to configure the log level. + +### Changed + +- Update templating to use dollar prefixed contextual variables. + +### Fixed + +- Fix an issue with opening multiple custom http/s ports. -We're super excited to announce `Reward` 0.6.3! +## [0.6.3] - 2024-04-08 ### Changed diff --git a/VERSION.txt b/VERSION.txt index e4c57af0..2fc7b367 100644 --- a/VERSION.txt +++ b/VERSION.txt @@ -1 +1 @@ -v0.6.3 +v0.6.4 diff --git a/assets/templates/docker-compose/common-services/docker-compose.yml b/assets/templates/docker-compose/common-services/docker-compose.yml index 543596d6..577eb11d 100644 --- a/assets/templates/docker-compose/common-services/docker-compose.yml +++ b/assets/templates/docker-compose/common-services/docker-compose.yml @@ -1,22 +1,20 @@ {{- /* @formatter:off */ -}} -{{- $reward_traefik_listen := .reward_traefik_listen -}} - services: traefik: container_name: traefik - image: {{ default "traefik" .reward_traefik_image }}:{{ default "2.2" .reward_traefik_version }} + image: {{ default "traefik" $.reward_traefik_image }}:{{ default "2.2" $.reward_traefik_version }} ports: - - "{{ default "0.0.0.0" $reward_traefik_listen }}:{{ default "80" .reward_traefik_http_port }}:{{ default "80" .reward_traefik_internal_http_port }}" # The HTTP port - - "{{ default "0.0.0.0" $reward_traefik_listen }}:{{ default "443" .reward_traefik_https_port }}:{{ default "443" .reward_traefik_internal_https_port }}" # The HTTPS port -{{- if .reward_traefik_bind_additional_http_ports -}} -{{- range $i, $v := .reward_traefik_bind_additional_http_ports }} - {{- printf `- "%s:%d:%d"` (default "0.0.0.0" $reward_traefik_listen) $v $v | nindent 6 -}} + - "{{ default "0.0.0.0" $.reward_traefik_listen }}:{{ default "80" $.reward_traefik_http_port }}:{{ default "80" $.reward_traefik_internal_http_port }}" # The HTTP port + - "{{ default "0.0.0.0" $.reward_traefik_listen }}:{{ default "443" $.reward_traefik_https_port }}:{{ default "443" $.reward_traefik_internal_https_port }}" # The HTTPS port +{{- if $.reward_traefik_bind_additional_http_ports -}} +{{- range $i, $v := $.reward_traefik_bind_additional_http_ports }} + {{- printf `- "%s:%d:%d"` (default "0.0.0.0" $.reward_traefik_listen) $v $v | nindent 6 -}} {{- end -}} {{- end -}} -{{- if .reward_traefik_bind_additional_https_ports -}} -{{- range $i, $v := .reward_traefik_bind_additional_https_ports }} - {{- printf `- "%s:%d:%d"` (default "0.0.0.0" $reward_traefik_listen) $v $v | nindent 6 -}} +{{- if $.reward_traefik_bind_additional_https_ports -}} +{{- range $i, $v := $.reward_traefik_bind_additional_https_ports }} + {{- printf `- "%s:%d:%d"` (default "0.0.0.0" $.reward_traefik_listen) $v $v | nindent 6 -}} {{- end -}} {{- end }} volumes: @@ -27,43 +25,48 @@ services: labels: - traefik.enable=true - traefik.http.routers.traefik.tls=true - - traefik.http.routers.traefik.rule=Host(`traefik.{{ default "reward.test" .reward_service_domain }}`) + - traefik.http.routers.traefik.rule=Host(`traefik.{{ default "reward.test" $.reward_service_domain }}`) - traefik.http.routers.traefik.service=api@internal + - traefik.http.routers.traefik.entrypoints=http,https - dev.reward.container.name=traefik - dev.reward.environment.name=reward - restart: {{ default "always" .reward_restart_policy }} + restart: {{ default "always" $.reward_restart_policy }} -{{ if isEnabled .reward_portainer }} +{{ if isEnabled $.reward_portainer }} portainer: container_name: portainer - image: {{ default "portainer/portainer-ce" .reward_portainer_image }} + image: {{ default "portainer/portainer-ce" $.reward_portainer_image }} volumes: - /var/run/docker.sock:/var/run/docker.sock - portainer:/data labels: - traefik.enable=true -{{- if .reward_traefik_allow_http }} - - traefik.http.routers.portainer-http.rule=Host(`portainer.{{ default "reward.test" .reward_service_domain }}`) +{{- if $.reward_traefik_allow_http }} + - traefik.http.routers.portainer-http.rule=Host(`portainer.{{ default "reward.test" $.reward_service_domain }}`) - traefik.http.routers.portainer-http.service=portainer + - traefik.http.routers.portainer-http.entrypoints=http + - traefik.http.routers.portainer.entrypoints=https +{{- else }} + - traefik.http.routers.portainer.entrypoints=http,https {{- end }} - traefik.http.routers.portainer.tls=true - - traefik.http.routers.portainer.rule=Host(`portainer.{{ default "reward.test" .reward_service_domain }}`) + - traefik.http.routers.portainer.rule=Host(`portainer.{{ default "reward.test" $.reward_service_domain }}`) - traefik.http.services.portainer.loadbalancer.server.port=9000 - dev.reward.container.name=portainer - dev.reward.environment.name=reward - restart: {{ default "always" .reward_restart_policy }} + restart: {{ default "always" $.reward_restart_policy }} {{ end }} -{{ if isEnabled .reward_dnsmasq }} +{{ if isEnabled $.reward_dnsmasq }} dnsmasq: container_name: dnsmasq - image: {{ default "docker.io/rewardenv/dnsmasq" .reward_dnsmasq_image }} + image: {{ default "docker.io/rewardenv/dnsmasq" $.reward_dnsmasq_image }} ports: - {{ if isEnabled ( default false .reward_dnsmasq_bind_tcp ) }} - - "{{ default "127.0.0.1" .reward_dnsmasq_listen }}:{{ default "53" .reward_dnsmasq_tcp_port }}:{{ default "53" .reward_dnsmasq_internal_tcp_port }}/tcp" + {{ if isEnabled ( default false $.reward_dnsmasq_bind_tcp ) }} + - "{{ default "127.0.0.1" $.reward_dnsmasq_listen }}:{{ default "53" $.reward_dnsmasq_tcp_port }}:{{ default "53" $.reward_dnsmasq_internal_tcp_port }}/tcp" {{ end }} - {{ if isEnabled ( default true .reward_dnsmasq_bind_udp ) }} - - "{{ default "127.0.0.1" .reward_dnsmasq_listen }}:{{ default "53" .reward_dnsmasq_udp_port }}:{{ default "53" .reward_dnsmasq_internal_udp_port }}/udp" + {{ if isEnabled ( default true $.reward_dnsmasq_bind_udp ) }} + - "{{ default "127.0.0.1" $.reward_dnsmasq_listen }}:{{ default "53" $.reward_dnsmasq_udp_port }}:{{ default "53" $.reward_dnsmasq_internal_udp_port }}/udp" {{ end }} environment: REWARD_DNSMASQ_CONF: |- @@ -77,12 +80,12 @@ services: no-resolv #use cloudflare as default nameservers, prefer 1^4 - server={{ default "1.1.1.1" .reward_dnsmasq_ns2 }} + server={{ default "1.1.1.1" $.reward_dnsmasq_ns2 }} strict-order #explicitly define host-ip mappings address=/.test/127.0.0.1 - {{ default "" .reward_dnsmasq_conf_additional }} + {{ default "" $.reward_dnsmasq_conf_additional }} entrypoint: ["/bin/sh", "-c", " echo \"$$REWARD_DNSMASQ_CONF\" > /etc/dnsmasq.conf; @@ -90,104 +93,124 @@ services: "] labels: - traefik.enable=true -{{- if .reward_traefik_allow_http }} - - traefik.http.routers.dnsmasq-http.rule=Host(`dnsmasq.{{ default "reward.test" .reward_service_domain }}`) +{{- if $.reward_traefik_allow_http }} + - traefik.http.routers.dnsmasq-http.rule=Host(`dnsmasq.{{ default "reward.test" $.reward_service_domain }}`) - traefik.http.routers.dnsmasq-http.service=dnsmasq + - traefik.http.routers.dnsmasq-http.entrypoints=http + - traefik.http.routers.dnsmasq.entrypoints=https +{{- else }} + - traefik.http.routers.dnsmasq.entrypoints=http,https {{- end }} - traefik.http.routers.dnsmasq.tls=true - - traefik.http.routers.dnsmasq.rule=Host(`dnsmasq.{{ default "reward.test" .reward_service_domain }}`) + - traefik.http.routers.dnsmasq.rule=Host(`dnsmasq.{{ default "reward.test" $.reward_service_domain }}`) - traefik.http.services.dnsmasq.loadbalancer.server.port=8080 - dev.reward.container.name=dnsmasq - dev.reward.environment.name=reward - restart: {{ default "always" .reward_restart_policy }} + restart: {{ default "always" $.reward_restart_policy }} {{ end }} -{{ if isEnabled .reward_mailbox }} +{{ if isEnabled $.reward_mailbox }} mailbox: container_name: mailbox - image: {{ default "docker.io/rewardenv/mailbox:latest" .reward_mailbox_image }} + image: {{ default "docker.io/rewardenv/mailbox:latest" $.reward_mailbox_image }} labels: - traefik.enable=true -{{- if .reward_traefik_allow_http }} - - traefik.http.routers.mailbox-http.rule=Host(`mailbox.{{ default "reward.test" .reward_service_domain }}`,`mb.{{ default "reward.test" .reward_service_domain }}`,`mailhog.{{ default "reward.test" .reward_service_domain }}`,`mh.{{ default "reward.test" .reward_service_domain }}`) +{{- if $.reward_traefik_allow_http }} + - traefik.http.routers.mailbox-http.rule=Host(`mailbox.{{ default "reward.test" $.reward_service_domain }}`,`mb.{{ default "reward.test" $.reward_service_domain }}`,`mailhog.{{ default "reward.test" $.reward_service_domain }}`,`mh.{{ default "reward.test" $.reward_service_domain }}`) - traefik.http.routers.mailbox-http.service=mailbox + - traefik.http.routers.mailbox-http.entrypoints=http + - traefik.http.routers.mailbox.entrypoints=https +{{- else }} + - traefik.http.routers.mailbox.entrypoints=http,https {{- end }} - traefik.http.routers.mailbox.tls=true - - traefik.http.routers.mailbox.rule=Host(`mailbox.{{ default "reward.test" .reward_service_domain }}`,`mb.{{ default "reward.test" .reward_service_domain }}`,`mailhog.{{ default "reward.test" .reward_service_domain }}`,`mh.{{ default "reward.test" .reward_service_domain }}`) + - traefik.http.routers.mailbox.rule=Host(`mailbox.{{ default "reward.test" $.reward_service_domain }}`,`mb.{{ default "reward.test" $.reward_service_domain }}`,`mailhog.{{ default "reward.test" $.reward_service_domain }}`,`mh.{{ default "reward.test" $.reward_service_domain }}`) - traefik.http.services.mailbox.loadbalancer.server.port=8025 - dev.reward.container.name=mailbox - dev.reward.environment.name=reward - restart: {{ default "always" .reward_restart_policy }} + restart: {{ default "always" $.reward_restart_policy }} {{ end }} -{{ if isEnabled .reward_phpmyadmin }} +{{ if isEnabled $.reward_phpmyadmin }} phpmyadmin: container_name: phpmyadmin - image: {{ default "phpmyadmin" .reward_phpmyadmin_image }} + image: {{ default "phpmyadmin" $.reward_phpmyadmin_image }} environment: - PMA_ARBITRARY=1 - - UPLOAD_LIMIT={{ default "128M" .phpmyadmin_upload_limit }} + - UPLOAD_LIMIT={{ default "128M" $.phpmyadmin_upload_limit }} labels: - traefik.enable=true -{{- if .reward_traefik_allow_http }} - - traefik.http.routers.phpmyadmin-http.rule=Host(`phpmyadmin.{{ default "reward.test" .reward_service_domain }}`,`pma.{{ default "reward.test" .reward_service_domain }}`) +{{- if $.reward_traefik_allow_http }} + - traefik.http.routers.phpmyadmin-http.rule=Host(`phpmyadmin.{{ default "reward.test" $.reward_service_domain }}`,`pma.{{ default "reward.test" $.reward_service_domain }}`) - traefik.http.routers.phpmyadmin-http.service=phpmyadmin + - traefik.http.routers.phpmyadmin-http.entrypoints=http + - traefik.http.routers.phpmyadmin.entrypoints=https +{{- else }} + - traefik.http.routers.phpmyadmin.entrypoints=http,https {{- end }} - traefik.http.routers.phpmyadmin.tls=true - - traefik.http.routers.phpmyadmin.rule=Host(`phpmyadmin.{{ default "reward.test" .reward_service_domain }}`,`pma.{{ default "reward.test" .reward_service_domain }}`) + - traefik.http.routers.phpmyadmin.rule=Host(`phpmyadmin.{{ default "reward.test" $.reward_service_domain }}`,`pma.{{ default "reward.test" $.reward_service_domain }}`) - traefik.http.services.phpmyadmin.loadbalancer.server.port=80 - dev.reward.container.name=phpmyadmin - dev.reward.environment.name=reward - restart: {{ default "always" .reward_restart_policy }} + restart: {{ default "always" $.reward_restart_policy }} volumes: - /sessions {{ end }} -{{ if isEnabled .reward_adminer }} +{{ if isEnabled $.reward_adminer }} adminer: container_name: adminer - image: {{ default "dehy/adminer" .reward_adminer_image }} + image: {{ default "dehy/adminer" $.reward_adminer_image }} labels: - traefik.enable=true -{{- if .reward_traefik_allow_http }} - - traefik.http.routers.adminer-http.rule=Host(`adminer.{{ default "reward.test" .reward_service_domain }}`) +{{- if $.reward_traefik_allow_http }} + - traefik.http.routers.adminer-http.rule=Host(`adminer.{{ default "reward.test" $.reward_service_domain }}`) - traefik.http.routers.adminer-http.service=adminer + - traefik.http.routers.adminer-http.entrypoints=http + - traefik.http.routers.adminer.entrypoints=https +{{- else }} + - traefik.http.routers.adminer.entrypoints=http,https {{- end }} - traefik.http.routers.adminer.tls=true - - traefik.http.routers.adminer.rule=Host(`adminer.{{ default "reward.test" .reward_service_domain }}`) + - traefik.http.routers.adminer.rule=Host(`adminer.{{ default "reward.test" $.reward_service_domain }}`) - traefik.http.services.adminer.loadbalancer.server.port=8080 - dev.reward.container.name=adminer - dev.reward.environment.name=reward - restart: {{ default "always" .reward_restart_policy }} + restart: {{ default "always" $.reward_restart_policy }} {{ end }} -{{ if isEnabled .reward_elastichq }} +{{ if isEnabled $.reward_elastichq }} elastichq: container_name: elastichq - image: {{ default "elastichq/elasticsearch-hq" .reward_elastichq_image }} + image: {{ default "elastichq/elasticsearch-hq" $.reward_elastichq_image }} labels: - traefik.enable=true -{{- if .reward_traefik_allow_http }} - - traefik.http.routers.elastichq-http.rule=Host(`elastichq.{{ default "reward.test" .reward_service_domain }}`) +{{- if $.reward_traefik_allow_http }} + - traefik.http.routers.elastichq-http.rule=Host(`elastichq.{{ default "reward.test" $.reward_service_domain }}`) - traefik.http.routers.elastichq-http.service=elastichq + - traefik.http.routers.elastichq-http.entrypoints=http + - traefik.http.routers.elastichq.entrypoints=https +{{- else }} + - traefik.http.routers.elastichq.entrypoints=http,https {{- end }} - traefik.http.routers.elastichq.tls=true - - traefik.http.routers.elastichq.rule=Host(`elastichq.{{ default "reward.test" .reward_service_domain }}`) + - traefik.http.routers.elastichq.rule=Host(`elastichq.{{ default "reward.test" $.reward_service_domain }}`) - traefik.http.services.elastichq.loadbalancer.server.port=5000 - dev.reward.container.name=elastichq - dev.reward.environment.name=reward - restart: {{ default "always" .reward_restart_policy }} + restart: {{ default "always" $.reward_restart_policy }} {{ end }} -{{ if isEnabled .reward_tunnel }} +{{ if isEnabled $.reward_tunnel }} tunnel: container_name: tunnel - image: {{ default "docker.io/rewardenv/sshd" .reward_tunnel_image }} + image: {{ default "docker.io/rewardenv/sshd" $.reward_tunnel_image }} labels: - dev.reward.container.name=tunnel - dev.reward.environment.name=reward ports: - - "{{ default "0.0.0.0" .reward_tunnel_listen }}:{{ default "2222" .reward_tunnel_port }}:{{ default "22" .reward_tunnel_internal_port }}" + - "{{ default "0.0.0.0" $.reward_tunnel_listen }}:{{ default "2222" $.reward_tunnel_port }}:{{ default "22" $.reward_tunnel_internal_port }}" volumes: - ./tunnel/ssh_key.pub:/etc/authorized_keys/user - sshd_keys:/etc/ssh/keys @@ -201,16 +224,16 @@ services: - SSH_USERS=user:2000:2000 - TCP_FORWARDING=true - restart: {{ default "always" .reward_restart_policy }} + restart: {{ default "always" $.reward_restart_policy }} {{ end }} -{{ if or ( isEnabled .reward_portainer ) ( isEnabled .reward_tunnel ) }} +{{ if or ( isEnabled $.reward_portainer ) ( isEnabled $.reward_tunnel ) }} volumes: {{ end }} -{{ if isEnabled .reward_portainer }} +{{ if isEnabled $.reward_portainer }} portainer: {{ end }} -{{ if isEnabled .reward_tunnel }} +{{ if isEnabled $.reward_tunnel }} sshd_keys: {{ end }} diff --git a/assets/templates/docker-compose/environments/generic-php/generic-php.base.yml b/assets/templates/docker-compose/environments/generic-php/generic-php.base.yml index 56afd010..9e59c05d 100644 --- a/assets/templates/docker-compose/environments/generic-php/generic-php.base.yml +++ b/assets/templates/docker-compose/environments/generic-php/generic-php.base.yml @@ -7,6 +7,6 @@ services: php-debug: {} -{{- if ( default false .reward_spx ) }} +{{- if ( default false $.reward_spx ) }} php-spx: { } {{- end }} diff --git a/assets/templates/docker-compose/environments/includes/allure.base.yml b/assets/templates/docker-compose/environments/includes/allure.base.yml index 92de83fa..8f4091cb 100644 --- a/assets/templates/docker-compose/environments/includes/allure.base.yml +++ b/assets/templates/docker-compose/environments/includes/allure.base.yml @@ -2,24 +2,24 @@ services: allure: - hostname: "{{ .reward_env_name }}-allure" + hostname: "{{ $.reward_env_name }}-allure" image: frankescobar/allure-docker-service:latest labels: - traefik.enable=true -{{- if .reward_traefik_allow_http }} - - traefik.http.routers.{{ .reward_env_name }}-allure-http.rule=Host(`allure.{{ .traefik_domain }}`) - - traefik.http.routers.{{ .reward_env_name }}-allure-http.service={{ .reward_env_name }}-allure +{{- if $.reward_traefik_allow_http }} + - traefik.http.routers.{{ $.reward_env_name }}-allure-http.rule=Host(`allure.{{ $.traefik_domain }}`) + - traefik.http.routers.{{ $.reward_env_name }}-allure-http.service={{ $.reward_env_name }}-allure {{- end }} - - traefik.http.routers.{{ .reward_env_name }}-allure.tls=true - - traefik.http.routers.{{ .reward_env_name }}-allure.rule=Host(`allure.{{ .traefik_domain }}`) - - traefik.http.services.{{ .reward_env_name }}-allure.loadbalancer.server.port=4040 - - traefik.docker.network={{ .reward_env_name }} + - traefik.http.routers.{{ $.reward_env_name }}-allure.tls=true + - traefik.http.routers.{{ $.reward_env_name }}-allure.rule=Host(`allure.{{ $.traefik_domain }}`) + - traefik.http.services.{{ $.reward_env_name }}-allure.loadbalancer.server.port=4040 + - traefik.docker.network={{ $.reward_env_name }} - dev.reward.container.name=allure - - dev.reward.environment.name={{ .reward_env_name }} + - dev.reward.environment.name={{ $.reward_env_name }} # TODO; configure the Allure API; these rules result in allure sub-domain no longer routing - # - traefik.http.routers.{{ .reward_env_name }}-allure-api.tls=true - # - traefik.http.routers.{{ .reward_env_name }}-allure-api.rule=Host(`allure-api.{{ .traefik_domain }}`) - # - traefik.http.services.{{ .reward_env_name }}-allure-api.loadbalancer.server.port=5050 + # - traefik.http.routers.{{ $.reward_env_name }}-allure-api.tls=true + # - traefik.http.routers.{{ $.reward_env_name }}-allure-api.rule=Host(`allure-api.{{ $.traefik_domain }}`) + # - traefik.http.services.{{ $.reward_env_name }}-allure-api.loadbalancer.server.port=5050 volumes: - allure-results:/app/allure-results environment: @@ -34,7 +34,7 @@ services: volumes: - allure-results:/var/allure-results -{{- if ( default false .reward_spx ) }} +{{- if ( default false $.reward_spx ) }} php-spx: volumes: - allure-results:/var/allure-results diff --git a/assets/templates/docker-compose/environments/includes/blackfire.base.yml b/assets/templates/docker-compose/environments/includes/blackfire.base.yml index 3dbf2cc2..e7ec4f0e 100644 --- a/assets/templates/docker-compose/environments/includes/blackfire.base.yml +++ b/assets/templates/docker-compose/environments/includes/blackfire.base.yml @@ -1,68 +1,67 @@ {{- /* @formatter:off */ -}} x-volumes: &volumes - - {{ .reward_ssl_dir }}/rootca/certs:/etc/ssl/reward-rootca-cert:ro -{{ if isEnabled .reward_shared_composer }} - - {{ .reward_composer_dir }}:/home/www-data/.composer:cached + - {{ $.reward_ssl_dir }}/rootca/certs:/etc/ssl/reward-rootca-cert:ro +{{ if isEnabled $.reward_shared_composer }} + - {{ $.reward_composer_dir }}:/home/www-data/.composer:cached {{ end }} - - .{{ default "" .reward_web_root }}/:/var/www/html:cached + - .{{ default "" $.reward_web_root }}/:/var/www/html:cached x-extra_hosts: &extra_hosts - - {{ .traefik_domain }}:{{ default "0.0.0.0" .traefik_address }} - - {{ default "app" .traefik_subdomain }}.{{ .traefik_domain }}:{{ default "0.0.0.0" .traefik_address }} -{{ if .traefik_extra_hosts }} -{{ $traefik_address := default "0.0.0.0" .traefik_address }} -{{ range (splitList " " .traefik_extra_hosts) }} - - {{ . }}:{{ $traefik_address }} + - {{ $.traefik_domain }}:{{ default "0.0.0.0" $.traefik_address }} + - {{ default "app" $.traefik_subdomain }}.{{ $.traefik_domain }}:{{ default "0.0.0.0" $.traefik_address }} +{{ if $.traefik_extra_hosts }} +{{ range (splitList " " $.traefik_extra_hosts) }} + - {{ . }}:{{ default "0.0.0.0" $.traefik_address }} {{ end }} {{ end }} -{{ $image_repo := default "docker.io/rewardenv" .reward_docker_image_repo -}} -{{- $php_version := default "7.4" .php_version -}} -{{- $php_variant := default "" .reward_svc_php_variant -}} +{{ $image_repo := default "docker.io/rewardenv" $.reward_docker_image_repo -}} +{{- $php_version := default "7.4" $.php_version -}} +{{- $php_variant := default "" $.reward_svc_php_variant -}} {{- $image_suffix := "" -}} -{{- if (default "" .reward_docker_image_base) -}} -{{- $image_suffix = printf "-%s" .reward_docker_image_base -}} +{{- if (default "" $.reward_docker_image_base) -}} +{{- $image_suffix = printf "-%s" $.reward_docker_image_base -}} {{- end -}} -{{- $php_debug_variant := default "" .reward_svc_php_debug_variant -}} +{{- $php_debug_variant := default "" $.reward_svc_php_debug_variant -}} {{- $xdebug_image_tag := "-xdebug3" -}} -{{- if .xdebug_version -}} - {{- $xdebug_image_tag = (printf "-xdebug%s" .xdebug_version) -}} +{{- if $.xdebug_version -}} + {{- $xdebug_image_tag = (printf "-xdebug%s" $.xdebug_version) -}} {{- end }} services: php-blackfire: - hostname: "{{ .reward_env_name }}-php-blackfire" + hostname: "{{ $.reward_env_name }}-php-blackfire" image: {{ $image_repo }}/php-fpm:{{ $php_version }}{{ $php_debug_variant }}-blackfire labels: - dev.reward.container.name=php-blackfire - - dev.reward.environment.name={{ .reward_env_name }} + - dev.reward.environment.name={{ $.reward_env_name }} env_file: - .env environment: - TRAEFIK_DOMAIN - TRAEFIK_SUBDOMAIN - - SSH_AUTH_SOCK={{ default "/tmp/ssh-auth.sock" .ssh_auth_sock_path_env }} - - NODE_VERSION={{ default "16" .node_version }} + - SSH_AUTH_SOCK={{ default "/tmp/ssh-auth.sock" $.ssh_auth_sock_path_env }} + - NODE_VERSION={{ default "16" $.node_version }} - COMPOSER_MEMORY_LIMIT=-1 - COMPOSER_PROCESS_TIMEOUT=3000 - - BLACKFIRE_CLIENT_ID={{ .blackfire_client_id }} - - BLACKFIRE_CLIENT_TOKEN={{ .blackfire_client_token }} + - BLACKFIRE_CLIENT_ID={{ $.blackfire_client_id }} + - BLACKFIRE_CLIENT_TOKEN={{ $.blackfire_client_token }} volumes: *volumes extra_hosts: *extra_hosts depends_on: - php-fpm blackfire-agent: - hostname: "{{ .reward_env_name }}-blackfire-agent" + hostname: "{{ $.reward_env_name }}-blackfire-agent" image: blackfire/blackfire:latest labels: - dev.reward.container.name=blackfire-agent - - dev.reward.environment.name={{ .reward_env_name }} + - dev.reward.environment.name={{ $.reward_env_name }} environment: - - BLACKFIRE_CLIENT_ID={{ .blackfire_client_id }} - - BLACKFIRE_CLIENT_TOKEN={{ .blackfire_client_token }} - - BLACKFIRE_SERVER_ID={{ .blackfire_server_id }} - - BLACKFIRE_SERVER_TOKEN={{ .blackfire_server_token }} + - BLACKFIRE_CLIENT_ID={{ $.blackfire_client_id }} + - BLACKFIRE_CLIENT_TOKEN={{ $.blackfire_client_token }} + - BLACKFIRE_SERVER_ID={{ $.blackfire_server_id }} + - BLACKFIRE_SERVER_TOKEN={{ $.blackfire_server_token }} extra_hosts: *extra_hosts diff --git a/assets/templates/docker-compose/environments/includes/blackfire.linux.yml b/assets/templates/docker-compose/environments/includes/blackfire.linux.yml index 41cafc9c..6ead97ee 100644 --- a/assets/templates/docker-compose/environments/includes/blackfire.linux.yml +++ b/assets/templates/docker-compose/environments/includes/blackfire.linux.yml @@ -3,4 +3,4 @@ services: php-blackfire: volumes: - - {{ default "/dev/null" .ssh_auth_sock }}:/run/host-services/ssh-auth.sock + - {{ default "/dev/null" $.ssh_auth_sock }}:/run/host-services/ssh-auth.sock diff --git a/assets/templates/docker-compose/environments/includes/db.base.yml b/assets/templates/docker-compose/environments/includes/db.base.yml index 429f903d..d4b6d7a5 100644 --- a/assets/templates/docker-compose/environments/includes/db.base.yml +++ b/assets/templates/docker-compose/environments/includes/db.base.yml @@ -6,48 +6,48 @@ services: - db db: - hostname: "{{ .reward_env_name }}-mariadb" - image: {{ default "docker.io/rewardenv" .reward_docker_image_repo }}/mariadb:{{ default "10.4" .mariadb_version }} + hostname: "{{ $.reward_env_name }}-mariadb" + image: {{ default "docker.io/rewardenv" $.reward_docker_image_repo }}/mariadb:{{ default "10.4" $.mariadb_version }} labels: - dev.reward.container.name=db - - dev.reward.environment.name={{ .reward_env_name }} + - dev.reward.environment.name={{ $.reward_env_name }} environment: - - MYSQL_ROOT_PASSWORD={{ default "app" .mysql_root_password }} - - MYSQL_DATABASE={{ default "app" .mysql_database }} - - MYSQL_USER={{ default "app" .mysql_user }} - - MYSQL_PASSWORD={{ default "app" .mysql_password }} + - MYSQL_ROOT_PASSWORD={{ default "app" $.mysql_root_password }} + - MYSQL_DATABASE={{ default "app" $.mysql_database }} + - MYSQL_USER={{ default "app" $.mysql_user }} + - MYSQL_PASSWORD={{ default "app" $.mysql_password }} volumes: - dbdata:/var/lib/mysql -{{- if isEnabled ( default false .mysql_expose ) }} +{{- if isEnabled ( default false $.mysql_expose ) }} ports: - - {{ default 3306 .mysql_expose_target }}:3306 + - {{ default 3306 $.mysql_expose_target }}:3306 {{- end }} command: - mysqld - --max_allowed_packet=1024M - --explicit_defaults_for_timestamp=on -{{ if ge 10.5 (float64 .mariadb_version) }} +{{ if ge 10.5 (float64 $.mariadb_version) }} - --log-bin-trust-function-creators=on {{ end }} -{{ if eq (default "" .mysql_character_set_server) "" }} +{{ if eq (default "" $.mysql_character_set_server) "" }} - --character-set-server=utf8mb4 {{ else }} - - --character-set-server={{ .mysql_character_set_server }} + - --character-set-server={{ $.mysql_character_set_server }} {{ end }} -{{ if eq (default "" .mysql_collation_server) "" }} +{{ if eq (default "" $.mysql_collation_server) "" }} - --collation-server=utf8mb4_unicode_ci {{ else }} - - --collation-server={{ .mysql_collation_server }} + - --collation-server={{ $.mysql_collation_server }} {{ end }} -{{ if ne (default "" .mysql_innodb_buffer_pool_size) "" }} - - --innodb-buffer-pool-size={{ .mysql_innodb_buffer_pool_size }} +{{ if ne (default "" $.mysql_innodb_buffer_pool_size) "" }} + - --innodb-buffer-pool-size={{ $.mysql_innodb_buffer_pool_size }} {{ end }} -{{ if ne (default "" .mysql_args) "" }} -{{ range $v := (splitList " " .mysql_args) }} +{{ if ne (default "" $.mysql_args) "" }} +{{ range $v := (splitList " " $.mysql_args) }} - {{ $v }} {{ end }} {{ end }} -{{ if isEnabled ( default false .mysql_disable_strict_mode ) }} +{{ if isEnabled ( default false $.mysql_disable_strict_mode ) }} - --sql-mode= - --innodb_strict_mode=OFF {{ end }} diff --git a/assets/templates/docker-compose/environments/includes/elasticsearch.base.yml b/assets/templates/docker-compose/environments/includes/elasticsearch.base.yml index 479b5824..8bae6690 100644 --- a/assets/templates/docker-compose/environments/includes/elasticsearch.base.yml +++ b/assets/templates/docker-compose/environments/includes/elasticsearch.base.yml @@ -2,29 +2,33 @@ services: elasticsearch: - hostname: "{{ .reward_env_name }}-elasticsearch" - image: {{ default "docker.io/rewardenv" .reward_docker_image_repo }}/elasticsearch:{{ default "7.16" .elasticsearch_version }} + hostname: "{{ $.reward_env_name }}-elasticsearch" + image: {{ default "docker.io/rewardenv" $.reward_docker_image_repo }}/elasticsearch:{{ default "7.16" $.elasticsearch_version }} labels: - traefik.enable=true -{{- if .reward_traefik_allow_http }} - - traefik.http.routers.{{ .reward_env_name }}-elasticsearch-http.rule=Host(`elasticsearch.{{ .traefik_domain }}`) - - traefik.http.routers.{{ .reward_env_name }}-elasticsearch-http.service={{ .reward_env_name }}-elasticsearch +{{- if $.reward_traefik_allow_http }} + - traefik.http.routers.{{ $.reward_env_name }}-elasticsearch-http.rule=Host(`elasticsearch.{{ $.traefik_domain }}`) + - traefik.http.routers.{{ $.reward_env_name }}-elasticsearch-http.service={{ $.reward_env_name }}-elasticsearch + - traefik.http.routers.{{ $.reward_env_name }}-elasticsearch-http.entrypoints=http + - traefik.http.routers.{{ $.reward_env_name }}-elasticsearch.entrypoints=https +{{- else }} + - traefik.http.routers.{{ $.reward_env_name }}-elasticsearch.entrypoints=http,https {{- end }} - - traefik.http.routers.{{ .reward_env_name }}-elasticsearch.tls=true - - traefik.http.routers.{{ .reward_env_name }}-elasticsearch.rule=Host(`elasticsearch.{{ .traefik_domain }}`) - - traefik.http.services.{{ .reward_env_name }}-elasticsearch.loadbalancer.server.port=9200 - - traefik.docker.network={{ .reward_env_name }} + - traefik.http.routers.{{ $.reward_env_name }}-elasticsearch.tls=true + - traefik.http.routers.{{ $.reward_env_name }}-elasticsearch.rule=Host(`elasticsearch.{{ $.traefik_domain }}`) + - traefik.http.services.{{ $.reward_env_name }}-elasticsearch.loadbalancer.server.port=9200 + - traefik.docker.network={{ $.reward_env_name }} - dev.reward.container.name=elasticsearch - - dev.reward.environment.name={{ .reward_env_name }} + - dev.reward.environment.name={{ $.reward_env_name }} environment: - discovery.type=single-node - xpack.security.enabled=false - - "ES_JAVA_OPTS=-Xms{{ default "64m" .elasticsearch_xms }} -Xmx{{ default "512m" .elasticsearch_xmx }}" + - "ES_JAVA_OPTS=-Xms{{ default "64m" $.elasticsearch_xms }} -Xmx{{ default "512m" $.elasticsearch_xmx }}" volumes: - esdata:/usr/share/elasticsearch/data -{{- if isEnabled ( default false .elasticsearch_expose ) }} +{{- if isEnabled ( default false $.elasticsearch_expose ) }} ports: - - {{ default 9200 .elasticsearch_expose_target }}:9200 + - {{ default 9200 $.elasticsearch_expose_target }}:9200 {{- end }} volumes: diff --git a/assets/templates/docker-compose/environments/includes/mercure.base.yml b/assets/templates/docker-compose/environments/includes/mercure.base.yml index c739e8ee..2853b367 100644 --- a/assets/templates/docker-compose/environments/includes/mercure.base.yml +++ b/assets/templates/docker-compose/environments/includes/mercure.base.yml @@ -1,30 +1,34 @@ {{- /* @formatter:off */ -}} -{{ if isEnabled ( default false .reward_mercure ) }} +{{ if isEnabled ( default false $.reward_mercure ) }} services: mercure: image: dunglas/mercure environment: - SERVER_NAME: {{ default ":80" .mercure_server_name | quote }} - MERCURE_PUBLISHER_JWT_KEY: {{ default "password" .mercure_publisher_jwt_key | quote }} - MERCURE_PUBLISHER_JWT_ALG: {{ default "HS256" .mercure_publisher_jwt_alg | quote }} - MERCURE_SUBSCRIBER_JWT_KEY: {{ default "password" .mercure_subscriber_jwt_key | quote }} - MERCURE_SUBSCRIBER_JWT_ALG: {{ default "HS256" .mercure_subscriber_jwt_alg | quote }} - {{ if ne ( default "" .mercure_extra_directives ) "" }} - MERCURE_EXTRA_DIRECTIVES: {{ default "" .mercure_extra_directives | quote }} + SERVER_NAME: {{ default ":80" $.mercure_server_name | quote }} + MERCURE_PUBLISHER_JWT_KEY: {{ default "password" $.mercure_publisher_jwt_key | quote }} + MERCURE_PUBLISHER_JWT_ALG: {{ default "HS256" $.mercure_publisher_jwt_alg | quote }} + MERCURE_SUBSCRIBER_JWT_KEY: {{ default "password" $.mercure_subscriber_jwt_key | quote }} + MERCURE_SUBSCRIBER_JWT_ALG: {{ default "HS256" $.mercure_subscriber_jwt_alg | quote }} + {{ if ne ( default "" $.mercure_extra_directives ) "" }} + MERCURE_EXTRA_DIRECTIVES: {{ default "" $.mercure_extra_directives | quote }} {{ end }} labels: - traefik.enable=true -{{- if .reward_traefik_allow_http }} - - traefik.http.routers.{{ .reward_env_name }}-mercure-http.rule=Host(`{{ .traefik_domain }}`) && PathPrefix(`/.well-known/mercure`) - - traefik.http.routers.{{ .reward_env_name }}-mercure-http.service={{ .reward_env_name }}-mercure +{{- if $.reward_traefik_allow_http }} + - traefik.http.routers.{{ $.reward_env_name }}-mercure-http.rule=Host(`{{ $.traefik_domain }}`) && PathPrefix(`/.well-known/mercure`) + - traefik.http.routers.{{ $.reward_env_name }}-mercure-http.service={{ $.reward_env_name }}-mercure + - traefik.http.routers.{{ $.reward_env_name }}-mercure-http.entrypoints=http + - traefik.http.routers.{{ $.reward_env_name }}-mercure.entrypoints=https +{{- else }} + - traefik.http.routers.{{ $.reward_env_name }}-mercure.entrypoints=http,https {{- end }} - - traefik.http.routers.{{ .reward_env_name }}-mercure.tls=true - - traefik.http.routers.{{ .reward_env_name }}-mercure.rule=Host(`{{ .traefik_domain }}`) && PathPrefix(`/.well-known/mercure`) - - traefik.http.services.{{ .reward_env_name }}-mercure.loadbalancer.server.port=80 - - traefik.docker.network={{ .reward_env_name }} + - traefik.http.routers.{{ $.reward_env_name }}-mercure.tls=true + - traefik.http.routers.{{ $.reward_env_name }}-mercure.rule=Host(`{{ $.traefik_domain }}`) && PathPrefix(`/.well-known/mercure`) + - traefik.http.services.{{ $.reward_env_name }}-mercure.loadbalancer.server.port=80 + - traefik.docker.network={{ $.reward_env_name }} - dev.reward.container.name=mercure - - dev.reward.environment.name={{ .reward_env_name }} + - dev.reward.environment.name={{ $.reward_env_name }} hostname: mercure ports: - 80 diff --git a/assets/templates/docker-compose/environments/includes/networks.base.yml b/assets/templates/docker-compose/environments/includes/networks.base.yml index c630727a..727eb38b 100644 --- a/assets/templates/docker-compose/environments/includes/networks.base.yml +++ b/assets/templates/docker-compose/environments/includes/networks.base.yml @@ -2,7 +2,7 @@ networks: default: - name: {{ .reward_env_name }} + name: {{ $.reward_env_name }} labels: - - dev.reward.environment.name={{ .reward_env_name }} - - dev.reward.environment.type={{ .reward_env_type }} + - dev.reward.environment.name={{ $.reward_env_name }} + - dev.reward.environment.type={{ $.reward_env_type }} diff --git a/assets/templates/docker-compose/environments/includes/nginx.base.yml b/assets/templates/docker-compose/environments/includes/nginx.base.yml index ecea1f52..bb16f44a 100644 --- a/assets/templates/docker-compose/environments/includes/nginx.base.yml +++ b/assets/templates/docker-compose/environments/includes/nginx.base.yml @@ -1,31 +1,42 @@ {{- /* @formatter:off */ -}} -{{ if not ( isEnabled ( default false .reward_single_web_container )) }} +{{ if not ( isEnabled ( default false $.reward_single_web_container )) }} services: nginx: - hostname: "{{ .reward_env_name }}-nginx" - image: {{ default "docker.io/rewardenv" .reward_docker_image_repo }}/nginx:{{ default "1.18" .nginx_version }} + hostname: "{{ $.reward_env_name }}-nginx" + image: {{ default "docker.io/rewardenv" $.reward_docker_image_repo }}/nginx:{{ default "1.18" $.nginx_version }} env_file: - .env labels: - traefik.enable=true -{{- if .reward_traefik_allow_http }} - - traefik.http.routers.{{ .reward_env_name }}-nginx-http.priority=2 - - traefik.http.routers.{{ .reward_env_name }}-nginx-http.rule= - HostRegexp(`{subdomain:.+}.{{ .traefik_domain }}`) || Host(`{{ .traefik_domain }}`) - - traefik.http.routers.{{ .reward_env_name }}-nginx-http.service={{ .reward_env_name }}-nginx +{{- if $.reward_traefik_allow_http }} + - traefik.http.routers.{{ $.reward_env_name }}-nginx-http.priority=2 + - traefik.http.routers.{{ $.reward_env_name }}-nginx-http.rule= + HostRegexp(`{subdomain:.+}.{{ $.traefik_domain }}`) || Host(`{{ $.traefik_domain }}`) + - traefik.http.routers.{{ $.reward_env_name }}-nginx-http.service={{ $.reward_env_name }}-nginx + - traefik.http.routers.{{ $.reward_env_name }}-nginx-http.entrypoints=http + - traefik.http.routers.{{ $.reward_env_name }}-nginx.entrypoints=https +{{- else }} + - traefik.http.routers.{{ $.reward_env_name }}-nginx.entrypoints=http,https {{- end }} - - traefik.http.routers.{{ .reward_env_name }}-nginx.tls=true - - traefik.http.routers.{{ .reward_env_name }}-nginx.priority=2 - - traefik.http.routers.{{ .reward_env_name }}-nginx.rule= - HostRegexp(`{subdomain:.+}.{{ .traefik_domain }}`) || Host(`{{ .traefik_domain }}`) {{ if .traefik_extra_hosts }} || {{$first := true}}{{ range (splitList " " .traefik_extra_hosts) }}{{ if $first }}{{ $first = false }}{{ else }} || {{ end }}Host(`{{ . }}`){{ end }}{{ end }} - - traefik.http.services.{{ .reward_env_name }}-nginx.loadbalancer.server.port=80 - - traefik.docker.network={{ .reward_env_name }} + - traefik.http.routers.{{ $.reward_env_name }}-nginx.tls=true + - traefik.http.routers.{{ $.reward_env_name }}-nginx.priority=2 + - traefik.http.routers.{{ $.reward_env_name }}-nginx.rule= + HostRegexp(`{subdomain:.+}.{{ $.traefik_domain }}`) || Host(`{{ $.traefik_domain }}`) {{ if $.traefik_extra_hosts }} || {{$first := true}}{{ range (splitList " " $.traefik_extra_hosts) }}{{ if $first }}{{ $first = false }}{{ else }} || {{ end }}Host(`{{ . }}`){{ end }}{{ end }} + - traefik.http.services.{{ $.reward_env_name }}-nginx.loadbalancer.server.port=80 +{{- if $.reward_traefik_custom_headers }} + - traefik.http.routers.{{ $.reward_env_name }}-nginx.middlewares={{ $.reward_env_name }}-nginx +{{- range $key, $value := (parseKV $.reward_traefik_custom_headers) }} + - traefik.http.middlewares.{{ $.reward_env_name }}-nginx.headers.customrequestheaders.{{ $key }}={{ $value }} + - traefik.http.middlewares.{{ $.reward_env_name }}-nginx.headers.customrequestheaders.{{ $key }}={{ $value }} +{{- end }} +{{- end }} + - traefik.docker.network={{ $.reward_env_name }} - dev.reward.container.name=nginx - - dev.reward.environment.name={{ .reward_env_name }} + - dev.reward.environment.name={{ $.reward_env_name }} volumes: - - .{{ default "" .reward_web_root }}/:/var/www/html:cached - - ./{{ default ".reward/nginx" .nginx_custom_configs_path }}:/etc/nginx/snippets + - .{{ default "" $.reward_web_root }}/:/var/www/html:cached + - ./{{ default ".reward/nginx" $.nginx_custom_configs_path }}:/etc/nginx/snippets environment: - XDEBUG_CONNECT_BACK_HOST=${XDEBUG_CONNECT_BACK_HOST:-''} {{ end }} diff --git a/assets/templates/docker-compose/environments/includes/nginx.darwin.yml b/assets/templates/docker-compose/environments/includes/nginx.darwin.yml index 8732ba54..3bf8335c 100644 --- a/assets/templates/docker-compose/environments/includes/nginx.darwin.yml +++ b/assets/templates/docker-compose/environments/includes/nginx.darwin.yml @@ -1,8 +1,8 @@ {{- /* @formatter:off */ -}} -{{ if not ( isEnabled ( default false .reward_single_web_container )) }} +{{ if not ( isEnabled ( default false $.reward_single_web_container )) }} services: nginx: environment: - - XDEBUG_CONNECT_BACK_HOST={{ default "host.docker.internal" .xdebug_connect_back_host }} + - XDEBUG_CONNECT_BACK_HOST={{ default "host.docker.internal" $.xdebug_connect_back_host }} {{ end }} diff --git a/assets/templates/docker-compose/environments/includes/nginx.windows.yml b/assets/templates/docker-compose/environments/includes/nginx.windows.yml index 8732ba54..3bf8335c 100644 --- a/assets/templates/docker-compose/environments/includes/nginx.windows.yml +++ b/assets/templates/docker-compose/environments/includes/nginx.windows.yml @@ -1,8 +1,8 @@ {{- /* @formatter:off */ -}} -{{ if not ( isEnabled ( default false .reward_single_web_container )) }} +{{ if not ( isEnabled ( default false $.reward_single_web_container )) }} services: nginx: environment: - - XDEBUG_CONNECT_BACK_HOST={{ default "host.docker.internal" .xdebug_connect_back_host }} + - XDEBUG_CONNECT_BACK_HOST={{ default "host.docker.internal" $.xdebug_connect_back_host }} {{ end }} diff --git a/assets/templates/docker-compose/environments/includes/node.base.yml b/assets/templates/docker-compose/environments/includes/node.base.yml index 4be836bf..91973925 100644 --- a/assets/templates/docker-compose/environments/includes/node.base.yml +++ b/assets/templates/docker-compose/environments/includes/node.base.yml @@ -1,38 +1,41 @@ {{- /* @formatter:off */ -}} x-extra_hosts: &extra_hosts - - {{ .traefik_domain }}:{{ default "0.0.0.0" .traefik_address }} - - {{ default "app" .traefik_subdomain }}.{{ .traefik_domain }}:{{ default "0.0.0.0" .traefik_address }} -{{ if .traefik_extra_hosts }} -{{ $traefik_address := default "0.0.0.0" .traefik_address }} -{{ range (splitList " " .traefik_extra_hosts) }} - - {{ . }}:{{ $traefik_address }} + - {{ $.traefik_domain }}:{{ default "0.0.0.0" $.traefik_address }} + - {{ default "app" $.traefik_subdomain }}.{{ $.traefik_domain }}:{{ default "0.0.0.0" $.traefik_address }} +{{ if $.traefik_extra_hosts }} +{{ range (splitList " " $.traefik_extra_hosts) }} + - {{ . }}:{{ default "0.0.0.0" $.traefik_address }} {{ end }} {{ end }} services: node: - hostname: "{{ .reward_env_name }}-node" - image: {{ default "docker.io/rewardenv" .reward_docker_image_repo }}/node:{{ default "16" .node_version }} + hostname: "{{ $.reward_env_name }}-node" + image: {{ default "docker.io/rewardenv" $.reward_docker_image_repo }}/node:{{ default "16" $.node_version }} env_file: - .env labels: - traefik.enable=true - - traefik.http.routers.{{ .reward_env_name }}-node.tls=true -{{- if .reward_traefik_allow_http }} - - traefik.http.routers.{{ .reward_env_name }}-node-http.priority=2 - - traefik.http.routers.{{ .reward_env_name }}-node-http.rule= - HostRegexp(`{subdomain:.+}.{{ .traefik_domain }}`) || Host(`{{ .traefik_domain }}`) - - traefik.http.routers.{{ .reward_env_name }}-node-http.service={{ .reward_env_name }}-node + - traefik.http.routers.{{ $.reward_env_name }}-node.tls=true +{{- if $.reward_traefik_allow_http }} + - traefik.http.routers.{{ $.reward_env_name }}-node-http.priority=2 + - traefik.http.routers.{{ $.reward_env_name }}-node-http.rule= + HostRegexp(`{subdomain:.+}.{{ $.traefik_domain }}`) || Host(`{{ $.traefik_domain }}`) + - traefik.http.routers.{{ $.reward_env_name }}-node-http.service={{ $.reward_env_name }}-node + - traefik.http.routers.{{ $.reward_env_name }}-node-http.entrypoints=http + - traefik.http.routers.{{ $.reward_env_name }}-node.entrypoints=https +{{- else }} + - traefik.http.routers.{{ $.reward_env_name }}-node.entrypoints=http,https {{- end }} - - traefik.http.routers.{{ .reward_env_name }}-node.priority=2 - - traefik.http.routers.{{ .reward_env_name }}-node.rule= - HostRegexp(`{subdomain:.+}.{{ .traefik_domain }}`) || Host(`{{ .traefik_domain }}`) - - traefik.http.services.{{ .reward_env_name }}-node.loadbalancer.server.port=8000 - - traefik.docker.network={{ .reward_env_name }} + - traefik.http.routers.{{ $.reward_env_name }}-node.priority=2 + - traefik.http.routers.{{ $.reward_env_name }}-node.rule= + HostRegexp(`{subdomain:.+}.{{ $.traefik_domain }}`) || Host(`{{ $.traefik_domain }}`) + - traefik.http.services.{{ $.reward_env_name }}-node.loadbalancer.server.port=8000 + - traefik.docker.network={{ $.reward_env_name }} - dev.reward.container.name=node - - dev.reward.environment.name={{ .reward_env_name }} + - dev.reward.environment.name={{ $.reward_env_name }} volumes: - - {{ .reward_ssh_dir }}:/home/node/.ssh:cached - - .{{ default "" .reward_web_root }}/:/usr/src/app:cached + - {{ $.reward_ssh_dir }}:/home/node/.ssh:cached + - .{{ default "" $.reward_web_root }}/:/usr/src/app:cached extra_hosts: *extra_hosts diff --git a/assets/templates/docker-compose/environments/includes/opensearch.base.yml b/assets/templates/docker-compose/environments/includes/opensearch.base.yml index 3348db80..90a78a1c 100644 --- a/assets/templates/docker-compose/environments/includes/opensearch.base.yml +++ b/assets/templates/docker-compose/environments/includes/opensearch.base.yml @@ -2,8 +2,8 @@ services: opensearch: - hostname: "{{ .reward_env_name }}-opensearch" - image: {{ default "docker.io/rewardenv" .reward_docker_image_repo }}/opensearch:{{ default "1.2" .opensearch_version }} + hostname: "{{ $.reward_env_name }}-opensearch" + image: {{ default "docker.io/rewardenv" $.reward_docker_image_repo }}/opensearch:{{ default "1.2" $.opensearch_version }} ulimits: memlock: soft: -1 @@ -13,42 +13,50 @@ services: hard: 65536 labels: - traefik.enable=true -{{- if .reward_traefik_allow_http }} - - traefik.http.routers.{{ .reward_env_name }}-opensearch-http.rule=Host(`opensearch.{{ .traefik_domain }}`) - - traefik.http.routers.{{ .reward_env_name }}-opensearch-http.service={{ .reward_env_name }}-opensearch +{{- if $.reward_traefik_allow_http }} + - traefik.http.routers.{{ $.reward_env_name }}-opensearch-http.rule=Host(`opensearch.{{ $.traefik_domain }}`) + - traefik.http.routers.{{ $.reward_env_name }}-opensearch-http.service={{ $.reward_env_name }}-opensearch + - traefik.http.routers.{{ $.reward_env_name }}-opensearch-http.entrypoints=http + - traefik.http.routers.{{ $.reward_env_name }}-opensearch.entrypoints=https +{{- else }} + - traefik.http.routers.{{ $.reward_env_name }}-opensearch.entrypoints=http,https {{- end }} - - traefik.http.routers.{{ .reward_env_name }}-opensearch.tls=true - - traefik.http.routers.{{ .reward_env_name }}-opensearch.rule=Host(`opensearch.{{ .traefik_domain }}`) - - traefik.http.services.{{ .reward_env_name }}-opensearch.loadbalancer.server.port=9200 - - traefik.docker.network={{ .reward_env_name }} + - traefik.http.routers.{{ $.reward_env_name }}-opensearch.tls=true + - traefik.http.routers.{{ $.reward_env_name }}-opensearch.rule=Host(`opensearch.{{ $.traefik_domain }}`) + - traefik.http.services.{{ $.reward_env_name }}-opensearch.loadbalancer.server.port=9200 + - traefik.docker.network={{ $.reward_env_name }} - dev.reward.container.name=opensearch - - dev.reward.environment.name={{ .reward_env_name }} + - dev.reward.environment.name={{ $.reward_env_name }} environment: - discovery.type=single-node - plugins.security.disabled=true - - "ES_JAVA_OPTS=-Xms{{ default "64m" .opensearch_xms }} -Xmx{{ default "512m" .opensearch_xmx }}" + - "ES_JAVA_OPTS=-Xms{{ default "64m" $.opensearch_xms }} -Xmx{{ default "512m" $.opensearch_xmx }}" volumes: - osdata:/usr/share/opensearch/data -{{- if isEnabled ( default false .opensearch_expose ) }} +{{- if isEnabled ( default false $.opensearch_expose ) }} ports: - - {{ default 9200 .opensearch_expose_target }}:9200 + - {{ default 9200 $.opensearch_expose_target }}:9200 {{- end }} -{{ if isEnabled .reward_opensearch_dashboards }} +{{ if isEnabled $.reward_opensearch_dashboards }} opensearch-dashboards: - container_name: "{{ .reward_env_name }}-opensearch-dashboards" - image: {{ default "docker.io/rewardenv" .reward_docker_image_repo }}/opensearch-dashboards:{{ default "1.2" .opensearch_version }} + container_name: "{{ $.reward_env_name }}-opensearch-dashboards" + image: {{ default "docker.io/rewardenv" $.reward_docker_image_repo }}/opensearch-dashboards:{{ default "1.2" $.opensearch_version }} labels: - traefik.enable=true -{{- if .reward_traefik_allow_http }} - - traefik.http.routers.{{ .reward_env_name }}-opensearch-dashboards-http.rule=Host(`opensearch-dashboards.{{ .traefik_domain }}`) - - traefik.http.routers.{{ .reward_env_name }}-opensearch-dashboards-http.service={{ .reward_env_name }}-opensearch-dashboards +{{- if $.reward_traefik_allow_http }} + - traefik.http.routers.{{ $.reward_env_name }}-opensearch-dashboards-http.rule=Host(`opensearch-dashboards.{{ $.traefik_domain }}`) + - traefik.http.routers.{{ $.reward_env_name }}-opensearch-dashboards-http.service={{ $.reward_env_name }}-opensearch-dashboards + - traefik.http.routers.{{ $.reward_env_name }}-opensearch-dashboards-http.entrypoints=http + - traefik.http.routers.{{ $.reward_env_name }}-opensearch-dashboards.entrypoints=https +{{- else }} + - traefik.http.routers.{{ $.reward_env_name }}-opensearch-dashboards.entrypoints=http,https {{- end }} - - traefik.http.routers.{{ .reward_env_name }}-opensearch-dashboards.tls=true - - traefik.http.routers.{{ .reward_env_name }}-opensearch-dashboards.rule=Host(`opensearch-dashboards.{{ .traefik_domain }}`) - - traefik.http.services.{{ .reward_env_name }}-opensearch-dashboards.loadbalancer.server.port=5601 - - traefik.docker.network={{ .reward_env_name }} + - traefik.http.routers.{{ $.reward_env_name }}-opensearch-dashboards.tls=true + - traefik.http.routers.{{ $.reward_env_name }}-opensearch-dashboards.rule=Host(`opensearch-dashboards.{{ $.traefik_domain }}`) + - traefik.http.services.{{ $.reward_env_name }}-opensearch-dashboards.loadbalancer.server.port=5601 + - traefik.docker.network={{ $.reward_env_name }} - dev.reward.container.name=opensearch-dashboards - - dev.reward.environment.name={{ .reward_env_name }} + - dev.reward.environment.name={{ $.reward_env_name }} environment: - OPENSEARCH_HOSTS=["http://opensearch:9200"] {{ end }} diff --git a/assets/templates/docker-compose/environments/includes/php-fpm.base.yml b/assets/templates/docker-compose/environments/includes/php-fpm.base.yml index 7c5049cf..af91865c 100644 --- a/assets/templates/docker-compose/environments/includes/php-fpm.base.yml +++ b/assets/templates/docker-compose/environments/includes/php-fpm.base.yml @@ -1,186 +1,237 @@ {{- /* @formatter:off */ -}} x-volumes: &volumes - - {{ .reward_ssl_dir }}/rootca/certs:/etc/ssl/reward-rootca-cert:ro -{{ if isEnabled .reward_shared_composer }} - - {{ .reward_composer_dir }}:/home/www-data/.composer:cached -{{ end }} - - .{{ default "" .reward_web_root }}/:/var/www/html:cached -{{ if isEnabled ( default false .reward_single_web_container ) }} - - ./{{ default ".reward/nginx" .nginx_custom_configs_path }}:/etc/nginx/snippets -{{ end }} + - {{ $.reward_ssl_dir }}/rootca/certs:/etc/ssl/reward-rootca-cert:ro +{{- if isEnabled $.reward_shared_composer }} + - {{ $.reward_composer_dir }}:/home/www-data/.composer:cached +{{- end }} + - .{{ default "" $.reward_web_root }}/:/var/www/html:cached +{{- if isEnabled ( default false $.reward_single_web_container ) }} + - ./{{ default ".reward/nginx" $.nginx_custom_configs_path }}:/etc/nginx/snippets +{{- end }} x-extra_hosts: &extra_hosts - "host.docker.internal:host-gateway" - - {{ .traefik_domain }}:{{ default "0.0.0.0" .traefik_address }} - - {{ default "app" .traefik_subdomain }}.{{ .traefik_domain }}:{{ default "0.0.0.0" .traefik_address }} -{{ if .traefik_extra_hosts }} -{{ $traefik_address := default "0.0.0.0" .traefik_address }} -{{ range (splitList " " .traefik_extra_hosts) }} - - {{ . }}:{{ $traefik_address }} -{{ end }} -{{ end }} + - {{ $.traefik_domain }}:{{ default "0.0.0.0" $.traefik_address }} + - {{ default "app" $.traefik_subdomain }}.{{ $.traefik_domain }}:{{ default "0.0.0.0" $.traefik_address }} +{{- if $.traefik_extra_hosts }} +{{- range (splitList " " $.traefik_extra_hosts) }} + - {{ . }}:{{ default "0.0.0.0" $.traefik_address }} +{{- end }} +{{- end }} services: -{{ if not ( isEnabled ( default false .reward_single_web_container )) }} +{{- if not ( isEnabled ( default false $.reward_single_web_container )) }} nginx: depends_on: - php-fpm -{{ end }} +{{- end }} -{{ $image_repo := default "docker.io/rewardenv" .reward_docker_image_repo -}} -{{- $php_version := default "7.4" .php_version -}} -{{- $php_variant := default "" .reward_svc_php_variant -}} +{{- $image_repo := default "docker.io/rewardenv" $.reward_docker_image_repo -}} +{{- $php_version := default "7.4" $.php_version -}} +{{- $php_variant := default "" $.reward_svc_php_variant -}} {{- $image_suffix := "" -}} -{{- if (default "" .reward_docker_image_base) -}} - {{- $image_suffix = printf "-%s" .reward_docker_image_base -}} +{{- if (default "" $.reward_docker_image_base) -}} + {{- $image_suffix = printf "-%s" $.reward_docker_image_base -}} {{- end -}} -{{- $php_debug_variant := default "" .reward_svc_php_debug_variant -}} +{{- $php_debug_variant := default "" $.reward_svc_php_debug_variant -}} {{- $xdebug_image_tag := "-xdebug3" -}} -{{- if .xdebug_version -}} - {{- $xdebug_image_tag = (printf "-xdebug%s" .xdebug_version) -}} +{{- if $.xdebug_version -}} + {{- $xdebug_image_tag = (printf "-xdebug%s" $.xdebug_version) -}} {{- end }} -{{ $reward_env_name := .reward_env_name }} php-fpm: - hostname: "{{ .reward_env_name }}-php-fpm" + hostname: "{{ $.reward_env_name }}-php-fpm" image: {{ $image_repo }}/php-fpm:{{ $php_version }}{{ $php_variant }}{{ $image_suffix }} env_file: - .env environment: - TRAEFIK_DOMAIN - TRAEFIK_SUBDOMAIN - - SSH_AUTH_SOCK={{ default "/tmp/ssh-auth.sock" .ssh_auth_sock_path_env }} - - NODE_VERSION={{ default "16" .node_version }} + - SSH_AUTH_SOCK={{ default "/tmp/ssh-auth.sock" $.ssh_auth_sock_path_env }} + - NODE_VERSION={{ default "16" $.node_version }} - COMPOSER_MEMORY_LIMIT=-1 - COMPOSER_PROCESS_TIMEOUT=3000 -{{ if isEnabled ( default false .reward_single_web_container) }} +{{- if isEnabled ( default false $.reward_single_web_container) }} - XDEBUG_CONNECT_BACK_HOST=${XDEBUG_CONNECT_BACK_HOST:-''} labels: - traefik.enable=true -{{- if .reward_traefik_allow_http }} - - traefik.http.routers.{{ .reward_env_name }}-php-fpm-http.priority=2 - - traefik.http.routers.{{ .reward_env_name }}-php-fpm-http.rule= - HostRegexp(`{subdomain:.+}.{{ .traefik_domain }}`) || Host(`{{ .traefik_domain }}`) - - traefik.http.routers.{{ .reward_env_name }}-php-fpm-http.service={{ .reward_env_name }}-php-fpm -{{- end }} - - traefik.http.routers.{{ .reward_env_name }}-php-fpm.tls=true - - traefik.http.routers.{{ .reward_env_name }}-php-fpm.priority=2 - - traefik.http.routers.{{ .reward_env_name }}-php-fpm.rule= - HostRegexp(`{subdomain:.+}.{{ .traefik_domain }}`) || Host(`{{ .traefik_domain }}`) - - traefik.http.routers.{{ .reward_env_name }}-php-fpm.service={{ .reward_env_name }}-php-fpm - - traefik.http.services.{{ .reward_env_name }}-php-fpm.loadbalancer.server.port={{ default 8080 .reward_single_web_container_port }} - - traefik.docker.network={{ .reward_env_name }} + - traefik.docker.network={{ $.reward_env_name }} +{{- if $.reward_traefik_allow_http }} +{{- if $.reward_traefik_custom_headers }} + - traefik.http.routers.{{ $.reward_env_name }}-php-fpm-http.middlewares={{ $.reward_env_name }}-php-fpm-http +{{- range $key, $value := (parseKV $.reward_traefik_custom_headers) }} + - traefik.http.middlewares.{{ $.reward_env_name }}-php-fpm-http.headers.customrequestheaders.{{ $key }}={{ $value }} + - traefik.http.middlewares.{{ $.reward_env_name }}-php-fpm-http.headers.customrequestheaders.{{ $key }}={{ $value }} +{{- end }} +{{- end }} + - traefik.http.routers.{{ $.reward_env_name }}-php-fpm-http.priority=2 + - traefik.http.routers.{{ $.reward_env_name }}-php-fpm-http.rule= + HostRegexp(`{subdomain:.+}.{{ $.traefik_domain }}`) || Host(`{{ $.traefik_domain }}`) + - traefik.http.routers.{{ $.reward_env_name }}-php-fpm-http.service={{ $.reward_env_name }}-php-fpm + - traefik.http.routers.{{ $.reward_env_name }}-php-fpm-http.entrypoints=http + - traefik.http.routers.{{ $.reward_env_name }}-php-fpm.entrypoints=https +{{- else }} + - traefik.http.routers.{{ $.reward_env_name }}-php-fpm.entrypoints=http,https +{{- end }} +{{- if $.reward_traefik_custom_headers }} + - traefik.http.routers.{{ $.reward_env_name }}-php-fpm.middlewares={{ $.reward_env_name }}-php-fpm +{{- range $key, $value := (parseKV $.reward_traefik_custom_headers) }} + - traefik.http.middlewares.{{ $.reward_env_name }}-php-fpm.headers.customrequestheaders.{{ $key }}={{ $value }} + - traefik.http.middlewares.{{ $.reward_env_name }}-php-fpm.headers.customrequestheaders.{{ $key }}={{ $value }} +{{- end }} +{{- end }} + - traefik.http.routers.{{ $.reward_env_name }}-php-fpm.tls=true + - traefik.http.routers.{{ $.reward_env_name }}-php-fpm.priority=2 + - traefik.http.routers.{{ $.reward_env_name }}-php-fpm.rule= + HostRegexp(`{subdomain:.+}.{{ $.traefik_domain }}`) || Host(`{{ $.traefik_domain }}`) + - traefik.http.routers.{{ $.reward_env_name }}-php-fpm.service={{ $.reward_env_name }}-php-fpm + - traefik.http.services.{{ $.reward_env_name }}-php-fpm.loadbalancer.server.port={{ default 8080 $.reward_single_web_container_port }} + - traefik.docker.network={{ $.reward_env_name }} - dev.reward.container.name=php-fpm - - dev.reward.environment.name={{ .reward_env_name }} -{{ if .reward_http_proxy_ports }} - - traefik.http.routers.{{ .reward_env_name }}-php-fpm-extra-http.tls=false - - traefik.http.routers.{{ .reward_env_name }}-php-fpm-extra-http.entrypoints={{ printf "http-additional-%s" (join ",http-additional-" (splitList "," .reward_http_proxy_ports)) }} - - traefik.http.routers.{{ .reward_env_name }}-php-fpm-extra-http.priority=3 - - traefik.http.routers.{{ .reward_env_name }}-php-fpm-extra-http.rule= - HostRegexp(`{subdomain:.+}.{{ .traefik_domain }}`) || Host(`{{ .traefik_domain }}`) - - traefik.http.routers.{{ .reward_env_name }}-php-fpm-extra-http.service={{ .reward_env_name }}-php-fpm-extra-http -{{ range $i, $v := (splitList "," .reward_http_proxy_ports) }} - - traefik.http.services.{{ $reward_env_name }}-php-fpm-extra-http.loadbalancer.server.port={{ $v }} -{{ end }} -{{ end }} -{{ if .reward_https_proxy_ports }} - - traefik.http.routers.{{ .reward_env_name }}-php-fpm-extra-https.tls=true - - traefik.http.routers.{{ .reward_env_name }}-php-fpm-extra-https.entrypoints={{ printf "https-additional-%s" (join ",https-additional-" (splitList "," .reward_https_proxy_ports)) }} - - traefik.http.routers.{{ .reward_env_name }}-php-fpm-extra-https.priority=3 - - traefik.http.routers.{{ .reward_env_name }}-php-fpm-extra-https.rule= - HostRegexp(`{subdomain:.+}.{{ .traefik_domain }}`) || Host(`{{ .traefik_domain }}`) - - traefik.http.routers.{{ .reward_env_name }}-php-fpm-extra-https.service={{ .reward_env_name }}-php-fpm-extra-https -{{ range $i, $v := (splitList "," .reward_https_proxy_ports) }} - - traefik.http.services.{{ $reward_env_name }}-php-fpm-extra-https.loadbalancer.server.port={{ $v }} -{{ end }} -{{ end }} -{{ else }} + - dev.reward.environment.name={{ $.reward_env_name }} +{{- if $.reward_http_proxy_ports }} +{{- range $i, $v := (splitList "," $.reward_http_proxy_ports) }} +{{- if $.reward_traefik_custom_headers }} + - traefik.http.routers.{{ $.reward_env_name }}-php-fpm-extra-http-{{ $v }}.middlewares={{ $.reward_env_name }}-php-fpm-extra-http-{{ $v }} +{{- range $key, $value := (parseKV $.reward_traefik_custom_headers) }} + - traefik.http.middlewares.{{ $.reward_env_name }}-php-fpm-extra-http-{{ $v }}.headers.customrequestheaders.{{ $key }}={{ $value }} + - traefik.http.middlewares.{{ $.reward_env_name }}-php-fpm-extra-http-{{ $v }}.headers.customrequestheaders.{{ $key }}={{ $value }} +{{- end }} +{{- end }} + - traefik.http.routers.{{ $.reward_env_name }}-php-fpm-extra-http-{{ $v }}.tls=false + - traefik.http.routers.{{ $.reward_env_name }}-php-fpm-extra-http-{{ $v }}.entrypoints={{ printf "http-additional-%s" $v }} + - traefik.http.routers.{{ $.reward_env_name }}-php-fpm-extra-http-{{ $v }}.priority=3 + - traefik.http.routers.{{ $.reward_env_name }}-php-fpm-extra-http-{{ $v }}.rule= + HostRegexp(`{subdomain:.+}.{{ $.traefik_domain }}`) || Host(`{{ $.traefik_domain }}`) + - traefik.http.routers.{{ $.reward_env_name }}-php-fpm-extra-http-{{ $v }}.service={{ $.reward_env_name }}-php-fpm-extra-http + - traefik.http.services.{{ $.reward_env_name }}-php-fpm-extra-http-{{ $v }}.loadbalancer.server.port={{ $v }} + - traefik.http.middlewares.{{ $.reward_env_name }}-php-fpm-extra-http-{{ $v }}.headers.customrequestheaders.hot-reload-mode=1 +{{- end }} +{{- end }} +{{- if $.reward_https_proxy_ports }} +{{- range $i, $v := (splitList "," $.reward_https_proxy_ports) }} +{{- if $.reward_traefik_custom_headers }} + - traefik.http.routers.{{ $.reward_env_name }}-php-fpm-extra-https-{{ $v }}.middlewares={{ $.reward_env_name }}-php-fpm-extra-https-{{ $v }} +{{- range $key, $value := (parseKV $.reward_traefik_custom_headers) }} + - traefik.http.middlewares.{{ $.reward_env_name }}-php-fpm-extra-https-{{ $v }}.headers.customrequestheaders.{{ $key }}={{ $value }} + - traefik.http.middlewares.{{ $.reward_env_name }}-php-fpm-extra-https-{{ $v }}.headers.customrequestheaders.{{ $key }}={{ $value }} +{{- end }} +{{- end }} + - traefik.http.middlewares.{{ $.reward_env_name }}-php-fpm-extra-https-{{ $v }}.headers.customrequestheaders.hot-reload-mode=1 + - traefik.http.routers.{{ $.reward_env_name }}-php-fpm-extra-https-{{ $v }}.tls=true + - traefik.http.routers.{{ $.reward_env_name }}-php-fpm-extra-https-{{ $v }}.entrypoints={{ printf "https-additional-%s" $v }} + - traefik.http.routers.{{ $.reward_env_name }}-php-fpm-extra-https-{{ $v }}.priority=3 + - traefik.http.routers.{{ $.reward_env_name }}-php-fpm-extra-https-{{ $v }}.rule= + HostRegexp(`{subdomain:.+}.{{ $.traefik_domain }}`) || Host(`{{ $.traefik_domain }}`) + - traefik.http.routers.{{ $.reward_env_name }}-php-fpm-extra-https-{{ $v }}.service={{ $.reward_env_name }}-php-fpm-extra-https-{{ $v }} + - traefik.http.routers.{{ $.reward_env_name }}-php-fpm-extra-https-{{ $v }}.middlewares={{ $.reward_env_name }}-php-fpm-extra-https-{{ $v }} + - traefik.http.services.{{ $.reward_env_name }}-php-fpm-extra-https-{{ $v }}.loadbalancer.server.port={{ $v }} +{{- end }} +{{- end }} +{{- else }} labels: - dev.reward.container.name=php-fpm - - dev.reward.environment.name={{ .reward_env_name }} -{{ if ( or .reward_http_proxy_ports .reward_https_proxy_ports ) }} + - dev.reward.environment.name={{ $.reward_env_name }} +{{- if ( or $.reward_http_proxy_ports $.reward_https_proxy_ports ) }} - traefik.enable=true -{{ end }} + - traefik.docker.network={{ $.reward_env_name }} +{{- end }} -{{ if .reward_http_proxy_ports }} - - traefik.http.routers.{{ .reward_env_name }}-php-fpm-extra-http.tls=false - - traefik.http.routers.{{ .reward_env_name }}-php-fpm-extra-http.entrypoints={{ printf "http-additional-%s" (join ",http-additional-" (splitList "," .reward_http_proxy_ports)) }} - - traefik.http.routers.{{ .reward_env_name }}-php-fpm-extra-http.priority=3 - - traefik.http.routers.{{ .reward_env_name }}-php-fpm-extra-http.rule= - ( HostRegexp(`{subdomain:.+}.{{ .traefik_domain }}`) ) || ( Host(`{{ .traefik_domain }}`) ) - - traefik.http.routers.{{ .reward_env_name }}-php-fpm-extra-http.service={{ .reward_env_name }}-php-fpm-extra-http -{{ range $i, $v := (splitList "," .reward_http_proxy_ports) }} - - traefik.http.services.{{ $reward_env_name }}-php-fpm-extra-http.loadbalancer.server.port={{ $v }} -{{ end }} -{{ end }} -{{ if .reward_https_proxy_ports }} - - traefik.http.routers.{{ .reward_env_name }}-php-fpm-extra-https.tls=true - - traefik.http.routers.{{ .reward_env_name }}-php-fpm-extra-https.entrypoints={{ printf "https-additional-%s" (join ",https-additional-" (splitList "," .reward_https_proxy_ports)) }} - - traefik.http.routers.{{ .reward_env_name }}-php-fpm-extra-https.priority=3 - - traefik.http.routers.{{ .reward_env_name }}-php-fpm-extra-https.rule= - ( HostRegexp(`{subdomain:.+}.{{ .traefik_domain }}`) ) || ( Host(`{{ .traefik_domain }}`) ) - - traefik.http.routers.{{ .reward_env_name }}-php-fpm-extra-https.service={{ .reward_env_name }}-php-fpm-extra-https -{{ range $i, $v := (splitList "," .reward_https_proxy_ports) }} - - traefik.http.services.{{ $reward_env_name }}-php-fpm-extra-https.loadbalancer.server.port={{ $v }} -{{ end }} -{{ end }} -{{ end }} -{{ if ( or .reward_http_proxy_ports .reward_https_proxy_ports ) }} +{{- if $.reward_http_proxy_ports }} +{{- range $i, $v := (splitList "," $.reward_http_proxy_ports) }} +{{- if $.reward_traefik_custom_headers }} + - traefik.http.routers.{{ $.reward_env_name }}-php-fpm-extra-http-{{ $v }}.middlewares={{ $.reward_env_name }}-php-fpm-extra-http-{{ $v }} +{{- range $key, $value := (parseKV $.reward_traefik_custom_headers) }} + - traefik.http.middlewares.{{ $.reward_env_name }}-php-fpm-extra-http-{{ $v }}.headers.customrequestheaders.{{ $key }}={{ $value }} + - traefik.http.middlewares.{{ $.reward_env_name }}-php-fpm-extra-http-{{ $v }}.headers.customrequestheaders.{{ $key }}={{ $value }} +{{- end }} +{{- end }} + - traefik.http.routers.{{ $.reward_env_name }}-php-fpm-extra-http-{{ $v }}.tls=false + - traefik.http.routers.{{ $.reward_env_name }}-php-fpm-extra-http-{{ $v }}.entrypoints={{ printf "http-additional-%s" $v }} + - traefik.http.routers.{{ $.reward_env_name }}-php-fpm-extra-http-{{ $v }}.priority=3 + - traefik.http.routers.{{ $.reward_env_name }}-php-fpm-extra-http-{{ $v }}.rule= + ( HostRegexp(`{subdomain:.+}.{{ $.traefik_domain }}`) ) || ( Host(`{{ $.traefik_domain }}`) ) + - traefik.http.routers.{{ $.reward_env_name }}-php-fpm-extra-http-{{ $v }}.service={{ $.reward_env_name }}-php-fpm-extra-http + - traefik.http.services.{{ $.reward_env_name }}-php-fpm-extra-http-{{ $v }}.loadbalancer.server.port={{ $v }} +{{- end }} +{{- end }} +{{- if $.reward_https_proxy_ports }} +{{- range $i, $v := (splitList "," $.reward_https_proxy_ports) }} +{{- if $.reward_traefik_custom_headers }} + - traefik.http.routers.{{ $.reward_env_name }}-php-fpm-extra-https-{{ $v }}.middlewares={{ $.reward_env_name }}-php-fpm-extra-https-{{ $v }} +{{- range $key, $value := (parseKV $.reward_traefik_custom_headers) }} + - traefik.http.middlewares.{{ $.reward_env_name }}-php-fpm-extra-https-{{ $v }}.headers.customrequestheaders.{{ $key }}={{ $value }} + - traefik.http.middlewares.{{ $.reward_env_name }}-php-fpm-extra-https-{{ $v }}.headers.customrequestheaders.{{ $key }}={{ $value }} +{{- end }} +{{- end }} + - traefik.http.routers.{{ $.reward_env_name }}-php-fpm-extra-https-{{ $v }}.tls=true + - traefik.http.routers.{{ $.reward_env_name }}-php-fpm-extra-https-{{ $v }}.entrypoints={{ printf "https-additional-%s" $v }} + - traefik.http.routers.{{ $.reward_env_name }}-php-fpm-extra-https-{{ $v }}.priority=3 + - traefik.http.routers.{{ $.reward_env_name }}-php-fpm-extra-https-{{ $v }}.rule= + ( HostRegexp(`{subdomain:.+}.{{ $.traefik_domain }}`) ) || ( Host(`{{ $.traefik_domain }}`) ) + - traefik.http.routers.{{ $.reward_env_name }}-php-fpm-extra-https-{{ $v }}.service={{ $.reward_env_name }}-php-fpm-extra-https-{{ $v }} + - traefik.http.routers.{{ $.reward_env_name }}-php-fpm-extra-https-{{ $v }}.middlewares={{ $.reward_env_name }}-php-fpm-extra-https-{{ $v }} + - traefik.http.services.{{ $.reward_env_name }}-php-fpm-extra-https-{{ $v }}.loadbalancer.server.port={{ $v }} + - traefik.http.services.{{ $.reward_env_name }}-php-fpm-extra-https-{{ $v }}.loadbalancer.server.port={{ $v }} +{{- end }} +{{- end }} +{{- end }} +{{- if ( or $.reward_http_proxy_ports $.reward_https_proxy_ports ) }} ports: -{{ if .reward_http_proxy_ports }} -{{ range $i, $v := (splitList "," .reward_http_proxy_ports) }} +{{- if $.reward_http_proxy_ports }} +{{- range $i, $v := (splitList "," $.reward_http_proxy_ports) }} - {{ $v }} -{{ end }} -{{ end }} -{{ if .reward_https_proxy_ports }} -{{ range $i, $v := (splitList "," .reward_https_proxy_ports) }} +{{- end }} +{{- end }} +{{- if $.reward_https_proxy_ports }} +{{- range $i, $v := (splitList "," $.reward_https_proxy_ports) }} - {{ $v }} -{{ end }} -{{ end }} -{{ end }} +{{- end }} +{{- end }} +{{- end }} volumes: *volumes extra_hosts: *extra_hosts php-debug: - hostname: "{{ .reward_env_name }}-php-debug" + hostname: "{{ $.reward_env_name }}-php-debug" image: {{ $image_repo }}/php-fpm:{{ $php_version }}{{ $php_debug_variant }}{{ $xdebug_image_tag }} labels: - dev.reward.container.name=php-debug - - dev.reward.environment.name={{ .reward_env_name }} + - dev.reward.environment.name={{ $.reward_env_name }} env_file: - .env environment: - TRAEFIK_DOMAIN - TRAEFIK_SUBDOMAIN - - SSH_AUTH_SOCK={{ default "/tmp/ssh-auth.sock" .ssh_auth_sock_path_env }} - - NODE_VERSION={{ default "16" .node_version }} + - SSH_AUTH_SOCK={{ default "/tmp/ssh-auth.sock" $.ssh_auth_sock_path_env }} + - NODE_VERSION={{ default "16" $.node_version }} - COMPOSER_MEMORY_LIMIT=-1 - COMPOSER_PROCESS_TIMEOUT=3000 - - PHP_IDE_CONFIG=serverName={{ .reward_env_name }}-docker + - PHP_IDE_CONFIG=serverName={{ $.reward_env_name }}-docker volumes: *volumes extra_hosts: *extra_hosts depends_on: - php-fpm -{{- if ( default false .reward_spx ) }} +{{- if ( default false $.reward_spx ) }} php-spx: - hostname: "{{ .reward_env_name }}-php-spx" + hostname: "{{ $.reward_env_name }}-php-spx" image: {{ $image_repo }}/php-fpm:{{ $php_version }}{{ $php_debug_variant }}-spx labels: - dev.reward.container.name=php-spx - - dev.reward.environment.name={{ .reward_env_name }} + - dev.reward.environment.name={{ $.reward_env_name }} env_file: - .env environment: - TRAEFIK_DOMAIN - TRAEFIK_SUBDOMAIN - - SSH_AUTH_SOCK={{ default "/tmp/ssh-auth.sock" .ssh_auth_sock_path_env }} - - NODE_VERSION={{ default "16" .node_version }} + - SSH_AUTH_SOCK={{ default "/tmp/ssh-auth.sock" $.ssh_auth_sock_path_env }} + - NODE_VERSION={{ default "16" $.node_version }} - COMPOSER_MEMORY_LIMIT=-1 - COMPOSER_PROCESS_TIMEOUT=3000 - - PHP_IDE_CONFIG=serverName={{ .reward_env_name }}-docker + - PHP_IDE_CONFIG=serverName={{ $.reward_env_name }}-docker volumes: *volumes extra_hosts: *extra_hosts depends_on: diff --git a/assets/templates/docker-compose/environments/includes/php-fpm.darwin.yml b/assets/templates/docker-compose/environments/includes/php-fpm.darwin.yml index 8ef48e35..271fbf8d 100644 --- a/assets/templates/docker-compose/environments/includes/php-fpm.darwin.yml +++ b/assets/templates/docker-compose/environments/includes/php-fpm.darwin.yml @@ -5,12 +5,12 @@ x-volumes: &volumes services: php-fpm: -{{ if isEnabled ( default false .reward_single_web_container) }} +{{ if isEnabled ( default false $.reward_single_web_container) }} environment: - - XDEBUG_CONNECT_BACK_HOST={{ default "host.docker.internal" .xdebug_connect_back_host }} + - XDEBUG_CONNECT_BACK_HOST={{ default "host.docker.internal" $.xdebug_connect_back_host }} {{ end }} volumes: *volumes php-debug: { volumes: *volumes } -{{- if ( default false .reward_spx ) }} +{{- if ( default false $.reward_spx ) }} php-spx: { volumes: *volumes } {{- end }} diff --git a/assets/templates/docker-compose/environments/includes/php-fpm.linux.yml b/assets/templates/docker-compose/environments/includes/php-fpm.linux.yml index 91fd07a2..06fdc4b2 100644 --- a/assets/templates/docker-compose/environments/includes/php-fpm.linux.yml +++ b/assets/templates/docker-compose/environments/includes/php-fpm.linux.yml @@ -1,11 +1,11 @@ {{- /* @formatter:off */ -}} x-volumes: &volumes - - {{ default "/dev/null" .ssh_auth_sock }}:/run/host-services/ssh-auth.sock + - {{ default "/dev/null" $.ssh_auth_sock }}:/run/host-services/ssh-auth.sock services: php-fpm: { volumes: *volumes } php-debug: { volumes: *volumes } -{{- if ( default false .reward_spx ) }} +{{- if ( default false $.reward_spx ) }} php-spx: { volumes: *volumes } {{- end }} diff --git a/assets/templates/docker-compose/environments/includes/php-fpm.windows.yml b/assets/templates/docker-compose/environments/includes/php-fpm.windows.yml index 6055d685..30a83968 100644 --- a/assets/templates/docker-compose/environments/includes/php-fpm.windows.yml +++ b/assets/templates/docker-compose/environments/includes/php-fpm.windows.yml @@ -5,12 +5,12 @@ x-volumes: &volumes services: php-fpm: -{{ if isEnabled ( default false .reward_single_web_container ) }} +{{ if isEnabled ( default false $.reward_single_web_container ) }} environment: - - XDEBUG_CONNECT_BACK_HOST={{ default "host.docker.internal" .xdebug_connect_back_host }} + - XDEBUG_CONNECT_BACK_HOST={{ default "host.docker.internal" $.xdebug_connect_back_host }} {{ end }} volumes: *volumes php-debug: { volumes: *volumes } -{{- if ( default false .reward_spx ) }} +{{- if ( default false $.reward_spx ) }} php-spx: { volumes: *volumes } {{- end }} diff --git a/assets/templates/docker-compose/environments/includes/rabbitmq.base.yml b/assets/templates/docker-compose/environments/includes/rabbitmq.base.yml index 7c6c53c4..532714e7 100644 --- a/assets/templates/docker-compose/environments/includes/rabbitmq.base.yml +++ b/assets/templates/docker-compose/environments/includes/rabbitmq.base.yml @@ -2,25 +2,29 @@ services: rabbitmq: - hostname: "{{ .reward_env_name }}-rabbitmq" - image: {{ default "docker.io/rewardenv" .reward_docker_image_repo }}/rabbitmq:{{ default "3.8" .rabbitmq_version }} + hostname: "{{ $.reward_env_name }}-rabbitmq" + image: {{ default "docker.io/rewardenv" $.reward_docker_image_repo }}/rabbitmq:{{ default "3.8" $.rabbitmq_version }} labels: - traefik.enable=true -{{- if .reward_traefik_allow_http }} - - traefik.http.routers.{{ .reward_env_name }}-rabbitmq-http.rule=Host(`rabbitmq.{{ .traefik_domain }}`) - - traefik.http.routers.{{ .reward_env_name }}-rabbitmq-http.service={{ .reward_env_name }}-rabbitmq +{{- if $.reward_traefik_allow_http }} + - traefik.http.routers.{{ $.reward_env_name }}-rabbitmq-http.rule=Host(`rabbitmq.{{ $.traefik_domain }}`) + - traefik.http.routers.{{ $.reward_env_name }}-rabbitmq-http.service={{ $.reward_env_name }}-rabbitmq + - traefik.http.routers.{{ $.reward_env_name }}-rabbitmq-http.entrypoints=http + - traefik.http.routers.{{ $.reward_env_name }}-rabbitmq.entrypoints=https +{{- else }} + - traefik.http.routers.{{ $.reward_env_name }}-rabbitmq.entrypoints=http,https {{- end }} - - traefik.http.routers.{{ .reward_env_name }}-rabbitmq.tls=true - - traefik.http.routers.{{ .reward_env_name }}-rabbitmq.rule=Host(`rabbitmq.{{ .traefik_domain }}`) - - traefik.http.services.{{ .reward_env_name }}-rabbitmq.loadbalancer.server.port=15672 - - traefik.docker.network={{ .reward_env_name }} + - traefik.http.routers.{{ $.reward_env_name }}-rabbitmq.tls=true + - traefik.http.routers.{{ $.reward_env_name }}-rabbitmq.rule=Host(`rabbitmq.{{ $.traefik_domain }}`) + - traefik.http.services.{{ $.reward_env_name }}-rabbitmq.loadbalancer.server.port=15672 + - traefik.docker.network={{ $.reward_env_name }} - dev.reward.container.name=rabbitmq - - dev.reward.environment.name={{ .reward_env_name }} + - dev.reward.environment.name={{ $.reward_env_name }} volumes: - rabbitmq:/var/lib/rabbitmq -{{- if isEnabled ( default false .rabbitmq_expose ) }} +{{- if isEnabled ( default false $.rabbitmq_expose ) }} ports: - - {{ default 5672 .rabbitmq_expose_target }}:5672 + - {{ default 5672 $.rabbitmq_expose_target }}:5672 {{- end }} volumes: diff --git a/assets/templates/docker-compose/environments/includes/redis.base.yml b/assets/templates/docker-compose/environments/includes/redis.base.yml index fcf72e78..8c7f3b76 100644 --- a/assets/templates/docker-compose/environments/includes/redis.base.yml +++ b/assets/templates/docker-compose/environments/includes/redis.base.yml @@ -2,16 +2,16 @@ services: redis: - hostname: "{{ .reward_env_name }}-redis" - image: {{ default "docker.io/rewardenv" .reward_docker_image_repo }}/redis:{{ default "6.0" .redis_version }} + hostname: "{{ $.reward_env_name }}-redis" + image: {{ default "docker.io/rewardenv" $.reward_docker_image_repo }}/redis:{{ default "6.0" $.redis_version }} labels: - dev.reward.container.name=redis - - dev.reward.environment.name={{ .reward_env_name }} + - dev.reward.environment.name={{ $.reward_env_name }} volumes: - redis:/data -{{- if isEnabled ( default false .redis_expose ) }} +{{- if isEnabled ( default false $.redis_expose ) }} ports: - - {{ default 6379 .redis_expose_target }}:6379 + - {{ default 6379 $.redis_expose_target }}:6379 {{- end }} volumes: diff --git a/assets/templates/docker-compose/environments/includes/selenium.base.yml b/assets/templates/docker-compose/environments/includes/selenium.base.yml index 061da966..deca40b5 100644 --- a/assets/templates/docker-compose/environments/includes/selenium.base.yml +++ b/assets/templates/docker-compose/environments/includes/selenium.base.yml @@ -2,14 +2,14 @@ services: selenium: - hostname: {{ .reward_env_name }}_selenium - image: selenium/standalone-chrome{{ default "" .reward_selenium_debug }}:3.8.1 + hostname: {{ $.reward_env_name }}_selenium + image: selenium/standalone-chrome{{ default "" $.reward_selenium_debug }}:3.8.1 labels: - dev.reward.container.name=selenium - - dev.reward.environment.name={{ .reward_env_name }} + - dev.reward.environment.name={{ $.reward_env_name }} extra_hosts: - - {{ .traefik_domain }}:{{ default "0.0.0.0" .traefik_address }} - - {{ default "app" .traefik_subdomain }}.{{ .traefik_domain }}:{{ default "0.0.0.0" .traefik_address }} + - {{ $.traefik_domain }}:{{ default "0.0.0.0" $.traefik_address }} + - {{ default "app" $.traefik_subdomain }}.{{ $.traefik_domain }}:{{ default "0.0.0.0" $.traefik_address }} volumes: - /dev/shm:/dev/shm shm_size: 3gb diff --git a/assets/templates/docker-compose/environments/includes/varnish.base.yml b/assets/templates/docker-compose/environments/includes/varnish.base.yml index 0ec0ad6c..11d11ffe 100644 --- a/assets/templates/docker-compose/environments/includes/varnish.base.yml +++ b/assets/templates/docker-compose/environments/includes/varnish.base.yml @@ -1,33 +1,33 @@ {{- /* @formatter:off */ -}} services: -{{ if not ( eq "pwa-studio" .reward_env_type ) }} -{{ if not ( isEnabled ( default false .reward_single_web_container )) }} +{{ if not ( eq "pwa-studio" $.reward_env_type ) }} +{{ if not ( isEnabled ( default false $.reward_single_web_container )) }} nginx: labels: - traefik.enable=false - - traefik.http.routers.{{ .reward_env_name }}-nginx.priority=2 + - traefik.http.routers.{{ $.reward_env_name }}-nginx.priority=2 {{ else }} php-fpm: labels: - traefik.enable=false - - traefik.http.routers.{{ .reward_env_name }}-php-fpm.priority=2 + - traefik.http.routers.{{ $.reward_env_name }}-php-fpm.priority=2 {{ end }} {{ else }} node: labels: - traefik.enable=false - - traefik.http.routers.{{ .reward_env_name }}-node.priority=2 + - traefik.http.routers.{{ $.reward_env_name }}-node.priority=2 {{ end }} varnish: - hostname: "{{ .reward_env_name }}-varnish" - image: {{ default "docker.io/rewardenv" .reward_docker_image_repo }}/varnish:{{ default "6.0" .varnish_version }} + hostname: "{{ $.reward_env_name }}-varnish" + image: {{ default "docker.io/rewardenv" $.reward_docker_image_repo }}/varnish:{{ default "6.0" $.varnish_version }} env_file: - .env -{{ if not ( eq "pwa-studio" .reward_env_type ) }} -{{ if not ( isEnabled ( default false .reward_single_web_container )) }} -{{ if and ( eq "darwin" .reward_runtime_os ) ( eq "arm64" .reward_runtime_arch ) }} +{{ if not ( eq "pwa-studio" $.reward_env_type ) }} +{{ if not ( isEnabled ( default false $.reward_single_web_container )) }} +{{ if and ( eq "darwin" $.reward_runtime_os ) ( eq "arm64" $.reward_runtime_arch ) }} environment: - VMOD_DYNAMIC_ENABLED=false {{ end }} @@ -36,7 +36,7 @@ services: {{ else }} environment: - BACKEND_HOST=php-fpm -{{ if and ( eq "darwin" .reward_runtime_os ) ( eq "arm64" .reward_runtime_arch ) }} +{{ if and ( eq "darwin" $.reward_runtime_os ) ( eq "arm64" $.reward_runtime_arch ) }} - VMOD_DYNAMIC_ENABLED=false {{ end }} depends_on: @@ -46,7 +46,7 @@ services: environment: - BACKEND_HOST=node - BACKEND_PORT=8000 -{{ if and ( eq "darwin" .reward_runtime_os ) ( eq "arm64" .reward_runtime_arch ) }} +{{ if and ( eq "darwin" $.reward_runtime_os ) ( eq "arm64" $.reward_runtime_arch ) }} - VMOD_DYNAMIC_ENABLED=false {{ end }} depends_on: @@ -54,17 +54,21 @@ services: {{ end }} labels: - traefik.enable=true -{{- if .reward_traefik_allow_http }} - - traefik.http.routers.{{ .reward_env_name }}-varnish-http.priority=9 - - traefik.http.routers.{{ .reward_env_name }}-varnish-http.rule= - HostRegexp(`{subdomain:.+}.{{ .traefik_domain }}`) || Host(`{{ .traefik_domain }}`) - - traefik.http.routers.{{ .reward_env_name }}-varnish-http.service={{ .reward_env_name }}-varnish +{{- if $.reward_traefik_allow_http }} + - traefik.http.routers.{{ $.reward_env_name }}-varnish-http.priority=9 + - traefik.http.routers.{{ $.reward_env_name }}-varnish-http.rule= + HostRegexp(`{subdomain:.+}.{{ $.traefik_domain }}`) || Host(`{{ $.traefik_domain }}`) + - traefik.http.routers.{{ $.reward_env_name }}-varnish-http.service={{ $.reward_env_name }}-varnish + - traefik.http.routers.{{ $.reward_env_name }}-varnish-http.entrypoints=http + - traefik.http.routers.{{ $.reward_env_name }}-varnish.entrypoints=https +{{- else }} + - traefik.http.routers.{{ $.reward_env_name }}-varnish.entrypoints=http,https {{- end }} - - traefik.http.routers.{{ .reward_env_name }}-varnish.tls=true - - traefik.http.routers.{{ .reward_env_name }}-varnish.priority=9 - - traefik.http.routers.{{ .reward_env_name }}-varnish.rule= - HostRegexp(`{subdomain:.+}.{{ .traefik_domain }}`) || Host(`{{ .traefik_domain }}`) {{ if .traefik_extra_hosts }} || {{$first := true}}{{ range (splitList " " .traefik_extra_hosts) }}{{ if $first }}{{ $first = false }}{{ else }} || {{ end }}Host(`{{ . }}`){{ end }}{{ end }} - - traefik.http.services.{{ .reward_env_name }}-varnish.loadbalancer.server.port=80 - - traefik.docker.network={{ .reward_env_name }} + - traefik.http.routers.{{ $.reward_env_name }}-varnish.tls=true + - traefik.http.routers.{{ $.reward_env_name }}-varnish.priority=9 + - traefik.http.routers.{{ $.reward_env_name }}-varnish.rule= + HostRegexp(`{subdomain:.+}.{{ $.traefik_domain }}`) || Host(`{{ $.traefik_domain }}`) {{ if $.traefik_extra_hosts }} || {{$first := true}}{{ range (splitList " " $.traefik_extra_hosts) }}{{ if $first }}{{ $first = false }}{{ else }} || {{ end }}Host(`{{ . }}`){{ end }}{{ end }} + - traefik.http.services.{{ $.reward_env_name }}-varnish.loadbalancer.server.port=80 + - traefik.docker.network={{ $.reward_env_name }} - dev.reward.container.name=varnish - - dev.reward.environment.name={{ .reward_env_name }} + - dev.reward.environment.name={{ $.reward_env_name }} diff --git a/assets/templates/docker-compose/environments/laravel/db.base.yml b/assets/templates/docker-compose/environments/laravel/db.base.yml index 4fd7e586..bd5b22ab 100644 --- a/assets/templates/docker-compose/environments/laravel/db.base.yml +++ b/assets/templates/docker-compose/environments/laravel/db.base.yml @@ -3,7 +3,7 @@ services: db: environment: - - MYSQL_ROOT_PASSWORD={{ default "laravel" .mysql_root_password }} - - MYSQL_DATABASE={{ default "laravel" .mysql_database }} - - MYSQL_USER={{ default "laravel" .mysql_user }} - - MYSQL_PASSWORD={{ default "laravel" .mysql_password }} + - MYSQL_ROOT_PASSWORD={{ default "laravel" $.mysql_root_password }} + - MYSQL_DATABASE={{ default "laravel" $.mysql_database }} + - MYSQL_USER={{ default "laravel" $.mysql_user }} + - MYSQL_PASSWORD={{ default "laravel" $.mysql_password }} diff --git a/assets/templates/docker-compose/environments/magento1/db.base.yml b/assets/templates/docker-compose/environments/magento1/db.base.yml index b5e9945e..89652c32 100644 --- a/assets/templates/docker-compose/environments/magento1/db.base.yml +++ b/assets/templates/docker-compose/environments/magento1/db.base.yml @@ -3,7 +3,7 @@ services: db: environment: - - MYSQL_ROOT_PASSWORD={{ default "magento" .mysql_root_password }} - - MYSQL_DATABASE={{ default "magento" .mysql_database }} - - MYSQL_USER={{ default "magento" .mysql_user }} - - MYSQL_PASSWORD={{ default "magento" .mysql_password }} + - MYSQL_ROOT_PASSWORD={{ default "magento" $.mysql_root_password }} + - MYSQL_DATABASE={{ default "magento" $.mysql_database }} + - MYSQL_USER={{ default "magento" $.mysql_user }} + - MYSQL_PASSWORD={{ default "magento" $.mysql_password }} diff --git a/assets/templates/docker-compose/environments/magento1/magento1.base.yml b/assets/templates/docker-compose/environments/magento1/magento1.base.yml index baab644e..f9ef2539 100644 --- a/assets/templates/docker-compose/environments/magento1/magento1.base.yml +++ b/assets/templates/docker-compose/environments/magento1/magento1.base.yml @@ -13,7 +13,7 @@ services: environment: - MAGE_IS_DEVELOPER_MODE=1 -{{- if ( default false .reward_spx ) }} +{{- if ( default false $.reward_spx ) }} php-spx: environment: - MAGE_IS_DEVELOPER_MODE=1 diff --git a/assets/templates/docker-compose/environments/magento1/magento1.blackfire.darwin.yml b/assets/templates/docker-compose/environments/magento1/magento1.blackfire.darwin.yml index 22bf6427..07e8d312 100644 --- a/assets/templates/docker-compose/environments/magento1/magento1.blackfire.darwin.yml +++ b/assets/templates/docker-compose/environments/magento1/magento1.blackfire.darwin.yml @@ -1,7 +1,7 @@ {{- /* @formatter:off */ -}} x-volumes: &volumes - - .{{ default "" .reward_web_root }}/media:/var/www/html/media:cached + - .{{ default "" $.reward_web_root }}/media:/var/www/html/media:cached - appdata:/var/www/html x-environment: &environment diff --git a/assets/templates/docker-compose/environments/magento1/magento1.blackfire.windows.yml b/assets/templates/docker-compose/environments/magento1/magento1.blackfire.windows.yml index 99df31e5..56ea3314 100644 --- a/assets/templates/docker-compose/environments/magento1/magento1.blackfire.windows.yml +++ b/assets/templates/docker-compose/environments/magento1/magento1.blackfire.windows.yml @@ -1,8 +1,8 @@ {{- /* @formatter:off */ -}} -{{ if isEnabled .reward_sync_enabled }} +{{ if isEnabled $.reward_sync_enabled }} x-volumes: &volumes - - .{{ default "" .reward_web_root }}/media:/var/www/html/media:cached + - .{{ default "" $.reward_web_root }}/media:/var/www/html/media:cached - appdata:/var/www/html {{ end }} diff --git a/assets/templates/docker-compose/environments/magento1/magento1.darwin.yml b/assets/templates/docker-compose/environments/magento1/magento1.darwin.yml index 6abb8abf..e3d01fdf 100644 --- a/assets/templates/docker-compose/environments/magento1/magento1.darwin.yml +++ b/assets/templates/docker-compose/environments/magento1/magento1.darwin.yml @@ -1,7 +1,7 @@ {{- /* @formatter:off */ -}} x-volumes: &volumes - - .{{ default "" .reward_web_root }}/media:/var/www/html/media:cached + - .{{ default "" $.reward_web_root }}/media:/var/www/html/media:cached - appdata:/var/www/html x-environment: &environment @@ -11,7 +11,7 @@ services: nginx: { volumes: *volumes } php-fpm: { volumes: *volumes, environment: *environment } php-debug: { volumes: *volumes, environment: *environment } -{{- if ( default false .reward_spx ) }} +{{- if ( default false $.reward_spx ) }} php-spx: { volumes: *volumes, environment: *environment } {{- end }} diff --git a/assets/templates/docker-compose/environments/magento1/magento1.windows.yml b/assets/templates/docker-compose/environments/magento1/magento1.windows.yml index 4e041177..9555fd33 100644 --- a/assets/templates/docker-compose/environments/magento1/magento1.windows.yml +++ b/assets/templates/docker-compose/environments/magento1/magento1.windows.yml @@ -1,8 +1,8 @@ {{- /* @formatter:off */ -}} -{{ if isEnabled .reward_sync_enabled }} +{{ if isEnabled $.reward_sync_enabled }} x-volumes: &volumes - - .{{ default "" .reward_web_root }}/media:/var/www/html/media:cached + - .{{ default "" $.reward_web_root }}/media:/var/www/html/media:cached - appdata:/var/www/html {{ end }} @@ -13,7 +13,7 @@ services: nginx: { volumes: *volumes } php-fpm: { volumes: *volumes, environment: *environment } php-debug: { volumes: *volumes, environment: *environment } -{{- if ( default false .reward_spx ) }} +{{- if ( default false $.reward_spx ) }} php-spx: { volumes: *volumes, environment: *environment } {{- end }} diff --git a/assets/templates/docker-compose/environments/magento2/db.base.yml b/assets/templates/docker-compose/environments/magento2/db.base.yml index b5e9945e..89652c32 100644 --- a/assets/templates/docker-compose/environments/magento2/db.base.yml +++ b/assets/templates/docker-compose/environments/magento2/db.base.yml @@ -3,7 +3,7 @@ services: db: environment: - - MYSQL_ROOT_PASSWORD={{ default "magento" .mysql_root_password }} - - MYSQL_DATABASE={{ default "magento" .mysql_database }} - - MYSQL_USER={{ default "magento" .mysql_user }} - - MYSQL_PASSWORD={{ default "magento" .mysql_password }} + - MYSQL_ROOT_PASSWORD={{ default "magento" $.mysql_root_password }} + - MYSQL_DATABASE={{ default "magento" $.mysql_database }} + - MYSQL_USER={{ default "magento" $.mysql_user }} + - MYSQL_PASSWORD={{ default "magento" $.mysql_password }} diff --git a/assets/templates/docker-compose/environments/magento2/magento2.base.yml b/assets/templates/docker-compose/environments/magento2/magento2.base.yml index 9574384b..4ef31083 100644 --- a/assets/templates/docker-compose/environments/magento2/magento2.base.yml +++ b/assets/templates/docker-compose/environments/magento2/magento2.base.yml @@ -12,22 +12,33 @@ services: labels: - traefik.enable=true {{- if .reward_traefik_allow_http }} - - traefik.http.routers.{{ .reward_env_name }}-livereload-http.priority=3 - - traefik.http.routers.{{ .reward_env_name }}-livereload-http.rule= - (HostRegexp(`{subdomain:.+}.{{ .traefik_domain }}`) || Host(`{{ .traefik_domain }}`)) + - traefik.http.routers.{{ $.reward_env_name }}-livereload-http.priority=3 + - traefik.http.routers.{{ $.reward_env_name }}-livereload-http.rule= + (HostRegexp(`{subdomain:.+}.{{ $.traefik_domain }}`) || Host(`{{ $.traefik_domain }}`)) && (Path(`/livereload.js`) || Path(`/livereload`)) - - traefik.http.routers.{{ .reward_env_name }}-livereload-http.service={{ .reward_env_name }}-livereload + - traefik.http.routers.{{ $.reward_env_name }}-livereload-http.service={{ $.reward_env_name }}-livereload + - traefik.http.routers.{{ $.reward_env_name }}-livereload-http.entrypoints=http + - traefik.http.routers.{{ $.reward_env_name }}-livereload.entrypoints=https +{{- else }} + - traefik.http.routers.{{ $.reward_env_name }}-livereload.entrypoints=http,https {{- end }} - - traefik.http.routers.{{ .reward_env_name }}-livereload.tls=true - - traefik.http.routers.{{ .reward_env_name }}-livereload.priority=3 - - traefik.http.routers.{{ .reward_env_name }}-livereload.rule= - (HostRegexp(`{subdomain:.+}.{{ .traefik_domain }}`) || Host(`{{ .traefik_domain }}`)) +{{- if $.reward_traefik_custom_headers }} + - traefik.http.routers.{{ $.reward_env_name }}-livereload.middlewares={{ $.reward_env_name }}-livereload +{{- range $key, $value := (parseKV $.reward_traefik_custom_headers) }} + - traefik.http.middlewares.{{ $.reward_env_name }}-livereload.headers.customrequestheaders.{{ $key }}={{ $value }} + - traefik.http.middlewares.{{ $.reward_env_name }}-livereload.headers.customrequestheaders.{{ $key }}={{ $value }} +{{- end }} +{{- end }} + - traefik.http.routers.{{ $.reward_env_name }}-livereload.tls=true + - traefik.http.routers.{{ $.reward_env_name }}-livereload.priority=3 + - traefik.http.routers.{{ $.reward_env_name }}-livereload.rule= + (HostRegexp(`{subdomain:.+}.{{ $.traefik_domain }}`) || Host(`{{ $.traefik_domain }}`)) && (Path(`/livereload.js`) || Path(`/livereload`)) - - traefik.http.routers.{{ .reward_env_name }}-livereload.service={{ .reward_env_name }}-livereload - - traefik.http.services.{{ .reward_env_name }}-livereload.loadbalancer.server.port=35729 - - traefik.docker.network={{ .reward_env_name }} + - traefik.http.routers.{{ $.reward_env_name }}-livereload.service={{ $.reward_env_name }}-livereload + - traefik.http.services.{{ $.reward_env_name }}-livereload.loadbalancer.server.port=35729 + - traefik.docker.network={{ $.reward_env_name }} - dev.reward.container.name=php-fpm - - dev.reward.environment.name={{ .reward_env_name }} + - dev.reward.environment.name={{ $.reward_env_name }} environment: - MAGE_DEBUG_SHOW_ARGS=1 {{ if ( isEnabled ( default false .reward_single_web_container )) }} diff --git a/assets/templates/docker-compose/environments/magento2/magento2.blackfire.darwin.yml b/assets/templates/docker-compose/environments/magento2/magento2.blackfire.darwin.yml index b345032e..fbf12247 100644 --- a/assets/templates/docker-compose/environments/magento2/magento2.blackfire.darwin.yml +++ b/assets/templates/docker-compose/environments/magento2/magento2.blackfire.darwin.yml @@ -1,7 +1,7 @@ {{- /* @formatter:off */ -}} x-volumes: &volumes - - .{{ default "" .reward_web_root }}/pub/media:/var/www/html/pub/media:cached + - .{{ default "" $.reward_web_root }}/pub/media:/var/www/html/pub/media:cached - appdata:/var/www/html x-environment: &environment diff --git a/assets/templates/docker-compose/environments/magento2/magento2.blackfire.windows.yml b/assets/templates/docker-compose/environments/magento2/magento2.blackfire.windows.yml index 3cba0a37..541d43b3 100644 --- a/assets/templates/docker-compose/environments/magento2/magento2.blackfire.windows.yml +++ b/assets/templates/docker-compose/environments/magento2/magento2.blackfire.windows.yml @@ -1,11 +1,11 @@ {{- /* @formatter:off */ -}} x-volumes: &volumes -{{ if isEnabled .reward_sync_enabled }} - - .{{ default "" .reward_web_root }}/pub/media:/var/www/html/pub/media:cached +{{ if isEnabled $.reward_sync_enabled }} + - .{{ default "" $.reward_web_root }}/pub/media:/var/www/html/pub/media:cached - appdata:/var/www/html {{ else }} - - .{{ default "" .reward_web_root }}/:/var/www/html + - .{{ default "" $.reward_web_root }}/:/var/www/html {{ end }} x-environment: &environment diff --git a/assets/templates/docker-compose/environments/magento2/magento2.darwin.yml b/assets/templates/docker-compose/environments/magento2/magento2.darwin.yml index 572094c7..bb8661ce 100644 --- a/assets/templates/docker-compose/environments/magento2/magento2.darwin.yml +++ b/assets/templates/docker-compose/environments/magento2/magento2.darwin.yml @@ -1,19 +1,19 @@ {{- /* @formatter:off */ -}} x-volumes: &volumes - - .{{ default "" .reward_web_root }}/pub/media:/var/www/html/pub/media:cached + - .{{ default "" $.reward_web_root }}/pub/media:/var/www/html/pub/media:cached - appdata:/var/www/html x-environment: &environment - CHOWN_DIR_LIST=pub/media services: -{{ if not ( isEnabled ( default false .reward_single_web_container )) }} +{{ if not ( isEnabled ( default false $.reward_single_web_container )) }} nginx: { volumes: *volumes } {{ end }} php-fpm: { volumes: *volumes, environment: *environment } php-debug: { volumes: *volumes, environment: *environment } -{{- if ( default false .reward_spx ) }} +{{- if ( default false $.reward_spx ) }} php-spx: { volumes: *volumes, environment: *environment } {{- end }} diff --git a/assets/templates/docker-compose/environments/magento2/magento2.magepack.base.yml b/assets/templates/docker-compose/environments/magento2/magento2.magepack.base.yml index d82d99d3..1f495430 100644 --- a/assets/templates/docker-compose/environments/magento2/magento2.magepack.base.yml +++ b/assets/templates/docker-compose/environments/magento2/magento2.magepack.base.yml @@ -2,16 +2,16 @@ services: magepack: - hostname: "{{ .reward_env_name }}-magepack" - image: {{ default "docker.io/rewardenv" .reward_docker_image_repo }}/magepack:{{ default "2.3" .magepack_version }} + hostname: "{{ $.reward_env_name }}-magepack" + image: {{ default "docker.io/rewardenv" $.reward_docker_image_repo }}/magepack:{{ default "2.3" $.magepack_version }} labels: - dev.reward.container.name=magepack - - dev.reward.environment.name={{ .reward_env_name }} + - dev.reward.environment.name={{ $.reward_env_name }} environment: - TRAEFIK_DOMAIN - TRAEFIK_SUBDOMAIN extra_hosts: - - {{ .traefik_domain }}:{{ default "0.0.0.0" .traefik_address }} - - {{ default "app" .traefik_subdomain }}.{{ .traefik_domain }}:{{ default "0.0.0.0" .traefik_address }} + - {{ $.traefik_domain }}:{{ default "0.0.0.0" $.traefik_address }} + - {{ default "app" $.traefik_subdomain }}.{{ $.traefik_domain }}:{{ default "0.0.0.0" $.traefik_address }} depends_on: - php-fpm diff --git a/assets/templates/docker-compose/environments/magento2/magento2.magepack.darwin.yml b/assets/templates/docker-compose/environments/magento2/magento2.magepack.darwin.yml index f5368c11..0495011d 100644 --- a/assets/templates/docker-compose/environments/magento2/magento2.magepack.darwin.yml +++ b/assets/templates/docker-compose/environments/magento2/magento2.magepack.darwin.yml @@ -1,7 +1,7 @@ {{- /* @formatter:off */ -}} x-volumes: &volumes - - .{{ default "" .reward_web_root }}/pub/media:/var/www/html/pub/media:cached + - .{{ default "" $.reward_web_root }}/pub/media:/var/www/html/pub/media:cached - appdata:/var/www/html services: diff --git a/assets/templates/docker-compose/environments/magento2/magento2.magepack.linux.yml b/assets/templates/docker-compose/environments/magento2/magento2.magepack.linux.yml index 67aedfae..48129561 100644 --- a/assets/templates/docker-compose/environments/magento2/magento2.magepack.linux.yml +++ b/assets/templates/docker-compose/environments/magento2/magento2.magepack.linux.yml @@ -1,7 +1,7 @@ {{- /* @formatter:off */ -}} x-volumes: &volumes - - .{{ default "" .reward_web_root }}/:/var/www/html + - .{{ default "" $.reward_web_root }}/:/var/www/html services: magepack: { volumes: *volumes } diff --git a/assets/templates/docker-compose/environments/magento2/magento2.magepack.windows.yml b/assets/templates/docker-compose/environments/magento2/magento2.magepack.windows.yml index fe18808a..9681f855 100644 --- a/assets/templates/docker-compose/environments/magento2/magento2.magepack.windows.yml +++ b/assets/templates/docker-compose/environments/magento2/magento2.magepack.windows.yml @@ -1,11 +1,11 @@ {{- /* @formatter:off */ -}} x-volumes: &volumes -{{ if isEnabled .reward_sync_enabled }} - - .{{ default "" .reward_web_root }}/pub/media:/var/www/html/pub/media:cached +{{ if isEnabled $.reward_sync_enabled }} + - .{{ default "" $.reward_web_root }}/pub/media:/var/www/html/pub/media:cached - appdata:/var/www/html {{ else }} - - .{{ default "" .reward_web_root }}/:/var/www/html + - .{{ default "" $.reward_web_root }}/:/var/www/html {{ end }} services: diff --git a/assets/templates/docker-compose/environments/magento2/magento2.mutagen.yml b/assets/templates/docker-compose/environments/magento2/magento2.mutagen.yml index 62a450e5..5f86b9b4 100644 --- a/assets/templates/docker-compose/environments/magento2/magento2.mutagen.yml +++ b/assets/templates/docker-compose/environments/magento2/magento2.mutagen.yml @@ -30,8 +30,8 @@ sync: permissions: defaultFileMode: "0644" defaultDirectoryMode: "0755" -{{ if isEnabled ( default false .reward_single_web_container ) }} - defaultOwner: "id:{{ default 1000 .reward_uid }}" - defaultGroup: "id:{{ default 1000 .reward_gid }}" +{{ if isEnabled ( default false $.reward_single_web_container ) }} + defaultOwner: "id:{{ default 1000 $.reward_uid }}" + defaultGroup: "id:{{ default 1000 $.reward_gid }}" {{ end }} diff --git a/assets/templates/docker-compose/environments/magento2/magento2.splitdb.checkout.base.yml b/assets/templates/docker-compose/environments/magento2/magento2.splitdb.checkout.base.yml index fc3b5482..00b97795 100644 --- a/assets/templates/docker-compose/environments/magento2/magento2.splitdb.checkout.base.yml +++ b/assets/templates/docker-compose/environments/magento2/magento2.splitdb.checkout.base.yml @@ -9,23 +9,23 @@ services: depends_on: - checkoutdb -{{- if ( default false .reward_spx ) }} +{{- if ( default false $.reward_spx ) }} php-spx: depends_on: - checkoutdb {{- end }} checkoutdb: - hostname: "{{ .reward_env_name }}-checkoutdb" - image: {{ default "docker.io/rewardenv" .reward_docker_image_repo }}/mariadb:{{ default "10.4" .mariadb_version }} + hostname: "{{ $.reward_env_name }}-checkoutdb" + image: {{ default "docker.io/rewardenv" $.reward_docker_image_repo }}/mariadb:{{ default "10.4" $.mariadb_version }} labels: - dev.reward.container.name=checkoutdb - - dev.reward.environment.name={{ .reward_env_name }} + - dev.reward.environment.name={{ $.reward_env_name }} environment: - - MYSQL_ROOT_PASSWORD={{ default "magento" .mysql_root_password }} - - MYSQL_DATABASE={{ default "magento" .mysql_database }} - - MYSQL_USER={{ default "magento" .mysql_user }} - - MYSQL_PASSWORD={{ default "magento" .mysql_password }} + - MYSQL_ROOT_PASSWORD={{ default "magento" $.mysql_root_password }} + - MYSQL_DATABASE={{ default "magento" $.mysql_database }} + - MYSQL_USER={{ default "magento" $.mysql_user }} + - MYSQL_PASSWORD={{ default "magento" $.mysql_password }} command: - mysqld - --max_allowed_packet=1024M diff --git a/assets/templates/docker-compose/environments/magento2/magento2.splitdb.sales.base.yml b/assets/templates/docker-compose/environments/magento2/magento2.splitdb.sales.base.yml index 66c78c2b..b602f5ac 100644 --- a/assets/templates/docker-compose/environments/magento2/magento2.splitdb.sales.base.yml +++ b/assets/templates/docker-compose/environments/magento2/magento2.splitdb.sales.base.yml @@ -9,23 +9,23 @@ services: depends_on: - salesdb -{{- if ( default false .reward_spx ) }} +{{- if ( default false $.reward_spx ) }} php-spx: depends_on: - salesdb {{- end }} salesdb: - hostname: "{{ .reward_env_name }}-salesdb" - image: {{ default "docker.io/rewardenv" .reward_docker_image_repo }}/mariadb:{{ default "10.4" .mariadb_version }} + hostname: "{{ $.reward_env_name }}-salesdb" + image: {{ default "docker.io/rewardenv" $.reward_docker_image_repo }}/mariadb:{{ default "10.4" $.mariadb_version }} labels: - dev.reward.container.name=salesdb - - dev.reward.environment.name={{ .reward_env_name }} + - dev.reward.environment.name={{ $.reward_env_name }} environment: - - MYSQL_ROOT_PASSWORD={{ default "magento" .mysql_root_password }} - - MYSQL_DATABASE={{ default "magento" .mysql_database }} - - MYSQL_USER={{ default "magento" .mysql_user }} - - MYSQL_PASSWORD={{ default "magento" .mysql_password }} + - MYSQL_ROOT_PASSWORD={{ default "magento" $.mysql_root_password }} + - MYSQL_DATABASE={{ default "magento" $.mysql_database }} + - MYSQL_USER={{ default "magento" $.mysql_user }} + - MYSQL_PASSWORD={{ default "magento" $.mysql_password }} command: - mysqld - --max_allowed_packet=1024M diff --git a/assets/templates/docker-compose/environments/magento2/magento2.tests.base.yml b/assets/templates/docker-compose/environments/magento2/magento2.tests.base.yml index 46f5e159..1edb1789 100644 --- a/assets/templates/docker-compose/environments/magento2/magento2.tests.base.yml +++ b/assets/templates/docker-compose/environments/magento2/magento2.tests.base.yml @@ -2,16 +2,16 @@ services: tmp-mysql: - hostname: "{{ .reward_env_name }}-mysql" - image: {{ default "docker.io/rewardenv" .reward_docker_image_repo }}/mysql:5.7 + hostname: "{{ $.reward_env_name }}-mysql" + image: {{ default "docker.io/rewardenv" $.reward_docker_image_repo }}/mysql:5.7 labels: - dev.reward.container.name=tmp-mysql - - dev.reward.environment.name={{ .reward_env_name }} + - dev.reward.environment.name={{ $.reward_env_name }} environment: - - MYSQL_ROOT_PASSWORD={{ default "magento" .mysql_root_password }} + - MYSQL_ROOT_PASSWORD={{ default "magento" $.mysql_root_password }} - MYSQL_DATABASE=magento_integration_tests - - MYSQL_USER={{ default "magento" .mysql_user }} - - MYSQL_PASSWORD={{ default "magento" .mysql_password }} + - MYSQL_USER={{ default "magento" $.mysql_user }} + - MYSQL_PASSWORD={{ default "magento" $.mysql_password }} command: - mysqld - --max_allowed_packet=1024M diff --git a/assets/templates/docker-compose/environments/magento2/magento2.windows.yml b/assets/templates/docker-compose/environments/magento2/magento2.windows.yml index 9df01e59..1dc7801f 100644 --- a/assets/templates/docker-compose/environments/magento2/magento2.windows.yml +++ b/assets/templates/docker-compose/environments/magento2/magento2.windows.yml @@ -1,8 +1,8 @@ {{- /* @formatter:off */ -}} -{{ if isEnabled .reward_sync_enabled }} +{{ if isEnabled $.reward_sync_enabled }} x-volumes: &volumes - - .{{ default "" .reward_web_root }}/pub/media:/var/www/html/pub/media:cached + - .{{ default "" $.reward_web_root }}/pub/media:/var/www/html/pub/media:cached - appdata:/var/www/html {{ end }} @@ -13,7 +13,7 @@ services: nginx: { volumes: *volumes } php-fpm: { volumes: *volumes, environment: *environment } php-debug: { volumes: *volumes, environment: *environment } -{{- if ( default false .reward_spx ) }} +{{- if ( default false $.reward_spx ) }} php-spx: { volumes: *volumes, environment: *environment } {{- end }} diff --git a/assets/templates/docker-compose/environments/pwa-studio/pwa-studio.windows.yml b/assets/templates/docker-compose/environments/pwa-studio/pwa-studio.windows.yml index b5cb8b90..d5221b16 100644 --- a/assets/templates/docker-compose/environments/pwa-studio/pwa-studio.windows.yml +++ b/assets/templates/docker-compose/environments/pwa-studio/pwa-studio.windows.yml @@ -1,6 +1,6 @@ {{- /* @formatter:off */ -}} -{{ if isEnabled .reward_sync_enabled }} +{{ if isEnabled $.reward_sync_enabled }} x-volumes: &volumes - appdata:/var/www/html {{ end }} diff --git a/assets/templates/docker-compose/environments/shopware/db.base.yml b/assets/templates/docker-compose/environments/shopware/db.base.yml index 367f3541..5a2da122 100644 --- a/assets/templates/docker-compose/environments/shopware/db.base.yml +++ b/assets/templates/docker-compose/environments/shopware/db.base.yml @@ -7,11 +7,11 @@ services: aliases: - mysql environment: - MYSQL_DATABASE: {{ default "shopware" .mysql_database }} - MYSQL_ROOT_PASSWORD: {{ default "app" .mysql_root_password }} - MYSQL_USER: {{ default "app" .mysql_user }} - MYSQL_PASSWORD: {{ default "app" .mysql_password }} - DB_AUTO_CREATE_DB: {{ default "shopware shopware_e2e shopware_test" .db_auto_create_db }} + MYSQL_DATABASE: {{ default "shopware" $.mysql_database }} + MYSQL_ROOT_PASSWORD: {{ default "app" $.mysql_root_password }} + MYSQL_USER: {{ default "app" $.mysql_user }} + MYSQL_PASSWORD: {{ default "app" $.mysql_password }} + DB_AUTO_CREATE_DB: {{ default "shopware shopware_e2e shopware_test" $.db_auto_create_db }} DB_AUTO_CREATE_SH: |- if [ -n "$$MYSQL_USER" ] && [ -n "$$DB_AUTO_CREATE_DB" ]; then for MYSQL_DATABASE in $$DB_AUTO_CREATE_DB; do diff --git a/assets/templates/docker-compose/environments/shopware/shopware.darwin.yml b/assets/templates/docker-compose/environments/shopware/shopware.darwin.yml index a953e384..0cb836a2 100644 --- a/assets/templates/docker-compose/environments/shopware/shopware.darwin.yml +++ b/assets/templates/docker-compose/environments/shopware/shopware.darwin.yml @@ -1,7 +1,7 @@ {{- /* @formatter:off */ -}} x-volumes: &volumes - - .{{ default "" .reward_web_root }}/public/media:/var/www/html/public/media:cached + - .{{ default "" $.reward_web_root }}/public/media:/var/www/html/public/media:cached - appdata:/var/www/html x-environment: &environment @@ -11,7 +11,7 @@ services: nginx: { volumes: *volumes } php-fpm: { volumes: *volumes, environment: *environment } php-debug: { volumes: *volumes, environment: *environment } -{{- if ( default false .reward_spx ) }} +{{- if ( default false $.reward_spx ) }} php-spx: { volumes: *volumes, environment: *environment } {{- end }} diff --git a/assets/templates/docker-compose/environments/shopware/shopware.windows.yml b/assets/templates/docker-compose/environments/shopware/shopware.windows.yml index aac8976d..40ab3a1f 100644 --- a/assets/templates/docker-compose/environments/shopware/shopware.windows.yml +++ b/assets/templates/docker-compose/environments/shopware/shopware.windows.yml @@ -1,8 +1,8 @@ {{- /* @formatter:off */ -}} -{{ if isEnabled .reward_sync_enabled }} +{{ if isEnabled $.reward_sync_enabled }} x-volumes: &volumes - - .{{ default "" .reward_web_root }}/public/media:/var/www/html/public/media:cached + - .{{ default "" $.reward_web_root }}/public/media:/var/www/html/public/media:cached - appdata:/var/www/html {{ end }} @@ -13,7 +13,7 @@ services: nginx: { volumes: *volumes } php-fpm: { volumes: *volumes, environment: *environment } php-debug: { volumes: *volumes, environment: *environment } -{{- if ( default false .reward_spx ) }} +{{- if ( default false $.reward_spx ) }} php-spx: { volumes: *volumes, environment: *environment } {{- end }} diff --git a/assets/templates/docker-compose/environments/symfony/db.base.yml b/assets/templates/docker-compose/environments/symfony/db.base.yml index 2adc1095..bc602d39 100644 --- a/assets/templates/docker-compose/environments/symfony/db.base.yml +++ b/assets/templates/docker-compose/environments/symfony/db.base.yml @@ -3,7 +3,7 @@ services: db: environment: - - MYSQL_ROOT_PASSWORD={{ default "symfony" .mysql_root_password }} - - MYSQL_DATABASE={{ default "symfony" .mysql_database }} - - MYSQL_USER={{ default "symfony" .mysql_user }} - - MYSQL_PASSWORD={{ default "symfony" .mysql_password }} + - MYSQL_ROOT_PASSWORD={{ default "symfony" $.mysql_root_password }} + - MYSQL_DATABASE={{ default "symfony" $.mysql_database }} + - MYSQL_USER={{ default "symfony" $.mysql_user }} + - MYSQL_PASSWORD={{ default "symfony" $.mysql_password }} diff --git a/assets/templates/docker-compose/environments/wordpress/db.base.yml b/assets/templates/docker-compose/environments/wordpress/db.base.yml index 4cb83269..19aa5502 100644 --- a/assets/templates/docker-compose/environments/wordpress/db.base.yml +++ b/assets/templates/docker-compose/environments/wordpress/db.base.yml @@ -3,7 +3,7 @@ services: db: environment: - - MYSQL_ROOT_PASSWORD={{ default "wordpress" .mysql_root_password }} - - MYSQL_DATABASE={{ default "wordpress" .mysql_database }} - - MYSQL_USER={{ default "wordpress" .mysql_user }} - - MYSQL_PASSWORD={{ default "wordpress" .mysql_password }} + - MYSQL_ROOT_PASSWORD={{ default "wordpress" $.mysql_root_password }} + - MYSQL_DATABASE={{ default "wordpress" $.mysql_database }} + - MYSQL_USER={{ default "wordpress" $.mysql_user }} + - MYSQL_PASSWORD={{ default "wordpress" $.mysql_password }} diff --git a/assets/templates/docker-compose/environments/wordpress/wordpress.darwin.yml b/assets/templates/docker-compose/environments/wordpress/wordpress.darwin.yml index 161f093c..204c0d35 100644 --- a/assets/templates/docker-compose/environments/wordpress/wordpress.darwin.yml +++ b/assets/templates/docker-compose/environments/wordpress/wordpress.darwin.yml @@ -1,7 +1,7 @@ {{- /* @formatter:off */ -}} x-volumes: &volumes - - .{{ default "" .reward_web_root }}/wp-content/uploads:/var/www/html/wp-content/uploads:cached + - .{{ default "" $.reward_web_root }}/wp-content/uploads:/var/www/html/wp-content/uploads:cached - appdata:/var/www/html x-environment: &environment @@ -11,7 +11,7 @@ services: nginx: { volumes: *volumes } php-fpm: { volumes: *volumes, environment: *environment } php-debug: { volumes: *volumes, environment: *environment } -{{- if ( default false .reward_spx ) }} +{{- if ( default false $.reward_spx ) }} php-spx: { volumes: *volumes, environment: *environment } {{- end }} diff --git a/assets/templates/docker-compose/environments/wordpress/wordpress.windows.yml b/assets/templates/docker-compose/environments/wordpress/wordpress.windows.yml index 983ed8e1..49914654 100644 --- a/assets/templates/docker-compose/environments/wordpress/wordpress.windows.yml +++ b/assets/templates/docker-compose/environments/wordpress/wordpress.windows.yml @@ -1,8 +1,8 @@ {{- /* @formatter:off */ -}} -{{ if isEnabled .reward_sync_enabled }} +{{ if isEnabled $.reward_sync_enabled }} x-volumes: &volumes - - .{{ default "" .reward_web_root }}/wp-content/uploads:/var/www/html/wp-content/uploads:cached + - .{{ default "" $.reward_web_root }}/wp-content/uploads:/var/www/html/wp-content/uploads:cached - appdata:/var/www/html {{ end }} @@ -13,7 +13,7 @@ services: nginx: { volumes: *volumes } php-fpm: { volumes: *volumes, environment: *environment } php-debug: { volumes: *volumes, environment: *environment } -{{- if ( default false .reward_spx ) }} +{{- if ( default false $.reward_spx ) }} php-spx: { volumes: *volumes, environment: *environment } {{- end }} diff --git a/assets/templates/magento1/local.xml b/assets/templates/magento1/local.xml index d2cc1c5b..ae5f7aee 100644 --- a/assets/templates/magento1/local.xml +++ b/assets/templates/magento1/local.xml @@ -1,85 +1,85 @@ - - - - - - - - false - - - - - - - - - - - - - - - 1 - - - - {{- if isEnabled ( default true .reward_redis ) }} - - - redis - 6379 - - 2.5 - - 2 - 2048 - gzip - 1 - 10 - 10 - 10 - 30 - 600 - 60 - 7200 - 0 - 60 - 2592000 - 1 - - - Cm_Cache_Backend_Redis - - redis - 6379 - - 0 - - 0 - 1 - 10 - 0 - 1 - 1 - 20480 - gzip - 0 - - - {{- else }} - - {{- end }} - - - - - - - - - - + + + + + + + + false + + + + + + + + + + + + + + + 1 + + + + {{- if isEnabled ( default true $.reward_redis ) }} + + + redis + 6379 + + 2.5 + + 2 + 2048 + gzip + 1 + 10 + 10 + 10 + 30 + 600 + 60 + 7200 + 0 + 60 + 2592000 + 1 + + + Cm_Cache_Backend_Redis + + redis + 6379 + + 0 + + 0 + 1 + 10 + 0 + 1 + 1 + 20480 + gzip + 0 + + + {{- else }} + + {{- end }} + + + + + + + + + + diff --git a/assets/templates/shopware/.psh.yaml.override b/assets/templates/shopware/.psh.yaml.override index 2a275309..20aaeb68 100644 --- a/assets/templates/shopware/.psh.yaml.override +++ b/assets/templates/shopware/.psh.yaml.override @@ -1,12 +1,12 @@ const: APP_ENV: "dev" - APP_URL: "https://{{ .traefik_domain }}" + APP_URL: "https://{{ $.traefik_domain }}" DB_HOST: "db" DB_NAME: "shopware" DB_USER: "app" DB_PASSWORD: "app" APP_MAILER_URL: "smtp://mailbox:1025" - SHOPWARE_ES_HOSTS: "{{ default "elasticsearch" .shopware_search_host }}:{{ default 9200 .shopware_search_port }}" - SHOPWARE_ES_ENABLED: "{{ default 0 .shopware_search_enabled }}" - SHOPWARE_ES_INDEXING_ENABLED: "{{ default 0 .shopware_search_indexing_enabled }}" + SHOPWARE_ES_HOSTS: "{{ default "elasticsearch" $.shopware_search_host }}:{{ default 9200 $.shopware_search_port }}" + SHOPWARE_ES_ENABLED: "{{ default 0 $.shopware_search_enabled }}" + SHOPWARE_ES_INDEXING_ENABLED: "{{ default 0 $.shopware_search_indexing_enabled }}" SHOPWARE_ES_INDEX_PREFIX: "sw" diff --git a/assets/templates/traefik/traefik.yml b/assets/templates/traefik/traefik.yml index 9e3fc7b1..d588520b 100644 --- a/assets/templates/traefik/traefik.yml +++ b/assets/templates/traefik/traefik.yml @@ -1,6 +1,7 @@ {{- /* @formatter:off */ -}} --- +accessLog: {} api: dashboard: true providers: @@ -12,8 +13,10 @@ providers: exposedByDefault: false entryPoints: http: - address: ":{{ default "80" .reward_traefik_http_internal_port }}" -{{- if not .reward_traefik_allow_http }} + address: ":{{ default "80" $.reward_traefik_http_internal_port }}" + forwardedHeaders: + insecure: true +{{- if not $.reward_traefik_allow_http }} http: redirections: entryPoint: @@ -21,21 +24,27 @@ entryPoints: scheme: https {{- end }} https: - address: ":{{ default "443" .reward_traefik_https_internal_port }}" -{{- if .reward_traefik_bind_additional_http_ports -}} -{{- range $i, $v := .reward_traefik_bind_additional_http_ports }} + address: ":{{ default "443" $.reward_traefik_https_internal_port }}" + forwardedHeaders: + insecure: true +{{- if $.reward_traefik_bind_additional_http_ports -}} +{{- range $i, $v := $.reward_traefik_bind_additional_http_ports }} {{- printf "http-additional-%d:" $v | nindent 2 -}} - {{- printf `address: ":%d"` $v | nindent 4 -}} + {{- printf `address: ":%d"` $v | nindent 4 }} + forwardedHeaders: + insecure: true {{- end -}} {{- end -}} -{{- if .reward_traefik_bind_additional_https_ports -}} -{{- range $i, $v := .reward_traefik_bind_additional_https_ports }} +{{- if $.reward_traefik_bind_additional_https_ports -}} +{{- range $i, $v := $.reward_traefik_bind_additional_https_ports }} {{- printf "https-additional-%d:" $v | nindent 2 -}} - {{- printf `address: ":%d"` $v | nindent 4 -}} + {{- printf `address: ":%d"` $v | nindent 4 }} + forwardedHeaders: + insecure: true {{- end -}} {{- end }} log: - level: info + level: {{ default "info" $.reward_traefik_log_level }} global: checkNewVersion: false sendAnonymousUsage: false diff --git a/assets/templates/wordpress/wp-config.php b/assets/templates/wordpress/wp-config.php index a96cd999..3e7b4571 100644 --- a/assets/templates/wordpress/wp-config.php +++ b/assets/templates/wordpress/wp-config.php @@ -1,22 +1,22 @@