Music VM (#28)
All checks were successful
Infrastructure / Check and run Ansbile playbooks (push) Successful in 8m20s
All checks were successful
Infrastructure / Check and run Ansbile playbooks (push) Successful in 8m20s
Provision a VM with Navidrome and some tools for downloading stuff from YouTube. Reviewed-on: #28
This commit is contained in:
49
infra/music/0003_music_playbook.yaml
Normal file
49
infra/music/0003_music_playbook.yaml
Normal file
@@ -0,0 +1,49 @@
|
||||
- name: Deploy app
|
||||
hosts: music
|
||||
gather_facts: false
|
||||
vars:
|
||||
app: music
|
||||
tasks:
|
||||
- name: Wait for connection
|
||||
ansible.builtin.wait_for_connection:
|
||||
timeout: 300
|
||||
- name: Get user
|
||||
ansible.builtin.user:
|
||||
name: debian
|
||||
register: user
|
||||
- name: Docker compose down
|
||||
ansible.builtin.command: docker compose down
|
||||
args:
|
||||
chdir: "{{ user.home }}/{{ app }}"
|
||||
ignore_errors: true
|
||||
- name: Copy project
|
||||
ansible.builtin.copy:
|
||||
src: "./{{ app }}"
|
||||
dest: "{{ user.home }}"
|
||||
mode: "0744"
|
||||
|
||||
- name: Replace LastFM API key secret
|
||||
ansible.builtin.replace:
|
||||
path: "{{ user.home }}/{{ app }}/.env"
|
||||
regexp: "LASTFM_APIKEY_VALUE"
|
||||
replace: "{{ lookup('infisical.vault.read_secrets', env_slug='prod', path='/music', secret_name='LASTFM_APIKEY')['value'] }}"
|
||||
- name: Replace LastFM secret
|
||||
ansible.builtin.replace:
|
||||
path: "{{ user.home }}/{{ app }}/.env"
|
||||
regexp: "LASTFM_SECRET_VALUE"
|
||||
replace: "{{ lookup('infisical.vault.read_secrets', env_slug='prod', path='/music', secret_name='LASTFM_SECRET')['value'] }}"
|
||||
- name: Replace Mongo Password secret
|
||||
ansible.builtin.replace:
|
||||
path: "{{ user.home }}/{{ app }}/.env"
|
||||
regexp: "SPOTIFY_ID_VALUE"
|
||||
replace: "{{ lookup('infisical.vault.read_secrets', env_slug='prod', path='/music', secret_name='SPOTIFY_ID')['value'] }}"
|
||||
- name: Replace SMTP Password secret
|
||||
ansible.builtin.replace:
|
||||
path: "{{ user.home }}/{{ app }}/.env"
|
||||
regexp: "SPOTIFY_SECRET_VALUE"
|
||||
replace: "{{ lookup('infisical.vault.read_secrets', env_slug='prod', path='/music', secret_name='SPOTIFY_SECRET')['value'] }}"
|
||||
|
||||
- name: Docker compose up -d
|
||||
ansible.builtin.command: docker compose up -d
|
||||
args:
|
||||
chdir: "{{ user.home }}/{{ app }}"
|
Reference in New Issue
Block a user