From 272f634afa0dbd890af25e4c0e8d9c34716f9d71 Mon Sep 17 00:00:00 2001 From: Jens Sandmann <jens@sandzwerg.de> Date: Sun, 15 Oct 2017 03:02:57 +0200 Subject: [PATCH] LDAP: globale ansible variable angelegt und alle conf angepasst --- group_vars/all | 8 +++- warpsrvint/docker_grafana/templates/ldap.toml | 2 +- .../docker_warpinfra/templates/config.ini | 10 ++--- .../docker_warpinfratest/templates/config.ini | 10 ++--- webserver/docker_gitlab/templates/gitlab.rb | 4 +- webserver/docker_ldap/tasks/main.yml | 45 +++++++++---------- .../docker_warpinfra/templates/config.ini | 10 ++--- .../docker_warpinfratest/templates/config.ini | 10 ++--- webserver/openvpn/templates/warpzone-up.sh | 5 +-- 9 files changed, 54 insertions(+), 50 deletions(-) diff --git a/group_vars/all b/group_vars/all index 4b3526b3..597cc00a 100644 --- a/group_vars/all +++ b/group_vars/all @@ -1 +1,7 @@ -# Globale Variablen für alle Server +# Globale Variablen für alle Server + +# IP Adresse des LDAP Servers +# Extern läuft auf dem webserver +ldap_ip_ext: 10.0.20.2 +# int ist noch ungenutzt / später replikation in der Zone +ldap_ip_int: 10.0.20.2 diff --git a/warpsrvint/docker_grafana/templates/ldap.toml b/warpsrvint/docker_grafana/templates/ldap.toml index dad2a618..57087195 100644 --- a/warpsrvint/docker_grafana/templates/ldap.toml +++ b/warpsrvint/docker_grafana/templates/ldap.toml @@ -3,7 +3,7 @@ verbose_logging = false [[servers]] # Ldap server host (specify multiple hosts space separated) -host = "10.0.20.2" +host = "{{ ldap_ip_ext }}" # Default port is 389 or 636 if use_ssl = true port = 389 # Set to true if ldap server supports TLS diff --git a/warpsrvint/docker_warpinfra/templates/config.ini b/warpsrvint/docker_warpinfra/templates/config.ini index 8eaf5ff7..67e6e525 100644 --- a/warpsrvint/docker_warpinfra/templates/config.ini +++ b/warpsrvint/docker_warpinfra/templates/config.ini @@ -1,6 +1,6 @@ -[common] -# Possible Apps: warpmain, warpauth, warpfood, warpapi, warppay +[common] +# Possible Apps: warpmain, warpauth, warpfood, warpapi, warppay APPS = warpmain, warpauth, warppay INSTANCE_NAME = 'INTERN-PRODUKTIV' @@ -19,14 +19,14 @@ ALLOWED_HOSTS = infra.warpzone API_KEY = '' [mysql] -MYSQL_HOST = mysql -MYSQL_PORT = 3306 +MYSQL_HOST = mysql +MYSQL_PORT = 3306 MYSQL_USER = warpinfra MYSQL_PASS = {{ mysql_user_pw }} MYSQL_NAME = warpinfra [ldap] -LDAP_HOST = 10.0.20.2 +LDAP_HOST = {{ ldap_ip_ext }} LDAP_BIND_DN = cn=admin,dc=warpzone,dc=ms LDAP_PASSWORD = {{ ldap_admin_pass }} diff --git a/warpsrvint/docker_warpinfratest/templates/config.ini b/warpsrvint/docker_warpinfratest/templates/config.ini index e18f6b8b..c56d5140 100644 --- a/warpsrvint/docker_warpinfratest/templates/config.ini +++ b/warpsrvint/docker_warpinfratest/templates/config.ini @@ -1,6 +1,6 @@ -[common] -# Possible Apps: warpmain, warpauth, warpfood, warpapi, warppay +[common] +# Possible Apps: warpmain, warpauth, warpfood, warpapi, warppay APPS = warpmain, warpauth, warppay INSTANCE_NAME = 'INTERN-TEST' @@ -19,14 +19,14 @@ ALLOWED_HOSTS = infra-test.warpzone API_KEY = '' [mysql] -MYSQL_HOST = db -MYSQL_PORT = 3306 +MYSQL_HOST = db +MYSQL_PORT = 3306 MYSQL_USER = warpinfra MYSQL_PASS = {{ mysql_user_pw }} MYSQL_NAME = warpinfra [ldap] -LDAP_HOST = 10.0.20.2 +LDAP_HOST = {{ ldap_ip_ext }} LDAP_BIND_DN = cn=admin,dc=warpzone,dc=ms LDAP_PASSWORD = {{ ldap_admin_pass }} diff --git a/webserver/docker_gitlab/templates/gitlab.rb b/webserver/docker_gitlab/templates/gitlab.rb index 1131f327..9116ec14 100644 --- a/webserver/docker_gitlab/templates/gitlab.rb +++ b/webserver/docker_gitlab/templates/gitlab.rb @@ -92,7 +92,7 @@ gitlab_rails['gitlab_default_projects_features_issues'] = false ldap_servers_template = <<-'EOS' main: label: 'LDAP' - host: '10.0.20.2' + host: '{{ ldap_ip_ext }}' port: 389 uid: 'uid' method: 'plain' @@ -108,7 +108,7 @@ ldap_servers_template = <<-'EOS' last_name: 'sn' EOS -# Replace LDAP Server IP fron Environment variable +# Replace LDAP Server IP fron Environment variable # which is set by the Docker Link ldap_servers = ldap_servers_template % ENV['LDAP_PORT_389_TCP_ADDR'] diff --git a/webserver/docker_ldap/tasks/main.yml b/webserver/docker_ldap/tasks/main.yml index d5ad3669..6c250ac0 100644 --- a/webserver/docker_ldap/tasks/main.yml +++ b/webserver/docker_ldap/tasks/main.yml @@ -1,9 +1,9 @@ --- -# 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 +# 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 }} @@ -13,27 +13,27 @@ register: ldap_secrets - name: get secrets from server 2 - set_fact: - ldap_admin_pass: "{{ ldap_secrets.results | selectattr('item', 'equalto', '/srv/ldap/secret/ldap_admin_pass') | map(attribute='content') | list | first | b64decode | regex_replace('\\s', '') }}" - ldap_readonly_pass: "{{ ldap_secrets.results | selectattr('item', 'equalto', '/srv/ldap/secret/ldap_readonly_pass') | map(attribute='content') | list | first | b64decode | regex_replace('\\s', '') }}" + set_fact: + ldap_admin_pass: "{{ ldap_secrets.results | selectattr('item', 'equalto', '/srv/ldap/secret/ldap_admin_pass') | map(attribute='content') | list | first | b64decode | regex_replace('\\s', '') }}" + ldap_readonly_pass: "{{ ldap_secrets.results | selectattr('item', 'equalto', '/srv/ldap/secret/ldap_readonly_pass') | map(attribute='content') | list | first | b64decode | regex_replace('\\s', '') }}" - name: create folder struct for ldap - file: - path: "/srv/ldap" + file: + path: "/srv/ldap" state: "directory" - name: create folder struct for ldap - file: - path: "/srv/ldap/database" + file: + path: "/srv/ldap/database" state: "directory" - name: create folder struct for ldap - file: - path: "/srv/ldap/config" + file: + path: "/srv/ldap/config" state: "directory" - + - name: start ldap docker - docker_container: + docker_container: name: ldap-service image: osixia/openldap:1.1.6 hostname: ldap-service @@ -45,21 +45,21 @@ env: LDAP_ORGANISATION: Warpzone LDAP_DOMAIN: warpzone.ms - LDAP_ADMIN_PASSWORD: "{{ ldap_admin_pass }}" + LDAP_ADMIN_PASSWORD: "{{ ldap_admin_pass }}" LDAP_READONLY_USER: true LDAP_READONLY_USER_USERNAME: readonly LDAP_READONLY_USER_PASSWORD: "{{ ldap_readonly_pass }}" ports: - - 10.0.20.2:389:389 - - 10.0.20.2:636:636 - + - {{ ldap_ip_ext }}:389:389 + - {{ ldap_ip_ext }}:636:636 + - name: start phpldapadmin docker - docker_container: + docker_container: name: phpldapadmin-app image: osixia/phpldapadmin:0.6.11 state: started restart_policy: always - env: + env: PHPLDAPADMIN_LDAP_HOSTS: ldap-host PHPLDAPADMIN_HTTPS: false PHPLDAPADMIN_TRUST_PROXY_SSL: true @@ -67,4 +67,3 @@ - ldap-service:ldap-host ports: - 127.0.0.1:42004:80 - diff --git a/webserver/docker_warpinfra/templates/config.ini b/webserver/docker_warpinfra/templates/config.ini index 90a48621..a68e2a3c 100644 --- a/webserver/docker_warpinfra/templates/config.ini +++ b/webserver/docker_warpinfra/templates/config.ini @@ -1,6 +1,6 @@ -[common] -# Possible Apps: warpmain, warpauth, warpfood, warpapi, warppay +[common] +# Possible Apps: warpmain, warpauth, warpfood, warpapi, warppay APPS = warpmain, warpauth, warpfood INSTANCE_NAME = 'EXTERN-PRODUKTIV' @@ -19,14 +19,14 @@ ALLOWED_HOSTS = infra.warpzone.ms API_KEY = {{mattermost_api_key}} [mysql] -MYSQL_HOST = db -MYSQL_PORT = 3306 +MYSQL_HOST = db +MYSQL_PORT = 3306 MYSQL_USER = warpinfra MYSQL_PASS = {{ mysql_user_pw }} MYSQL_NAME = warpinfra [ldap] -LDAP_HOST = 10.0.20.2 +LDAP_HOST = {{ ldap_ip_ext }} LDAP_BIND_DN = cn=admin,dc=warpzone,dc=ms LDAP_PASSWORD = {{ ldap_admin_pass }} diff --git a/webserver/docker_warpinfratest/templates/config.ini b/webserver/docker_warpinfratest/templates/config.ini index dc846db6..9b83d651 100644 --- a/webserver/docker_warpinfratest/templates/config.ini +++ b/webserver/docker_warpinfratest/templates/config.ini @@ -1,6 +1,6 @@ -[common] -# Possible Apps: warpmain, warpauth, warpfood, warpapi, warppay +[common] +# Possible Apps: warpmain, warpauth, warpfood, warpapi, warppay APPS = warpmain, warpauth, warpfood, warpapi INSTANCE_NAME = 'EXTERN-TEST' @@ -19,14 +19,14 @@ ALLOWED_HOSTS = infra.warpzone.ms API_KEY = {{mattermost_api_key}} [mysql] -MYSQL_HOST = db -MYSQL_PORT = 3306 +MYSQL_HOST = db +MYSQL_PORT = 3306 MYSQL_USER = warpinfra MYSQL_PASS = {{ mysql_user_pw }} MYSQL_NAME = warpinfra [ldap] -LDAP_HOST = 10.0.20.2 +LDAP_HOST = {{ ldap_ip_ext }} LDAP_BIND_DN = cn=admin,dc=warpzone,dc=ms LDAP_PASSWORD = {{ ldap_admin_pass }} diff --git a/webserver/openvpn/templates/warpzone-up.sh b/webserver/openvpn/templates/warpzone-up.sh index bb922e2b..2a0ca208 100644 --- a/webserver/openvpn/templates/warpzone-up.sh +++ b/webserver/openvpn/templates/warpzone-up.sh @@ -2,6 +2,5 @@ # the interface name is passed as first argument ($1) #modprobe ip_tables -#iptables -t nat -I PREROUTING -p tcp -d 10.0.20.2/32 --dport 389 -j DNAT --to-destination 127.0.0.1:389 -#iptables -t nat -I PREROUTING -p tcp -d 10.0.20.2/32 --dport 636 -j DNAT --to-destination 127.0.0.1:636 - +#iptables -t nat -I PREROUTING -p tcp -d {{ ldap_ip_ext }}/32 --dport 389 -j DNAT --to-destination 127.0.0.1:389 +#iptables -t nat -I PREROUTING -p tcp -d {{ ldap_ip_ext }}/32 --dport 636 -j DNAT --to-destination 127.0.0.1:636 -- GitLab