This is a hobby project to create a Terraform provider for HRUI switches (www.hruitech.com) that are web-managed. It relies on goquery for interfacing with the web UI.
This provider is developed using a Horaco (ZX-SWTG124AS) switch. Other brands that are likely to work with this provider, as they seem to be the same hardware, include:
- HRUI
- Horaco
- Sodola
- XikeStor
- AmpCom
Note: Using firmware v1.9.
- Go 1.23 or later
- Terraform 1.9 or later
-
Clone the repository:
git clone github.com/brennoo/terraform-provider-hrui.git
-
Navigate to the provider directory:
cd terraform-provider-hrui
-
Build the provider:
make build
This will create an executable file named
terraform-provider-hrui
in the project directory.
-
Configure the provider in your Terraform configuration:
terraform { required_providers { hrui = { source = "brennoo/hrui" version = "~> 0.0.1" // not released yet } } } provider "hrui" { url = "http://192.168.2.1" username = "admin" # The password can be set in HRUI_PASSWORD environment variable }
-
Refer to the examples folder for usage of available resources and data sources.
-
Set up a development override in your
~/.terraformrc
file:provider_installation { dev_overrides { "brennoo/hrui" = "/path/to/your/project" } direct {} }
Replace
/path/to/your/project
with the actual path to your provider directory. -
Run
terraform init
in your Terraform project directory.
Contributions are welcome! Please see the CONTRIBUTING.md file for guidelines.
This provider is licensed under the MPL-2.0 License. See the LICENSE file for details.