diff --git a/warpsrvint/docker_warpinfratest/templates/docker-compose.yml b/warpsrvint/docker_warpinfratest/templates/docker-compose.yml index ba122f013d1eedf415bb464f539a9e3d41a7e69e..492394dede63c737d5d59da263f9796e4fa61c55 100644 --- a/warpsrvint/docker_warpinfratest/templates/docker-compose.yml +++ b/warpsrvint/docker_warpinfratest/templates/docker-compose.yml @@ -8,14 +8,14 @@ services: image: mariadb:10.1 restart: always ports: - - 23306:3306 + - 127.0.0.1:23306:3306 volumes: - /srv/warpinfratest/db/:/var/lib/mysql environment: MYSQL_DATABASE: warpinfra MYSQL_USER: warpinfra MYSQL_PASSWORD: {{ mysql_user_pw }} - MYSQL_ROOT_PASSWOR: ={{ mysql_root_pw }} + MYSQL_ROOT_PASSWORD: {{ mysql_root_pw }} app: @@ -23,7 +23,7 @@ services: image: warpinfratest:{{ gitclone.after }} restart: always depends_on: - - "db" + - db ports: - 0.0.0.0:8000:8000 volumes: diff --git a/webserver/docker_warpinfra/tasks/main.yml b/webserver/docker_warpinfra/tasks/main.yml index 9409419eb6367bd02d53af218e666d998099d70b..362136193da0e3259ebdcbe5b604f33e438f2f4f 100644 --- a/webserver/docker_warpinfra/tasks/main.yml +++ b/webserver/docker_warpinfra/tasks/main.yml @@ -13,6 +13,8 @@ - /srv/ldap/secret/ldap_readonly_pass - /srv/warpinfra/secret/mattermost_api_key - /srv/warpinfra/secret/web_secret_key + - /srv/warpinfra/secret/mysql_root_pw + - /srv/warpinfra/secret/mysql_user_pw register: warpinfra_secrets - name: get secrets from server 2 @@ -22,6 +24,8 @@ ldap_readonly_pass: "{{ warpinfra_secrets.results | selectattr('item', 'equalto', '/srv/ldap/secret/ldap_readonly_pass') | map(attribute='content') | list | first | b64decode | regex_replace('\\s', '') }}" mattermost_api_key: "{{ warpinfra_secrets.results | selectattr('item', 'equalto', '/srv/warpinfra/secret/mattermost_api_key') | map(attribute='content') | list | first | b64decode | regex_replace('\\s', '') }}" web_secret_key: "{{ warpinfra_secrets.results | selectattr('item', 'equalto', '/srv/warpinfra/secret/web_secret_key') | map(attribute='content') | list | first | b64decode | regex_replace('\\s', '') }}" + mysql_root_pw: "{{ warpinfra_secrets.results | selectattr('item', 'equalto', '/srv/warpinfra/secret/mysql_root_pw') | map(attribute='content') | list | first | b64decode | regex_replace('\\s', '') }}" + mysql_user_pw: "{{ warpinfra_secrets.results | selectattr('item', 'equalto', '/srv/warpinfra/secret/mysql_user_pw') | map(attribute='content') | list | first | b64decode | regex_replace('\\s', '') }}" - name: create folder struct for warpinfra file: @@ -46,7 +50,7 @@ - name: clone repo git: repo: "https://gitlab.warpzone.ms/infrastruktur/warpinfra.git" - version: "1.1" + version: "1.2" dest: "/tmp/warpinfra_docker" force: "yes" register: gitclone @@ -64,27 +68,13 @@ src: "config.ini" dest: "/srv/warpinfra/etc/config.ini" -# commit id in den Namen des Image einbeziehen -# als tag scheint von docker_image nicht korrekt gesetzt zu werden - -- name: build the image - docker_image: - name: "warpinfra-app-{{ gitclone.after }}" - path: /tmp/warpinfra_docker/www/ +- name: Konfig-Datei erstellen + template: + src: "docker-compose.yml" + dest: "/srv/warpinfra/docker-compose.yml" + +- name: start warpinfratest docker + docker_service: + project_src: /srv/warpinfra/ state: present - -- name: start warpinfra docker - docker_container: - name: warpinfra-app - image: "warpinfra-app-{{ gitclone.after }}" - state: started - interactive: yes - restart_policy: always - volumes: - - /tmp/warpinfra:/opt/socket - - /srv/warpinfra/etc:/etc/warpinfra - - /srv/warpinfra/data:/opt/database - - /srv/warpinfra/log:/opt/log - links: - - ldap-service:ldap diff --git a/webserver/docker_warpinfra/templates/config.ini b/webserver/docker_warpinfra/templates/config.ini index 266b658c3bf93325f17cf7175977566317cb42f7..90a48621cf339463ba6b47d4f67c7ac21b1e7942 100644 --- a/webserver/docker_warpinfra/templates/config.ini +++ b/webserver/docker_warpinfra/templates/config.ini @@ -18,8 +18,15 @@ ALLOWED_HOSTS = infra.warpzone.ms [mattermost] API_KEY = {{mattermost_api_key}} +[mysql] +MYSQL_HOST = db +MYSQL_PORT = 3306 +MYSQL_USER = warpinfra +MYSQL_PASS = {{ mysql_user_pw }} +MYSQL_NAME = warpinfra + [ldap] -LDAP_HOST = ldap +LDAP_HOST = 10.0.20.2 LDAP_BIND_DN = cn=admin,dc=warpzone,dc=ms LDAP_PASSWORD = {{ ldap_admin_pass }} diff --git a/webserver/docker_warpinfra/templates/docker-compose.yml b/webserver/docker_warpinfra/templates/docker-compose.yml new file mode 100644 index 0000000000000000000000000000000000000000..945de85e1520468b15d51389da73f936808d8593 --- /dev/null +++ b/webserver/docker_warpinfra/templates/docker-compose.yml @@ -0,0 +1,31 @@ + +version: "3" + +services: + + db: + + image: mariadb:10.1 + restart: always + ports: + - 127.0.0.1:13306:3306 + volumes: + - /srv/warpinfra/db/:/var/lib/mysql + environment: + MYSQL_DATABASE: warpinfra + MYSQL_USER: warpinfra + MYSQL_PASSWORD: {{ mysql_user_pw }} + MYSQL_ROOT_PASSWORD: {{ mysql_root_pw }} + + app: + + build: /tmp/warpinfra_docker/www/ + image: warpinfra:{{ gitclone.after }} + restart: always + depends_on: + - db + volumes: + - /tmp/warpinfra:/opt/socket + - /srv/warpinfra/etc:/etc/warpinfra + - /srv/warpinfra/data:/opt/database + - /srv/warpinfra/log:/opt/log diff --git a/webserver/docker_warpinfratest/tasks/main.yml b/webserver/docker_warpinfratest/tasks/main.yml index e21bad4c44a4d2bf80eb0b4e85fcdb68dfd28744..bf90b50051e235be497ea29008645dae7e4b099c 100644 --- a/webserver/docker_warpinfratest/tasks/main.yml +++ b/webserver/docker_warpinfratest/tasks/main.yml @@ -13,6 +13,8 @@ - /srv/ldap/secret/ldap_readonly_pass - /srv/warpinfratest/secret/mattermost_api_key - /srv/warpinfratest/secret/web_secret_key + - /srv/warpinfratest/secret/mysql_root_pw + - /srv/warpinfratest/secret/mysql_user_pw register: warpinfratest_secrets - name: get secrets from server 2 @@ -22,6 +24,8 @@ ldap_readonly_pass: "{{ warpinfratest_secrets.results | selectattr('item', 'equalto', '/srv/ldap/secret/ldap_readonly_pass') | map(attribute='content') | list | first | b64decode | regex_replace('\\s', '') }}" mattermost_api_key: "{{ warpinfratest_secrets.results | selectattr('item', 'equalto', '/srv/warpinfratest/secret/mattermost_api_key') | map(attribute='content') | list | first | b64decode | regex_replace('\\s', '') }}" web_secret_key: "{{ warpinfratest_secrets.results | selectattr('item', 'equalto', '/srv/warpinfratest/secret/web_secret_key') | map(attribute='content') | list | first | b64decode | regex_replace('\\s', '') }}" + mysql_root_pw: "{{ warpinfratest_secrets.results | selectattr('item', 'equalto', '/srv/warpinfratest/secret/mysql_root_pw') | map(attribute='content') | list | first | b64decode | regex_replace('\\s', '') }}" + mysql_user_pw: "{{ warpinfratest_secrets.results | selectattr('item', 'equalto', '/srv/warpinfratest/secret/mysql_user_pw') | map(attribute='content') | list | first | b64decode | regex_replace('\\s', '') }}" - name: create folder struct for warpinfratest file: @@ -63,27 +67,12 @@ src: "config.ini" dest: "/srv/warpinfratest/etc/config.ini" -# commit id in den Namen des Image einbeziehen -# als tag scheint von docker_image nicht korrekt gesetzt zu werden - -- name: build the image - docker_image: - name: "warpinfra-test-{{ gitclone.after }}" - path: /tmp/warpinfratest_docker/www/ - state: present - +- name: Konfig-Datei erstellen + template: + src: "docker-compose.yml" + dest: "/srv/warpinfratest/docker-compose.yml" + - name: start warpinfratest docker - docker_container: - name: warpinfra-test - image: "warpinfra-test-{{ gitclone.after }}" - state: started - interactive: yes - restart_policy: always - volumes: - - /tmp/warpinfratest:/opt/socket - - /srv/warpinfratest/etc:/etc/warpinfra - - /srv/warpinfratest/data:/opt/database - - /srv/warpinfratest/log:/opt/log - links: - - ldap-service:ldap - + docker_service: + project_src: /srv/warpinfratest/ + state: present diff --git a/webserver/docker_warpinfratest/templates/config.ini b/webserver/docker_warpinfratest/templates/config.ini index bca827fc36b27f96813bb515484340279aa9b5a4..dc846db63e66bcc6b40ea5ff4bf6a57ae3a9f75e 100644 --- a/webserver/docker_warpinfratest/templates/config.ini +++ b/webserver/docker_warpinfratest/templates/config.ini @@ -1,7 +1,7 @@ [common] # Possible Apps: warpmain, warpauth, warpfood, warpapi, warppay -APPS = warpmain, warpauth, warpfood, warpapi, warppay +APPS = warpmain, warpauth, warpfood, warpapi INSTANCE_NAME = 'EXTERN-TEST' GIT_COMMIT = '{{ gitclone.after }}' @@ -18,8 +18,15 @@ ALLOWED_HOSTS = infra.warpzone.ms [mattermost] API_KEY = {{mattermost_api_key}} +[mysql] +MYSQL_HOST = db +MYSQL_PORT = 3306 +MYSQL_USER = warpinfra +MYSQL_PASS = {{ mysql_user_pw }} +MYSQL_NAME = warpinfra + [ldap] -LDAP_HOST = ldap +LDAP_HOST = 10.0.20.2 LDAP_BIND_DN = cn=admin,dc=warpzone,dc=ms LDAP_PASSWORD = {{ ldap_admin_pass }} diff --git a/webserver/docker_warpinfratest/templates/docker-compose.yml b/webserver/docker_warpinfratest/templates/docker-compose.yml new file mode 100644 index 0000000000000000000000000000000000000000..5fa1cdd4fb9a2b09acd128a7b28527b5e3e16be7 --- /dev/null +++ b/webserver/docker_warpinfratest/templates/docker-compose.yml @@ -0,0 +1,31 @@ + +version: "3" + +services: + + db: + + image: mariadb:10.1 + restart: always + ports: + - 127.0.0.1:23306:3306 + volumes: + - /srv/warpinfratest/db/:/var/lib/mysql + environment: + MYSQL_DATABASE: warpinfra + MYSQL_USER: warpinfra + MYSQL_PASSWORD: {{ mysql_user_pw }} + MYSQL_ROOT_PASSWORD: {{ mysql_root_pw }} + + app: + + build: /tmp/warpinfratest_docker/www/ + image: warpinfratest:{{ gitclone.after }} + restart: always + depends_on: + - db + volumes: + - /tmp/warpinfratest:/opt/socket + - /srv/warpinfratest/etc:/etc/warpinfra + - /srv/warpinfratest/data:/opt/database + - /srv/warpinfratest/log:/opt/log