diff options
Diffstat (limited to 'docs/distribution/Distribution-Introduction.rst')
-rw-r--r-- | docs/distribution/Distribution-Introduction.rst | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/docs/distribution/Distribution-Introduction.rst b/docs/distribution/Distribution-Introduction.rst new file mode 100644 index 00000000..6fb0d979 --- /dev/null +++ b/docs/distribution/Distribution-Introduction.rst @@ -0,0 +1,51 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + + +Introduction to Policy-Distribution +*********************************** + + .. container:: paragraph + + The main job of policy distribution component is to receive + incoming notifications, download artifacts, decode policies + from downloaded artifacts & forward the decoded policies to + all configured policy engines. + +| + + .. container:: paragraph + + The current implementation of distribution component comes + with built-in SDC reception handler for receiving incoming + distribution notifications from SDC using SDC client library. + Upon receiving the notification, the corresponding CSAR artifacts + are downloaded using SDC client library.The downloaded CSAR is + then given to the configured policy decoder for decoding and + generating policies. The generated policies are then forwarded + to all configured policy engines. Related distribution status + is sent to SDC at each step (download/deploy/done) during the + entire flow. + +| + + .. container:: paragraph + + The distribution component also comes with built-in REST based + endpoints for fetching health check status & statistical data + of running distribution system. + +| + + .. container:: paragraph + + The distribution component is designed using plugin based architecture. + All the handlers, decoders & forwarders are basically plugins to + the running distribution engine. The plugins are configured in the + configuration JSON file provided during startup of distribution engine. + Adding a new plugin is simply implementing the related interfaces, + adding them to the configuration JSON file & making the classes available + in the classpath while starting distribution engine. There is no need + to edit anything in the distribution core engine. + Refer to distribution user manual for more details about the system and + the configuration. |