.. contents::
:depth: 3
-Installation
-^^^^^^^^^^^^
+Installation of Apex
+^^^^^^^^^^^^^^^^^^^^
Requirements
------------
+----------------------------------------------------------------------------------------------------------------+
| Unix, Cygwin |
+================================================================================================================+
-| .. container:: |
+| .. container:: content |
| |
| .. container:: listingblock |
| |
| .. container:: content |
| |
| .. code:: |
+| |
| :number-lines: |
| |
| -rwxrwx---+ 1 esvevan Domain Users 772 Sep 3 11:55 apex-pdp-package-full_2.0.0~SNAPSHOT_all.changes* |
:number-lines:
# docker run -p 6969:6969 -v $APEX_HOME/ToscaPolicy.json:/tmp/policy/ToscaPolicy.json \
- --name apex -it nexus3.onap.org:10001/onap/policy-apex-pdp:latest /bin/bash \
+ --name apex -it nexus3.onap.org:10001/onap/policy-apex-pdp:latest \
-c "/opt/app/policy/apex-pdp/bin/apexEngine.sh -p /tmp/policy/ToscaPolicy.json"
APEX Configurations Explained
| **18** | any other output configuration (e.g. event name filter, see below) |
+--------+--------------------------------------------------------------------+
+Event Name
+##########
+
+ .. container:: paragraph
+
+ Any event defined in APEX has to be unique. The "name" of
+ of an event is used as an identifier for an ApexEvent. Every
+ event has to be tagged to an eventName. This can be done in different
+ ways. Either the actual event can have a field called "name". Or, the
+ event has some other field that can act as the identifier, which can be
+ specified using "nameAlias". But in other cases, where a "name" or "nameAlias"
+ cannot be specified, the incoming event coming over an endpoint can be
+ manually tagged to an "eventName" before consuming it.
+
+ .. container:: paragraph
+
+ The "eventName" can have a single event's name if the event coming
+ over the endpoint has to be always mapped to the specified eventName's
+ definition. Otherwise, if different events can come over the endpoint,
+ then "eventName" field can consist of multiple event names separated by
+ "|" symbol. In this case, based on the received event's structure, it is
+ mapped to any one of the event name specified in the "eventName" field.
+
+ .. container:: paragraph
+
+ The following code shows some examples on how to specify the eventName field:
+
+ .. container:: listingblock
+
+ .. container:: content
+
+ .. code::
+
+ "eventInputParameters": {
+ "Input1": {
+ "carrierTechnologyParameters" : {...},
+ "eventProtocolParameters":{...},
+ "eventName" : "VesEvent" (1)
+ },
+ "Input2": {
+ "carrierTechnologyParameters" : {...},
+ "eventProtocolParameters":{...},
+ "eventName" : "AAISuccessResponseEvent|AAIFailureResponseEvent" (2)
+ }
+ }
+
Event Filters
#############
"org.apache.kafka.common.serialization.StringDeserializer", (9)
"valueDeserializer" :
"org.apache.kafka.common.serialization.StringDeserializer" (10)
+ "kafkaProperties": [ (11)
+ [
+ "security.protocol",
+ "SASL_SSL"
+ ],
+ [
+ "ssl.truststore.type",
+ "JKS"
+ ],
+ [
+ "ssl.truststore.location",
+ "/opt/app/policy/apex-pdp/etc/ssl/test.jks"
+ ],
+ [
+ "ssl.truststore.password",
+ "policy0nap"
+ ],
+ [
+ "sasl.mechanism",
+ "SCRAM-SHA-512"
+ ],
+ [
+ "sasl.jaas.config",
+ "org.apache.kafka.common.security.scram.ScramLoginModule required username=\"policy\" password=\"policy\";"
+ ],
+ [
+ "ssl.endpoint.identification.algorithm",
+ ""
+ ]
+ ]
}
}
+--------+-------------------------------------+
| **10** | value for the Kafka de-serializer |
+--------+-------------------------------------+
+ | **11** | properties for Kafka connectivity |
+ +--------+-------------------------------------+
+
+ .. container:: paragraph
+
+ Kindly note that the above Kafka properties is just a reference,
+ and the actual properties required depends on the Kafka server installation.
Kafka Output
============
"org.apache.kafka.common.serialization.StringSerializer", (9)
"valueSerializer" :
"org.apache.kafka.common.serialization.StringSerializer" (10)
+ "kafkaProperties": [ (11)
+ [
+ "security.protocol",
+ "SASL_SSL"
+ ],
+ [
+ "ssl.truststore.type",
+ "JKS"
+ ],
+ [
+ "ssl.truststore.location",
+ "/opt/app/policy/apex-pdp/etc/ssl/test.jks"
+ ],
+ [
+ "ssl.truststore.password",
+ "policy0nap"
+ ],
+ [
+ "sasl.mechanism",
+ "SCRAM-SHA-512"
+ ],
+ [
+ "sasl.jaas.config",
+ "org.apache.kafka.common.security.scram.ScramLoginModule required username=\"policy\" password=\"policy\";"
+ ],
+ [
+ "ssl.endpoint.identification.algorithm",
+ ""
+ ]
+ ]
}
}
.. container:: colist arabic
- +--------+---------------------------------+
- | **1** | set Kafka as carrier technology |
- +--------+---------------------------------+
- | **2** | bootstrap server and port |
- +--------+---------------------------------+
- | **3** | acknowledgement strategy |
- +--------+---------------------------------+
- | **4** | number of retries |
- +--------+---------------------------------+
- | **5** | batch size |
- +--------+---------------------------------+
- | **6** | time to linger in milliseconds |
- +--------+---------------------------------+
- | **7** | buffer memory in byte |
- +--------+---------------------------------+
- | **8** | producer topic |
- +--------+---------------------------------+
- | **9** | key for the Kafka serializer |
- +--------+---------------------------------+
- | **10** | value for the Kafka serializer |
- +--------+---------------------------------+
+ +--------+-----------------------------------+
+ | **1** | set Kafka as carrier technology |
+ +--------+-----------------------------------+
+ | **2** | bootstrap server and port |
+ +--------+-----------------------------------+
+ | **3** | acknowledgement strategy |
+ +--------+-----------------------------------+
+ | **4** | number of retries |
+ +--------+-----------------------------------+
+ | **5** | batch size |
+ +--------+-----------------------------------+
+ | **6** | time to linger in milliseconds |
+ +--------+-----------------------------------+
+ | **7** | buffer memory in byte |
+ +--------+-----------------------------------+
+ | **8** | producer topic |
+ +--------+-----------------------------------+
+ | **9** | key for the Kafka serializer |
+ +--------+-----------------------------------+
+ | **10** | value for the Kafka serializer |
+ +--------+-----------------------------------+
+ | **11** | properties for Kafka connectivity |
+ +--------+-----------------------------------+
+
+ .. container:: paragraph
+
+ Kindly note that the above Kafka properties is just a reference,
+ and the actual properties required depends on the Kafka server installation.
JMS IO
######
.. container::
:name: footer-text
-
-
-