Skip to content

Commit

Permalink
Open Sourcing 09.08.2024
Browse files Browse the repository at this point in the history
  • Loading branch information
Justin Hesse committed Aug 9, 2024
1 parent 5356ce3 commit b1e1356
Show file tree
Hide file tree
Showing 427 changed files with 53,814 additions and 7,299 deletions.
18 changes: 13 additions & 5 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,18 @@ APP_NAME=Laravel
APP_ENV=local
APP_KEY=
APP_DEBUG=true
APP_URL=http://localhost
APP_URL=http://localhost:8080

LOG_CHANNEL=stack
LOG_DEPRECATIONS_CHANNEL=null
LOG_LEVEL=debug

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=cleema_app
DB_USERNAME=root
DB_PASSWORD=
DB_USERNAME=sail
DB_PASSWORD=password

BROADCAST_DRIVER=log
CACHE_DRIVER=file
Expand All @@ -24,10 +24,11 @@ SESSION_LIFETIME=120

MEMCACHED_HOST=127.0.0.1

REDIS_HOST=127.0.0.1
REDIS_HOST=redis
REDIS_PASSWORD=null
REDIS_PORT=6379

MAIL_URL=smtp://mailpit:1025
MAIL_MAILER=smtp
MAIL_HOST=mailpit
MAIL_PORT=1025
Expand Down Expand Up @@ -57,3 +58,10 @@ VITE_PUSHER_HOST="${PUSHER_HOST}"
VITE_PUSHER_PORT="${PUSHER_PORT}"
VITE_PUSHER_SCHEME="${PUSHER_SCHEME}"
VITE_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"

SCOUT_DRIVER=meilisearch
MEILISEARCH_HOST=http://meilisearch:7700

MEILISEARCH_NO_ANALYTICS=false

IOS_LOCAL_ACCESS_TOKEN=
67 changes: 67 additions & 0 deletions .env.testing
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
APP_NAME=Laravel
APP_ENV=local
APP_KEY=***REMOVED***
APP_DEBUG=true
APP_URL=http://localhost:8080

LOG_CHANNEL=stack
LOG_DEPRECATIONS_CHANNEL=null
LOG_LEVEL=debug

DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=testing
DB_USERNAME=sail
DB_PASSWORD=password

BROADCAST_DRIVER=log
CACHE_DRIVER=file
FILESYSTEM_DISK=local
QUEUE_CONNECTION=sync
SESSION_DRIVER=file
SESSION_LIFETIME=120

MEMCACHED_HOST=127.0.0.1

REDIS_HOST=redis
REDIS_PASSWORD=null
REDIS_PORT=6379

MAIL_URL=smtp://mailpit:1025
MAIL_MAILER=smtp
MAIL_HOST=mailpit
MAIL_PORT=1025
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS="[email protected]"
MAIL_FROM_NAME="${APP_NAME}"

AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=
AWS_USE_PATH_STYLE_ENDPOINT=false

PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_HOST=
PUSHER_PORT=443
PUSHER_SCHEME=https
PUSHER_APP_CLUSTER=mt1

VITE_APP_NAME="${APP_NAME}"
VITE_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
VITE_PUSHER_HOST="${PUSHER_HOST}"
VITE_PUSHER_PORT="${PUSHER_PORT}"
VITE_PUSHER_SCHEME="${PUSHER_SCHEME}"
VITE_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"

SCOUT_DRIVER=meilisearch
MEILISEARCH_HOST=http://meilisearch:7700

MEILISEARCH_NO_ANALYTICS=false

IOS_LOCAL_ACCESS_TOKEN=***REMOVED***
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,5 @@ yarn-error.log
/.idea
/.vscode
/DatabaseDump
/public/uploads
DBDumps/*
110 changes: 110 additions & 0 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
stages:
- test
- build
- deploy

test:
stage: test
services:
- mysql:latest
variables:
DB_HOST: mysql
DB_USERNAME: sail
MYSQL_DATABASE: testing
MYSQL_ROOT_PASSWORD: password
MYSQL_USER: sail
MYSQL_ROOT_HOST: mysql
MYSQL_PASSWORD: password
MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
image: docker-hub.sandstorm.de/docker-infrastructure/php-app/build:8.2-v2
cache:
key: cleema-app__composer
paths:
- .composer-cache
script:
- COMPOSER_CACHE_DIR=.composer-cache composer install --ignore-platform-req=ext-gd
# - vendor/bin/sail up -d --env=testing
- php artisan migrate --env=testing
# ⁄- php artisan db:seed --class=ShieldSeeder --env=testing
# - php artisan test
- vendor/bin/pest

package_app_staging:
stage: build
image: docker-hub.sandstorm.de/docker-infrastructure/php-app/build:8.2-v2
needs:
- test
cache:
key: cleema__composer
paths:
- .composer-cache
script:
- COMPOSER_CACHE_DIR=.composer-cache composer install --no-dev --ignore-platform-req=ext-gd
- npm install
- npm run build

# replaced $CI_REGISTRY_IMAGE with $CI_REGISTRY/$CI_PROJECT_NAME because of invalid path/groupName (contains '.' -> 'cleema.app')
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
- docker pull $CI_REGISTRY_IMAGE:staging || true
- docker build --cache-from $CI_REGISTRY_IMAGE:main -t $CI_REGISTRY_IMAGE:staging -f deployment/staging/Dockerfile .
- docker push $CI_REGISTRY_IMAGE:staging

package_app_production:
stage: build
only:
- tags
image: docker-hub.sandstorm.de/docker-infrastructure/php-app/build:8.2-v2
needs:
- test
cache:
key: cleema__composer
paths:
- .composer-cache
script:
- COMPOSER_CACHE_DIR=.composer-cache composer install --no-dev --ignore-platform-req=ext-gd
- npm install
- npm run build

- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
- docker pull $CI_REGISTRY_IMAGE:production || true
- docker build --cache-from $CI_REGISTRY_IMAGE:production -t $CI_REGISTRY_IMAGE:production -f deployment/production/Dockerfile .
- docker push $CI_REGISTRY_IMAGE:production

deploy_staging:
stage: deploy
when: manual
image:
name: bitnami/kubectl:1.15.0
entrypoint: [ "" ]
needs:
- package_app_staging
#- e2e_test
environment:
name: staging
script:
- export KUBECONFIG=$KUBECONFIG_K3S2021
- kubectl get namespace cleema-app-staging
- kubectl apply -f deployment/staging/database.yaml
- kubectl apply -f deployment/staging/app.yaml
# enforce a redeploy by changing the release identifier
- 'kubectl -n cleema-app-staging patch --type merge OneContainerOnePort app -p "{\"spec\":{\"releaseIdentifier\": \"$CI_JOB_ID\"}}"'

deploy_production:
stage: deploy
only:
- tags
image:
name: bitnami/kubectl:1.15.0
entrypoint: [""]
needs:
- package_app_production
#- e2e_test
environment:
name: production
script:
- export KUBECONFIG=$KUBECONFIG_K3S2021
- kubectl get namespace cleema-app-production
- kubectl apply -f deployment/production/database.yaml
- kubectl apply -f deployment/production/app.yaml
# enforce a redeploy by changing the release identifier
- 'kubectl -n cleema-app-production patch --type merge OneContainerOnePort app -p "{\"spec\":{\"releaseIdentifier\": \"$CI_JOB_ID\"}}"'
Loading

0 comments on commit b1e1356

Please sign in to comment.