From 21b4dbc2e25df08c36dc8159bbe57e990c4205bf Mon Sep 17 00:00:00 2001 From: Rene Mewissen Date: Tue, 21 Oct 2025 15:29:44 +0200 Subject: [PATCH] Omada Controller needs MongoDB --- roles/omada-controller/README.md | 1 + roles/omada-controller/defaults/main.yml | 4 +++ roles/omada-controller/tasks/main.yml | 33 ++++++++++++++++++++++++ 3 files changed, 38 insertions(+) diff --git a/roles/omada-controller/README.md b/roles/omada-controller/README.md index 05e3ad2..675d658 100644 --- a/roles/omada-controller/README.md +++ b/roles/omada-controller/README.md @@ -23,6 +23,7 @@ Die folgenden Variablen können angepasst werden, um das Verhalten der Rolle zu |---|---|---| | `omada_controller_deb_url` | `https://static.tp-link.com/.../Omada_SDN_Controller_v5.9.31_Linux_x64.deb` | Die direkte Download-URL für das `.deb`-Installationspaket des Omada Controllers. Die neueste Version finden Sie auf der TP-Link Download-Seite. | | `omada_controller_java_package` | `default-jre-headless` | Das zu installierende Java-Paket. Das Metapaket `default-jre-headless` sorgt für die Installation der von der Distribution empfohlenen Java-Version und maximiert die Kompatibilität. | +| `omada_controller_mongodb_repo_release` | `jammy` | Der Release-Name, der für das offizielle MongoDB APT-Repository verwendet wird. Für neuere Debian-Versionen (wie Debian 13) wird oft ein Ubuntu LTS Release (z.B. `jammy` für Ubuntu 22.04) als Fallback genutzt, da MongoDB nicht immer sofort Repositories für alle Debian-Testing-Versionen bereitstellt. | ## Abhängigkeiten diff --git a/roles/omada-controller/defaults/main.yml b/roles/omada-controller/defaults/main.yml index 32c5746..7ff876c 100644 --- a/roles/omada-controller/defaults/main.yml +++ b/roles/omada-controller/defaults/main.yml @@ -11,3 +11,7 @@ omada_controller_deb_url: "https://static.tp-link.com/upload/software/2023/20230 # Das Metapaket 'default-jre-headless' wird verwendet, um automatisch die von der Distribution empfohlene Java-Version zu installieren. # Dies erhöht die Kompatibilität mit zukünftigen OS-Versionen. omada_controller_java_package: "default-jre-headless" + +# Release-Name für das offizielle MongoDB APT-Repository. +# Für Debian 13 (Trixie) wird oft ein Ubuntu LTS Release wie 'jammy' (22.04) als Fallback verwendet. +omada_controller_mongodb_repo_release: "jammy" diff --git a/roles/omada-controller/tasks/main.yml b/roles/omada-controller/tasks/main.yml index 692b9a9..b8b39c4 100644 --- a/roles/omada-controller/tasks/main.yml +++ b/roles/omada-controller/tasks/main.yml @@ -26,6 +26,39 @@ retries: 3 until: apt_install is success + - name: Ensure apt can use repositories over HTTPS + ansible.builtin.apt: + name: apt-transport-https + state: present + + - name: Add MongoDB GPG key + ansible.builtin.apt_key: + url: https://www.mongodb.org/static/pgp/server-6.0.asc + state: present + # Der Schlüssel für MongoDB 6.0 ist 68818C72E52529D4. + # Kann mit 'apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 68818C72E52529D4' verifiziert werden. + + - name: Add MongoDB repository + ansible.builtin.apt_repository: + repo: "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu {{ omada_controller_mongodb_repo_release }}/mongodb-org/6.0 multiverse" + state: present + filename: mongodb-org-6.0 + update_cache: yes + + - name: Install MongoDB server + # 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: + name: mongodb-org-server + state: present + register: mongodb_install + retries: 3 + until: mongodb_install is success + # Hinweis: Der MongoDB-Dienst wird bei der Installation automatisch gestartet. + # Der Omada Controller verwaltet seine Interaktion mit MongoDB. + + # Das .deb-Paket wird direkt von der URL installiert. - name: Install Omada Controller from URL apt: