main.yml 3.12 KiB
---
# Einige Secrets sind auf dem Server lokal gespeichert und werden von dort gelesen
# Auslesen der Dateien vom Server, zwischengespeicert wird in der Variable gitlab_secrets
# Anschließend müssen die entsprechenden Einträge aus gitlab_secrets extrahiert werden
# Die Daten, die von Slurp gelesen werden sind Base64 codiert
# Zur Sicherheit werden Whitespace-Zeichen entfert, damit z.B. Zeilenumbrüche nicht übernommen werden
- name: get secrets from server 1
slurp: src={{ item }}
with_items:
- /srv/shared/noreply_email_pass
- /srv/ldap/secret/ldap_admin_pass
- /srv/ldap/secret/ldap_readonly_pass
- /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
set_fact:
noreply_email_pass: "{{ warpinfratest_secrets.results | selectattr('item', 'equalto', '/srv/shared/noreply_email_pass') | map(attribute='content') | list | first | b64decode | regex_replace('\\s', '') }}"
ldap_admin_pass: "{{ warpinfratest_secrets.results | selectattr('item', 'equalto', '/srv/ldap/secret/ldap_admin_pass') | map(attribute='content') | list | first | b64decode | regex_replace('\\s', '') }}"
ldap_readonly_pass: "{{ warpinfratest_secrets.results | selectattr('item', 'equalto', '/srv/ldap/secret/ldap_readonly_pass') | 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:
path: "/tmp/warpinfratest_docker/"
state: "directory"
- name: create folder struct for warpinfratest
file:
path: "/srv/warpinfratest/etc"
state: "directory"
- name: create folder struct for warpinfratest
file:
path: "/srv/warpinfratest/data"
state: "directory"
- name: create folder struct for warpinfratest
file:
path: "/srv/warpinfratest/log"
state: "directory"
- name: clone repo
git:
repo: "https://gitlab.warpzone.ms/infrastruktur/warpinfra.git"
dest: "/tmp/warpinfratest_docker"
force: "yes"
register: gitclone
- name: clone repo status
debug:
msg: "{{gitclone}}"
- name: Konfig-Datei erstellen
template:
src: "config.ini"
dest: "/srv/warpinfratest/etc/config.ini"
- name: Konfig-Datei erstellen
template:
src: "docker-compose.yml"
dest: "/srv/warpinfratest/docker-compose.yml"
- name: start warpinfratest docker
docker_service: