Use builded web interface

This commit is contained in:
Dryusdan 2022-12-06 17:05:50 +01:00
parent 52f3c22a76
commit 1950c714f5
1 changed files with 42 additions and 90 deletions

View File

@ -27,6 +27,18 @@
- install
- upgrade
- name: "Get web-build version"
uri:
url: https://api.github.com/repos/dani-garcia/bw_web_builds/releases/latest
method: GET
return_content: yes
status_code: 200
body_format: json
register: webbuild_github_repo
tags:
- install
- upgrade
- name: Get rustup installer
get_url:
url: https://sh.rustup.rs
@ -78,6 +90,22 @@
tags:
- upgrade
- name: Remove web build
file:
path: "{{ item.home }}/web-vault.tar.gz"
state: absent
loop: "{{ bitwarden }}"
tags:
- upgrade
- name: Remove web build.asc
file:
path: "{{ item.home }}/web-vault.tar.gz.asc"
state: absent
loop: "{{ bitwarden }}"
tags:
- upgrade
- name: Stop bitwarden
ansible.builtin.systemd:
state: stopped
@ -100,43 +128,6 @@
- install
- upgrade
- name: "Clone bitwarden patch"
git:
repo: https://github.com/dani-garcia/bw_web_builds.git
dest: "{{ item.home }}/bw_web_builds"
become: yes
become_user : "{{ item.name }}"
become_method: su
become_flags: '-s /bin/bash'
loop: "{{ bitwarden }}"
tags:
- install
- upgrade
- name: "Get last patch"
shell: ls | sort --version-sort | tail -n 1 | sed "s/.patch//"
args:
chdir: "{{ item.home }}/bw_web_builds/patches"
register: webvault_version
loop: "{{ bitwarden }}"
tags:
- install
- upgrade
- name: "Clone bitwarden web"
git:
repo: https://github.com/bitwarden/clients.git
dest: "{{ item.item.home }}/web-vault"
version: "web-{{ item.stdout }}"
become: yes
become_user : "{{ item.item.name }}"
become_method: su
become_flags: '-s /bin/bash'
loop: "{{ webvault_version.results }}"
tags:
- install
- upgrade
- name: Compile bitwarden_rs
shell: "{{ item.home }}/.cargo/bin/cargo build --release --features {{ item.backend }}"
args:
@ -150,80 +141,41 @@
- install
- upgrade
- name: Patch web-vault
shell: "git apply {{ item.item.home }}/bw_web_builds/patches/{{ item.stdout }}.patch"
args:
chdir: "{{ item.item.home }}/web-vault"
become: yes
become_user : "{{ item.item.name }}"
become_method: su
become_flags: '-s /bin/bash'
loop: "{{ webvault_version.results }}"
tags:
- install
- upgrade
- name: Replace google webfont
shell: "sed -i 's/\"gulp-google-webfonts\": \"^4.0.0\"/\"gulp-google-webfonts\": \"^4.1.0\"/' package.json"
args:
chdir: "{{ item.home }}/web-vault"
- name: Download web-vault
ansible.builtin.get_url:
url: "https://github.com/dani-garcia/bw_web_builds/releases/download/{{ webbuild_github_repo.json.tag_name }}/bw_web_{{ webbuild_github_repo.json.tag_name }}.tar.gz"
dest: "{{ item.home }}/web-vault.tar.gz"
mode: '0440'
become: yes
become_user : "{{ item.name }}"
become_method: su
become_flags: '-s /bin/bash'
loop: "{{ bitwarden }}"
tags:
- install
- upgrade
- name: Init build
shell: "npm ci"
args:
chdir: "{{ item.home }}/web-vault"
- name: Download web-vault.asc
ansible.builtin.get_url:
url: "https://github.com/dani-garcia/bw_web_builds/releases/download/{{ webbuild_github_repo.json.tag_name }}/bw_web_{{ webbuild_github_repo.json.tag_name }}.tar.gz.asc"
dest: "{{ item.home }}/web-vault.tar.gz.asc"
mode: '0440'
become: yes
become_user : "{{ item.name }}"
become_method: su
become_flags: '-s /bin/bash'
loop: "{{ bitwarden }}"
tags:
- install
- upgrade
- name: Init build with fix
shell: "npm audit fix || true"
- name: Verify signature
ansible.builtin.command:
cmd: gpg --verify web-vault.tar.gz.asc
args:
chdir: "{{ item.home }}/web-vault"
chdir: "{{ item.home }}"
become: yes
become_user : "{{ item.name }}"
become_method: su
become_flags: '-s /bin/bash'
loop: "{{ bitwarden }}"
tags:
- install
- upgrade
- name: Install npm dependancies
shell: "npm run dist:oss:selfhost"
args:
chdir: "{{ item.home }}/web-vault/apps/web"
become: yes
become_user : "{{ item.name }}"
become_method: su
become_flags: '-s /bin/bash'
loop: "{{ bitwarden }}"
tags:
- install
- upgrade
- name: Build web-vault
shell: "npm run dist:oss:selfhost"
args:
chdir: "{{ item.home }}/web-vault"
become: yes
become_user : "{{ item.name }}"
become_method: su
become_flags: '-s /bin/bash'
loop: "{{ bitwarden }}"
tags:
- install
- upgrade