فهرست منبع

Https en redirect_uris. Redirect_uris para app_dev.

Daniel Libonati 7 سال پیش
والد
کامیت
73a262a286
2فایلهای تغییر یافته به همراه279 افزوده شده و 1 حذف شده
  1. 278 0
      playbook.yml
  2. 1 1
      tools/playbook.yml

+ 278 - 0
playbook.yml

@@ -0,0 +1,278 @@
+---
+- name: Implementation parameters
+  hosts: 127.0.0.1
+  connection: local
+  tasks:
+    - name: Parameters for base
+      command: "cp {{ playbook_dir }}/base/app/config/parameters.yml.docker {{ playbook_dir }}/base/app/config/parameters.yml"
+
+    - name: "Parameters"
+      command: "cp {{ playbook_dir }}/{{ item }}/app/config/parameters.yml.docker {{ playbook_dir }}/{{ item }}/app/config/parameters.yml"
+      with_items: "{{ lookup('env', 'MODULES_INSTALL').split(',') }}"
+
+- name: Launch docker for mysql database. Tag=start_mysql
+  hosts: 127.0.0.1
+  connection: local
+  tags: start_mysql
+  tasks:
+#    - name: Docker build
+#      command: "docker-compose build"
+#
+#    - name: Docker build mysql
+#      command: "docker-compose pull mysql"
+
+    - name: Docker mysql up
+      command: "docker-compose up -d --force-recreate mysql"
+
+- name: Configure mysql database. Tag=configure_mysql
+  hosts: mysql
+  connection: docker
+  gather_facts: no
+  tags: configure_mysql
+  tasks:
+    - name: Wait for mysql be ready
+      wait_for:
+        host: 127.0.0.1
+        port: 3306
+        state: started
+        delay: 5
+        connect_timeout: 15
+        timeout: 360
+
+    - name: Create database fd_session
+      mysql_db:
+        name: fd_session
+        login_password: "{{ lookup('env', 'MYSQL_PASSWORD') }}"
+        state: present
+
+    - name: Create database freeradius
+      mysql_db:
+        name: freeradius
+        login_password: "{{ lookup('env', 'MYSQL_PASSWORD') }}"
+        state: present
+
+    - name: Create database grafana
+      mysql_db:
+        name: grafana
+        login_password: "{{ lookup('env', 'MYSQL_PASSWORD') }}"
+        state: present
+
+    - name: Create database statsd_db
+      mysql_db:
+        name: statsd_db
+        login_password: "{{ lookup('env', 'MYSQL_PASSWORD') }}"
+        state: present
+
+    - name: Create database base
+      mysql_db:
+        name: fd3_base
+        login_password: "{{ lookup('env', 'MYSQL_PASSWORD') }}"
+        state: present
+
+    - name: Create database ftth
+      mysql_db:
+        name: fd3_ftth
+        login_password: "{{ lookup('env', 'MYSQL_PASSWORD') }}"
+        state: present
+
+    - name: Create database mapas
+      mysql_db:
+        name: fd3_mapas
+        login_password: "{{ lookup('env', 'MYSQL_PASSWORD') }}"
+        state: present
+
+    - name: Create database stats
+      mysql_db:
+        name: fd3_stats
+        login_password: "{{ lookup('env', 'MYSQL_PASSWORD') }}"
+        state: present
+
+    - name: Create database cablemodem
+      mysql_db:
+        name: fd3_cablemodem
+        login_password: "{{ lookup('env', 'MYSQL_PASSWORD') }}"
+        state: present
+
+    - name: Create database Radius
+      mysql_db:
+        name: fd3_radius
+        login_password: "{{ lookup('env', 'MYSQL_PASSWORD') }}"
+        state: present
+
+    - name: Create database dhcp
+      mysql_db:
+        name: fd3_dhcp
+        login_password: "{{ lookup('env', 'MYSQL_PASSWORD') }}"
+        state: present
+
+    - copy:
+        src: "{{ playbook_dir }}/freeradius_schema.sql"
+        dest: /tmp/freeradius_schema.sql
+
+    - name: Create freeradius MySQL schema
+      mysql_db:
+        login_password: "{{ lookup('env', 'MYSQL_PASSWORD') }}"
+        state: import
+        name: freeradius
+        target: "/tmp/freeradius_schema.sql"
+
+    - name: Create user iksop
+      mysql_user:
+        name: 'iksop'
+        password: "{{ lookup('env', 'MYSQL_PASSWORD') }}"
+        login_password: "{{ lookup('env', 'MYSQL_PASSWORD') }}"
+        priv: '*.*:ALL'
+        state: present
+
+    - copy:
+        src: "{{ playbook_dir }}/mysql_scripts.sql"
+        dest: /tmp/mysql_scripts.sql
+
+    - name: Replace password mysql_scripts.sql
+      shell: "sed -i -- 's/#password#/{{ lookup('env', 'MYSQL_PASSWORD') }}/g' /tmp/mysql_scripts.sql"
+
+    - name: Run SQL commands against DB to create table
+      mysql_db:
+        login_password: "{{ lookup('env', 'MYSQL_PASSWORD') }}"
+        state: import
+        name: fd_session
+        target: "/tmp/mysql_scripts.sql"
+
+- name: Launch docker for amqp. Tag=start_amqp
+  hosts: 127.0.0.1
+  connection: local
+  tags: start_base
+  tasks:
+    - name: Docker base up
+      command: "docker-compose up -d amqp"
+
+    - name: "Wait for amqp. Timeout: 1 minutes"
+      pause:
+        minutes: 1
+
+- name: Launch docker for module base. Tag=start_base
+  hosts: 127.0.0.1
+  connection: local
+  tags: start_base
+  tasks:
+    - name: Docker base up
+      command: "docker-compose up -d --force-recreate base"
+    - name: "Wait for autoload_classmap.php. Timeout: 10 minutes"
+      wait_for:
+        path: "{{ playbook_dir }}/base/vendor/composer/autoload_classmap.php"
+        state: present
+        sleep: 30
+        timeout: 600
+
+- name: Configure module base. Tag=configure_base
+  hosts: base
+  connection: docker
+  tags: configure_base
+  vars:
+    uris: ""
+  tasks:
+    - name: Chmod cache
+      file:
+        path: /opt/base/var/cache/
+        recurse: yes
+        mode: 777
+
+    - name: Clean cache
+      file:
+        state: absent
+        path: "/opt/base/var/cache/"
+
+    - name: Composer install
+      shell: "eval $(ssh-agent) ;  ssh-add /opt/keys/bitbucket.id_rsa ; composer install --no-interaction"
+
+    - name: Load redirections
+      set_fact:
+        uris: "{{ uris }} --redirect_uri=http://{{ item }}.{{ lookup('env', 'CLIENT') }}.flowdat.com/login_check"
+      with_items: "{{ lookup('env', 'MODULES_INSTALL').split(',') }}"
+
+    - name: Create oauth client
+      shell: "bin/console oauth:client:createRedirects {{ uris }} > oauth.data.log"
+      args:
+        executable: /bin/bash
+
+
+    - name: Update variable usersetting
+      set_fact:
+        usersetting: "{{ lookup('file', '{{ playbook_dir }}/user_system.json')|from_json }}"
+
+    - name: Create user iksop
+      shell: "bin/console user:create {{ item.user }} {{ item.email }} {{ item.password }} {{ item.tenancy }} {{ item.extra }}"
+      args:
+        executable: /bin/bash
+      with_items: "{{ usersetting.users }}"
+
+    - name: Promote users to ADMIN
+      shell: " bin/console fos:user:promote admin ROLE_ADMIN"
+      args:
+        executable: /bin/bash
+
+    - name: Promote users to IKSOP
+      shell: " bin/console fos:user:promote iksop ROLE_SUPER_ADMIN"
+      args:
+        executable: /bin/bash
+
+    - name: Copy file oauth.data.log to host
+      fetch:
+        src: /opt/base/oauth.data.log
+        dest: /tmp/
+        flat: yes
+
+- name: Configure oauth data for other container. Tag=configure_oauth
+  hosts: 127.0.0.1
+  connection: local
+  tags: configure_oauth
+  tasks:
+    - name: "Add outh client id"
+      shell:  "cp /tmp/oauth.data.log {{ item }}.oauth.env"
+      args:
+        executable: /bin/bash
+      with_items: "{{ lookup('env', 'MODULES_INSTALL').split(',') }}"
+
+- name: "Launch docker's. Tag=launch_dockers"
+  hosts: 127.0.0.1
+  connection: local
+  tags: launch_dockers
+  tasks:
+    - name: "Dockers up"
+      command: "docker-compose up -d --force-recreate {{ item }}"
+      with_items: "{{ lookup('env', 'MODULES_INSTALL').split(',') }}"
+
+- name: "Run modules. Timeout: 10 minutes. Tag=run_modules"
+  hosts: "{{ lookup('env', 'MODULES_INSTALL') }}"
+  connection: docker
+  tags: run_modules
+  tasks:
+    - name: "Docker's schema update"
+      wait_for:
+        path: "./vendor/composer/autoload_classmap.php"
+        #path: "/opt/{{ play_hosts }}/vendor/composer/autoload_classmap.php"
+        state: present
+        sleep: 30
+        timeout: 600
+
+- name: "Run doctrine:schema:update for modules. Tag=dsu_modules"
+  hosts: "{{ lookup('env', 'MODULES_INSTALL') }}"
+  connection: docker
+  tags: dsu_modules
+  tasks:
+    - name: "Doctrine schema update"
+      shell: "bin/console doctrine:schema:update --force"
+
+- name: "Run up all. Tag=up_all"
+  hosts: 127.0.0.1
+  connection: local
+  tags: up_all 
+  tasks:
+    - name: Docker up all modules
+      command: "docker-compose up -d "
+
+    - name: Docker stop nginx
+      command: "docker-compose stop nginx "
+
+    - name: Docker up nginx
+      command: "docker-compose up -d nginx"

+ 1 - 1
tools/playbook.yml

@@ -187,7 +187,7 @@
 
     - name: Load redirections
       set_fact:
-        uris: "{{ uris }} --redirect_uri=http://{{ item }}.{{ lookup('env', 'CLIENT') }}.flowdat.com/login_check"
+        uris: "{{ uris }} --redirect_uri=https://{{ item }}.{{ lookup('env', 'CLIENT') }}.flowdat.com/login_check"
       with_items: "{{ lookup('env', 'MODULES_INSTALL').split(',') }}"
 
     - name: Create oauth client