Compare commits
17 Commits
1e31adef1f
...
0.1.3
Author | SHA1 | Date | |
---|---|---|---|
64b0ef72b2
|
|||
be6f7c1cc2
|
|||
3ac177e04b
|
|||
c153483976
|
|||
71b9e8046c
|
|||
04b5f8f54c
|
|||
7c78210551
|
|||
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.3
|
||||||
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
|
||||||
|
@ -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"
|
||||||
|
@ -11,12 +11,15 @@ element_container_image_registry: "docker.io"
|
|||||||
element_container_image_namespace: "vectorim"
|
element_container_image_namespace: "vectorim"
|
||||||
element_container_image_name: "element-web"
|
element_container_image_name: "element-web"
|
||||||
element_container_image_tag: ~
|
element_container_image_tag: ~
|
||||||
|
element_container_image_source: pull
|
||||||
|
element_container_image_force_source: >-2
|
||||||
|
{{ element_container_image_tag | default(false, true) | bool }}
|
||||||
element_container_name: "element-web"
|
element_container_name: "element-web"
|
||||||
element_container_restart_policy: >-
|
element_container_restart_policy: >-
|
||||||
{{ (element_deployment_method == 'docker')
|
{{ (element_deployment_method == 'docker')
|
||||||
| ternary('unless-stopped',
|
| ternary('unless-stopped',
|
||||||
(element_deployment_method == 'podman' |
|
(element_deployment_method == 'podman' |
|
||||||
ternary('on-failure', 'always'))
|
ternary('on-failure', 'always')))
|
||||||
}}
|
}}
|
||||||
element_container_full_volumes: >-
|
element_container_full_volumes: >-
|
||||||
{{ element_container_default_volumes
|
{{ element_container_default_volumes
|
||||||
|
@ -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.85"
|
||||||
element_deployment_method: "docker"
|
element_deployment_method: "docker"
|
||||||
|
|
||||||
element_base_path: "/opt/element"
|
element_base_path: "/opt/element"
|
||||||
@ -10,9 +10,9 @@ element_dist_path: "{{ element_source_path }}/dist"
|
|||||||
element_config_path: "{{ element_base_path }}/config"
|
element_config_path: "{{ element_base_path }}/config"
|
||||||
element_config_file: "{{ element_config_path }}/config.json"
|
element_config_file: "{{ element_config_path }}/config.json"
|
||||||
|
|
||||||
element_host_uid: >-
|
element_host_uid: >-2
|
||||||
{{ element_user_info is defined
|
{{ ((element_user_info is defined) and ('uid' in element_user_info))
|
||||||
| ternary(element_user_info.uid, element_user) }}
|
| ternary(element_user_info.uid, element_user) }}
|
||||||
element_host_gid: >-
|
element_host_gid: >-2
|
||||||
{{ element_user_info is defined
|
{{ ((element_user_info is defined) and ('uid' in element_user_info))
|
||||||
| ternary(element_user_info.group, element_user) }}
|
| ternary(element_user_info.group, element_user) }}
|
||||||
|
@ -14,8 +14,8 @@
|
|||||||
community.docker.docker_image:
|
community.docker.docker_image:
|
||||||
name: "{{ element_container_image }}"
|
name: "{{ element_container_image }}"
|
||||||
state: "{{ element_state }}"
|
state: "{{ element_state }}"
|
||||||
source: "{{ element_container_source }}"
|
source: "{{ element_container_image_source }}"
|
||||||
force_source: "{{ element_container_image_tag | default(false, true) }}"
|
force_source: "{{ element_container_image_force_source }}"
|
||||||
|
|
||||||
- name: Ensure container '{{ element_container_name }}' is {{ element_state }}
|
- name: Ensure container '{{ element_container_name }}' is {{ element_state }}
|
||||||
community.docker.docker_container:
|
community.docker.docker_container:
|
||||||
@ -23,7 +23,7 @@
|
|||||||
image: "{{ element_container_image }}"
|
image: "{{ element_container_image }}"
|
||||||
state: "{{ (element_state == 'present') | ternary('started', 'absent') }}"
|
state: "{{ (element_state == 'present') | ternary('started', 'absent') }}"
|
||||||
env: "{{ element_container_env | default(omit) }}"
|
env: "{{ element_container_env | default(omit) }}"
|
||||||
user: "{{ element_container_user }}"
|
user: "{{ element_container_user | default(omit) }}"
|
||||||
ports: "{{ element_container_ports | default(omit) }}"
|
ports: "{{ element_container_ports | default(omit) }}"
|
||||||
labels: "{{ element_container_labels | default(omit) }}"
|
labels: "{{ element_container_labels | default(omit) }}"
|
||||||
volumes: "{{ element_container_full_volumes }}"
|
volumes: "{{ element_container_full_volumes }}"
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
containers.podman.podman_image:
|
containers.podman.podman_image:
|
||||||
name: "{{ element_container_image }}"
|
name: "{{ element_container_image }}"
|
||||||
state: "{{ element_state }}"
|
state: "{{ element_state }}"
|
||||||
pull: "{{ element_container_source == 'pull' }}"
|
pull: "{{ element_container_image_source == 'pull' }}"
|
||||||
force: "{{ element_container_image_tag | default(false, true) }}"
|
force: "{{ element_container_image_force_source }}"
|
||||||
|
|
||||||
- name: Ensure container '{{ element_container_name }}' is {{ element_state }}
|
- name: Ensure container '{{ element_container_name }}' is {{ element_state }}
|
||||||
containers.podman.podman_container:
|
containers.podman.podman_container:
|
||||||
@ -12,7 +12,7 @@
|
|||||||
image: "{{ element_container_image }}"
|
image: "{{ element_container_image }}"
|
||||||
state: "{{ (element_state == 'present') | ternary('started', 'absent') }}"
|
state: "{{ (element_state == 'present') | ternary('started', 'absent') }}"
|
||||||
env: "{{ element_container_env | default(omit) }}"
|
env: "{{ element_container_env | default(omit) }}"
|
||||||
user: "{{ element_container_user }}"
|
user: "{{ element_container_user | default(omit) }}"
|
||||||
ports: "{{ element_container_ports | default(omit) }}"
|
ports: "{{ element_container_ports | default(omit) }}"
|
||||||
labels: "{{ element_container_labels | default(omit) }}"
|
labels: "{{ element_container_labels | default(omit) }}"
|
||||||
volumes: "{{ element_container_full_volumes }}"
|
volumes: "{{ element_container_full_volumes }}"
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
---
|
---
|
||||||
element_state:
|
element_states:
|
||||||
- present
|
- present
|
||||||
- absent
|
- absent
|
||||||
|
|
||||||
|
@ -9,10 +9,10 @@ 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_working_directory: "/usr/share/nginx/html"
|
||||||
@ -28,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.118.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