Compare commits
10 Commits
78e90a6624
...
0.1.2
Author | SHA1 | Date | |
---|---|---|---|
7452bd8288
|
|||
881eabdf00
|
|||
4dbc7f9fea
|
|||
23e39bee4d
|
|||
1214b49da2
|
|||
64ca0e97b5
|
|||
3279f5b0ce
|
|||
f57b851916
|
|||
e84e2fba81
|
|||
2ec6bde3bd
|
@ -1,6 +1,6 @@
|
|||||||
namespace: finallycoffee
|
namespace: finallycoffee
|
||||||
name: matrix
|
name: matrix
|
||||||
version: 0.1.1
|
version: 0.1.2
|
||||||
readme: README.md
|
readme: README.md
|
||||||
authors:
|
authors:
|
||||||
- transcaffeine <transcaffeine@finally.coffee>
|
- transcaffeine <transcaffeine@finally.coffee>
|
||||||
@ -10,3 +10,10 @@ build_ignore:
|
|||||||
- '*.tar.gz'
|
- '*.tar.gz'
|
||||||
repository: https://git.finally.coffee/finallycoffee/matrix
|
repository: https://git.finally.coffee/finallycoffee/matrix
|
||||||
issues: https://codeberg.org/finallycoffee/ansible-collection-matrix/issues
|
issues: https://codeberg.org/finallycoffee/ansible-collection-matrix/issues
|
||||||
|
tags:
|
||||||
|
- matrix
|
||||||
|
- synapse
|
||||||
|
- homeserver
|
||||||
|
- element
|
||||||
|
- hydrogen
|
||||||
|
- cinny
|
||||||
|
6
playbooks/hydrogen.yml
Normal file
6
playbooks/hydrogen.yml
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
- name: Deploy and configure hydrogen
|
||||||
|
hosts: "{{ hydrogen_hosts | default('hydrogen') }}"
|
||||||
|
become: "{{ hydrogen_become | default(true) }}"
|
||||||
|
roles:
|
||||||
|
- role: finallycoffee.matrix.hydrogen
|
@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
cinny_user: cinny
|
cinny_user: cinny
|
||||||
cinny_state: "present"
|
cinny_state: "present"
|
||||||
cinny_version: "4.2.1"
|
cinny_version: "4.2.2"
|
||||||
cinny_deployment_method: "docker"
|
cinny_deployment_method: "docker"
|
||||||
|
|
||||||
cinny_base_path: "/opt/cinny"
|
cinny_base_path: "/opt/cinny"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
element_user: element
|
element_user: element
|
||||||
element_state: "present"
|
element_state: "present"
|
||||||
element_version: "1.11.77"
|
element_version: "1.11.82"
|
||||||
element_deployment_method: "docker"
|
element_deployment_method: "docker"
|
||||||
|
|
||||||
element_base_path: "/opt/element"
|
element_base_path: "/opt/element"
|
||||||
|
@ -9,14 +9,17 @@ hydrogen_container_image: >-2
|
|||||||
([
|
([
|
||||||
hydrogen_container_image_server,
|
hydrogen_container_image_server,
|
||||||
hydrogen_container_image_namespace,
|
hydrogen_container_image_namespace,
|
||||||
hydrogen_container_image_name
|
hydrogen_container_image_name,
|
||||||
] | join('/'))
|
] | join('/'))
|
||||||
+ ':' + (hydrogen_container_image_tag
|
+ ':' + (hydrogen_container_image_tag
|
||||||
| default('v' + hydrogen_version), true)
|
| default('v' + hydrogen_version, true))
|
||||||
}}
|
}}
|
||||||
|
|
||||||
|
hydrogen_container_working_directory: "/usr/share/nginx/html"
|
||||||
|
hydrogen_container_config_file: >-2
|
||||||
|
{{ hydrogen_container_working_directory }}/config.json
|
||||||
hydrogen_container_base_volumes:
|
hydrogen_container_base_volumes:
|
||||||
- "{{ hydrogen_config_file }}:{{ hydrogen_config_file }}:ro"
|
- "{{ hydrogen_config_file }}:{{ hydrogen_container_config_file }}:ro"
|
||||||
hydrogen_container_full_volumes: >-2
|
hydrogen_container_full_volumes: >-2
|
||||||
{{ hydrogen_container_base_volumes | default([], true)
|
{{ hydrogen_container_base_volumes | default([], true)
|
||||||
+ (hydrogen_container_volumes | default([], true))
|
+ (hydrogen_container_volumes | default([], true))
|
||||||
@ -25,7 +28,7 @@ hydrogen_container_image_source: pull
|
|||||||
hydrogen_container_image_force_source: >-2
|
hydrogen_container_image_force_source: >-2
|
||||||
{{ hydrogen_container_image_tag | default(false, true) | bool }}
|
{{ hydrogen_container_image_tag | default(false, true) | bool }}
|
||||||
hydrogen_container_state: >-2
|
hydrogen_container_state: >-2
|
||||||
{{ (hydrogen-state == 'present') | ternary('started', 'absent') }}
|
{{ (hydrogen_state == 'present') | ternary('started', 'absent') }}
|
||||||
hydrogen_container_env: ~
|
hydrogen_container_env: ~
|
||||||
hydrogen_container_user: >-2
|
hydrogen_container_user: >-2
|
||||||
{{ hydrogen_run_user_id }}:{{ hydrogen_run_group_id }}
|
{{ hydrogen_run_user_id }}:{{ hydrogen_run_group_id }}
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
---
|
---
|
||||||
|
hydrogen_state: present
|
||||||
hydrogen_user: hydrogen
|
hydrogen_user: hydrogen
|
||||||
hydrogen_version: "0.5.0"
|
hydrogen_version: "0.5.0"
|
||||||
|
hydrogen_deployment_method: docker
|
||||||
|
|
||||||
hydrogen_config_file: "/etc/hydrogen/config.json"
|
hydrogen_config_file: "/etc/hydrogen/config.json"
|
||||||
|
|
||||||
|
@ -9,3 +9,4 @@ galaxy_info:
|
|||||||
- matrix
|
- matrix
|
||||||
- matrix-client
|
- matrix-client
|
||||||
- docker
|
- docker
|
||||||
|
- podman
|
||||||
|
32
roles/hydrogen/tasks/deploy-podman.yml
Normal file
32
roles/hydrogen/tasks/deploy-podman.yml
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
---
|
||||||
|
- name: Ensure container image '{{ hydrogen_container_image }}' is {{ hydrogen_state }} on host
|
||||||
|
containers.podman.podman_image:
|
||||||
|
name: "{{ hydrogen_container_image }}"
|
||||||
|
state: "{{ hydrogen_state }}"
|
||||||
|
pull: "{{ hydrogen_container_image_source == 'pull' }}"
|
||||||
|
force: "{{ hydrogen_container_image_force_source }}"
|
||||||
|
register: hydrogen_container_image_info
|
||||||
|
until: hydrogen_container_image_info is success
|
||||||
|
retries: 5
|
||||||
|
delay: 3
|
||||||
|
|
||||||
|
- name: Ensure hydrogen container '{{ hydrogen_container_name }}' is {{ hydrogen_container_state }}
|
||||||
|
containers.podman.podman_container:
|
||||||
|
name: "{{ hydrogen_container_name }}"
|
||||||
|
image: "{{ hydrogen_container_image }}"
|
||||||
|
env: "{{ hydrogen_container_env | default(omit, true) }}"
|
||||||
|
user: "{{ hydrogen_container_user }}"
|
||||||
|
ports: "{{ hydrogen_container_ports | default(omit, true) }}"
|
||||||
|
labels: "{{ hydrogen_container_labels | default(omit, true) }}"
|
||||||
|
ulimits: "{{ hydrogen_container_ulimits | default(omit, true) }}"
|
||||||
|
volumes: "{{ hydrogen_container_volumes }}"
|
||||||
|
network: "{{ hydrogen_container_networks | default(omit, true) }}"
|
||||||
|
purge_networks: >-2
|
||||||
|
{{ hydrogen_container_purge_networks | default(omit, true) }}
|
||||||
|
dns_servers: >-2
|
||||||
|
{{ hydrogen_container_dns_servers | default(omit, true) }}
|
||||||
|
etc_hosts: >-2
|
||||||
|
{{ hydrogen_container_etc_hosts | default(omit, true) }}
|
||||||
|
restart_policy: >-2
|
||||||
|
{{ hydrogen_container_restart_policy | default(omit, true) }}
|
||||||
|
state: "{{ hydrogen_container_state }}"
|
@ -21,7 +21,9 @@
|
|||||||
groups: "{{ hydrogen_user_groups | default(omit, true) }}"
|
groups: "{{ hydrogen_user_groups | default(omit, true) }}"
|
||||||
append: >-2
|
append: >-2
|
||||||
{{ hydrogen_user_append_groups
|
{{ hydrogen_user_append_groups
|
||||||
| default(hydrogen_user_groups | default([]) | length > 0, true) }}"
|
| default(hydrogen_user_groups | default([]) | length > 0, true)
|
||||||
|
| bool
|
||||||
|
}}
|
||||||
state: "{{ hydrogen_state }}"
|
state: "{{ hydrogen_state }}"
|
||||||
register: hydrogen_user_info
|
register: hydrogen_user_info
|
||||||
|
|
||||||
|
@ -4,3 +4,4 @@ hydrogen_states:
|
|||||||
- absent
|
- absent
|
||||||
hydrogen_deployment_methods:
|
hydrogen_deployment_methods:
|
||||||
- docker
|
- docker
|
||||||
|
- podman
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
synapse_user: synapse
|
synapse_user: synapse
|
||||||
synapse_group: synapse
|
synapse_group: synapse
|
||||||
synapse_version: "1.116.0"
|
synapse_version: "1.117.0"
|
||||||
synapse_state: "present"
|
synapse_state: "present"
|
||||||
synapse_deployment_method: "docker"
|
synapse_deployment_method: "docker"
|
||||||
|
|
||||||
|
@ -17,8 +17,8 @@
|
|||||||
msg: "Required variable '{{ item }}' is undefined!"
|
msg: "Required variable '{{ item }}' is undefined!"
|
||||||
loop: "{{ synapse_required_variables }}"
|
loop: "{{ synapse_required_variables }}"
|
||||||
when: >-2
|
when: >-2
|
||||||
item not in hostvars[ansible_host]
|
item not in hostvars[inventory_hostname]
|
||||||
or hostvars[ansible_host][item] | length == 0
|
or hostvars[inventory_hostname][item] | length == 0
|
||||||
|
|
||||||
- name: Ensure conditionally required variables are given
|
- name: Ensure conditionally required variables are given
|
||||||
ansible.builtin.fail:
|
ansible.builtin.fail:
|
||||||
|
Reference in New Issue
Block a user