--- - name: Install and start LiteLLM quadlets for ai user hosts: ai-ai remote_user: ai vars: ai_user: ai quadlets_dir: "/home/{{ ai_user }}/.config/containers/systemd" tasks: - name: Ensure ai user home directories exist ansible.builtin.file: path: "{{ item }}" state: directory owner: "{{ ai_user }}" group: "{{ ai_user }}" mode: "0755" loop: - "{{ quadlets_dir }}" - name: Copy litellm container pod ansible.builtin.copy: src: quadlets/litellm.pod dest: "{{ quadlets_dir }}/litellm.pod" owner: "{{ ai_user }}" group: "{{ ai_user }}" mode: "0644" - name: Copy litellm container quadlet ansible.builtin.copy: src: quadlets/litellm-web.container dest: "{{ quadlets_dir }}/litellm-web.container" owner: "{{ ai_user }}" group: "{{ ai_user }}" mode: "0644" - name: Copy litellm-db container quadlet ansible.builtin.copy: src: quadlets/litellm-db.container dest: "{{ quadlets_dir }}/litellm-db.container" owner: "{{ ai_user }}" group: "{{ ai_user }}" mode: "0644" - name: Copy prometheus container quadlet ansible.builtin.copy: src: quadlets/litellm-prometheus.container dest: "{{ quadlets_dir }}/litellm-prometheus.container" owner: "{{ ai_user }}" group: "{{ ai_user }}" mode: "0644" - name: Copy prometheus config ansible.builtin.copy: src: secrets/litellm-prometheus.yaml dest: "/home/{{ ai_user }}/litellm-prometheus.yaml" owner: "{{ ai_user }}" group: "{{ ai_user }}" mode: "0644" - name: Copy litellm.env file ansible.builtin.copy: src: secrets/litellm.env dest: "/home/{{ ai_user }}/litellm.env" owner: "{{ ai_user }}" group: "{{ ai_user }}" mode: "0600" - name: Copy litellm-config.yaml ansible.builtin.copy: src: secrets/litellm-config.yaml dest: "/home/{{ ai_user }}/litellm-config.yaml" owner: "{{ ai_user }}" group: "{{ ai_user }}" mode: "0644" - name: Reload systemd user daemon ansible.builtin.systemd: daemon_reload: true scope: user - name: Restart litellm pod ansible.builtin.systemd: name: litellm-pod state: restarted scope: user