soju/tasks/main.yaml
author Luke Hoersten <luke@hoersten.org>
Sat, 28 Mar 2026 20:09:33 -0500
changeset 256 f7af0562f84c
parent 255 433b19646947
permissions -rw-r--r--
Removed sojuctl ansible commands. configure via client.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
255
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
     1
---
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
     2
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
     3
- name: install soju
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
     4
  become: yes
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
     5
  apt: name="soju"
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
     6
  notify: restart soju
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
     7
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
     8
- name: install soju db schema file
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
     9
  become: yes
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    10
  template:
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    11
    src: "setup_db.psql.j2"
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    12
    dest: "/tmp/setup_db_soju.psql"
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    13
    owner: "postgres"
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    14
    group: "postgres"
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    15
    mode: "0600"
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    16
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    17
- name: setup soju db
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    18
  become: yes
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    19
  become_user: "postgres"
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    20
  command: "psql -f /tmp/setup_db_soju.psql"
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    21
  changed_when: false
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    22
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    23
- name: create soju data dir
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    24
  become: yes
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    25
  file:
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    26
    path: "{{soju_data_dir}}"
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    27
    state: "directory"
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    28
    owner: "{{soju_user}}"
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    29
    group: "{{soju_user}}"
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    30
    mode: "0755"
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    31
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    32
- name: configure soju
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    33
  become: yes
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    34
  template:
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    35
    src: "config.j2"
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    36
    dest: "/etc/soju/config"
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    37
    mode: "0644"
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    38
  notify: restart soju
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    39
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    40
- name: enable soju service
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    41
  become: yes
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    42
  systemd: name="soju.service" enabled="yes" state="started"
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    43
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    44
- name: flush handlers to ensure soju is restarted with latest config
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    45
  meta: flush_handlers
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    46
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    47
- name: create soju admin user
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    48
  become: yes
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    49
  become_user: "{{soju_user}}"
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    50
  shell: "echo '{{soju_admin_password}}' | sojudb -config /etc/soju/config create-user {{soju_admin_user}} -admin"
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    51
  register: soju_create_user
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    52
  changed_when: soju_create_user.rc == 0
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    53
  failed_when: soju_create_user.rc != 0 and 'duplicate key' not in soju_create_user.stderr
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    54
  no_log: true
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    55
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    56
- name: install nginx stream config
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    57
  become: yes
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    58
  template:
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    59
    src: "nginx-stream.conf.j2"
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    60
    dest: "/etc/nginx/streams-available/soju.conf"
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    61
  notify: reload nginx
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    62
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    63
- name: enable nginx stream config
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    64
  become: yes
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    65
  file:
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    66
    src: "/etc/nginx/streams-available/soju.conf"
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    67
    dest: "/etc/nginx/streams-enabled/soju.conf"
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    68
    state: "link"
433b19646947 Added soju role.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    69
  notify: reload nginx