-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
chore: ditched liquibase if favour or flyway, simplified local db dev…
…, added dev profile for api, added docker compose simple to support dev.
- Loading branch information
Showing
20 changed files
with
74 additions
and
258 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
30 changes: 15 additions & 15 deletions
30
api/src/main/java/org/cardanofoundation/metadatatools/api/MetadataApiApplication.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,29 +1,29 @@ | ||
package org.cardanofoundation.metadatatools.api; | ||
|
||
import jakarta.servlet.DispatcherType; | ||
import java.util.List; | ||
import org.springframework.boot.SpringApplication; | ||
import org.springframework.boot.autoconfigure.SpringBootApplication; | ||
import org.springframework.boot.web.servlet.FilterRegistrationBean; | ||
import org.springframework.context.annotation.Bean; | ||
import org.springframework.core.Ordered; | ||
import org.springframework.web.filter.ForwardedHeaderFilter; | ||
|
||
import java.util.List; | ||
|
||
@SpringBootApplication | ||
public class MetadataApiApplication { | ||
public static void main(String[] args) { | ||
SpringApplication.run(MetadataApiApplication.class, args); | ||
} | ||
public static void main(String[] args) { | ||
SpringApplication.run(MetadataApiApplication.class, args); | ||
} | ||
|
||
@Bean | ||
public FilterRegistrationBean<ForwardedHeaderFilter> forwardedHeaderFilter() { | ||
final ForwardedHeaderFilter filter = new ForwardedHeaderFilter(); | ||
final FilterRegistrationBean<ForwardedHeaderFilter> registration = new FilterRegistrationBean<>(filter); | ||
registration.setDispatcherTypes(DispatcherType.REQUEST, DispatcherType.ASYNC, DispatcherType.ERROR); | ||
registration.setOrder(Ordered.HIGHEST_PRECEDENCE); | ||
registration.setUrlPatterns(List.of("/**")); | ||
return registration; | ||
} | ||
|
||
@Bean | ||
public FilterRegistrationBean<ForwardedHeaderFilter> forwardedHeaderFilter() { | ||
final ForwardedHeaderFilter filter = new ForwardedHeaderFilter(); | ||
final FilterRegistrationBean<ForwardedHeaderFilter> registration = | ||
new FilterRegistrationBean<>(filter); | ||
registration.setDispatcherTypes( | ||
DispatcherType.REQUEST, DispatcherType.ASYNC, DispatcherType.ERROR); | ||
registration.setOrder(Ordered.HIGHEST_PRECEDENCE); | ||
registration.setUrlPatterns(List.of("/**")); | ||
return registration; | ||
} | ||
} |
48 changes: 21 additions & 27 deletions
48
api/src/main/java/org/cardanofoundation/metadatatools/api/config/DatasourceConfig.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,39 +1,33 @@ | ||
package org.cardanofoundation.metadatatools.api.config; | ||
|
||
import javax.sql.DataSource; | ||
import lombok.extern.log4j.Log4j2; | ||
import org.springframework.beans.factory.annotation.Value; | ||
import org.springframework.boot.jdbc.DataSourceBuilder; | ||
import org.springframework.context.annotation.Bean; | ||
import org.springframework.context.annotation.Configuration; | ||
|
||
import javax.sql.DataSource; | ||
|
||
@Log4j2 | ||
@Configuration | ||
public class DatasourceConfig { | ||
private static final String DEFAULT_DB_DRIVER_NAME = "org.postgresql.Driver"; | ||
private static final String DEFAULT_DB_URL = "jdbc:postgresql://localhost:5432/cf_metadata"; | ||
|
||
private DatabaseConnectionParameters getConnectionParametersFromEnvironment() { | ||
final DatabaseConnectionParameters params = new DatabaseConnectionParameters(); | ||
params.setUsername(System.getProperty("dbUser")); | ||
params.setPassword(System.getProperty("dbSecret")); | ||
params.setDriverClassName(System.getProperty("dbDriverName", DEFAULT_DB_DRIVER_NAME)); | ||
params.setUrl(System.getProperty("dbUrl", DEFAULT_DB_URL)); | ||
return params; | ||
} | ||
@Value("${spring.datasource.driverClassName}") | ||
private String driver; | ||
@Value("${spring.datasource.url}") | ||
private String dbUrl; | ||
@Value("${spring.datasource.username}") | ||
private String username; | ||
@Value("${spring.datasource.password}") | ||
private String password; | ||
|
||
@Bean | ||
public DataSource getDataSource() { | ||
final DatabaseConnectionParameters databaseConnectionParams = | ||
getConnectionParametersFromEnvironment(); | ||
final DataSourceBuilder<?> dataSourceBuilder = DataSourceBuilder.create(); | ||
dataSourceBuilder.driverClassName(databaseConnectionParams.getDriverClassName()); | ||
dataSourceBuilder.url(databaseConnectionParams.getUrl()); | ||
dataSourceBuilder.username(databaseConnectionParams.getUsername()); | ||
dataSourceBuilder.password(databaseConnectionParams.getPassword()); | ||
log.info( | ||
String.format( | ||
"Trying to connect to database %s with driver %s", | ||
databaseConnectionParams.getUrl(), databaseConnectionParams.getDriverClassName())); | ||
return dataSourceBuilder.build(); | ||
} | ||
@Bean | ||
public DataSource getDataSource() { | ||
final DataSourceBuilder<?> dataSourceBuilder = DataSourceBuilder.create(); | ||
dataSourceBuilder.driverClassName(driver); | ||
dataSourceBuilder.url(dbUrl); | ||
dataSourceBuilder.username(username); | ||
dataSourceBuilder.password(password); | ||
log.info("Trying to connect to database {} with driver {}", dbUrl, driver); | ||
return dataSourceBuilder.build(); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
# Postgres Config | ||
spring.datasource.url=${DB_URL:jdbc:postgresql://localhost:5432/cf_metadata} | ||
spring.datasource.driverClassName=${DB_DRIVER:org.postgresql.Driver} | ||
spring.datasource.username=${DB_USERNAME:metadataservice} | ||
spring.datasource.password=${DB_PASSWORD:metadata1337_} | ||
|
||
# Flyway Config | ||
spring.flyway.url=${DB_URL:jdbc:postgresql://localhost:5432/cf_metadata} | ||
spring.flyway.user=${DB_USERNAME:metadataservice} | ||
spring.flyway.password=${DB_PASSWORD:metadata1337_} | ||
spring.flyway.schemas=${DB_SCHEMA:public} | ||
# baselineOnMigrate this will create a baseline version if none exists (https://flywaydb.org/documentation/configuration/parameters/baselineOnMigrate) | ||
spring.flyway.baselineOnMigrate=true | ||
spring.flyway.enabled=true | ||
spring.flyway.validateMigrationNaming=true |
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
CREATE USER metadataservice PASSWORD 'metadata1337_'; | ||
CREATE DATABASE cf_metadata WITH OWNER metadataservice; |
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
version: "3.9" | ||
services: | ||
db: | ||
image: "${DB_IMAGE_NAME}:${DB_IMAGE_TAG}" | ||
ports: | ||
- "${DB_PORT}:${DB_PORT}" | ||
environment: | ||
POSTGRES_PASSWORD: "${DB_USER_SECRET}" | ||
volumes: | ||
- ./database/scripts/bootstrap_db.sql:/docker-entrypoint-initdb.d/bootstrap_db.sql | ||
healthcheck: | ||
test: ["CMD-SHELL", "pg_isready -U ${DB_USER_NAME}"] | ||
interval: 5s | ||
timeout: 5s | ||
retries: 10 | ||
restart: on-failure |
Oops, something went wrong.