{"id":27940718,"url":"https://github.com/telecominfraproject/wlan-cloud-owprov","last_synced_at":"2025-05-07T10:19:58.828Z","repository":{"id":37085161,"uuid":"411748992","full_name":"Telecominfraproject/wlan-cloud-owprov","owner":"Telecominfraproject","description":null,"archived":false,"fork":false,"pushed_at":"2025-05-02T15:40:42.000Z","size":5101,"stargazers_count":3,"open_issues_count":1,"forks_count":10,"subscribers_count":49,"default_branch":"main","last_synced_at":"2025-05-07T10:19:57.355Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Telecominfraproject.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-09-29T16:26:52.000Z","updated_at":"2025-05-02T14:57:26.000Z","dependencies_parsed_at":"2023-11-22T18:30:54.918Z","dependency_job_id":"46d80a17-eaf5-4068-bfa8-8e092443cadf","html_url":"https://github.com/Telecominfraproject/wlan-cloud-owprov","commit_stats":null,"previous_names":[],"tags_count":40,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Telecominfraproject%2Fwlan-cloud-owprov","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Telecominfraproject%2Fwlan-cloud-owprov/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Telecominfraproject%2Fwlan-cloud-owprov/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Telecominfraproject%2Fwlan-cloud-owprov/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Telecominfraproject","download_url":"https://codeload.github.com/Telecominfraproject/wlan-cloud-owprov/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252856695,"owners_count":21814881,"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","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":[],"created_at":"2025-05-07T10:19:58.308Z","updated_at":"2025-05-07T10:19:58.818Z","avatar_url":"https://github.com/Telecominfraproject.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n    \u003cimg src=\"images/project/logo.svg\" width=\"200\"/\u003e\n\u003c/p\u003e\n\n# OpenWiFi Provisioning Service (OWPROV)\n## What is it?\nThe OWPROV is a service for the TIP OpenWiFi CloudSDK (OWSDK).\nOWPROV manages groups of access points through the use of entities and vanues. OWPROV, like all other OWSDK microservices, is\ndefined using an OpenAPI definition and uses the ucentral communication protocol to interact with Access Points. To use\nthe OWPROV, you either need to [build it](#building) or use the [Docker version](#docker).\n\n## OpenAPI\nYou may get static page with OpenAPI docs generated from the definition on [GitHub Page](https://telecominfraproject.github.io/wlan-cloud-owprov/).\nAlso, you may use [Swagger UI](https://petstore.swagger.io/#/) with OpenAPI definition file raw link (i.e. [latest version file](https://raw.githubusercontent.com/Telecominfraproject/wlan-cloud-owprov/main/openapi/owprov.yaml)) to get interactive docs page.\n\n## Building\nTo build the microservice from source, please follow the instructions in [here](./BUILDING.md)\n\n## Docker\nTo use the CLoudSDK deployment please follow [here](https://github.com/Telecominfraproject/wlan-cloud-ucentral-deploy)\n\n## Root entity\nIt's UUID value is 0000-0000-0000. Its parent entity must be empty.\n\n## Entity\n### Creation rules\n- You must set the parent of an entity.\n- The only properties you may set at creation are:\n  - name\n  - description\n  - notes\n  - parent\n\n### Modification rules\nYou may modify the following fields in the POST\n- name\n- description\n- notes\n\n### Delete\n- Children must be empty\n\n## Inventory Tags\n### Creation rules\n- Entity must point to an existing non-root entity\n- If you associate a venue, it must exist.\n- You must use an existing device type. Device type cannot be empty.\n- Name, description, notes are allowed.\n\n### Modification rules\n- You can modify the device type to another valid one.\n\n## Venue\n### Creation rules\n- If you include an entity, the parent must bot be set\n- if you include a parent, the entity must not be set\n- You cannot have children upon creation.\n- You may include an array of devices UUIDs\n- Topology and design cannot be set\n\n#### Expected directory layout\nFrom the directory where your cloned source is, you will need to create the `certs`, `logs`, and `uploads` directories.\n```bash\nmkdir certs\nmkdir certs/cas\nmkdir logs\nmkdir uploads\n```\nYou should now have the following:\n```text\n--+-- certs\n  |   +--- cas\n  +-- cmake\n  +-- cmake-build\n  +-- logs\n  +-- src\n  +-- test_scripts\n  +-- openapi\n  +-- uploads\n  +-- owsec.properties\n```\n\n### Certificate\nThe OWFMS uses a certificate to provide security for the REST API Certificate to secure the Northbound API.\n\n#### The `certs` directory\nFor all deployments, you will need the following `certs` directory, populated with the proper files.\n\n```text\ncerts ---+--- restapi-ca.pem\n         +--- restapi-cert.pem\n         +--- restapi-key.pem\n```\n\n## Firewall Considerations\n| Port  | Description                                    | Configurable |\n|:------|:-----------------------------------------------|:------------:|\n| 16004 | Default port for REST API Access to the OWPROV |     yes      |\n\n### Environment variables\nThe following environment variables should be set from the root directory of the service. They tell the OWGW process where to find\nthe configuration and the root directory.\n```bash\nexport OWGW_ROOT=`pwd`\nexport OWGW_CONFIG=`pwd`\n```\nYou can run the shell script `set_env.sh` from the microservice root.\n\n### OWPROV Service Configuration\nThe configuration is kept in a file called `owprov.properties`. To understand the content of this file,\nplease look [here](https://github.com/Telecominfraproject/wlan-cloud-owprov/blob/main/CONFIGURATION.md)\n\n## Kafka topics\nToe read more about Kafka, follow the [document](https://github.com/Telecominfraproject/wlan-cloud-ucentralgw/blob/main/KAFKA.md)\n\n## Contributions\nWe need more contributors. Should you wish to contribute,\nplease follow the [contributions](https://github.com/Telecominfraproject/wlan-cloud-ucentralgw/blob/master/CONTRIBUTING.md) document.\n\n## Pull Requests\nPlease create a branch with the Jira addressing the issue you are fixing or the feature you are implementing.\nCreate a pull-request from the branch into master.\n\n## Additional OWSDK Microservices\nHere is a list of additional OWSDK microservices\n| Name | Description | Link | OpenAPI |\n| :--- | :--- | :---: | :---: |\n| OWSEC | Security Service | [here](https://github.com/Telecominfraproject/wlan-cloud-ucentralsec) | [here](https://github.com/Telecominfraproject/wlan-cloud-ucentralsec/blob/main/openpapi/owsec.yaml) |\n| OWGW | Controller Service | [here](https://github.com/Telecominfraproject/wlan-cloud-ucentralgw) | [here](https://github.com/Telecominfraproject/wlan-cloud-ucentralgw/blob/master/openapi/owgw.yaml) |\n| OWFMS | Firmware Management Service | [here](https://github.com/Telecominfraproject/wlan-cloud-ucentralfms) | [here](https://github.com/Telecominfraproject/wlan-cloud-ucentralfms/blob/main/openapi/owfms.yaml) |\n| OWPROV | Provisioning Service | [here](https://github.com/Telecominfraproject/wlan-cloud-owprov) | [here](https://github.com/Telecominfraproject/wlan-cloud-owprov/blob/main/openapi/owprov.yaml) |\n| OWANALYTICS | Analytics Service | [here](https://github.com/Telecominfraproject/wlan-cloud-analytics) | [here](https://github.com/Telecominfraproject/wlan-cloud-analytics/blob/main/openapi/owanalytics.yaml) |\n| OWSUB | Subscriber Service | [here](https://github.com/Telecominfraproject/wlan-cloud-userportal) | [here](https://github.com/Telecominfraproject/wlan-cloud-userportal/blob/main/openapi/userportal.yaml) |\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftelecominfraproject%2Fwlan-cloud-owprov","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftelecominfraproject%2Fwlan-cloud-owprov","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftelecominfraproject%2Fwlan-cloud-owprov/lists"}