Sylius/.bunnyshell/templates/preview/bunnyshell.yaml
Aris Buzachis d127ae15dc [Bunnyshell] Adjust the workflows for Fork PRs
Signed-off-by: Aris Buzachis <aris.buzachis@bunnyshell.com>
2023-06-30 12:42:49 +03:00

181 lines
6.3 KiB
YAML

kind: Environment
name: 'Sylius'
type: primary
environmentVariables:
MYSQL_DATABASE: sylius
MYSQL_PASSWORD: dbpassword
MYSQL_ROOT_PASSWORD: dbpassword
MYSQL_USER: sylius
SYLIUS_LOAD_FIXTURES: 1
SYMFONY_APP_SECRET: 1324f667e4c73fe96b2c86e5331dea3e
components:
- kind: Application
name: cron
gitRepo: 'https://github.com/Sylius/Sylius.git'
gitBranch: bunnyshell-preview-environments
gitApplicationPath: /
dockerCompose:
build:
context: .
dockerfile: .bunnyshell/docker/php/Dockerfile
target: sylius_php_prod
command: crond -f
environment:
APP_DEBUG: '0'
APP_ENV: prod
APP_SECRET: '{{ env.vars.SYMFONY_APP_SECRET }}'
DATABASE_URL: 'mysql://{{ env.vars.MYSQL_USER }}:{{ env.vars.MYSQL_PASSWORD }}@database/{{ env.vars.MYSQL_DATABASE }}?serverVersion=8.0'
MAILER_DSN: 'smtp://mailhog:1025'
MONOLOG_STREAM_PATH: 'php://stdout'
PHP_DATE_TIMEZONE: UTC
volumes:
- name: public-media
mount: /srv/sylius/public/media
subPath: ''
-
kind: Application
name: php
gitRepo: 'https://github.com/Sylius/Sylius.git'
gitBranch: bunnyshell-preview-environments
gitApplicationPath: /
dockerCompose:
build:
context: .
dockerfile: .bunnyshell/docker/php/Dockerfile
target: sylius_php_prod
command: php-fpm
entrypoint: /usr/local/bin/php-entrypoint
environment:
APP_DEBUG: '0'
APP_ENV: prod
APP_SECRET: '{{ env.vars.SYMFONY_APP_SECRET }}'
DATABASE_URL: 'mysql://{{ env.vars.MYSQL_USER }}:{{ env.vars.MYSQL_PASSWORD }}@database/{{ env.vars.MYSQL_DATABASE }}?serverVersion=8.0'
MAILER_DSN: 'smtp://mailhog:1025'
MONOLOG_STREAM_PATH: 'php://stdout'
PHP_DATE_TIMEZONE: UTC
ports:
- '80:80'
labels:
kompose.service.healthcheck.readiness.test: CMD netstat -tulpn | grep ':9000'"
kompose.service.healthcheck.readiness.interval: 10s
kompose.service.healthcheck.readiness.timeout: 10s
kompose.service.healthcheck.readiness.retries: 6
kompose.service.healthcheck.readiness.start_period: 30s
pod:
init_containers:
-
from: init-migrations
name: init-migrations
shared_paths:
-
path: /srv/sylius
target:
path: /srv/sylius
container: '@parent'
initial_contents: '@target'
sidecar_containers:
-
from: nginx
name: nginx
shared_paths:
-
path: /srv/sylius/public
target:
path: /srv/sylius/public
container: '@parent'
initial_contents: '@target'
hosts:
-
hostname: 'store-{{ env.base_domain }}'
path: /
servicePort: 80
volumes:
-
name: public-media
mount: /srv/sylius/public/media
subPath: ''
-
kind: SidecarContainer
name: nginx
gitRepo: 'https://github.com/Sylius/Sylius.git'
gitBranch: bunnyshell-preview-environments
gitApplicationPath: /
dockerCompose:
build:
context: .
dockerfile: .bunnyshell/docker/nginx/Dockerfile
environment:
NGINX_FPM_BACKEND: 'localhost:9000'
NGINX_RESOLVER_HOSTS: kube-dns.kube-system.svc.cluster.local
ports:
- '80:80'
volumes:
-
name: public-media
mount: /srv/sylius/public/media
subPath: ''
-
kind: InitContainer
name: init-migrations
gitRepo: 'https://github.com/Sylius/Sylius.git'
gitBranch: bunnyshell-preview-environments
gitApplicationPath: /
dockerCompose:
build:
context: .
dockerfile: .bunnyshell/docker/php/Dockerfile
target: sylius_php_prod
entrypoint: /usr/local/bin/migrations-entrypoint
environment:
APP_DEBUG: '0'
APP_ENV: prod
APP_SECRET: '{{ env.vars.SYMFONY_APP_SECRET }}'
BASE_DOMAIN: '{{ components.php.ingress.hosts[0] }}'
DATABASE_URL: 'mysql://{{ env.vars.MYSQL_USER }}:{{ env.vars.MYSQL_PASSWORD }}@database/{{ env.vars.MYSQL_DATABASE }}?serverVersion=8.0'
LOAD_FIXTURES: '{{ env.vars.SYLIUS_LOAD_FIXTURES }}'
MONOLOG_STREAM_PATH: 'php://stdout'
PHP_DATE_TIMEZONE: UTC
volumes:
-
name: public-media
mount: /srv/sylius/public/media
subPath: ''
-
kind: Database
name: database
dockerCompose:
cap_add:
- SYS_NICE
command: '--default-authentication-plugin=mysql_native_password --log_bin_trust_function_creators=1'
image: 'mysql:8.0'
ports:
- '3306:3306'
volumes:
-
name: mysql-data
mount: /var/lib/mysql
subPath: ''
-
kind: Service
name: mailhog
dockerCompose:
environment:
MH_STORAGE: maildir
image: 'mailhog/mailhog:latest'
ports:
- '8025:8025'
- '1025:1025'
hosts:
-
hostname: 'mailhog-{{ env.base_domain }}'
path: /
servicePort: 8025
volumes:
-
name: mysql-data
size: 1Gi
type: disk
-
name: public-media
size: 1Gi
type: network