yt-dlp-dags/ansible/playbook-depricated.dl.yml

74 lines
2.3 KiB
YAML

---
- name: Deploy Airflow DL Worker Stack
hosts: airflow_workers
vars_files:
- group_vars/all.yml
- group_vars/all/vault.yml
pre_tasks:
- name: Announce fast deploy mode if enabled
debug:
msg: "🚀 FAST DEPLOY MODE ENABLED: Skipping Docker image builds and pulls. 🚀"
when: fast_deploy | default(false)
run_once: true
tasks:
- name: Ensure worker directory exists
file:
path: "{{ airflow_worker_dir }}"
state: directory
owner: "{{ ansible_user }}"
group: "{{ ansible_user }}"
- name: Template .env.worker
template:
src: templates/.env.worker.j2
dest: "{{ airflow_worker_dir }}/.env"
mode: '0600'
- name: Template docker-compose file for Airflow worker
template:
src: ../airflow/configs/docker-compose-dl.yaml.j2
dest: "{{ airflow_worker_dir }}/configs/docker-compose-dl.yaml"
mode: '0644'
- name: Build Airflow worker image from local Dockerfile
community.docker.docker_image:
name: "{{ airflow_image_name }}"
build:
path: "{{ airflow_worker_dir }}"
dockerfile: "Dockerfile"
source: build
force_source: true
when: not fast_deploy | default(false)
- name: Build Camoufox image from local Dockerfile
community.docker.docker_image:
name: "camoufox:latest"
build:
path: "{{ airflow_worker_dir }}/camoufox"
source: build
force_source: true
when: not fast_deploy | default(false)
- name: Pull ytdlp-ops-server image only
community.docker.docker_image:
name: "{{ ytdlp_ops_image }}"
source: pull
when: not fast_deploy | default(false)
- name: Generate dynamic configs (camoufox + envoy)
shell:
cmd: "docker compose -f configs/docker-compose.config-generate.yaml run --rm config-generator"
chdir: "{{ airflow_worker_dir }}"
- name: Start worker services
community.docker.docker_compose_v2:
project_src: "{{ airflow_worker_dir }}"
files:
- configs/docker-compose-dl.yaml
- configs/docker-compose-ytdlp-ops.yaml
- configs/docker-compose.camoufox.yaml
state: present
remove_orphans: true
pull: "{{ 'never' if fast_deploy | default(false) else 'missing' }}"