diff options
Diffstat (limited to 'dbc-client')
-rw-r--r-- | dbc-client/misc/dbc-client | 122 | ||||
-rw-r--r-- | dbc-client/pom.xml | 197 | ||||
-rw-r--r-- | dbc-client/version.properties | 35 |
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 |