7 Commits

6 changed files with 49 additions and 19 deletions

View File

@ -5,9 +5,10 @@
This ansible collection provides various roles for installing This ansible collection provides various roles for installing
and configuring basic system utilities like gnupg, ssh etc and configuring basic system utilities like gnupg, ssh etc
- [`elasticsearch`](roles/elasticsearch/README.md): Deploy [elasticsearch](https://www.docker.elastic.co/r/elasticsearch/elasticsearch-oss), - DEPRECATED: [`elasticsearch`](roles/elasticsearch/README.md): Deploy [elasticsearch](https://www.docker.elastic.co/r/elasticsearch/elasticsearch-oss),
a popular (distributed) search and analytics engine, mostly known by it's a popular (distributed) search and analytics engine, mostly known by it's
letter "E" in the ELK-stack. letter "E" in the ELK-stack.
This role has been moved to the `finallycoffee.databases.elasticsearch` ansible collection.
- [`git`](roles/git/README.md): configures git on the target system - [`git`](roles/git/README.md): configures git on the target system
@ -16,7 +17,9 @@ and configuring basic system utilities like gnupg, ssh etc
- [`lego`](roles/lego/README.md): runs [lego (LetsEncrypt Go)](https://github.com/go-acme/lego), - [`lego`](roles/lego/README.md): runs [lego (LetsEncrypt Go)](https://github.com/go-acme/lego),
a ACME client written in go, using systemd (timers). Multi-instance capable. a ACME client written in go, using systemd (timers). Multi-instance capable.
- [`mariadb`](roles/mariadb/README.md): runs [MariaDB Server](https://mariadb.org/), one of the world's most popular open source relational database - DEPRECATED: [`mariadb`](roles/mariadb/README.md): runs [MariaDB Server](https://mariadb.org/),
one of the world's most popular open source relational database.
Moved to `finallycoffee.databases.mariadb`.
- [`minio`](roles/minio/README.md): Deploy [min.io](https://min.io), an - [`minio`](roles/minio/README.md): Deploy [min.io](https://min.io), an
s3-compatible object storage server, using docker containers. s3-compatible object storage server, using docker containers.

View File

@ -1,6 +1,6 @@
namespace: finallycoffee namespace: finallycoffee
name: base name: base
version: 0.1.2 version: 0.1.3
readme: README.md readme: README.md
authors: authors:
- transcaffeine <transcaffeine@finally.coffee> - transcaffeine <transcaffeine@finally.coffee>
@ -14,9 +14,7 @@ repository: https://git.finally.coffee/finallycoffee/base
issues: https://codeberg.org/finallycoffee/ansible-collection-base/issues issues: https://codeberg.org/finallycoffee/ansible-collection-base/issues
tags: tags:
- docker - docker
- elastic
- lego - lego
- mariadb
- minio - minio
- nginx - nginx
- restic - restic

View File

@ -1,4 +1,9 @@
--- ---
- name: Warn about deprecation and move of role
ansible.builtin.debug:
msg: >-2
This ansible role has been moved to the finallycoffee.databases
ansible collection and will no longer be maintained here!
- name: Ensure host directories are present - name: Ensure host directories are present
file: file:

View File

@ -1,6 +1,6 @@
--- ---
lego_user: "lego" lego_user: "lego"
lego_version: "4.18.0" lego_version: "4.20.2"
lego_instance: default lego_instance: default
lego_base_path: "/opt/lego" lego_base_path: "/opt/lego"
lego_cert_user: "acme-{{ lego_instance }}" lego_cert_user: "acme-{{ lego_instance }}"
@ -58,7 +58,7 @@ lego_systemd_timer_name: "lego-{{ lego_instance }}.timer"
lego_systemd_timer_template: lego.timer.j2 lego_systemd_timer_template: lego.timer.j2
lego_systemd_timer_calendar: "*-*-* *:00/15:00" lego_systemd_timer_calendar: "*-*-* *:00/15:00"
lego_architecture: "amd64" lego_architecture: "{{ 'arm64' if ansible_architecture == 'aarch64' else 'amd64' }}"
lego_os: "linux" lego_os: "linux"
lego_binary_allow_net_bind_service: false lego_binary_allow_net_bind_service: false

View File

@ -1,8 +1,9 @@
--- ---
mariadb_version: "10.11.9" mariadb_version: "10.11.9"
mariadb_base_path: /var/lib/mariadb mariadb_base_path: /var/lib/mariadb
mariadb_data_path: "{{ mariadb_base_path }}/{{ mariadb_version }}" mariadb_data_path: >-2
{{ mariadb_base_path }}/{{ mariadb_version | split('.') | first }}
mariadb_state: present
mariadb_root_password: ~ mariadb_root_password: ~
mariadb_database: ~ mariadb_database: ~
@ -13,10 +14,24 @@ mariadb_container_base_environment:
MARIADB_ROOT_PASSWORD: "{{ mariadb_root_password }}" MARIADB_ROOT_PASSWORD: "{{ mariadb_root_password }}"
mariadb_container_extra_environment: {} mariadb_container_extra_environment: {}
mariadb_container_name: mariadb mariadb_container_image_registry: docker.io
mariadb_container_image_name: docker.io/mariadb mariadb_container_image_namespace: ~
mariadb_container_image_name: mariadb
mariadb_container_image_tag: ~ mariadb_container_image_tag: ~
mariadb_container_image: "{{ mariadb_container_image_name }}:{{ mariadb_container_image_tag | default(mariadb_version, true) }}" mariadb_container_image: >-2
{{
([
mariadb_container_image_registry | default([], true),
mariadb_container_image_namespace | default([], true),
mariadb_container_image_name,
] | flatten | join('/'))
+ ':' + mariadb_container_image_tag | default(mariadb_version, true)
}}
mariadb_container_image_source: pull
mariadb_container_image_force_source: >-2
{{ mariadb_container_image_tag | default(false, true) | bool }}
mariadb_container_name: mariadb
mariadb_container_base_volumes: mariadb_container_base_volumes:
- "{{ mariadb_data_path }}:{{ mariadb_container_data_path }}:z" - "{{ mariadb_data_path }}:{{ mariadb_container_data_path }}:z"
mariadb_container_extra_volumes: [] mariadb_container_extra_volumes: []
@ -30,3 +45,5 @@ mariadb_container_environment: >-2
if (mariadb_database and mariadb_username and mariadb_password) if (mariadb_database and mariadb_username and mariadb_password)
else {}, recursive=True) else {}, recursive=True)
| combine(mariadb_container_extra_environment) }} | combine(mariadb_container_extra_environment) }}
mariadb_container_state: >-2
{{ (mariadb_state == 'present') | ternary('started', 'absent') }}

View File

@ -1,20 +1,27 @@
--- ---
- name: Ensure mariaDB container image is present on host - name: Warn about deprecation
ansible.builtin.debug:
msg: >-2
This ansible role is moved to the finallycoffee.databases collection
and will be removed soon!
- name: Ensure mariadb container image '{{ mariadb_container_image }}' is {{ mariadb_state }}
community.docker.docker_image: community.docker.docker_image:
name: "{{ mariadb_container_image }}" name: "{{ mariadb_container_image }}"
state: present state: "{{ mariadb_state }}"
source: pull source: "{{ mariadb_container_image_source }}"
force_source: "{{ mariadb_container_image_force_source }}"
- name: Ensure mariaDB {{ mariadb_version }} is running as '{{ mariadb_container_name }}' - name: Ensure mariadb container '{{ mariadb_container_name }}' is {{ mariadb_container_state }}
community.docker.docker_container: community.docker.docker_container:
name: "{{ mariadb_container_name }}" name: "{{ mariadb_container_name }}"
image: "{{ mariadb_container_image }}" image: "{{ mariadb_container_image }}"
env: "{{ mariadb_container_environment }}" env: "{{ mariadb_container_environment }}"
ports: "{{ mariadb_container_ports }}" ports: "{{ mariadb_container_ports | default(omit, true) }}"
labels: "{{ mariadb_container_labels }}" labels: "{{ mariadb_container_labels | default(omit, true) }}"
volumes: "{{ mariadb_container_volumes }}" volumes: "{{ mariadb_container_volumes }}"
networks: "{{ mariadb_container_networks | default(omit, true) }}" networks: "{{ mariadb_container_networks | default(omit, true) }}"
etc_hosts: "{{ mariadb_container_etc_hosts | default(omit, true) }}" etc_hosts: "{{ mariadb_container_etc_hosts | default(omit, true) }}"
purge_networks: "{{ mariadb_container_purge_networks | default(omit, true) }}" purge_networks: "{{ mariadb_container_purge_networks | default(omit, true) }}"
restart_policy: "{{ mariadb_container_restart_policy }}" restart_policy: "{{ mariadb_container_restart_policy }}"
state: started state: "{{ mariadb_container_state }}"