diff options
-rw-r--r-- | README.md | 23 | ||||
-rw-r--r-- | docker-compose.yml | 2 | ||||
-rw-r--r-- | example/README.md | 6 | ||||
-rw-r--r-- | example/customise-docker-compose.yml | 17 | ||||
-rw-r--r-- | example/example_certs/ca.crt | 19 | ||||
-rw-r--r-- | example/example_certs/ca.key | 28 | ||||
-rw-r--r-- | example/example_certs/client.crt | 19 | ||||
-rw-r--r-- | example/example_certs/client.key | 28 | ||||
-rw-r--r-- | example/example_certs/server.crt | 19 | ||||
-rw-r--r-- | example/example_certs/server.key | 28 | ||||
-rw-r--r-- | example/example_certs/server_pub.key | 9 | ||||
-rw-r--r-- | example/example_models/example-models-configuration.ini | 2 | ||||
-rw-r--r-- | example/example_models/example-module-2.data.xml | 24 | ||||
-rw-r--r-- | example/example_models/example-module-2.yang | 9 | ||||
-rw-r--r-- | example/example_models/example-module.data.xml | 25 | ||||
-rw-r--r-- | example/example_models/example-module.yang | 10 |
16 files changed, 260 insertions, 8 deletions
@@ -2,6 +2,7 @@ This server uses sysrepo to simulate network configuration. It is base od sysrepo-netopeer2 image. + ## User guide ### starting server In order to start server use docker-compose located in root catalog: @@ -10,7 +11,7 @@ In order to start server use docker-compose located in root catalog: ``` or run image using docker: ```shell - docker run -it -p 830:830 -p 6513:6513 onap/org.onap.integration.simulators.netconf-server:latest + docker run -it -p 830:830 -p 6513:6513 -p 6555:6555 onap/org.onap.integration.simulators.netconf-server:latest ``` ### using server @@ -18,12 +19,13 @@ Server allows: - installing custom configuration models on start up. - changing configuration of that modules on runtime. -Config can be changed with use of **SSH, be default expose on port 830** -and **TLS, be default exposed on port 6513**. +Configuration of models can be changed with use of **SSH, be default expose on port 830**, +**TLS, be default exposed on port 6513** and **REST API, be default expose on port 6555**. - SSH works "out of the box" with a username and password *netconf*. - **TLS is disabled be default**, in order to enable it, set environment variable `ENABLE_TLS=true`. - More about TLS in ***TLS*** section. + More about TLS in ***TLS*** section. +- REST API works "out of the box", more about it in ***REST API*** section. ### custom models new models are loaded on the image start up from catalog `/resources/models`. @@ -34,7 +36,8 @@ More about that file in ***config change subscription*** section. In order to load custom models on start up, volume with models and configuration file, should be mounted to `/resources/models` directory. It can be done in docker-compose, by putting -`./path/to/cusom/models:/resources/models` in *volumes* section. +`./path/to/cusom/models:/resources/models` in ***volumes*** section. +Examples of custom models configuration can be found in `example` directory. ### TLS TLS in disabled be default with environment variable `ENABLE_TLS` set to false. @@ -42,6 +45,7 @@ In order to enable TLS, that environment variable need to be set to `true` **on container start up**. It can be done in docker-compose, by putting `ENABLE_TLS=true` in *environment* section. +Example of that TLS configuration can be found in `example` directory. #### custom certificate When TLS is enabled server will use auto generated certificates, be default. @@ -50,6 +54,7 @@ are located in `/resources/certs` directory. Certificates are loaded during image start up. **In order to use custom certs** volume with certificates needs to be mounted to `/resources/certs` directory. +Example of that custom certificates configuration can be found in `example` directory. In this volume following files are required, **named accordingly**: - **ca.crt** - CA/Root certificate - **client.crt** - client certificate @@ -71,12 +76,18 @@ Configuration file should be formatted in proper way: [SUBSCRIPTION] models = my-model-1,my-model-2,my-model-3 ``` -Custom modules, to subscribe to, should be separated with comma. +Custom modules, to subscribe to, should be separated with comma. +Example of that custom config change subscription can be found in `example` directory. + +### REST API +Netconf server provides REST interface, with enpoints: +- *GET* `/healthcheck` returns 200 "UP" if server is up and running ### logging Netconf server print all logs on to the console. Logs from python application are also stored in file `/logs/netconf_saver.log` + ## Development guide ### building image In order to build image mvn command can be run: diff --git a/docker-compose.yml b/docker-compose.yml index bf43ff5..fbc9516 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -5,8 +5,6 @@ services: netconf-server: container_name: netconf-server image: onap/org.onap.integration.nfsimulator.netconfserver:latest - environment: - - ENABLE_TLS=true ports: - "830:830" - "6513:6513" diff --git a/example/README.md b/example/README.md new file mode 100644 index 0000000..190f144 --- /dev/null +++ b/example/README.md @@ -0,0 +1,6 @@ +# Netconf Server Example +This directory contains example of custom configured Netconf Server. +In order to start example custom server run command: +```shell +docker-compose -f ./customise-docker-compose.yml up +``` diff --git a/example/customise-docker-compose.yml b/example/customise-docker-compose.yml new file mode 100644 index 0000000..f5f91a6 --- /dev/null +++ b/example/customise-docker-compose.yml @@ -0,0 +1,17 @@ +version: '3' + +services: + + netconf-server: + container_name: netconf-server + image: onap/org.onap.integration.nfsimulator.netconfserver:latest + environment: + - ENABLE_TLS=true + - MODELS_CONFIGURATION_FILE_NAME=example-models-configuration.ini + volumes: + - ./example_models:/resources/models + - ./example_certs:/resources/certs + ports: + - "830:830" + - "6513:6513" + - "6555:6555" diff --git a/example/example_certs/ca.crt b/example/example_certs/ca.crt new file mode 100644 index 0000000..dae1e56 --- /dev/null +++ b/example/example_certs/ca.crt @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDCTCCAfECFGy8PZ76TMVrgygHy+f6w/xEN5bIMA0GCSqGSIb3DQEBCwUAMEEx +CzAJBgNVBAYTAlVTMQ0wCwYDVQQKDARPTkFQMQ4wDAYDVQQLDAVPU0FBRjETMBEG +A1UEAwwKQ0EuTkVUQ09ORjAeFw0yMTAzMTcwOTA1NDNaFw0yMzAzMTcwOTA1NDNa +MEExCzAJBgNVBAYTAlVTMQ0wCwYDVQQKDARPTkFQMQ4wDAYDVQQLDAVPU0FBRjET +MBEGA1UEAwwKQ0EuTkVUQ09ORjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC +ggEBAMDYG/xBi+dydycFkVb3PYooEP1EGQroRmDlqB9mbGN7szdppvn6QP2v6ytV +LaCcytGS9cTXmpZM0Ly4K2XYnouyUSEgUP0aVp/bGRirjven3V/E3kyRnJGCHgQ8 +7mncCmLML8uCLPzSTfhgf/nhIZUTNzicl0+tjSwwzsKsiPouEaDy/p6A5btzo3MB +b4P8xlRfl2QB2fZLw1DlW+CjmU/Cm60a9cM9P9UIZmp/g2BNxRaoFmWpQp8phR2u +ZrqB04PYVpIQQ5IukFTtgbGxDCUPlgb/IlK8RbMxy/4x8w5ybuBGKkBZP9JG0Cqg +LzCUR3cQboZZuYN86xGFMGSN9WMCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAiqZd +efl/CNXYzMS/oMbU5Y4WG/qBlgogzaY2kFq96eTiMecckpPXGmKs/oyksvxOGV7Z +xo+DxzfScdjjg++XEztfb1NpfHI9KUqx/aJ9HEe6jxlf8oX5SMk4oZ2C1DCNv8iz +5VvWzDmWOnL919sl/t/ppisYV45mD/09vLE0GGTGf5Fmq9a5bvt0Q1kuT5nJqw4g +l51WfyGcEs19+idiRHYRSkb7pfEoAcYQtUKL0DDsqpB1EOzDyLqIrupn2Scj6HVs +ObQbeMakMvkIoTVMOTVNTfVNfq+wmGNlRxzLSvw02xdsMS+Gyfa5xDIIe62Ay7fp +Wj/tSAy67yUghUxZ/g== +-----END CERTIFICATE----- diff --git a/example/example_certs/ca.key b/example/example_certs/ca.key new file mode 100644 index 0000000..cd4fee4 --- /dev/null +++ b/example/example_certs/ca.key @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDA2Bv8QYvncncn +BZFW9z2KKBD9RBkK6EZg5agfZmxje7M3aab5+kD9r+srVS2gnMrRkvXE15qWTNC8 +uCtl2J6LslEhIFD9Glaf2xkYq473p91fxN5MkZyRgh4EPO5p3ApizC/Lgiz80k34 +YH/54SGVEzc4nJdPrY0sMM7CrIj6LhGg8v6egOW7c6NzAW+D/MZUX5dkAdn2S8NQ +5Vvgo5lPwputGvXDPT/VCGZqf4NgTcUWqBZlqUKfKYUdrma6gdOD2FaSEEOSLpBU +7YGxsQwlD5YG/yJSvEWzMcv+MfMOcm7gRipAWT/SRtAqoC8wlEd3EG6GWbmDfOsR +hTBkjfVjAgMBAAECggEAVh8tQFa1eENyWwbthX0dCpoiHDlRRcG9zIBDuOIw/ay8 +uL6CR5kvdRwfVlbP7a6YFUggYiw3aXAcuGs3VmCLTa/w825PPPmKPhHG/3F+g7N/ +9ckhzegpmAIYDaR4hOYz7TNrFOOp267AC3BtNtcH/F98hdfI61iCd33EmMQc2Dz8 +OJgr2DnYPoueDzm4EiuR819io05cGLrvdnkfx7EnzX8zemwHUamfZfY37KaCv9Af +1+Lb79GWAojrqDLX53aCBUZG7tESxxg0wdJpOGCr3b7FEf3M0nNEGaiXATLC+Hgb +PpoCE3/ru7+O+8mZcph7oWW9Bv3J58qWWXyCsQSZYQKBgQDjQG7rhMsTpC7SVE7k +1PDFNW4BR/uMjZXALTJ3zaUlTrfHdMTn3Mvib8oegqNTX+WxhNYdVx0u1cpqVWtM +Pp5IGLG2MqgxzYewQUYH+gelW8zOvFouaah1v4kqYj2x9v53kO03TMTkjyQUfOFx +pLvcN1+YzSZo/2+NlHyxenZuNQKBgQDZPWKxcrzHapvt460f+W6zokX1HFSts4WN +tfB7vFugw6YXxAsqtvUL8wgRymoribSYlxRhOYhsMp8ugVJSaHMwNZVJ4A3BBERj +XYThtZ2twPIkziKr561ZF8JgPOECiqNpNDi4VcVGabKTahM5J1iFnNBxIR9LSfgt +58neENQoNwKBgCv7cHxMuzEV+anjf1FylRbV/HBrChht3qnPFZFyT6Ak2BTWWLW3 +Wg59LFUzW4Drcn0lBHuxPIiv//kMhzO+esvhW6OzsjHRYY2PVIp+rbQnTEBG2/1X +na8MXvPBB8fF0gI6Hm8xgHnr6kO817Uy+NjqLqpYKjLwHRr9vhRrazhxAoGBAKcV +haEBpJykLIYNhQyAplpXRwM85QwsdV4HP42L09WUZV0GFaimy1aDeANm8b3GzjZG +jRAyVfESBkiYgp6LY30C2W3We/2msIrUVO3c6AfJzPPt79DUAgnyMjge2tk/lGvI +FJACuBZuGUE0ZtCgqH8rm05HsXAQ1mdITYUU4HiFAoGAOCKjeOZ4BKHaSCWbEvrl +SXrrnVdCIN3M5HgYPzul+9i4FKpCHePFGt0l5qGsr6MPAL4/Ae8YFMb678HIUWwg +a/CW+rtEL8+eZ7Ap57WU/8lFLW67j3jgbi+3kMRC7KfOVD03HiGXSkNU8zgRu30m +qIXRvPPicAbExzdueAQgJrs= +-----END PRIVATE KEY----- diff --git a/example/example_certs/client.crt b/example/example_certs/client.crt new file mode 100644 index 0000000..9e22265 --- /dev/null +++ b/example/example_certs/client.crt @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDEDCCAfgCFBLf32YOnxyvsYtAt/B7ReAHeIUlMA0GCSqGSIb3DQEBCwUAMEEx +CzAJBgNVBAYTAlVTMQ0wCwYDVQQKDARPTkFQMQ4wDAYDVQQLDAVPU0FBRjETMBEG +A1UEAwwKQ0EuTkVUQ09ORjAeFw0yMTAzMTcwOTA1NDNaFw0yMzAzMTcwOTA1NDNa +MEgxCzAJBgNVBAYTAlVTMQ0wCwYDVQQKDARPTkFQMQ4wDAYDVQQLDAVPU0FBRjEa +MBgGA1UEAwwRQ0EuTkVUQ09ORi5DTElFTlQwggEiMA0GCSqGSIb3DQEBAQUAA4IB +DwAwggEKAoIBAQCrE/FNwE4TmTTkvaYmNhU59C/+ajKSjaU9q8KQfgkI4GdmS0vy +HLmsEywdTZGKOrQjuOxrW50TCtj0wCrhkcP6GNTtnJEz/aQFqYHlb9Ng7//9WsfQ +uoGZ42Ys5wUCY/eEW8UiZv/2kl7e26vkC9r/AheuqsPG5ECCQ5QPe0Fz3UWIZj5O +XJ5tpjLa52ngjEE54ug2FI2GuknBkV0qmJDVcZo7fgXAvydDLj5f2x+vCgn9ICur +yPgJ7zMLLLdIi7LEKfrvxt8tbWJZO7fkOHIUqBtuyx1DwGi+NCDQmCEcb4acL61X +R2nUp+/J/3tPt2ASsYktzuwk3JaUsfS5GhAZAgMBAAEwDQYJKoZIhvcNAQELBQAD +ggEBAGmTiVUPYx06OTyIlqjnvMLcCpqWgx5sV1ZTUjaNtKDdOMCGhiN2PCm3zRyU +bTkH904OX5WiSAV+Mvciyw1Qi7wrM6PzN2jszCf7AoE4YfRB15NXo8+QJ1hsKgBg +JmJuzJafFkLeeS/ghptOMWAuMybRxvju2519R497y8Vn3dj7n6V/lrlf4pQpk1AV +9Zh3zYoxQM2b56tKZ3vpg3dqt6sxctSYZJ9CU82sZ5039TrnpK/9kl36DHrdI4Pb +21LfSTDXNt/AQZ5aIfdAe3pfNRjpsaHxI1qT1xTwxldbY0YUfX/ZT6yujMgQ46HK +2esaetbn8rs+EIx5RY6aqxLrT84= +-----END CERTIFICATE----- diff --git a/example/example_certs/client.key b/example/example_certs/client.key new file mode 100644 index 0000000..9de14f8 --- /dev/null +++ b/example/example_certs/client.key @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCrE/FNwE4TmTTk +vaYmNhU59C/+ajKSjaU9q8KQfgkI4GdmS0vyHLmsEywdTZGKOrQjuOxrW50TCtj0 +wCrhkcP6GNTtnJEz/aQFqYHlb9Ng7//9WsfQuoGZ42Ys5wUCY/eEW8UiZv/2kl7e +26vkC9r/AheuqsPG5ECCQ5QPe0Fz3UWIZj5OXJ5tpjLa52ngjEE54ug2FI2GuknB +kV0qmJDVcZo7fgXAvydDLj5f2x+vCgn9ICuryPgJ7zMLLLdIi7LEKfrvxt8tbWJZ +O7fkOHIUqBtuyx1DwGi+NCDQmCEcb4acL61XR2nUp+/J/3tPt2ASsYktzuwk3JaU +sfS5GhAZAgMBAAECggEBAKJvUwRx/TAaneA6OdG6NDlMo207RD1mhGij9x7erJFj +EIpOIBQINjsuEQrZpcDLsFLiuIfO+rsj54+sDosSrjN+9F2P9UaaI+zEX3OL0/YM +qtDSKzsCex+0jEVCLL1yUYe44tqhVZO2sqGDjhf/MbZDNF1CApWMD7wfkiuI6kKp +XmEjz4hhmg6lgU8ZVTqH1z1LTVZh1dZj/sbJ1V6cefMuKSxH3SIQqdu/QdN0E57b +o2wufBNVIgybUQs5BjFE675fB8R85/qOcEO1zjRTyoU/LDqK1h08QOIj5Te2QzYh +EM6IO39sJpAmajFty6rIP6wJyJIPxWk29DSeNmClKIkCgYEA1jsh0Cms/qtUhECx +PzOdPI1C37ZEndI+K/GcKRZAdu/U1f7tXaRrZ8lDMh3zctHb0Wh4LIqY5UpMEVA5 +E/4MnRqTMauRj9T6klS3aPgCqrxh14n2YFW6B98RLh1eb+dciJZveQhNd4K43cdW +qHBcUPhRhEpjfS4lv73BmJfhtasCgYEAzG7rWbIdGt/q0JtFNulGITqyb9IJ7Uj4 +JEBu3PE+a0YiqzJdwIPxr6TMW+LDocKuVLiv9ddFIaR4gwRL5QHlQ87zElmjvKp2 +1S0QgbsBl7/XrIG6TGs4xEHDYbLKmel7VB9m0poAWRqYl4cn+dBGJDC9wDN4G1qv +DLPLixvIhUsCgYEAtdSAsZb97zXqSUpDZtpfJcrcLNceTDnrbQ7oNXNeidSr+Gok +e+uXAgMwVnRXcmguxAGApoWImmzCPZuypoZlnF62+lyd8s+ZUeQ3vA9s7A9ymCfQ +BxocCJxLj7F7u01LG99bhAYJAlvgntSXd+XOZScuwTMGWHR3s9PSYrre53sCgYEA +mJof0sfTVBFb/jY5l4DQmdNwCWqXgGoc2SrD1ue6OWeUT4j8VM3pZry0085VTHW/ +nnxy1SfJchCM6PgXEy60Dkb4SXVidV4l8IGANeb7jGRnQV1hTNQo/s88YryM4hFY +v3XlUkYlBl6FE2+Plroy8ab0rfl9qaWqz+eShBfMOjsCgYBZgjfi50E2pLhS+g8e +718hG71/Er7TELGr8MXayykyQqyr4v7Goi1wwwxXAgCHbZ6tlh9AmNuDZu+8tYcc +4WximAJToWF95EvRLuIU1TjNM0xc1QsP/fpf5jYIKy4cZ+Os5j2OqaswRoju3zNl +rkAhDZKmmsxD9uf81iBV5JyJ8Q== +-----END PRIVATE KEY----- diff --git a/example/example_certs/server.crt b/example/example_certs/server.crt new file mode 100644 index 0000000..750b31b --- /dev/null +++ b/example/example_certs/server.crt @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDEDCCAfgCFBLf32YOnxyvsYtAt/B7ReAHeIUkMA0GCSqGSIb3DQEBCwUAMEEx +CzAJBgNVBAYTAlVTMQ0wCwYDVQQKDARPTkFQMQ4wDAYDVQQLDAVPU0FBRjETMBEG +A1UEAwwKQ0EuTkVUQ09ORjAeFw0yMTAzMTcwOTA1NDNaFw0yMzAzMTcwOTA1NDNa +MEgxCzAJBgNVBAYTAlVTMQ0wCwYDVQQKDARPTkFQMQ4wDAYDVQQLDAVPU0FBRjEa +MBgGA1UEAwwRQ0EuTkVUQ09ORi5TRVJWRVIwggEiMA0GCSqGSIb3DQEBAQUAA4IB +DwAwggEKAoIBAQC4LAQi/t0AbcAiPx1pLQZvKGlxadHIBIfcqjpHc+XyOXTp2Xo5 ++KJ1swvOFqUszgkvsQl7zLPeXZSTLsgullrqIdiaC3V+VYx3prFQsnbjUHp370sk +wd7j9Y3ttYn1rm6lAc6+7iKIcDnpNYtgcDu8GPZlMLqXJe34jwJMI6lEbZkvl+b6 +mWraKGUu6zcuP5/eW9IBQfnxCaRtEgfU/zur4ilcegY8yERdb+wI0XR0eV78mhJn +Iq8kCXV80irXOeoVzXgWbJCAgb00BYeSs1b+1y8ogzoPVg9nkVJZ0VMz27gKVk2d +GIzFyCzlYc6IJtpQu49NrOQhOAOCxf0y1crZAgMBAAEwDQYJKoZIhvcNAQELBQAD +ggEBAA2YAfnGXMSlPCn26bvafToF1l/9pNYgozt0dp0lhS8omGHzEJzaA/INt8nC +4rc/sK6PzjDF76mD6xZIK2ssENgVkLS0xc0Coh4zrt2yzNJj3a2jba8AwR1hpPHr +i6S89wPTX1lV9c8b4H2JmKfHcRiXL4wgAgG14f0s7l9TRvK2DPuZSEPSM/lOsIfk +tLA5ZumN8KDFzapd9GDGe06o/B+rhquFly4w/3lgTwnN6hUniuF5NpvsFm4TkbVz +JoKLdE8IiZDVXQijzLFEYfGvpszjNafN4YGc1PS83xq8hSiGiDbpH5dGC1CV9VKr +4WYdd+8u6x4N/inSPzyfzaIJGRA= +-----END CERTIFICATE----- diff --git a/example/example_certs/server.key b/example/example_certs/server.key new file mode 100644 index 0000000..23f415d --- /dev/null +++ b/example/example_certs/server.key @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQC4LAQi/t0AbcAi +Px1pLQZvKGlxadHIBIfcqjpHc+XyOXTp2Xo5+KJ1swvOFqUszgkvsQl7zLPeXZST +LsgullrqIdiaC3V+VYx3prFQsnbjUHp370skwd7j9Y3ttYn1rm6lAc6+7iKIcDnp +NYtgcDu8GPZlMLqXJe34jwJMI6lEbZkvl+b6mWraKGUu6zcuP5/eW9IBQfnxCaRt +EgfU/zur4ilcegY8yERdb+wI0XR0eV78mhJnIq8kCXV80irXOeoVzXgWbJCAgb00 +BYeSs1b+1y8ogzoPVg9nkVJZ0VMz27gKVk2dGIzFyCzlYc6IJtpQu49NrOQhOAOC +xf0y1crZAgMBAAECggEBAJaikcOZ12L5YVPhcYnL5N5YHF5B4e6KHiGTLdWxattC +uWhnk3wE68P+7OHkTbcm0gaq84nJdTikK9hyRBMusS+c/U+JndD14c0fjxnkzi7A +bVrZYwmudELZXfuWJz/GKwNVRieOGLqlqAgh3lzDj2gatrUvNP5ZbJmHRqbF6DVp +VWu7CnY61NW2i7G5iHmW3IBbVdBC9EM/593gjLdbBeuM8Q0eOGBkf9PEcr4Q3kjb +TeBmwehD1s99pdLfBLhXgiNP+d5cDD1uimpBsJmjKz1FaD9Dxen0HfzHIYHYi1SN +crhgKPnmRV0EB5NrIY3hiJ8y6cW2t8vBywWtYGl5ywECgYEA8/nqy1VfqiGRkQlI +N6WOQ5AeiXSrEGZdLkuMlKaLXmijqwIFJFouAHBaJSoH08NByN03dqAggWPz+nSQ +htTs8En/zKZ5rm9ER7kmGVd4RKMA7j+d0soNOeYxF3T2ktDgM06VsC1NzgagpoNN +VqjYZnLSZrpT8F13cW/x9Sw/HOECgYEAwT+WsuLEDTfSIh7+DvMnjYxjabljWrzr +a8N7lvjeaFBK2vnW/E1gfaVSYUVnRuNxJDhNdGybjNEd/8xn+6/oFp++4MSD4nda +hoVsENfBcN7pcMF8VXQHyEu+FW/jjDvfxP0SgnZfNfSTQEHUfH2QPgob1c/Uz74v +gBhRjf01NPkCgYEAsMUW9ZQ56A7CZY+QH6F4XkOBnJ5Hg25nfS+H//xbZl/ylei0 +yQ393puI9PxrB2eltl9x3CVQ5+7/yyvBu69yrPcwu5qy90vu8PiZPis+HJzuA7Fc +LGnxA05hq1k3flCQ4RvDIQ7yHKB4razc0Dkt8ayn/X5ravCNpkcxzC3u3IECgYEA +nGbLn7H6PDxuXGE6+3x+CYiSuPFq4Pg/jPMkZpa64jABtWI5Re+V5XrUxpb2NCBF +5KuQvGZeKkThA7M6gS/oJc9aG+3QU4yHfpIjWSpVi/VNd42RBFQpLElo6U6qGkgn +HfY4cdA91JxCROJCiBLTl/J0fsJ7GTtylDiaYNGKq3kCgYAtbIlEfHUTmHro1snQ +d8c8VPD8WtaPgmW8qKBJdo4DT9h+E47QTmRYW1HRC4h/Jmg2LMqN1cylVn/xi0hC +kgHUrPbOmkq+/Lz2gET+G1cZ24y3qk4HbFotyZDirIs+Gws6Qmoxt/UbOUd2vqf9 +cOYNhzbxwsJHBiZUJXODFddM5w== +-----END PRIVATE KEY----- diff --git a/example/example_certs/server_pub.key b/example/example_certs/server_pub.key new file mode 100644 index 0000000..7990a38 --- /dev/null +++ b/example/example_certs/server_pub.key @@ -0,0 +1,9 @@ +-----BEGIN PUBLIC KEY----- +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuCwEIv7dAG3AIj8daS0G +byhpcWnRyASH3Ko6R3Pl8jl06dl6OfiidbMLzhalLM4JL7EJe8yz3l2Uky7ILpZa +6iHYmgt1flWMd6axULJ241B6d+9LJMHe4/WN7bWJ9a5upQHOvu4iiHA56TWLYHA7 +vBj2ZTC6lyXt+I8CTCOpRG2ZL5fm+plq2ihlLus3Lj+f3lvSAUH58QmkbRIH1P87 +q+IpXHoGPMhEXW/sCNF0dHle/JoSZyKvJAl1fNIq1znqFc14FmyQgIG9NAWHkrNW +/tcvKIM6D1YPZ5FSWdFTM9u4ClZNnRiMxcgs5WHOiCbaULuPTazkITgDgsX9MtXK +2QIDAQAB +-----END PUBLIC KEY----- diff --git a/example/example_models/example-models-configuration.ini b/example/example_models/example-models-configuration.ini new file mode 100644 index 0000000..7e99c55 --- /dev/null +++ b/example/example_models/example-models-configuration.ini @@ -0,0 +1,2 @@ +[SUBSCRIPTION] +models = example-module,example-module-2,ietf-netconf diff --git a/example/example_models/example-module-2.data.xml b/example/example_models/example-module-2.data.xml new file mode 100644 index 0000000..82081c9 --- /dev/null +++ b/example/example_models/example-module-2.data.xml @@ -0,0 +1,24 @@ +<!-- + ============LICENSE_START======================================================= + Simulator + ================================================================================ + Copyright (C) 2021 Nokia. All rights reserved. + ================================================================================ + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + ============LICENSE_END========================================================= + --> + +<config xmlns="http://onap.org/example-module-2"> + <itemValue1>10</itemValue1> + <itemValue2>42</itemValue2> +</config> diff --git a/example/example_models/example-module-2.yang b/example/example_models/example-module-2.yang new file mode 100644 index 0000000..1b101e5 --- /dev/null +++ b/example/example_models/example-module-2.yang @@ -0,0 +1,9 @@ +module example-module-2 { + namespace "http://onap.org/example-module-2"; + prefix config; + container config { + config true; + leaf itemValue1 {type uint32;} + leaf itemValue2 {type uint32;} + } +} diff --git a/example/example_models/example-module.data.xml b/example/example_models/example-module.data.xml new file mode 100644 index 0000000..e71c661 --- /dev/null +++ b/example/example_models/example-module.data.xml @@ -0,0 +1,25 @@ +<!-- + ============LICENSE_START======================================================= + Simulator + ================================================================================ + Copyright (C) 2021 Nokia. All rights reserved. + ================================================================================ + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + ============LICENSE_END========================================================= + --> + +<config xmlns="http://onap.org/example-module"> + <itemValue1>42</itemValue1> + <itemValue2>35</itemValue2> + <itemValue3>55</itemValue3> +</config> diff --git a/example/example_models/example-module.yang b/example/example_models/example-module.yang new file mode 100644 index 0000000..b1fbde8 --- /dev/null +++ b/example/example_models/example-module.yang @@ -0,0 +1,10 @@ +module example-module { + namespace "http://onap.org/example-module"; + prefix config; + container config { + config true; + leaf itemValue1 {type uint32;} + leaf itemValue2 {type uint32;} + leaf itemValue3 {type uint32;} + } +} |