Hello from MCP server

List Files | Just Commands | Repo | Logs

← back |
---
- name: Install and Configure Litestream
  hosts: all
  become: yes
  vars:
    deploy_user: deploy
    litestream_version: "0.3.13"
    # These should be passed via command line: -e "s3_bucket=... s3_region=... s3_access_key_id=... s3_secret_access_key=..."
    s3_bucket: ""
    s3_region: "us-east-1"
    s3_access_key_id: ""
    s3_secret_access_key: ""

  tasks:
    - name: Check required variables
      fail:
        msg: "Missing required variable: {{ item }}"
      when: vars[item] == ""
      loop:
        - s3_bucket
        - s3_access_key_id
        - s3_secret_access_key

    - name: Download Litestream
      get_url:
        url: "https://github.com/benbjohnson/litestream/releases/download/v{{ litestream_version }}/litestream-v{{ litestream_version }}-linux-amd64.tar.gz"
        dest: /tmp/litestream.tar.gz

    - name: Extract Litestream binary
      unarchive:
        src: /tmp/litestream.tar.gz
        dest: /usr/local/bin/
        remote_src: yes
        creates: /usr/local/bin/litestream

    - name: Make Litestream executable
      file:
        path: /usr/local/bin/litestream
        mode: '0755'

    - name: Deploy Litestream config
      template:
        src: litestream.yml.j2
        dest: /etc/litestream.yml
        owner: "{{ deploy_user }}"
        group: "{{ deploy_user }}"
        mode: '0600'
      notify: Restart Litestream

    - name: Deploy Litestream systemd service
      template:
        src: litestream.service.j2
        dest: /etc/systemd/system/litestream.service
      notify: Restart Litestream

    - name: Enable and start Litestream
      systemd:
        daemon_reload: yes
        name: litestream
        enabled: yes
        state: started

  handlers:
    - name: Restart Litestream
      systemd:
        daemon_reload: yes
        name: litestream
        state: restarted