diff options
author | Claudio D. Gasparini <claudio.gasparini@pantheon.tech> | 2021-01-28 15:36:37 +0100 |
---|---|---|
committer | Claudio D. Gasparini <claudio.gasparini@pantheon.tech> | 2021-02-01 18:08:30 +0100 |
commit | b77bf2529f15e60c852cf83d5150e75d30068bb0 (patch) | |
tree | 74556b527ac48ac608db2d420929785c797a6a07 /cps-application | |
parent | 850e3ecdecbedd30e65ae7cbaa81fc5301766f45 (diff) |
Decouple configuration from application
- Decouple configuration from application
- Generate all 3 types of docker variations
Issue-ID: CPS-175
Signed-off-by: Claudio D. Gasparini <claudio.gasparini@pantheon.tech>
Change-Id: I1e2e0577c5911f7c79801e4c691d196515dc02a1
Diffstat (limited to 'cps-application')
-rw-r--r-- | cps-application/pom.xml | 152 | ||||
-rw-r--r-- | cps-application/src/main/java/org/onap/cps/Application.java | 32 | ||||
-rw-r--r-- | cps-application/src/main/resources/application.yml | 51 |
3 files changed, 235 insertions, 0 deletions
diff --git a/cps-application/pom.xml b/cps-application/pom.xml new file mode 100644 index 0000000000..a159ad883a --- /dev/null +++ b/cps-application/pom.xml @@ -0,0 +1,152 @@ +<?xml version="1.0" encoding="UTF-8"?> +<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/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + + <parent> + <groupId>org.onap.cps</groupId> + <artifactId>cps-parent</artifactId> + <version>0.0.1-SNAPSHOT</version> + <relativePath>../cps-parent/pom.xml</relativePath> + </parent> + + <artifactId>cps-application</artifactId> + + <properties> + <minimum-coverage>0.0</minimum-coverage> + </properties> + + <dependencies> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-web</artifactId> + <exclusions> + <exclusion> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-tomcat</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-actuator</artifactId> + </dependency> + <dependency> + <groupId>org.springframework.cloud</groupId> + <artifactId>spring-cloud-starter-sleuth</artifactId> + </dependency> + </dependencies> + + <build> + <pluginManagement> + <plugins> + <plugin> + <groupId>com.google.cloud.tools</groupId> + <artifactId>jib-maven-plugin</artifactId> + <executions> + <execution> + <phase>package</phase> + <id>build</id> + <goals> + <goal>dockerBuild</goal> + </goals> + </execution> + <execution> + <phase>deploy</phase> + <id>buildAndPush</id> + <goals> + <goal>build</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </pluginManagement> + <plugins> + <plugin> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-maven-plugin</artifactId> + </plugin> + </plugins> + </build> + <profiles> + <profile> + <id>cps-docker</id> + <activation> + <activeByDefault>false</activeByDefault> + </activation> + + <dependencies> + <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>cps-rest</artifactId> + </dependency> + </dependencies> + <build> + <plugins> + <plugin> + <groupId>com.google.cloud.tools</groupId> + <artifactId>jib-maven-plugin</artifactId> + </plugin> + </plugins> + </build> + </profile> + <profile> + <id>xnf-docker</id> + <activation> + <activeByDefault>false</activeByDefault> + </activation> + + <properties> + <app>org.onap.cps.Application</app> + <repository.name>nexus3.onap.org:10001/onap/cps-nf-proxy</repository.name> + </properties> + + <dependencies> + <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>cps-nf-proxy-rest</artifactId> + </dependency> + </dependencies> + <build> + <plugins> + <plugin> + <groupId>com.google.cloud.tools</groupId> + <artifactId>jib-maven-plugin</artifactId> + </plugin> + </plugins> + </build> + </profile> + <profile> + <id>cps-xnf-docker</id> + <activation> + <activeByDefault>false</activeByDefault> + </activation> + + <properties> + <app>org.onap.cps.Application</app> + <repository.name>nexus3.onap.org:10001/onap/cps-and-nf-proxy</repository.name><!-- better naming? --> + </properties> + + <dependencies> + <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>cps-rest</artifactId> + </dependency> + <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>cps-nf-proxy-rest</artifactId> + </dependency> + </dependencies> + <build> + <plugins> + <plugin> + <groupId>com.google.cloud.tools</groupId> + <artifactId>jib-maven-plugin</artifactId> + </plugin> + </plugins> + </build> + </profile> + </profiles> +</project>
\ No newline at end of file diff --git a/cps-application/src/main/java/org/onap/cps/Application.java b/cps-application/src/main/java/org/onap/cps/Application.java new file mode 100644 index 0000000000..d8e849d53d --- /dev/null +++ b/cps-application/src/main/java/org/onap/cps/Application.java @@ -0,0 +1,32 @@ +/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2020 Nordix Foundation. 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.cps;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class Application {
+
+ public static void main(final String[] args) {
+ SpringApplication.run(Application.class, args);
+ }
+}
\ No newline at end of file diff --git a/cps-application/src/main/resources/application.yml b/cps-application/src/main/resources/application.yml new file mode 100644 index 0000000000..c3ceecde0a --- /dev/null +++ b/cps-application/src/main/resources/application.yml @@ -0,0 +1,51 @@ +server:
+ port: 8080
+
+rest:
+ api:
+ cps-base-path: /cps/api
+ xnf-base-path: /cps-nf-proxy/api
+
+spring:
+ main:
+ banner-mode: "off"
+ jpa:
+ ddl-auto: create
+ open-in-view: false
+ properties:
+ hibernate:
+ enable_lazy_load_no_trans: true
+ dialect: org.hibernate.dialect.PostgreSQLDialect
+
+ datasource:
+ url: jdbc:postgresql://${DB_HOST}:5432/cpsdb
+ username: ${DB_USERNAME}
+ password: ${DB_PASSWORD}
+ driverClassName: org.postgresql.Driver
+ initialization-mode: always
+
+ cache:
+ type: caffeine
+ cache-names: yangSchema
+ caffeine:
+ spec: maximumSize=10000,expireAfterAccess=10m
+# Actuator
+management:
+ endpoints:
+ web:
+ base-path: /manage
+ exposure:
+ include: info,health,loggers
+ endpoint:
+ health:
+ show-details: always
+ # kubernetes probes: liveness and readiness
+ probes:
+ enabled: true
+ loggers:
+ enabled: true
+
+logging:
+ level:
+ org:
+ springframework: INFO
|