diff --git a/deployment/environments/group_vars/all/vitamui_vars.yml b/deployment/environments/group_vars/all/vitamui_vars.yml index 1e47dbe9b29ed191c8a4340d342cc46f311255de..b03e875e6a23004821a1598b8c7bcd74ed84b793 100755 --- a/deployment/environments/group_vars/all/vitamui_vars.yml +++ b/deployment/environments/group_vars/all/vitamui_vars.yml @@ -1,7 +1,7 @@ --- single_vm_hostnames: ['localhost'] -vitamui_env_name: "{{ vitam_site_name }}" +vitamui_site_name: "{{ vitam_site_name }}" pki_dir: "{{ inventory_dir }}/certs" @@ -193,5 +193,5 @@ mongodb: included_scripts: - ".*" excluded_scripts: - - ".*_dev.js" - - ".*_demo.js" + - ".*_dev.js.*" + - ".*_demo.js.*" diff --git a/deployment/environments/vitamui_extra_vars.yml b/deployment/environments/vitamui_extra_vars.yml index 442323841aff86866e5184d5c37e3c4b5562a4ab..63816ad95452d9dd25f4d9fa4e355f32b55024b6 100644 --- a/deployment/environments/vitamui_extra_vars.yml +++ b/deployment/environments/vitamui_extra_vars.yml @@ -6,8 +6,6 @@ url_prefix: "changeme" ### # consul_vars.yml overload -vitamui_site_name: "changeme" - consul_remote_sites: - vitamui: name: "changeme" diff --git a/deployment/roles/mongo_init/tasks/check_auth.yml b/deployment/roles/mongo_init/tasks/check_auth.yml index 95e7b2d89e9908a8cab0a10f7be73a2cff7275f7..2afac0e3a476ace51720c94fd8797fc2fbbfd0e3 100644 --- a/deployment/roles/mongo_init/tasks/check_auth.yml +++ b/deployment/roles/mongo_init/tasks/check_auth.yml @@ -1,7 +1,7 @@ --- - name: Check if authent is enabled - command: "mongo {{ ip_service }}:{{ mongodb.mongod_port }}/admin -u {{ mongodb.localadmin.user }} -p {{ mongodb.localadmin.password }} --quiet --eval 'db.help()'" + command: "mongo --host {{ mongod_uri }}/admin -u {{ mongodb.localadmin.user }} -p {{ mongodb.localadmin.password }} --quiet --eval 'db.help()'" register: mongo_authent_enabled failed_when: false no_log: "{{ hide_passwords_during_deploy }}" diff --git a/deployment/roles/mongo_init/tasks/execute_script.yml b/deployment/roles/mongo_init/tasks/execute_script.yml index 38e1f13689eac398740512c2305635a98249b69c..03ec476f0957214d65062e67f4f2e62a2ae55ff9 100644 --- a/deployment/roles/mongo_init/tasks/execute_script.yml +++ b/deployment/roles/mongo_init/tasks/execute_script.yml @@ -18,7 +18,7 @@ - block: - name: Check if the script has already been executed - shell: "mongo {{ ip_service }}:{{ mongodb.mongod_port }}/versioning {{ mongo_credentials }} --quiet --eval \"db.changelog.find({filename: '{{ mongo_file.finalname }}', checksum: '{{ stat_result.stat.checksum}}'});\"" + shell: "mongo \"mongodb://{{ mongod_uri }}/admin\" {{ mongo_credentials }} --quiet --eval \"db.changelog.find({filename: '{{ mongo_file.finalname }}', checksum: '{{ stat_result.stat.checksum}}'});\"" no_log: "{{ hide_passwords_during_deploy }}" register: mongo_versionning_result @@ -28,12 +28,12 @@ - block: - name: Load script in database - shell: "mongo {{ ip_service }}:{{ mongodb.mongod_port }}/admin {{ mongo_credentials }} {{ mongod_output_dir_entry_point }}/{{ mongo_file.finalname }}" + shell: "mongo \"mongodb://{{ mongod_uri }}/admin\" {{ mongo_credentials }} {{ mongod_output_dir_entry_point }}/{{ mongo_file.finalname }}" no_log: "{{ hide_passwords_during_deploy }}" when: mock_insert_data is not defined - name: Update changelog - shell: "mongo {{ ip_service }}:{{ mongodb.mongod_port }}/versioning {{ mongo_credentials }} --eval \"db.changelog.insertOne({filename: '{{ mongo_file.finalname }}', date: new Date(), version: '{{ mongo_file.version }}', checksum: '{{ stat_result.stat.checksum}}'});\"" + shell: "mongo \"mongodb://{{ mongod_uri }}/versioning\" {{ mongo_credentials }} --eval \"db.changelog.insertOne({filename: '{{ mongo_file.finalname }}', date: new Date(), version: '{{ mongo_file.version }}', checksum: '{{ stat_result.stat.checksum}}'});\"" no_log: "{{ hide_passwords_during_deploy }}" when: - "'_id' not in mongo_versionning_result.stdout" @@ -42,7 +42,7 @@ - block: - name: Check if the script has already been executed (docker) - shell: "docker exec --tty vitamui-mongo /bin/bash -c \"mongo {{ ip_service }}:{{ mongodb.mongod_port }}/versioning {{ mongo_credentials }} --quiet --eval \\\"db.changelog.find({filename: '{{ mongo_file.finalname }}', checksum: '{{ stat_result.stat.checksum}}'});\\\"\"" + shell: "docker exec --tty vitamui-mongo /bin/bash -c \"mongo \\\"mongodb://{{ mongod_uri }}/versioning\\\" {{ mongo_credentials }} --quiet --eval \\\"db.changelog.find({filename: '{{ mongo_file.finalname }}', checksum: '{{ stat_result.stat.checksum}}'});\\\"\"" no_log: "{{ hide_passwords_during_deploy }}" register: mongo_versionning_result @@ -52,12 +52,12 @@ - block: - name: Load script in database (docker) - command: "docker exec --tty vitamui-mongo /bin/bash -c \"mongo {{ ip_service }}:{{ mongodb.mongod_port }}/admin {{ mongo_credentials }} {{ mongodb.docker.internal_dir}}/app/mongod/{{ mongo_file.finalname }}\"" + command: "docker exec --tty vitamui-mongo /bin/bash -c \"mongo \\\"mongodb://{{ mongod_uri }}/admin\\\" {{ mongo_credentials }} {{ mongodb.docker.internal_dir}}/app/mongod/{{ mongo_file.finalname }}\"" no_log: "{{ hide_passwords_during_deploy }}" when: mock_insert_data is not defined - name: Update changelog (docker) - shell: "docker exec --tty vitamui-mongo /bin/bash -c \"mongo {{ ip_service }}:{{ mongodb.mongod_port }}/versioning {{ mongo_credentials }} --quiet --eval \\\"db.changelog.insertOne({filename: '{{ mongo_file.finalname }}', date: new Date(), version: '{{ mongo_file.version }}', checksum: '{{ stat_result.stat.checksum}}'});\\\"\"" + shell: "docker exec --tty vitamui-mongo /bin/bash -c \"mongo \\\"mongodb://{{ mongod_uri }}/versioning\\\" {{ mongo_credentials }} --quiet --eval \\\"db.changelog.insertOne({filename: '{{ mongo_file.finalname }}', date: new Date(), version: '{{ mongo_file.version }}', checksum: '{{ stat_result.stat.checksum}}'});\\\"\"" no_log: "{{ hide_passwords_during_deploy }}" when: diff --git a/deployment/roles/mongo_init/tasks/main.yml b/deployment/roles/mongo_init/tasks/main.yml index 67c70501ca94732383d0a4a1c72b6784acdf1119..36d383de616625909d80f2e2264bd583cd2c3115 100644 --- a/deployment/roles/mongo_init/tasks/main.yml +++ b/deployment/roles/mongo_init/tasks/main.yml @@ -3,6 +3,15 @@ - fail: msg="Variable '{{ mongod_source_template_dir }}' is not defined" when: mongod_source_template_dir is undefined +- name: Compute list of mongo nodes + set_fact: + mongo_nodes: "{{ mongo_nodes | default([]) + [ hostvars[item]['ip_service'] + ':'+ mongodb.mongod_port | string ] }}" + loop: "{{ groups['hosts_vitamui_mongod'] }}" + +- name: Set Mongo URI + set_fact: + mongod_uri: "{{ mongo_nodes| join(',') }}" + - name: Set mongod_output_dir_entry_point set_fact: mongod_output_dir_entry_point: "{{ vitamui_defaults.folder.root_path }}/app/mongod/" @@ -43,16 +52,22 @@ loop: "{{ output.results }}" # We apply regex for included and excludes files in order to compute the eligible scripts. -- name: Compute list of eligibles files +- name: Compute list of excluded files delegate_to: localhost set_fact: - mongod_eligible_files : "{{ (mongod_eligible_files| default([])) + [ {'name': item.0, 'version': item.0 | regex_replace('^(.+)/(.+)$', '\\1') ,'finalname': item.0 | regex_replace('/', '_') | basename | regex_replace('\\.j2$')} ] }}" - when: item.0 is match(item.1) and item.0 is not match(item.2) + mongod_excluded_files : "{{ (mongod_excluded_files| default([])) + [ item.0 ] }}" + when: item.0 is not match(item.1) or item.0 is match(item.2) with_nested: - "{{ mongod_files }}" - "{{ mongodb.included_scripts }}" - "{{ mongodb.excluded_scripts }}" +- name: Compute list of eligible files + delegate_to: localhost + set_fact: + mongod_eligible_files : "{{ (mongod_eligible_files| default([])) + [ {'name': item, 'version': item | regex_replace('^(.+)/(.+)$', '\\1') ,'finalname': item | regex_replace('/', '_') | basename | regex_replace('\\.j2$')} ] }}" + loop: "{{ mongod_files | difference(mongod_excluded_files| default([])) }}" + # We generate scripts and upload on remote host - name: Compute and copy script files template: diff --git a/deployment/roles/vitamui/templates/cas-server/application.yml.j2 b/deployment/roles/vitamui/templates/cas-server/application.yml.j2 index 17af8b7d1c2e2e211ed42d6d29be896c62604ada..21fa8aeb46a92d183741e1087c3d9409d84c42d0 100644 --- a/deployment/roles/vitamui/templates/cas-server/application.yml.j2 +++ b/deployment/roles/vitamui/templates/cas-server/application.yml.j2 @@ -152,7 +152,7 @@ ip.header: X-Real-IP server-identity: - identityName: {{ vitamui_env_name }} + identityName: {{ vitamui_site_name }} identityRole: {{ vitamui_struct.vitamui_component }} identityServerId: 1 diff --git a/deployment/roles/vitamui/templates/iam-external/application.yml.j2 b/deployment/roles/vitamui/templates/iam-external/application.yml.j2 index 2acafe48dc0662ce4ed00db4a9e0fffefc6f1008..2999083e3fb4491b3fd99e1700ce575ea468d182 100644 --- a/deployment/roles/vitamui/templates/iam-external/application.yml.j2 +++ b/deployment/roles/vitamui/templates/iam-external/application.yml.j2 @@ -36,7 +36,7 @@ management: enabled: false server-identity: - identityName: {{ vitamui_env_name }} + identityName: {{ vitamui_site_name }} identityRole: {{ vitamui_struct.vitamui_component }} identityServerId: 1 diff --git a/deployment/roles/vitamui/templates/iam-internal/application.yml.j2 b/deployment/roles/vitamui/templates/iam-internal/application.yml.j2 index 3ec4daa4b362041be57556c3e1d5b2cbe2c830fb..55e4be4ae1d24d3dfc0b7837ffdd82ed59255954 100644 --- a/deployment/roles/vitamui/templates/iam-internal/application.yml.j2 +++ b/deployment/roles/vitamui/templates/iam-internal/application.yml.j2 @@ -39,7 +39,7 @@ management: enabled: false server-identity: - identityName: {{ vitamui_env_name }} + identityName: {{ vitamui_site_name }} identityRole: {{ vitamui_struct.vitamui_component }} identityServerId: 1 diff --git a/deployment/roles/vitamui/templates/iam-internal/server-identity.conf.j2 b/deployment/roles/vitamui/templates/iam-internal/server-identity.conf.j2 index 89f7a25edb773cae22c72ac72552ab1be971061f..efe35400322ebbbdc64e47346b9eec096f01fbc9 100644 --- a/deployment/roles/vitamui/templates/iam-internal/server-identity.conf.j2 +++ b/deployment/roles/vitamui/templates/iam-internal/server-identity.conf.j2 @@ -1,3 +1,3 @@ -identityName: {{ vitamui_env_name }} +identityName: {{ vitamui_site_name }} identityRole: {{ vitamui_struct.vitamui_component }} identitySiteId: 1 diff --git a/deployment/roles/vitamui/templates/security-internal/application.yml.j2 b/deployment/roles/vitamui/templates/security-internal/application.yml.j2 index ee5e77b8a47becc9118748183bb615b3bec2db28..b462b4a0e6382edbf590c5e16dfd4b0dde74a47d 100644 --- a/deployment/roles/vitamui/templates/security-internal/application.yml.j2 +++ b/deployment/roles/vitamui/templates/security-internal/application.yml.j2 @@ -12,7 +12,7 @@ spring: server-identity: - identityName: {{ vitamui_env_name }} + identityName: {{ vitamui_site_name }} identityRole: {{ vitamui_struct.vitamui_component }} identityServerId: 1 diff --git a/deployment/roles/vitamui/templates/ui-identity-admin/application.yml.j2 b/deployment/roles/vitamui/templates/ui-identity-admin/application.yml.j2 index 05670dcac11232c753592da7118a2215d7128361..be35acaf6cfd7fe501bf8ac3791f4b8d068b53f1 100644 --- a/deployment/roles/vitamui/templates/ui-identity-admin/application.yml.j2 +++ b/deployment/roles/vitamui/templates/ui-identity-admin/application.yml.j2 @@ -41,7 +41,7 @@ logging: config: {{ vitamui_folder_conf }}/logback.xml server-identity: - identityName: {{ vitamui_env_name }} + identityName: {{ vitamui_site_name }} identityRole: {{ vitamui_struct.vitamui_component }} identityServerId: 1 diff --git a/deployment/roles/vitamui/templates/ui-identity/application.yml.j2 b/deployment/roles/vitamui/templates/ui-identity/application.yml.j2 index 9c086100d3ccfeea098b13cfe7f703d54e9fcfe1..a2000f3c32544adf18442542b277901205c0888f 100644 --- a/deployment/roles/vitamui/templates/ui-identity/application.yml.j2 +++ b/deployment/roles/vitamui/templates/ui-identity/application.yml.j2 @@ -38,7 +38,7 @@ logging: config: {{ vitamui_folder_conf }}/logback.xml server-identity: - identityName: {{ vitamui_env_name }} + identityName: {{ vitamui_site_name }} identityRole: {{ vitamui_struct.vitamui_component }} identityServerId: 1 diff --git a/deployment/roles/vitamui/templates/ui-portal/application.yml.j2 b/deployment/roles/vitamui/templates/ui-portal/application.yml.j2 index f8c3f4bd446ffb248540c342f8f9083b072b8c9d..6b78242b08cafdfc06f2db9ae8e09bde6752210d 100644 --- a/deployment/roles/vitamui/templates/ui-portal/application.yml.j2 +++ b/deployment/roles/vitamui/templates/ui-portal/application.yml.j2 @@ -34,7 +34,7 @@ logging: config: {{ vitamui_folder_conf }}/logback.xml server-identity: - identityName: {{ vitamui_env_name }} + identityName: {{ vitamui_site_name }} identityRole: {{ vitamui_struct.vitamui_component }} identityServerId: 1 diff --git a/tools/docker/mongo/hosts b/tools/docker/mongo/hosts index 0a82a3b934446a8a191760142b06d512e6363570..ba3e14456f1a338e615b5a222030296ee57a5520 100644 --- a/tools/docker/mongo/hosts +++ b/tools/docker/mongo/hosts @@ -54,4 +54,13 @@ localhost hosts_cas_server [hosts_cas_server] +localhost + +######################################################## +# ZONE DATA +######################################################## +[zone_vitamui_data:children] +hosts_vitamui_mongod + +[hosts_vitamui_mongod] localhost \ No newline at end of file diff --git a/tools/docker/mongo/mongo_vars_dev.yml b/tools/docker/mongo/mongo_vars_dev.yml index 2cdd2d967c416b04c18d7b7704bd7224939ed6c8..0fbcb2ee71ca391b5c83800390409856713ad8cb 100644 --- a/tools/docker/mongo/mongo_vars_dev.yml +++ b/tools/docker/mongo/mongo_vars_dev.yml @@ -53,6 +53,8 @@ mongodb: password: "mongod_dbpwd_versioning" roles: '[{ role: "readWrite", db: "versioning" }]' +mongod_replicaset_name: "rs0" + url_prefix: "" # Variables for users