generated from ConductionNL/Proto-component-commonground
-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #9 from ConductionNL/staging
update
- Loading branch information
Showing
48 changed files
with
2,915 additions
and
1,858 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,26 +1,52 @@ | ||
################################################## | ||
# | ||
# General settings for your component | ||
# | ||
# General settings for your component | ||
# | ||
################################################## | ||
|
||
################################################## | ||
# Enviroment settings | ||
################################################## | ||
|
||
# Depracticed, now set as CONTAINER_PROJECT_NAME | ||
# The shortcode for this component, should be a small set of letters reprecentint the application | ||
APP_NAME=vtc | ||
# Do you want to dsiplay the symfony debug toolbar? | ||
# The Full title of the application | ||
APP_TITLE=Verzoek Type Catalogus | ||
# The current version of the application | ||
APP_VERSION=V.0.1 | ||
# Do you want to display the symfony debug toolbar? | ||
APP_DEBUG=1 | ||
# What is the enviroment type you want to use for local production? (choose between dec,stag,prod, acce or test) | ||
APP_ENV=dev | ||
# We use a build to tag images, this is swithced to the version on master and to env on other branches | ||
APP_BUILD=dev | ||
# The description for this api | ||
APP_DESCRIPTION='Naast deze JSON rest API is er ook een [graphql](/graphql) interface beschikbaar.' | ||
|
||
# The urls on wich this api is available | ||
TRUSTED_PROXIES=10.0.0.0/8,172.16.0.0/12,192.168.0.0/16 | ||
TRUSTED_HOSTS=^(.+\.)?conduction\.nl$|^(.+\.)?huwelijksplanner\.online$|^(.+\.)?larping\.eu$|^(.+\.)?common-ground\.nl$|^(.+\.)?trouwplanner\.online$|^(.+\.)?zaakonline\.nl$|localhost | ||
|
||
################################################## | ||
# Orgization details | ||
################################################## | ||
|
||
# The following details describe your organisations and are used for both certificate creation and common-ground.dev | ||
|
||
ORGANIZATION_NAME=Conduction | ||
ORGANIZATION_EMAIL_ADDRESS=[email protected] | ||
ORGANIZATION_COUNTRY_NAME=Netherlands | ||
ORGANIZATION_STATE=Noord-Holland | ||
ORGANIZATION_LOCALITY=Amsterdam | ||
ORGANIZATION_UNIT_NAME=Common-Ground | ||
|
||
################################################## | ||
# Documentation settings | ||
################################################## | ||
|
||
APP_DEMO=dev | ||
APP_REPRO=dev | ||
APP_DOMAIN=conduction.nl | ||
APP_DEMO=vtc.zaakonline.nl | ||
APP_REPRO=https://github.com/ConductionNL/verzoektypecatalogus | ||
|
||
################################################## | ||
# Docker settings | ||
|
@@ -29,36 +55,54 @@ APP_REPRO=dev | |
CONTAINER_REGISTRY_BASE=docker.io/conduction | ||
CONTAINER_PROJECT_TITLE=Verzoek Type Catalogus | ||
CONTAINER_PROJECT_NAME=vtc | ||
CONTAINER_PROJECT_VERSION=V.0.1 | ||
APP_NAME=pc | ||
## Eviroment Setup | ||
CONTAINER_REPRO=https://hub.docker.com/repository/docker/conduction/vtc-php | ||
|
||
################################################## | ||
# Websub settings | ||
# Notifcation settings | ||
################################################## | ||
|
||
WEBSUB_PROVIDER=sasd | ||
WEBSUB_AUTHORIZATION=sasd | ||
NOTIFICATION_ENABLED=falsedxfddxf | ||
NOTIFICATION_PROVIDER=sasdasd | ||
NOTIFICATION_ENABLED_AUTHORIZATION=sasd | ||
|
||
################################################## | ||
# Authorization settings | ||
################################################## | ||
|
||
AUTH_ENABLED=false | ||
AUTH_PROVIDER=sasd | ||
AUTH_AUTHORIZATION=sasd | ||
|
||
################################################## | ||
# NLX Setup, read more at https://docs.nlx.io/get-started/# | ||
# Auditrail settings | ||
################################################## | ||
|
||
AUDITTRAIL_ENABLED=false | ||
|
||
################################################## | ||
# Healthcheck settings | ||
################################################## | ||
|
||
HEALTH_ENABLED=false | ||
|
||
################################################## | ||
# Archive settings | ||
################################################## | ||
|
||
ARCHIVE_ENABLED=false | ||
|
||
################################################## | ||
# NLX Setup, read more at https://docs.nlx.io/get-started/# | ||
################################################## | ||
|
||
# Do you want to provide an nlx outway? (option for your component to reach nlx services) | ||
NLX_OUTWAY=true | ||
NLX_OUTWAY=true | ||
|
||
# Do you want to provice an nlx inway (option for nlx services to reach your api) | ||
NLX_INWAY=false | ||
NLX_INWAY=false | ||
|
||
# NLX Certification Details | ||
NLX_COUNTRY_NAME=Netherlands | ||
NLX_COUNTRY_NAME=Netherlands | ||
NLX_STATE=Noord-Holland | ||
NLX_LOCALITY=Amsterdam | ||
NLX_ORGANIZATION_NAME=Conduction | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
# View examples and documentation at https://deliverybot.dev/docs/ | ||
production: | ||
environment: production | ||
production_environment: true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,132 @@ | ||
name: Docker Image CI | ||
|
||
on: | ||
pull_request: | ||
branches: | ||
- master | ||
- staging | ||
- development | ||
push: | ||
branches: | ||
- master | ||
- staging | ||
- development | ||
|
||
jobs: | ||
|
||
build: | ||
|
||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v1 | ||
- name: Pulling old images, if any | ||
run: docker-compose pull --ignore-pull-failures | ||
- name: Setting APP_NAME | ||
run: | | ||
export NAME=$(grep APP_NAME= .env | cut -d '=' -f2) | ||
echo ::set-env name=APP_NAME::$NAME | ||
- name: Print app name | ||
run: echo "APP_NAME = $APP_NAME" | ||
- name: Setting APP_ENV to dev | ||
run: | | ||
echo ::set-env name=APP_ENV::dev | ||
echo ::set-env name=APP_BUILD::dev | ||
echo "set APP_ENV to $APP_ENV" | ||
- name: Setting APP_ENV to prod | ||
if: contains( github.ref, 'master' ) || contains( github.base_ref, 'master' ) | ||
run: | | ||
echo ::set-env name=APP_ENV::prod | ||
echo "set APP_ENV to $APP_ENV" | ||
- name: Set APP_BUILD to APP_VERSION | ||
if: contains( github.ref, 'master' ) | ||
run: | | ||
export VERSION=$(grep APP_VERSION= .env | cut -d '=' -f2) | ||
echo ::set-env name=APP_BUILD::$VERSION | ||
echo "set APP_BUILD to $APP_BUILD" | ||
- name: Setting APP_ENV to stag | ||
if: contains( github.ref, 'staging' ) || contains( github.base_ref, 'staging' ) | ||
run: | | ||
echo ::set-env name=APP_ENV::stag | ||
echo ::set-env name=APP_BUILD::stag | ||
echo "set APP_ENV to $APP_ENV" | ||
- name: Print definitive APP_ENV | ||
run: echo "APP_ENV is now $APP_ENV" | ||
- name: Build the Docker image | ||
run: docker-compose build --pull --build-arg APP_ENV=$APP_ENV --build-arg APP_BUILD=$APP_BUILD | ||
- name: Run the docker image | ||
run: docker-compose up -d | ||
- name: Taking some sleep | ||
run: sleep 100 | ||
- name: Check if all containers are running | ||
run: docker ps | ||
- name: Dumping the logs | ||
run: docker-compose logs | ||
- name: Security Checks | ||
run: docker-compose exec -T php composer req sensiolabs/security-checker | ||
- name: Database Update | ||
run: docker-compose exec -T php bin/console doctrine:schema:update --force | ||
- name: Database Check | ||
run: docker-compose exec -T php bin/console doctrine:schema:validate | ||
- name: Chores | ||
run: docker-compose down | ||
- name: Login to DockerHub Registry | ||
id: dockerhub-login | ||
run: | | ||
if [ "${{ secrets.DOCKERHUB_PASSWORD }}" != "" ] && [ "${{ secrets.DOCKERHUB_USERNAME }}" != "" ]; then | ||
echo ${{ secrets.DOCKERHUB_PASSWORD }} | docker login -u ${{ secrets.DOCKERHUB_USERNAME }} --password-stdin | ||
echo "##[set-output name=success;]true" | ||
else | ||
echo "##[set-output name=success;]false" | ||
fi | ||
- if: steps.dockerhub-login.outputs.success == 'true' | ||
name: Push to docker hub | ||
run: docker-compose push | ||
- name: Create kube config | ||
id: kubeconfig | ||
if: contains( github.ref, 'master' ) || contains( github.ref, 'staging' ) || contains( github.ref, 'development' ) | ||
run: | | ||
if [ "${{ secrets.KUBECONFIG }}" != "" ]; then | ||
printf "${{ secrets.KUBECONFIG }}" > kubeconfig.yaml | ||
echo "##[set-output name=success]true" | ||
else | ||
echo "##[set-output name=success]false" | ||
fi | ||
- name: Set correct helm version | ||
if: (contains( github.ref, 'master' ) || contains( github.ref, 'staging' ) || contains( github.ref, 'development' )) && steps.kubeconfig.outputs.success == 'true' | ||
run: helm init --upgrade --kubeconfig="kubeconfig.yaml" | ||
- name: Deploy through helm | ||
id: helm-install | ||
if: (contains( github.ref, 'master' ) || contains( github.ref, 'staging' ) || contains( github.ref, 'development' )) && steps.kubeconfig.outputs.success == 'true' | ||
run: helm upgrade $APP_NAME-$APP_ENV ./api/helm --kubeconfig="kubeconfig.yaml" --namespace=$APP_ENV --set settings.env=$APP_ENV,settings.debug=1 | ||
- name: Install through helm | ||
if: failure() | ||
run: helm install --name $APP_NAME-$APP_ENV ./api/helm --kubeconfig="kubeconfig.yaml" --namespace=$APP_ENV --set settings.env=$APP_ENV,settings.debug=1 | ||
- name: Rollout new containers | ||
if: (contains( github.ref, 'master' ) || contains( github.ref, 'staging' ) || contains( github.ref, 'development' )) && steps.kubeconfig.outputs.success == 'true' && success() | ||
run: | | ||
kubectl rollout restart deployment/$APP_NAME-php --kubeconfig="kubeconfig.yaml" --namespace=$APP_ENV | ||
kubectl rollout restart deployment/$APP_NAME-nginx --kubeconfig="kubeconfig.yaml" --namespace=$APP_ENV | ||
kubectl rollout restart deployment/$APP_NAME-varnish --kubeconfig="kubeconfig.yaml" --namespace=$APP_ENV | ||
- name: Export release code | ||
if: (success() || failure()) | ||
id: releasecode | ||
run: | | ||
export RELEASE=$APP_BUILD-$(git rev-parse --short $GITHUB_SHA) | ||
echo "##[set-output name=releasename]$RELEASE" | ||
- name: Print release name | ||
if: (success() || failure()) | ||
run: echo $RELEASENAME | ||
env: | ||
RELEASENAME: ${{ steps.releasecode.outputs.releasename }} | ||
- name: Create Release | ||
if: contains( github.ref, 'master' ) && steps.kubeconfig.outputs.success == 'true' && ( success() || failure() ) | ||
id: create_release | ||
uses: actions/create-release@v1 | ||
continue-on-error: true | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token | ||
with: | ||
tag_name: ${{ steps.releasecode.outputs.releasename }} | ||
release_name: ${{ steps.releasecode.outputs.releasename }} | ||
draft: false | ||
prerelease: false |
Oops, something went wrong.