commit | f5dae47e293ae63a7a2f18230b772a699a52566f | [log] [tgz] |
---|---|---|
author | mark.j.leonard <mark.j.leonard@gmail.com> | Tue Mar 05 12:28:24 2019 +0000 |
committer | mark.j.leonard <mark.j.leonard@gmail.com> | Tue Mar 05 12:28:24 2019 +0000 |
tree | aa8b90e1ed811ea3168ad8778baf145857993652 | |
parent | be30876e3a3872a7274c944995544836ff31913c [diff] |
Move Widget attribute data to the mappings JSON Extend the TOSCA mappings JSON content by adding a set of of Widget types defining the type name and data-delete flag. In this change the set of supported types (defined by an enum) remains. However the intention is to replace this in a future commit. The hierarchy of annotated Widget types is replaced by this new configuration, which is accessed from the Widget class. Refactoring has been kept to a minimum to simplify the code review process but further improvements can now be made. Ideally the set of supported Widgets can be extended through configuration changes only. Change-Id: I005cfe6976778b14f14c3ad06d8acf3745c8dd8f Issue-ID: AAI-2212 Signed-off-by: mark.j.leonard <mark.j.leonard@gmail.com>
Babel is a microservice in the AAI project which can be used by clients that work with TOSCA CSAR files.
It parses TOSCA YAML files extracted from a CSAR payload and generates XML files containing AAI Model data.
The Babel service can be built with Maven, e.g. by issuing the command mvn clean install
Maven will produce the following artifacts in the "target" folder:
Maven will install the following artifacts in the local repository:
To create the docker image run: docker build -t aai/babel target
The project will build a client jar which can be used by clients invoking the Babel service.
The client jar contains two objects that are used in the Babel service API.
BabelRequest is used to supply the inputs into the Babel service. BabelArtifact is the response artifact in the list of artifacts returned from the Babel service.
Push the Docker image that you have built to your Docker repository and pull it down to the location that you will be running Babel from.
Create the following directories on the host machine:
./logs ./opt/app/babel/appconfig ./opt/app/babel/appconfig/auth
You will be mounting these as data volumes when you start the Docker container. For examples of the files required in these directories, see the aai/test/config repository (https://gerrit.onap.org/r/#/admin/projects/aai/test-config)
Populate these directories as follows:
The following file must be present in this directory on the host machine:
The purpose of this configuration directory is to maintain configuration files specific to authentication/authorization for the Babel service. The following files must be present in this directory on the host machine:
babel-auth.properties
auth.policy.file=/auth/auth_policy.json auth.authentication.disable=false
artifact-generator.properties
Contains model invariants ids used by SDC artifact generator library
logback.xml
Logging configuration.
auth_policy.json
Create a policy file defining the roles and users that will be allowed to access Babel service. This is a JSON format file which will look something like the following example:
{ "roles": [ { "name": "admin", "functions": [ { "name": "search", "methods": [ { "name": "GET" },{ "name": "DELETE" }, { "name": "PUT" }, { "name": "POST" } ] } ], "users": [ { "username": "CN=babeladmin, OU=My Organization Unit, O=, L=Sometown, ST=SomeProvince, C=CA" } ] } ] }
tomcatkeystore
Create a keystore with this name containing whatever CA certificates that you want your instance of the Babel service to accept for HTTPS traffic.
To include the Babel service client jar in your project add the following maven dependency to your project's pom:
<dependency> <groupId>org.onap.aai</groupId> <artifactId>babel</artifactId> <version>*</version> <classifier>client</classifier> </dependency>