ramverma | 3b71c97 | 2019-07-10 11:25:37 +0000 | [diff] [blame] | 1 | .. This work is licensed under a Creative Commons Attribution 4.0 International License. |
| 2 | .. http://creativecommons.org/licenses/by/4.0 |
| 3 | |
| 4 | |
ramverma | 7fd4a6e | 2019-07-11 14:38:25 +0000 | [diff] [blame] | 5 | Introduction to Policy Distribution |
ramverma | 3b71c97 | 2019-07-10 11:25:37 +0000 | [diff] [blame] | 6 | *********************************** |
| 7 | |
| 8 | .. container:: paragraph |
| 9 | |
| 10 | The main job of policy distribution component is to receive |
| 11 | incoming notifications, download artifacts, decode policies |
| 12 | from downloaded artifacts & forward the decoded policies to |
Ram Krishna Verma | efa0bc7 | 2020-04-22 18:07:26 -0400 | [diff] [blame] | 13 | all configured policy forwarders. |
ramverma | 3b71c97 | 2019-07-10 11:25:37 +0000 | [diff] [blame] | 14 | |
| 15 | | |
| 16 | |
| 17 | .. container:: paragraph |
| 18 | |
| 19 | The current implementation of distribution component comes |
| 20 | with built-in SDC reception handler for receiving incoming |
| 21 | distribution notifications from SDC using SDC client library. |
| 22 | Upon receiving the notification, the corresponding CSAR artifacts |
| 23 | are downloaded using SDC client library.The downloaded CSAR is |
| 24 | then given to the configured policy decoder for decoding and |
| 25 | generating policies. The generated policies are then forwarded |
Ram Krishna Verma | efa0bc7 | 2020-04-22 18:07:26 -0400 | [diff] [blame] | 26 | to all configured policy forwarders. Related distribution status |
ramverma | 3b71c97 | 2019-07-10 11:25:37 +0000 | [diff] [blame] | 27 | is sent to SDC at each step (download/deploy/done) during the |
| 28 | entire flow. |
| 29 | |
| 30 | | |
| 31 | |
| 32 | .. container:: paragraph |
| 33 | |
| 34 | The distribution component also comes with built-in REST based |
| 35 | endpoints for fetching health check status & statistical data |
| 36 | of running distribution system. |
| 37 | |
| 38 | | |
| 39 | |
| 40 | .. container:: paragraph |
| 41 | |
| 42 | The distribution component is designed using plugin based architecture. |
| 43 | All the handlers, decoders & forwarders are basically plugins to |
| 44 | the running distribution engine. The plugins are configured in the |
| 45 | configuration JSON file provided during startup of distribution engine. |
| 46 | Adding a new plugin is simply implementing the related interfaces, |
| 47 | adding them to the configuration JSON file & making the classes available |
| 48 | in the classpath while starting distribution engine. There is no need |
| 49 | to edit anything in the distribution core engine. |
| 50 | Refer to distribution user manual for more details about the system and |
| 51 | the configuration. |