aboutsummaryrefslogtreecommitdiffstats
path: root/dbc-client
diff options
context:
space:
mode:
Diffstat (limited to 'dbc-client')
-rw-r--r--dbc-client/misc/dbc-client122
-rw-r--r--dbc-client/pom.xml197
-rw-r--r--dbc-client/version.properties35
3 files changed, 354 insertions, 0 deletions
diff --git a/dbc-client/misc/dbc-client b/dbc-client/misc/dbc-client
new file mode 100644
index 0000000..42e7282
--- /dev/null
+++ b/dbc-client/misc/dbc-client
@@ -0,0 +1,122 @@
+#!/bin/sh
+#
+# ============LICENSE_START==========================================
+# org.onap.dmaap
+# ===================================================================
+# Copyright © 2019 AT&T Intellectual Property. All rights reserved.
+# ===================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END============================================
+# ECOMP is a trademark and service mark of AT&T Intellectual Property.
+#
+#
+
+umask 0022
+TZ=GMT0
+COMPONENT=dbc-client
+APP_ROOT=/opt/app/$COMPONENT
+USER=root
+export TZ
+PATH=/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin
+export PATH
+CONFIGMAP_ROOT=${CONFIGMAP_ROOT:-/opt/app/config}
+CONTAINER_CONFIG=$CONFIGMAP_ROOT/conf/dbc-client.env
+
+
+
+
+config() {
+ echo "ENTER config"
+ set -x
+ if [ ! -d $APP_ROOT ]
+ then
+ echo "Expected app root directory $APP_ROOT does not exist"
+ exit 1
+ fi
+ cd $APP_ROOT
+ find . -type f -exec ls -l {} \;
+ find $CONFIGMAP_ROOT -type f -exec ls -l {} \;
+ if [ ! -f $CONTAINER_CONFIG ]
+ then
+ echo "WARNING: Expected env file $CONTAINER_CONFIG not found. Default behaviors in effect"
+ else
+ source $CONTAINER_CONFIG
+ fi
+
+ if [ "$DMAAPBC_WAIT_TO_EXIT" != "Y" ]
+ then
+ echo "Creating $APP_ROOT/ok_to_exit so no waiting..."
+ > $APP_ROOT/ok_to_exit
+ else
+ echo "Not creating $APP_ROOT/ok_to_exit"
+ fi
+
+ if [ ! -f $APP_ROOT/misc/cert-client-init.sh ]
+ then
+ echo "Did not find $APP_ROOT/misc/cert-client-init.sh to append to truststore"
+ exit 1
+ fi
+ $APP_ROOT/misc/cert-client-init.sh
+
+ set +x
+}
+
+
+init() {
+ echo "ENTER init"
+ if [ ! -d $CONFIGMAP_ROOT ]
+ then
+ echo $CONFIGMAP_ROOT does not exist
+ return
+ fi
+
+ #loop on get /dmaap until we get a good response to indicate other provisioning can continue
+ rc=999
+ while [ $rc != "200" ]
+ do
+ sleep 10
+ rc=`curl -s -o /dev/null -I -w "%{http_code}" -X GET -H "Content-Type: application/json" http://dmaap-bc:8080/webapi/dmaap`
+ echo "get dmaap response=${rc}"
+ done
+}
+doprov() {
+
+ cd $CONFIGMAP_ROOT
+ pwd
+ # order is important in this next list
+ for uri in dmaap dcaeLocations mr_clusters topics feeds mr_clients dr_pubs dr_subs
+ do
+ if [ -d ${uri} ]
+ then
+ for j in `ls ${uri}/*.json`
+ do
+ echo "POST $j to $uri"
+ rc=`curl -v -X POST -w "%{http_code}" -H "Content-Type: application/json" -d @${j} http://dmaap-bc:8080/webapi/${uri}`
+ echo "response=$rc"
+ done
+ fi
+ done
+}
+
+set -x
+config
+init
+doprov
+
+echo "Check $APP_ROOT/ok_to_exit"
+while [ ! -f $APP_ROOT/ok_to_exit ]
+do
+ echo "$APP_ROOT/ok_to_exit does not exist. Sticking around for debugging..."
+ sleep 10
+done
+exit 0
diff --git a/dbc-client/pom.xml b/dbc-client/pom.xml
new file mode 100644
index 0000000..945eeee
--- /dev/null
+++ b/dbc-client/pom.xml
@@ -0,0 +1,197 @@
+<?xml version="1.0"?>
+<!--
+ ============LICENSE_START==========================================
+ org.onap.dmaap
+ ===================================================================
+ Copyright © 2018 AT&T Intellectual Property. All rights reserved.
+ ===================================================================
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ ============LICENSE_END============================================
+ ECOMP is a trademark and service mark of AT&T Intellectual Property.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.onap.dmaap.buscontroller</groupId>
+ <artifactId>dbc-client</artifactId>
+ <version>${artifact.version}</version>
+ <name>dbc-client</name>
+ <parent>
+ <groupId>org.onap.oparent</groupId>
+ <artifactId>oparent</artifactId>
+ <version>1.2.2</version>
+ <relativePath/>
+ </parent>
+ <build>
+ <finalName>dbc-client</finalName>
+
+ <plugins>
+
+
+ <plugin>
+ <groupId>org.sonatype.plugins</groupId>
+ <artifactId>nexus-staging-maven-plugin</artifactId>
+ <extensions>true</extensions>
+ <configuration>
+ <serverId>ecomp-staging</serverId>
+ <nexusUrl>${nexusproxy}</nexusUrl>
+ <stagingProfileId>176c31dfe190a</stagingProfileId>
+ </configuration>
+ </plugin>
+
+ <!-- for Distribution management -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-site-plugin</artifactId>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-webdav-jackrabbit</artifactId>
+ <version>2.10</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+
+ </plugins>
+ <pluginManagement>
+ <plugins>
+ <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
+ <plugin>
+ <groupId>org.eclipse.m2e</groupId>
+ <artifactId>lifecycle-mapping</artifactId>
+ <version>1.0.0</version>
+ <configuration>
+ <lifecycleMappingMetadata>
+ <pluginExecutions>
+ <pluginExecution>
+ <pluginExecutionFilter>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <versionRange>[2.10,)</versionRange>
+ <phase>install</phase>
+ <goals>
+ <goal>copy-dependencies</goal>
+ </goals>
+ </pluginExecutionFilter>
+ <action>
+ <ignore/>
+ </action>
+ </pluginExecution>
+ </pluginExecutions>
+ </lifecycleMappingMetadata>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+ <profiles>
+ <profile>
+ <id>docker</id>
+ <properties>
+ <skipDockerBuild>false</skipDockerBuild>
+ <skipDockerTag>false</skipDockerTag>
+ <skipTests>true</skipTests>
+ </properties>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>com.spotify</groupId>
+ <artifactId>docker-maven-plugin</artifactId>
+ <version>${docker.maven.plugin.version}</version>
+ <configuration>
+ <baseImage>alpine:3.8</baseImage>
+ <imageName>${onap.nexus.dockerregistry.daily}/${docker.image}</imageName>
+ <entryPoint>["./bin/dbc-client", "deploy"]</entryPoint>
+ <serverId>${onap.nexus.dockerregistry.daily}</serverId>
+ <skipDockerBuild>false</skipDockerBuild>
+ <imageTags>
+ <imageTag>${artifact.version}</imageTag>
+ <imageTag>latest</imageTag>
+ </imageTags>
+ <volumes>
+ <volume>/opt/app/dbc-client/log</volume>
+ </volumes>
+ <forceTags>true</forceTags>
+ <user>root</user>
+ <resources>
+ <resource>
+ <targetPath>/opt/app/dmaapbc/etc</targetPath>
+ <directory>${multiproject.basedir}/dbc-client</directory>
+ <include>version.properties</include>
+ </resource>
+ <resource>
+ <targetPath>/opt/app/dbc-client/misc</targetPath>
+ <directory>${multiproject.basedir}/misc</directory>
+ <include>cert-client-init.sh</include>
+ </resource>
+ <resource>
+ <targetPath>/opt/app/dbc-client/bin</targetPath>
+ <directory>${multiproject.basedir}/dbc-client/misc</directory>
+ <include>dbc-client</include>
+ </resource>
+ </resources>
+ <runs>
+ <run> apk add --no-cache curl </run>
+ <run>chmod +x /opt/app/dbc-client/misc/cert-client-init.sh</run>
+ <run>chmod +x /opt/app/dbc-client/bin/*</run>
+ <run>mkdir /opt/app/dbc-client/logs</run>
+ </runs>
+ <workdir>/opt/app/dbc-client</workdir>
+ </configuration>
+ <executions>
+ <execution>
+ <id>default</id>
+ <goals>
+ <goal>build</goal>
+ <goal>push</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+ <dependencyManagement>
+ </dependencyManagement>
+
+ <properties>
+ <multiproject.basedir>${basedir}/..</multiproject.basedir>
+ <docker.maven.plugin.version>1.0.0</docker.maven.plugin.version>
+ <jersey.version>2.16</jersey.version>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ <jettyVersion>9.4.12.RC2</jettyVersion>
+ <eelf.version>1.0.0</eelf.version>
+ <swagger.version>1.5.19</swagger.version>
+ <artifact.version>1.0.2</artifact.version>
+ <!-- SONAR -->
+ <jacoco.version>0.7.7.201606060606</jacoco.version>
+ <sonar-jacoco-listeners.version>3.2</sonar-jacoco-listeners.version>
+ <sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
+ <!-- Default Sonar configuration -->
+ <sonar.jacoco.reportPath>target/code-coverage/jacoco-ut.exec</sonar.jacoco.reportPath>
+ <sonar.jacoco.itReportPath>target/code-coverage/jacoco-it.exec</sonar.jacoco.itReportPath>
+ <!-- Note: This list should match jacoco-maven-plugin's exclusion list below -->
+ <sonar.exclusions>**/gen/**,**/generated-sources/**,**/yang-gen**,**/pax/**</sonar.exclusions>
+
+ <!-- docker image -->
+ <docker.image>onap/dmaap/dbc-client</docker.image>
+
+ <nexusproxy>https://nexus.onap.org</nexusproxy>
+ <docker.push.registry>nexus3.onap.org:10003</docker.push.registry>
+
+ <!-- for Distribution Management -->
+ <sitePath>/content/sites/site/org/onap/dmaap/dbc-client/${artifact.version}</sitePath>
+ </properties>
+ <description>Packaging Platform (DMaaP) HTTP Client for Bus Controller Provisioning.</description>
+</project>
diff --git a/dbc-client/version.properties b/dbc-client/version.properties
new file mode 100644
index 0000000..895a84e
--- /dev/null
+++ b/dbc-client/version.properties
@@ -0,0 +1,35 @@
+###
+# ============LICENSE_START=======================================================
+# org.onap.dmaap
+# ================================================================================
+# Copyright (C) 2017 AT&T Intellectual Property. All rights
+# reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END============================================
+# ===================================================================
+# ECOMP is a trademark and service mark of AT&T Intellectual Property.
+###
+
+# Versioning variables
+# Note that these variables cannot be structured (e.g. : version.release or version.snapshot etc... )
+# because they are used in Jenkins, whose plug-in doesn't support
+
+major=1
+minor=0
+patch=2
+base_version=${major}.${minor}.${patch}
+
+# Release must be completed with git revision # in Jenkins
+release_version=${base_version}
+snapshot_version=${base_version}-SNAPSHOT