{"id":15602341,"url":"https://github.com/trfore/ansible-role-omada-install","last_synced_at":"2025-09-10T15:44:49.583Z","repository":{"id":156858366,"uuid":"633179896","full_name":"trfore/ansible-role-omada-install","owner":"trfore","description":"Ansible role for installing Omada SDN controller on RedHat/CentOS and Debian/Ubuntu","archived":false,"fork":false,"pushed_at":"2025-07-16T19:22:49.000Z","size":121,"stargazers_count":3,"open_issues_count":4,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-22T20:02:58.229Z","etag":null,"topics":["ansible-role","homelab","network","omada","omada-controller"],"latest_commit_sha":null,"homepage":"https://galaxy.ansible.com/ui/standalone/roles/trfore/omada_install/","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/trfore.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-04-27T00:34:49.000Z","updated_at":"2025-06-23T15:33:55.000Z","dependencies_parsed_at":"2024-05-27T21:18:40.300Z","dependency_job_id":"8f868dcc-4bc4-4111-bf63-bc5e6fbfde2c","html_url":"https://github.com/trfore/ansible-role-omada-install","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":"trfore/ansible-role","purl":"pkg:github/trfore/ansible-role-omada-install","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trfore%2Fansible-role-omada-install","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trfore%2Fansible-role-omada-install/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trfore%2Fansible-role-omada-install/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trfore%2Fansible-role-omada-install/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/trfore","download_url":"https://codeload.github.com/trfore/ansible-role-omada-install/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trfore%2Fansible-role-omada-install/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266563915,"owners_count":23948689,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ansible-role","homelab","network","omada","omada-controller"],"created_at":"2024-10-03T02:41:11.779Z","updated_at":"2025-07-22T20:03:02.471Z","avatar_url":"https://github.com/trfore.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ansible Role: omada_install\n\n[![CI](https://github.com/trfore/ansible-role-omada-install/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/trfore/ansible-role-omada-install/actions/workflows/ci.yml)\n[![CD](https://github.com/trfore/ansible-role-omada-install/actions/workflows/cd.yml/badge.svg)](https://github.com/trfore/ansible-role-omada-install/actions/workflows/cd.yml)\n\nInstall Omada SDN controller on RedHat/CentOS and Debian/Ubuntu.\n\nThis role installs the latest Omada SDN controller software using the latest tarball from https://www.tp-link.com/us/support/download/omada-software-controller/.\n\nIf you would like to manually download the tarball to your Ansible control host, download the `Omada_SDN_Controller_v5.*.*_Linux_x64.tar.gz`, to your `files` directory and set the following two variables in your playbook:\n\n- `omada_tar_src: Omada_SDN_Controller_v5.*.*_Linux_x64.tar.gz`\n- `omada_tar_src_remote: false`\n\nSee 'Example Playbooks' section for working examples. This role **does not configure the Omada controller**, it uses the default configuration values. It does set the service to run as a non-root user, you can change this by setting `omada_non_root: false`.\n\n### Java Requirements\n\n- Starting with Omada SDN `\u003e=v5.15.20`, Java 17 is required and installed with this role.\n\n### Install the Role\n\nYou can install this role with the Ansible Galaxy CLI:\n\n```bash\nansible-galaxy role install trfore.omada_install\n```\n\n## Tested Platforms and Versions\n\n- MongoDB Community: `7.0.x`\n- Omada SDN: `5.x.x`\n- CentOS Stream 9\n- Debian 11\n- Ubuntu 20.04 \u0026 22.04\n\n## Requirements\n\n- MongoDB Community Edition, a role for installing it via a package manager is available - `trfore.mongodb_install`.\n  - Omada SDN `\u003c 5.14.20` only supported MongoDB 3 and 4.\n  - Omada SDN `\u003e=5.14.20` now supports up to MongoDB 7.\n- Apache Commons Daemon, `jsvc \u003e= 1.1.0`, a role for installing the **latest** binary is available - `trfore.jsvc`.\n- You can install these roles by creating a `requirements.yml` file and running `ansible-galaxy install -r requirements.yml`.\n\n  ```yaml\n  # requirements.yml\n  ---\n  roles:\n    - name: trfore.jsvc\n    - name: trfore.mongodb_install\n    - name: trfore.omada_install\n  ```\n\n- NOTE: For **Ubuntu 20.04** targets, this role installs **OpenJDK 17**. While `jsvc` is available via APT, it is `\u003c 1.1.0` and will **only work with OpenJDK 8**. If you prefer to use this older version, set `omada_dependencies` to the following in your playbook (see 'Example Playbooks' section below):\n\n  ```yaml\n  omada_dependencies: [\"curl\", \"openjdk-8-jre-headless\", \"jsvc\"]\n  ```\n\n## Role Variables\n\nAvailable variables are listed below, along with default values (see `defaults/main.yml`):\n\n| Variable                | Default    | Description                                                                    | Required  |\n| ----------------------- | ---------- | ------------------------------------------------------------------------------ | --------- |\n| omada_tar_src           | URL        | Omada SDN tar file, URL or relative path                                       | No        |\n| omada_tar_src_remote    | `true`     | Boolean, `true` if downloading from URL                                        | No        |\n| omada_tar_dir           | `/var/tmp` | Temporary directory on the target host for extracting and installing Omada SDN | No        |\n| omada_tar_folder        | Automatic  | Determined from the `omada_tar_src` variable                                   | Automatic |\n| omada_non_root          | `true`     | Boolean, configure Omada SDN to run as a non-root user                         | No        |\n| omada_remove_tar_folder | `false`    | Boolean, remove the temporary directory on the remote host                     | No        |\n\nOS specific variables are listed below, along with default values (see `vars/main.yml`):\n\n| Variable           | Default                                       | Description                              | Required |\n| ------------------ | --------------------------------------------- | ---------------------------------------- | -------- |\n| omada_dependencies | `[\"curl\", \"openjdk-17-jre-headless\"]`         | Required packages for Omada SDN (Debian) | No       |\n| omada_dependencies | `[\"curl\", \"java-17-openjdk-headless.x86_64\"]` | Required packages for Omada SDN (RHEL)   | No       |\n\n## Dependencies\n\n- Apache Commons Daemon, `jsvc \u003e= 1.1.0`\n- MongoDB Community Edition `mongodb-org \u003e=4.4.0`\n\n## Example Playbooks\n\n```yaml\n- hosts: servers\n  become: true\n  roles:\n    - name: Install MongoDB Community\n      role: trfore.mongodb_install\n\n    - name: Install jsvc Binary\n      role: trfore.jsvc\n\n    - name: Install Omada SDN\n      role: trfore.omada_install\n\n  post_tasks:\n    - name: Test Omada SDN Is Running\n      tags: [\"omada\", \"test\"]\n      ansible.builtin.uri:\n        url: https://127.0.0.1:8043/login\n        status_code: 200\n        validate_certs: false\n      register: result\n      until: result.status == 200\n      retries: 12\n      delay: 10\n```\n\n- If you manually download the tar file.\n\n```yaml\n- hosts: servers\n  become: true\n  vars:\n    omada_tar_src: Omada_SDN_Controller_v5.*.*_Linux_x64.tar.gz\n    omada_tar_src_remote: false\n  roles:\n    - name: Install MongoDB Community\n      role: trfore.mongodb_install\n\n    - name: Install jsvc Binary\n      role: trfore.jsvc\n\n    - name: Install Omada SDN\n      role: trfore.omada_install\n```\n\n- If you would like to install OpenJDK JRE 8 and jsvc using APT (Ubuntu 20.04 Only)\n\n```yaml\n- hosts: servers\n  become: true\n  vars:\n    omada_dependencies: [\"curl\", \"openjdk-8-jre-headless\", \"jsvc\"]\n  roles:\n    - name: Install MongoDB Community\n      role: trfore.mongodb_install\n\n    - name: Install Omada SDN\n      role: trfore.omada_install\n      when: ansible_distribution == 'Ubuntu'\n```\n\n## License\n\nMIT\n\n## Author Information\n\nTaylor Fore (https://github.com/trfore)\n\n## Related Roles\n\n| Github                         | Ansible Galaxy           |\n| ------------------------------ | ------------------------ |\n| [ansible-role-jsvc]            | [trfore.jsvc]            |\n| [ansible-role-mongodb-install] | [trfore.mongodb_install] |\n| [ansible-role-omada-install]   | [trfore.omada_install]   |\n\n## References\n\n### Omada\n\n- https://www.tp-link.com/us/support/download/omada-software-controller/\n- https://www.tp-link.com/us/support/faq/3272/\n- Run Omada SDN as non-root\n  - https://www.tp-link.com/hk/support/faq/3583/\n- Omada SDN Port List\n  - https://www.tp-link.com/us/support/faq/865/\n- Omada Controller - Site Migration\n  - https://www.tp-link.com/us/omada-sdn/controller-upgrade/\n  - https://www.tp-link.com/us/omada-sdn/controller-upgrade/#content-5_1_2\n\n[ansible-role-jsvc]: https://github.com/trfore/ansible-role-jsvc\n[trfore.jsvc]: https://galaxy.ansible.com/trfore/jsvc\n[ansible-role-mongodb-install]: https://github.com/trfore/ansible-role-mongodb-install\n[trfore.mongodb_install]: https://galaxy.ansible.com/trfore/mongodb_install\n[ansible-role-omada-install]: https://github.com/trfore/ansible-role-omada-install\n[trfore.omada_install]: https://galaxy.ansible.com/trfore/omada_install\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrfore%2Fansible-role-omada-install","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftrfore%2Fansible-role-omada-install","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrfore%2Fansible-role-omada-install/lists"}