ansible/roles/emc_portal/tasks/main.yml (116 lines of code) (raw):
- name: Install nginx certbot python3-certbot-nginx
apt:
name:
- nginx
- certbot
- python3-certbot-nginx
state: latest
update_cache: yes
become: yes
- name: Download NodeJS 16.x
get_url:
url: https://deb.nodesource.com/setup_16.x
dest: /tmp
mode: '0755'
force: true
- name: Install NodeJS 16.x
command: "{{ item }} chdir=/tmp"
with_items:
- bash /tmp/nodesource_setup.sh
- apt install nodejs
- npm install yarn -g
become: yes
- name: Create tusd source directory
become: yes
file: path={{ emc_portal_tusd_source_dir }}
state=directory
mode=0755
owner={{ user }}
group={{ group }}
- name: Download tusd
get_url:
url: https://github.com/tus/tusd/releases/download/v1.9.0/tusd_linux_amd64.tar.gz
dest: "{{ emc_portal_tusd_source_dir }}"
mode: '0755'
- name: Extract tusd tusd_linux_amd64.tar.gz
ansible.builtin.unarchive:
src: "{{ emc_portal_tusd_source_dir }}/tusd_linux_amd64.tar.gz"
dest: "{{ emc_portal_tusd_source_dir }}"
remote_src: yes
- name: Add the tusd service config
template:
dest: /etc/systemd/system/tusd.service
src: tusd/tusd.service.j2
force: yes
mode: 0755
become: yes
- name: Enable tusd service
command: "{{ item }}"
with_items:
- systemctl daemon-reload
- systemctl enable tusd.service
- systemctl restart tusd
become: yes
- name: open firewall port 1080 for tusd
firewalld:
zone: public
permanent: yes
state: enabled
immediate: yes
rich_rule: rule family=ipv4 source address="{{ item }}" port port="1080" protocol=tcp accept
become: yes
with_items:
- "{{ sharing_subnets }}"
- name: Update the default nginx
template:
dest: /etc/nginx/sites-available/default
src: nginx/default.j2
force: yes
mode: 0755
become: yes
- name: Restart nginx
command: "{{ item }}"
with_items:
- systemctl restart nginx
become: yes
- name: open firewall port 80 for HTTP connections
firewalld: port="80/tcp"
zone=public permanent=true state=enabled immediate=yes
become: yes
- name: open firewall port 443 for HTTPS connections
firewalld: port="443/tcp"
zone=public permanent=true state=enabled immediate=yes
become: yes
- name: Create EMC portal source directory
become: yes
file: path={{ emc_portal_source_dir }}
state=directory
mode=0755
owner={{ user }}
group={{ group }}
- name: git checkout from EMC portal github repo {{ emc_portal_repo }} branch {{ emc_portal_git_branch }}
git: repo="{{ emc_portal_repo }}"
dest="{{ emc_portal_source_dir }}"
version="{{ emc_portal_git_branch }}"
register: checkout
tags: update
become: yes
become_user: "{{ user }}"
- name: Run EMC portal yarn install
command: "yarn install chdir={{emc_portal_source_dir}}"
become: yes
become_user: "{{ user }}"
- name: Run EMC portal yarn build
command: "yarn build chdir={{emc_portal_source_dir}}"
environment:
VUE_APP_CLIENT_ID: "{{ emc_portal_client_id }}"
VUE_APP_CLIENT_SEC: "{{ emc_portal_client_sec }}"
VUE_APP_CLIENT_USERS_GROUP_ID: "{{ emc_portal_client_users_group_id }}"
VUE_APP_CLIENT_ADMIN_GROUP_ID: "{{ emc_portal_client_admin_group_id }}"
VUE_APP_REDIRECT_URI: "{{ emc_portal_client_redirect_uri }}"
VUE_APP_DATA_LAKE_DRMS_URL: "{{ emc_portal_datalake_drms_url }}"
VUE_APP_RESOURCE_IMAGE_REGISTRY_URL: "{{ emc_portal_resource_image_registry_url }}"
VUE_APP_CUSTOS_API_URL: "{{ emc_portal_custos_api_url }}"
VUE_APP_SUPER_CLIENT_ID: "{{ emc_portal_custos_super_client_id }}"
become: yes
become_user: "{{ user }}"