diff --git a/Makefile b/Makefile index a91f486632..60dc1fad07 100644 --- a/Makefile +++ b/Makefile @@ -298,7 +298,6 @@ test-app.go-mod-tidy: make --directory='${go-test-app-dir}' go-mod-tidy - .PHONY: mod-download mod-download: @for folder in $$(find . -maxdepth 3 -name "go.mod" -exec dirname {} \;);\ diff --git a/src/autoscaler/Makefile b/src/autoscaler/Makefile index ae0dcb92f5..88d989ebf1 100644 --- a/src/autoscaler/Makefile +++ b/src/autoscaler/Makefile @@ -150,6 +150,13 @@ fmt: importfmt lint: @cd ../../; make lint_autoscaler OPTS=${OPTS} +.PHONY: clean-dbtasks package-dbtasks +clean-dbtasks: + pushd dbtasks; mvn clean; popd + +package-dbtasks: + pushd dbtasks; mvn package -Dmaven.test.skip=true ; popd + .PHONY: clean clean: @echo "# cleaning autoscaler" diff --git a/src/autoscaler/dbtasks/.gitignore b/src/autoscaler/dbtasks/.gitignore new file mode 100644 index 0000000000..60f291e9af --- /dev/null +++ b/src/autoscaler/dbtasks/.gitignore @@ -0,0 +1,6 @@ +/target/ +/bin/ +/.classpath +/.project +/.settings +/.mvn \ No newline at end of file diff --git a/src/autoscaler/dbtasks/Makefile b/src/autoscaler/dbtasks/Makefile new file mode 100644 index 0000000000..dc414c5503 --- /dev/null +++ b/src/autoscaler/dbtasks/Makefile @@ -0,0 +1,9 @@ +SHELL := /bin/bash + +package: + ## target build in target2 directory + mvn package -Dmaven.test.skip=true + +clean: + mvn clean + diff --git a/src/autoscaler/dbtasks/README.md b/src/autoscaler/dbtasks/README.md new file mode 100644 index 0000000000..ece792df0f --- /dev/null +++ b/src/autoscaler/dbtasks/README.md @@ -0,0 +1,11 @@ +## Build the db app +Provide the DB credentials and url in the /src/main/resources/application.properties file. +``` +mvn clean package +``` + +## Deploy +Requires java buildpack version 3.7 +``` +cf push autoscaler-db -p /db/target/db-1.0-SNAPSHOT.war -b https://github.com/cloudfoundry/java-buildpack.git#v3.7 +``` \ No newline at end of file diff --git a/src/autoscaler/dbtasks/pom.xml b/src/autoscaler/dbtasks/pom.xml new file mode 100644 index 0000000000..8fb18552eb --- /dev/null +++ b/src/autoscaler/dbtasks/pom.xml @@ -0,0 +1,110 @@ + + + 4.0.0 + + org.cloudfoundry.autoscaler + db + 1.0-SNAPSHOT + jar + + db + AutoScaler DB + + + org.springframework.boot + spring-boot-starter-parent + 2.7.18 + + + + + UTF-8 + 1.8 + + + + + org.liquibase + liquibase-core + 4.31.1 + + + org.yaml + snakeyaml + 2.4 + + + org.postgresql + postgresql + 42.7.5 + + + com.mysql + mysql-connector-j + 9.2.0 + + + + + org.springframework.boot + spring-boot-starter + 2.7.18 + + + org.springframework.boot + spring-boot-starter-web + 2.7.18 + + + + + + org.cloudfoundry + cloudfoundry-operations + 5.4.0.RELEASE + + + + org.cloudfoundry + cloudfoundry-client-lib + 1.1.3 + + + + + package + + + org.springframework.boot + spring-boot-maven-plugin + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + ${java.version} + ${java.version} + + + + + maven-dependency-plugin + + + package + + copy-dependencies + + + ${project.build.directory}/lib + + + + + + + + diff --git a/src/autoscaler/dbtasks/src/main/java/org/cloudfoundry/autoscaler/Application.java b/src/autoscaler/dbtasks/src/main/java/org/cloudfoundry/autoscaler/Application.java new file mode 100644 index 0000000000..0aeddec519 --- /dev/null +++ b/src/autoscaler/dbtasks/src/main/java/org/cloudfoundry/autoscaler/Application.java @@ -0,0 +1,28 @@ +/* + * Copyright 2014-2019 the original author or authors. + * + * 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. + */ + +package org.cloudfoundry.autoscaler; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class Application { + public static void main(String[] args) { + SpringApplication.run(Application.class, args); + } +} + diff --git a/src/autoscaler/mta.tpl.yaml b/src/autoscaler/mta.tpl.yaml index 61670cdaa8..efe2a09649 100644 --- a/src/autoscaler/mta.tpl.yaml +++ b/src/autoscaler/mta.tpl.yaml @@ -9,17 +9,23 @@ build-parameters: before-all: - builder: custom commands: - - make clean vendor + - make clean vendor clean-dbtasks package-dbtasks + modules: - # - name: db-lock-cleaner-hook # uses src/changeloglockcleaner - - name: db # uses src/db + - name: dbtasks type: java + path: dbtasks/target/db-1.0-SNAPSHOT.jar + properties: + JBP_LOG_LEVEL: true + DEBUG: true build-parameters: builder: custom - commands: - - make clean package - path: ../db + commands: [] + # buildpacks: [ java_buildpack ] + parameters: + # buildpacks: [ java_buildpack ] + no-start: true hooks: - name: db-apply-changelog-hook type: task @@ -35,7 +41,7 @@ modules: #--driver=org.postgresql.Driver --changeLogFile=servicebroker.db.changelog.yaml update - name: publicapiserver - type: go # and java + type: go path: . properties: DT_RELEASE_BUILD_VERSION: ${mta-version}