{"id":21675749,"url":"https://github.com/pantheontech/lighty-netconf-simulator","last_synced_at":"2025-04-12T04:46:17.691Z","repository":{"id":38254337,"uuid":"297600198","full_name":"PANTHEONtech/lighty-netconf-simulator","owner":"PANTHEONtech","description":"lighty.io NETCONF device simulators and libraries","archived":false,"fork":false,"pushed_at":"2025-03-27T13:45:14.000Z","size":1480,"stargazers_count":30,"open_issues_count":0,"forks_count":17,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-04-12T04:45:57.535Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"epl-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PANTHEONtech.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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}},"created_at":"2020-09-22T09:28:29.000Z","updated_at":"2025-03-12T13:02:55.000Z","dependencies_parsed_at":"2023-02-18T09:16:10.775Z","dependency_job_id":"efdb195d-f6b2-4954-b645-b4ab3c41d911","html_url":"https://github.com/PANTHEONtech/lighty-netconf-simulator","commit_stats":null,"previous_names":[],"tags_count":45,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PANTHEONtech%2Flighty-netconf-simulator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PANTHEONtech%2Flighty-netconf-simulator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PANTHEONtech%2Flighty-netconf-simulator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PANTHEONtech%2Flighty-netconf-simulator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PANTHEONtech","download_url":"https://codeload.github.com/PANTHEONtech/lighty-netconf-simulator/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248519471,"owners_count":21117757,"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":"2024-11-25T14:10:30.899Z","updated_at":"2025-04-12T04:46:17.664Z","avatar_url":"https://github.com/PANTHEONtech.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# lighty.io NETCONF Device Simulator (\u0026 Libraries)\n\nA lightweight project that provides:\n- **NETCONF Device Libraries** for building custom NETCONF devices\n- **Examples of NETCONF Device Simulators** to demonstrate, how these libraries can be used to create custom NETCONF devices\n\n## NETCONF Device Libraries\n`lighty-netconf-device` is a NETCONF device library for creating\ncustom NETCONF devices. With the provided NETCONF device builder,\nyou can create your own device. This device can be built with the use of builder switches for\nadding custom YANG models, custom request processors \u0026 more.\n\n## Build \u0026 Run\n* Build the project with Java 21:\n```\nmvn clean install\n```\n* The NETCONF Device Library build is located at:\n\n`lighty-netconf-device\\target\\lighty-netconf-device-22.0.0-SNAPSHOT.jar`\n\n* The build \u0026 run procedures for the example devices are described in each device's README.\n\n## Example NETCONF Device Simulators\nThis tool contains 5 device examples, to demonstrate the usage of the NETCONF Device Library for creating custom devices:\n- [**lighty Actions Device**](./examples/devices/lighty-actions-device/README.md)\n- [**lighty Network Topology Device**](./examples/devices/lighty-network-topology-device/README.md)\n- [**lighty Notifications Device**](./examples/devices/lighty-notifications-device/README.md)\n- [**lighty Toaster Device**](./examples/devices/lighty-toaster-device/README.md)\n- [**lighty Toaster Multiple Devices**](./examples/devices/lighty-toaster-multiple-devices/README.md)\n\n[Read about the background of this project here.](https://pantheon.tech/netconf-monitoring-get-schema/)\n\n## Running the application using docker\n1. Build the application dockerfile using `docker build -t lighty-netconf-simulator .`\n2. Run the dockerfile using `docker run --name lighty-netconf-simulator -p 17830:17830 lighty-netconf-simulator -i resources/ -o resources/`\n3. Get ip address using `docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' lighty-netconf-simulator`\n4. Start lighty.io or other controller and connect to the device\n5. Make changes to the device. example:\n```\ncurl --location 'http://localhost:8888/restconf/data/network-topology:network-topology/topology=topology-netconf/node=new-netconf-device/yang-ext:mount/network-topology:network-topology/topology=default-topology' \\\n--header 'Content-Type: application/json' \\\n--data '{\n    \"node\": [\n        {\n            \"node-id\": \"test-12345\"\n            }\n    ]\n}'\n```\n6. Stop the docker container\n7. Restart the docker container using `docker start lighty-netconf-simulator`\n\n## Known Issues\n\n**Problem:** Creating multiple simulators takes a long time.  \n Delay can be caused by Random Number Generation `/dev/random`.   \n**Solution:** Use /dev/urandom instead of /dev/random by passing it as system property  \n`-Djava.security.egd=file:/dev/./urandom` or modify file `$JAVA_HOME/jre/lib/security/java.security`  \nby changing property `securerandom.source=file:/dev/random`\nto `securerandom.source=file:/dev/urandom`.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpantheontech%2Flighty-netconf-simulator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpantheontech%2Flighty-netconf-simulator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpantheontech%2Flighty-netconf-simulator/lists"}