reworked by Gemini
This commit is contained in:
@@ -2,83 +2,70 @@
|
|||||||
---
|
---
|
||||||
# tasks file for roles/omada-controller
|
# tasks file for roles/omada-controller
|
||||||
# roles/omada-controller/tasks/main.yml
|
# roles/omada-controller/tasks/main.yml
|
||||||
- name: Check if Omada Controller package 'tpeap' is already installed (using command)
|
|
||||||
command: dpkg-query -W -f='${Status}' tpeap
|
|
||||||
register: omada_pkg_status
|
|
||||||
# Fail silently if package is not found, and never report a change.
|
|
||||||
failed_when: false
|
|
||||||
changed_when: false
|
|
||||||
|
|
||||||
- name: Install Omada Controller
|
- name: Install dependencies for Omada Controller
|
||||||
when: "'install ok installed' not in omada_pkg_status.stdout"
|
|
||||||
block:
|
|
||||||
- name: Install dependencies for Omada Controller
|
|
||||||
# Der Controller benötigt Java, jsvc (Java Service Wrapper) und curl.
|
# Der Controller benötigt Java, jsvc (Java Service Wrapper) und curl.
|
||||||
# MongoDB wird vom Controller-Paket selbst mitgebracht und muss nicht separat installiert werden.
|
ansible.builtin.apt:
|
||||||
apt:
|
|
||||||
name:
|
name:
|
||||||
- "{{ omada_controller_java_package }}"
|
- "{{ omada_controller_java_package }}"
|
||||||
- jsvc
|
- jsvc
|
||||||
- gnupg # Benötigt für gpg --dearmor
|
- gnupg # Benötigt für gpg --dearmor
|
||||||
- curl
|
- curl
|
||||||
|
- apt-transport-https
|
||||||
state: present
|
state: present
|
||||||
update_cache: yes
|
update_cache: yes
|
||||||
register: apt_install
|
register: apt_install
|
||||||
retries: 3
|
retries: 3
|
||||||
until: apt_install is success
|
until: apt_install is success
|
||||||
|
|
||||||
- name: Ensure apt can use repositories over HTTPS
|
- name: Download MongoDB GPG key
|
||||||
ansible.builtin.apt:
|
|
||||||
name: apt-transport-https
|
|
||||||
state: present
|
|
||||||
|
|
||||||
- name: Download MongoDB GPG key
|
|
||||||
ansible.builtin.get_url:
|
ansible.builtin.get_url:
|
||||||
url: "https://www.mongodb.org/static/pgp/server-{{ omada_controller_mongodb_version }}.asc"
|
url: "https://www.mongodb.org/static/pgp/server-{{ omada_controller_mongodb_version }}.asc"
|
||||||
dest: "/tmp/mongodb-server-{{ omada_controller_mongodb_version }}.asc"
|
dest: "/tmp/mongodb-server-{{ omada_controller_mongodb_version }}.asc"
|
||||||
mode: '0644'
|
mode: '0644'
|
||||||
|
|
||||||
- name: Dearmor MongoDB GPG key and place in /usr/share/keyrings
|
- name: Dearmor MongoDB GPG key and place in /usr/share/keyrings
|
||||||
ansible.builtin.command:
|
ansible.builtin.command:
|
||||||
cmd: "gpg --dearmor -o /usr/share/keyrings/mongodb-archive-keyring.gpg /tmp/mongodb-server-{{ omada_controller_mongodb_version }}.asc"
|
cmd: "gpg --dearmor -o /usr/share/keyrings/mongodb-archive-keyring.gpg /tmp/mongodb-server-{{ omada_controller_mongodb_version }}.asc"
|
||||||
creates: /usr/share/keyrings/mongodb-archive-keyring.gpg
|
creates: /usr/share/keyrings/mongodb-archive-keyring.gpg
|
||||||
# Hinweis: Der Pfad /usr/share/keyrings/ ist der empfohlene Ort für Schlüssel, die mit 'signed-by' verwendet werden.
|
# Hinweis: Der Pfad /usr/share/keyrings/ ist der empfohlene Ort für Schlüssel, die mit 'signed-by' verwendet werden.
|
||||||
|
|
||||||
- name: Add MongoDB repository
|
- name: Add MongoDB repository
|
||||||
ansible.builtin.apt_repository:
|
ansible.builtin.apt_repository:
|
||||||
repo: "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-archive-keyring.gpg ] https://repo.mongodb.org/apt/debian {{ omada_controller_mongodb_repo_release }}/mongodb-org/{{ omada_controller_mongodb_version }} main"
|
repo: "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-archive-keyring.gpg ] https://repo.mongodb.org/apt/debian {{ omada_controller_mongodb_repo_release }}/mongodb-org/{{ omada_controller_mongodb_version }} main"
|
||||||
state: present
|
state: present
|
||||||
filename: "mongodb-org-{{ omada_controller_mongodb_version }}"
|
filename: "mongodb-org-{{ omada_controller_mongodb_version }}"
|
||||||
update_cache: yes
|
update_cache: yes
|
||||||
# Der 'signed-by'-Parameter verweist auf den zuvor dearmored Schlüssel.
|
# Der 'signed-by'-Parameter verweist auf den zuvor dearmored Schlüssel.
|
||||||
# Dies ist die moderne und sichere Methode, GPG-Schlüssel für APT-Repositories zu handhaben.
|
|
||||||
|
|
||||||
- name: Install MongoDB server
|
- name: Install MongoDB server
|
||||||
# Der Omada Controller benötigt MongoDB >= 3.0.0.
|
# Der Omada Controller benötigt MongoDB >= 3.0.0.
|
||||||
# Wir installieren 'mongodb-org-server' aus dem offiziellen MongoDB-Repository.
|
|
||||||
# Das Omada Controller-Paket wird diese Abhängigkeit dann finden.
|
|
||||||
ansible.builtin.apt:
|
ansible.builtin.apt:
|
||||||
name: mongodb-org-server
|
name: mongodb-org-server
|
||||||
state: present
|
state: present
|
||||||
register: mongodb_install
|
register: mongodb_install
|
||||||
retries: 3
|
retries: 3
|
||||||
until: mongodb_install is success
|
until: mongodb_install is success
|
||||||
# Hinweis: Der MongoDB-Dienst wird bei der Installation automatisch gestartet.
|
|
||||||
# Der Omada Controller verwaltet seine Interaktion mit MongoDB.
|
|
||||||
|
|
||||||
|
- name: Check if Omada Controller package 'tpeap' is already installed (using command)
|
||||||
|
ansible.builtin.command: dpkg-query -W -f='${Status}' tpeap
|
||||||
|
register: omada_pkg_status
|
||||||
|
# Fail silently if package is not found, and never report a change.
|
||||||
|
failed_when: false
|
||||||
|
changed_when: false
|
||||||
|
|
||||||
# Das .deb-Paket wird direkt von der URL installiert.
|
- name: Install Omada Controller from URL
|
||||||
- name: Install Omada Controller from URL
|
ansible.builtin.apt:
|
||||||
apt:
|
|
||||||
deb: "{{ omada_controller_deb_url }}"
|
deb: "{{ omada_controller_deb_url }}"
|
||||||
state: present
|
state: present
|
||||||
|
when: "'install ok installed' not in omada_pkg_status.stdout"
|
||||||
register: omada_install
|
register: omada_install
|
||||||
retries: 3
|
retries: 3
|
||||||
until: omada_install is success
|
until: omada_install is success
|
||||||
notify: Restart Omada Controller
|
notify: Restart Omada Controller
|
||||||
|
|
||||||
- name: Ensure Omada Controller service (tpeap) is running and enabled on boot
|
- name: Ensure Omada Controller service (tpeap) is running and enabled on boot
|
||||||
service:
|
ansible.builtin.service:
|
||||||
name: tpeap
|
name: tpeap
|
||||||
state: started
|
state: started
|
||||||
enabled: yes
|
enabled: yes
|
||||||
|
|||||||
Reference in New Issue
Block a user