# Ansible Role: omada-controller

Diese Rolle installiert den TP-Link Omada SDN Controller auf Debian-basierten Systemen (Debian, Ubuntu).

Sie kümmert sich um die Installation der notwendigen Abhängigkeiten (Java, jsvc, curl) und lädt das offizielle `.deb`-Paket von der TP-Link-Website herunter und installiert es. Der Controller-Dienst (`tpeap`) wird anschließend gestartet und für den Systemstart aktiviert.

## Anforderungen

Diese Rolle wurde für die folgenden Betriebssysteme entwickelt und getestet:
- Debian 10 (Buster)
- Debian 11 (Bullseye)
- Debian 13 (Trixie)
- Ubuntu 20.04 (Focal)
- Ubuntu 22.04 (Jammy)

Es sind keine weiteren externen Abhängigkeiten oder spezielle Python-Bibliotheken erforderlich.

## Rollenvariablen

Die folgenden Variablen können angepasst werden, um das Verhalten der Rolle zu steuern. Die Standardwerte sind in `defaults/main.yml` definiert.

| Variable | Standardwert | Beschreibung |
|---|---|---|
| `omada_controller_deb_url` | `https://static.tp-link.com/upload/software/2025/202508/20250802/omada_v5.15.24.19_linux_x64_20250724152622.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` | `buster` | Der Release-Name für das offizielle MongoDB APT-Repository. Das `buster` (Debian 10) Repository enthält die benötigten Pakete für MongoDB 4.4 und ist auch mit neueren Debian-Versionen (12, 13) kompatibel. |
| `omada_controller_mongodb_version` | `4.4` | Die Version des MongoDB-Servers, die installiert werden soll. Der Omada Controller benötigt eine Version kleiner als 4.5.0. MongoDB 4.4 ist eine kompatible und von TP-Link oft empfohlene Wahl. |

## Abhängigkeiten

Diese Rolle hat keine Abhängigkeiten von anderen Ansible-Rollen.

## Beispiel-Playbook

So können Sie die Rolle in Ihr Playbook integrieren:

```yaml
- hosts: omada_controller_server
  become: true
  roles:
    - omada-controller
```

Um eine spezifische Version des Controllers zu installieren, können Sie die URL im Playbook oder in Ihren `group_vars` überschreiben:

```yaml
- hosts: omada_controller_server
  become: true
  vars:
    omada_controller_deb_url: "https://static.tp-link.com/path/to/specific/version.deb"
  roles:
    - omada-controller
```

## Lizenz

MIT

## Autor

Hier können Sie Ihre Informationen eintragen.
