summaryrefslogtreecommitdiffstats
path: root/docs/Distribution-Introduction.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/Distribution-Introduction.rst')
-rw-r--r--docs/Distribution-Introduction.rst51
1 files changed, 51 insertions, 0 deletions
diff --git a/docs/Distribution-Introduction.rst b/docs/Distribution-Introduction.rst
new file mode 100644
index 00000000..6fb0d979
--- /dev/null
+++ b/docs/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.