Merge "Added validation on matching required fields"
[policy/engine.git] / docs / platform / deployment.rst
1 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
2 .. http://creativecommons.org/licenses/by/4.0
3
4 *****************
5 Policy Deployment
6 *****************
7
8 .. contents::
9     :depth: 3
10
11 Policy Helm Charts
12 ^^^^^^^^^^^^^^^^^^
13 The K8S helm charts in ONAP are hierarchical, where the chart of a container contains the charts of dependent containers. The policy helm chart captures the K8S configurations of PAP, PDP-X, Drools, BRMSGW, and nexus containers as shown below.
14
15
16 .. code-block:: bash
17    :caption: Policy Helm Chart Structure
18    :linenos:
19
20     |-- Chart.yaml              # Captures the meta-information of the PAP chart. For example, name and namespace.
21     |-- templates               # Contains templates for the PAP deployment descriptors and PAP secrets.
22     |   |-- NOTES.txt           
23     |   |-- configmap.yaml      # The configuration-map of the PAP application running in a POD.
24     |   |-- deployment.yaml     # The deployment descriptor of the PAP POD.
25     |   |-- secrets.yaml        # Captures secret keys related to authentication.
26     |   |-- service.yaml        # The deployment descriptor of offered services by PAP.
27     |-- values.yaml             # The configurations of the deployment descriptor and secret templates
28     |-- requirements.yaml       # Captures information about dependent charts; which is policy-common in this scenario.
29     |-- resources               # Captures resources required for deploying helm charts.
30     |   |-- config              # Captures the configurations of the PAP application.
31     |   |   |-- opt
32     |   |   |   |-- policy
33     |   |   |       |-- config
34     |   |   |           |-- pe
35     |   |   |-- pe
36     |   |       |-- console.conf            # The configurations of a backend server used in PAP.
37     |   |       |-- elk.conf                # The configurations of the elastic search module.
38     |   |       |-- mysql.conf              # The Configurations of the mysql database.
39     |   |       |-- pap-tweaks.sh           
40     |   |       |-- pap.conf                # The configurations of the PAP application.
41     |   |       |-- paplp.conf              # The configurations of a JVM used by PAP.
42     |   |       |-- push-policies.sh        
43     |   |-- scripts                         # Captures scripts used by a container.
44     |       |-- do-start.sh                 # The startup script of the PAP container.  
45     |       |-- update-vfw-op-policy.sh     
46     |-- charts                              # The charts of dependent containers; brmsgw, drools, mariadb, pdp, policy-nexus, and policy-common
47     |   |-- brmsgw                          # The helm chart for BRMSGW
48     |   |   |-- Chart.yaml                  # Captures the meta-information of the brmsgw chart. For example, name and namespace.
49     |   |   |-- requirements.yaml           # Captures information about dependent charts; which is policy-common in this scenario.
50     |   |   |-- resources                   # Captures resources required for deploying helm charts.
51     |   |   |   |-- config
52     |   |   |       |-- pe
53     |   |   |           |-- brmsgw-tweaks.sh    
54     |   |   |           |-- brmsgw.conf         # The configurations of the brmsgw application.
55     |   |   |-- templates                   # Contains templates for the brmsgw deployment descriptors and brmsgw secrets.
56     |   |   |   |-- NOTES.txt               
57     |   |   |   |-- configmap.yaml          # The configuration-map of the brmsgw application running in a POD.
58     |   |   |   |-- deployment.yaml         # The deployment descriptor of the brmsgw POD.
59     |   |   |   |-- service.yaml            # The deployment descriptor of offered services by brmsgw.
60     |   |   |-- values.yaml                 # The configurations of the deployment descriptor templates
61     |   |-- drools                          # The helm chart for drools
62     |   |   |-- Chart.yaml                  # Captures the meta-information of the brmsgw chart. For example, name and namespace.
63     |   |   |-- charts                      # The charts of nexus containers
64     |   |   |   |-- nexus                   # The helm chart for nexus
65     |   |   |       |-- Chart.yaml          # Captures the meta-information of the nexus chart. For example, name and namespace.
66     |   |   |       |-- requirements.yaml   # Captures information about dependent charts; which is policy-common in this scenario.
67     |   |   |       |-- templates           # Contains templates for the nexus deployment descriptors and brmsgw secrets.
68     |   |   |       |   |-- NOTES.txt       
69     |   |   |       |   |-- deployment.yaml # The deployment descriptor of the nexus POD.
70     |   |   |       |   |-- service.yaml    # The deployment descriptor of offered services by nexus.
71     |   |   |       |-- values.yaml         # The configurations of the deployment descriptor templates
72     |   |   |-- requirements.yaml           # Captures information about dependent charts; which is policy-common in this scenario.
73     |   |   |-- resources                   # Captures resources required for deploying helm charts.
74     |   |   |   |-- config
75     |   |   |   |   |-- drools
76     |   |   |   |   |   |-- settings.xml    # The maven settings file for the Drools application.
77     |   |   |   |   |-- log
78     |   |   |   |   |   |-- drools
79     |   |   |   |   |       |-- logback.xml # The maven settings file for logging.
80     |   |   |   |   |-- opt
81     |   |   |   |       |-- policy
82     |   |   |   |           |-- config
83     |   |   |   |               |-- drools
84     |   |   |   |                   |-- base.conf                       # The base configurations for drools 
85     |   |   |   |                   |-- drools-tweaks.sh                
86     |   |   |   |                   |-- keys
87     |   |   |   |                   |   |-- feature-healthcheck.conf    # The configurations for the helth-check module.
88     |   |   |   |                   |   |-- policy-keystore             
89     |   |   |   |                   |-- policy-management.conf          # The configurations for the policy management module.
90     |   |   |   |-- scripts
91     |   |   |       |-- do-start.sh                 # The startup script of the drools container.
92     |   |   |       |-- update-vfw-op-policy.sh     
93     |   |   |-- templates                           # Contains templates for the drools deployment descriptors and secrets.
94     |   |   |   |-- NOTES.txt                       
95     |   |   |   |-- configmap.yaml                  # The configuration-map of the drools application running in a POD.
96     |   |   |   |-- deployment.yaml                 # The deployment descriptor of the drools POD.
97     |   |   |   |-- secrets.yaml                    # Captures secret keys related to authentication.
98     |   |   |   |-- service.yaml                    # The deployment descriptor of offered services by drools.
99     |   |   |-- values.yaml                         # The configurations of the deployment descriptor templates.
100     |   |-- mariadb                                 # The helm chart for mariadb
101     |   |   |-- Chart.yaml                          # Captures the meta-information of the mariadb chart. For example, name and namespace.
102     |   |   |-- requirements.yaml                   # Captures information about dependent charts; which is policy-common in this scenario.
103     |   |   |-- resources                           # Captures resources required for deploying helm charts.
104     |   |   |   |-- config
105     |   |   |       |-- db.sh                       # Startup script for mariadb.
106     |   |   |-- templates                           # Contains templates for the mariadb deployment descriptors and secrets.
107     |   |   |   |-- NOTES.txt                       
108     |   |   |   |-- configmap.yaml                  # The configuration-map of the mariadb application running in a POD.
109     |   |   |   |-- deployment.yaml                 # The deployment descriptor of the mariadb POD.
110     |   |   |   |-- pv.yaml                         # The persistence volume configurations.
111     |   |   |   |-- pvc.yaml                        # The persistence volume claim configurations.
112     |   |   |   |-- secrets.yaml                    # Captures secret keys related to authentication.
113     |   |   |   |-- service.yaml                    # The deployment descriptor of offered services by maridb.
114     |   |   |-- values.yaml                         # The configurations of the deployment descriptor templates.
115     |   |-- pdp                                     # The helm chart for pdp.
116     |   |   |-- Chart.yaml                          # Captures the meta-information of the pdp chart. For example, name and namespace.
117     |   |   |-- requirements.yaml                   # Captures information about dependent charts; which is policy-common in this scenario.
118     |   |   |-- resources                           # Captures resources required for deploying helm charts.
119     |   |   |   |-- config
120     |   |   |       |-- log
121     |   |   |       |   |-- xacml-pdp-rest
122     |   |   |       |       |-- logback.xml         # The maven settings file for logging.
123     |   |   |       |-- pe
124     |   |   |           |-- pdp-tweaks.sh           
125     |   |   |           |-- pdp.conf                # The configurations of the pdp application.
126     |   |   |           |-- pdplp.conf              # The configurations of a JVM used by pdp.
127     |   |   |-- templates                           # Contains templates for the pdp deployment descriptors and secrets.
128     |   |   |   |-- NOTES.txt                       
129     |   |   |   |-- configmap.yaml                  # The configuration-map of the pdp application running in a POD.
130     |   |   |   |-- service.yaml                    # The deployment descriptor of offered services by pdp.
131     |   |   |   |-- statefulset.yaml                # The stateful-set descriptor for pdp to support multiple container instances in a POD.
132     |   |   |-- values.yaml                         # The configurations of the deployment descriptor templates.
133     |   |-- policy-brmsgw                           
134     |   |   |-- Chart.yaml                          
135     |   |   |-- requirements.yaml                   
136     |   |   |-- templates                           
137     |   |   |   |-- NOTES.txt
138     |   |   |   |-- configmap.yaml
139     |   |   |   |-- deployment.yaml
140     |   |   |   |-- secrets.yaml
141     |   |   |   |-- service.yaml
142     |   |   |-- values.yaml                         # The configurations of the deployment descriptor templates.
143     |   |-- policy-common                           # The helm chart that is commonly used across all policy containers.
144     |   |   |-- Chart.yaml                          # Captures the meta-information of the policy-common chart. For example, name and namespace.
145     |   |   |-- requirements.yaml                   # Captures information about dependent charts. 
146     |   |   |-- resources                           # Captures resources required for deploying helm charts.
147     |   |   |   |-- config
148     |   |   |       |-- log
149     |   |   |       |   |-- filebeat
150     |   |   |       |       |-- filebeat.yml        
151     |   |   |       |-- pe
152     |   |   |       |   |-- base.conf               # The base configurations applicable across many of the policy containers.
153     |   |   |       |   |-- brmsgw-tweaks.sh        
154     |   |   |       |   |-- brmsgw.conf             # The configurations of the brmsgw application.
155     |   |   |       |   |-- console.conf            # The configurations of the console application.
156     |   |   |       |   |-- elk.conf                # The configurations of the elastic search application.
157     |   |   |       |   |-- mysql.conf              # The configurations of the mysql application.
158     |   |   |       |   |-- pap-tweaks.sh           
159     |   |   |       |   |-- pap.conf                # The configurations of the pap application.
160     |   |   |       |   |-- paplp.conf              # The configurations of a JVM used by PAP.
161     |   |   |       |   |-- pdp-tweaks.sh           
162     |   |   |       |   |-- pdp.conf                # The configurations of the pdp application.
163     |   |   |       |   |-- pdplp.conf              # The configurations of a JVM used by pdp.
164     |   |   |       |   |-- push-policies.sh        
165     |   |   |       |-- scripts
166     |   |   |           |-- do-start.sh             # The startup script of container.
167     |   |   |-- templates
168     |   |   |   |-- NOTES.txt                       
169     |   |   |   |-- configmap.yaml                  # The configuration-map applicable across any policy container.
170     |   |   |-- values.yaml                         # The configurations of the deployment descriptor templates.
171     |   |-- policy-mariadb                          
172     |   |   |-- Chart.yaml
173     |   |   |-- requirements.yaml
174     |   |   |-- resources
175     |   |   |   |-- config
176     |   |   |       |-- db.sh
177     |   |   |-- templates
178     |   |   |   |-- NOTES.txt
179     |   |   |   |-- configmap.yaml
180     |   |   |   |-- deployment.yaml
181     |   |   |   |-- pv.yaml
182     |   |   |   |-- pvc.yaml
183     |   |   |   |-- secrets.yaml
184     |   |   |   |-- service.yaml
185     |   |   |-- values.yaml
186     |   |-- policy-nexus                            
187     |   |   |-- Chart.yaml
188     |   |   |-- requirements.yaml
189     |   |   |-- templates
190     |   |   |   |-- NOTES.txt
191     |   |   |   |-- deployment.yaml
192     |   |   |   |-- secrets.yaml
193     |   |   |   |-- service.yaml
194     |   |   |-- values.yaml
195     |   |-- policy-pap                              
196     |   |   |-- Chart.yaml
197     |   |   |-- requirements.yaml
198     |   |   |-- resources
199     |   |   |   |-- config
200     |   |   |       |-- log
201     |   |   |           |-- ep_sdk_app
202     |   |   |           |   |-- logback.xml
203     |   |   |           |-- xacml-pap-rest
204     |   |   |               |-- logback.xml
205     |   |   |-- templates
206     |   |   |   |-- NOTES.txt
207     |   |   |   |-- configmap.yaml
208     |   |   |   |-- deployment.yaml
209     |   |   |   |-- secrets.yaml
210     |   |   |   |-- service.yaml
211     |   |   |-- values.yaml
212     |   |-- policy-pdp                              
213     |       |-- Chart.yaml
214     |       |-- requirements.yaml
215     |       |-- resources
216     |       |   |-- config
217     |       |       |-- log
218     |       |           |-- xacml-pdp-rest
219     |       |               |-- logback.xml
220     |       |-- templates
221     |       |   |-- NOTES.txt
222     |       |   |-- configmap.yaml
223     |       |   |-- secrets.yaml
224     |       |   |-- service.yaml
225     |       |   |-- statefulset.yaml
226     |       |-- values.yaml
227
228
229
230 .. _PolicyConfigOfK8s : https://wiki.onap.org/display/DW/Policy+configuration+of+K8S
231
232
233
234 End of Document
235