Skip to content

Commit

Permalink
Add server running config (MarquezProject#7)
Browse files Browse the repository at this point in the history
* Add running section to README.md

* Clean up config class

* Add example config.yaml

* Add admin link to README.md

* Ignore marquez configuration

* Migrate to jdbi3

* Add psql driver

* Update config name for db in config.example.yaml
  • Loading branch information
wslulciuc authored Jul 27, 2018
1 parent ab46e86 commit 02ac2ef
Show file tree
Hide file tree
Showing 16 changed files with 53 additions and 64 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,6 @@
bin/
build/
gradle/

# Marquez configuration
config.yaml
13 changes: 10 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,21 @@ The [Marquez design](https://drive.google.com/open?id=1zxvp-6jv4Gs7eAGFmK0fbKbYL

## Requirements

* Java 8+
* Java 8 or higher
* Postgres Database
* Gradle 4.8+
* Gradle 4.8 or higher

## Building

To build the entire project run:

```bash
$ ./gradlew build
./gradlew shadowJar
```

## Running the [Application](https://github.com/MarquezProject/marquez/blob/master/src/main/java/marquez/MarquezApplication.java)

```bash
$ java -jar build/libs/marquez-all.jar server config.yaml
```
Then browse to the admin interface: https://localhost:8081
5 changes: 3 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,9 @@ if (JavaVersion.current() != JavaVersion.VERSION_1_8) {

dependencies {
compile 'io.dropwizard:dropwizard-core:1.3.5'
compile 'io.dropwizard:dropwizard-jdbi:1.3.5'
compile 'io.dropwizard:dropwizard-migrations:1.3.5'
compile 'io.dropwizard:dropwizard-jdbi3:1.3.5'
compile 'org.jdbi:jdbi3-core:3.3.0'
compile 'org.postgresql:postgresql:42.2.4'

testCompile 'io.dropwizard:dropwizard-testing:1.3.5'
testCompile 'junit:junit:4.12'
Expand Down
5 changes: 5 additions & 0 deletions config.example.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
database:
driverClass: org.postgresql.Driver
user: POSTGRESQL_USER
password: POSTGRESQL_PASSWORD
url: jdbc:postgresql:https://127.0.0.1:5432/POSTGRESQL_DATABASE
32 changes: 8 additions & 24 deletions src/main/java/marquez/MarquezApplication.java
Original file line number Diff line number Diff line change
@@ -1,44 +1,28 @@
package marquez;

import io.dropwizard.Application;
import io.dropwizard.db.DataSourceFactory;
import io.dropwizard.jdbi.DBIFactory;
import io.dropwizard.migrations.MigrationsBundle;
import io.dropwizard.jdbi3.JdbiFactory;
import io.dropwizard.setup.Bootstrap;
import io.dropwizard.setup.Environment;
import marquez.db.JobDAO;
import marquez.resources.JobResource;
import org.skife.jdbi.v2.DBI;
import org.jdbi.v3.core.Jdbi;

public class MarquezApplication extends Application<MarquezConfiguration> {

@Override
public void run(final MarquezConfiguration configuration, final Environment environment) {
final DBIFactory factory = new DBIFactory();
final DBI jdbi = factory.build(environment, configuration.getDataSourceFactory(), "h2");
final JobDAO jobDAO = jdbi.onDemand(JobDAO.class);
final JobResource jobResource = new JobResource(jobDAO);
environment.jersey().register(jobResource);
public void run(final MarquezConfiguration config, final Environment environment) {
final JdbiFactory factory = new JdbiFactory();
final Jdbi jdbi = factory.build(environment, config.getDataSourceFactory(), "postgresql");
}

@Override
public String getName() {
return "MarquezServer";
return "MarquezApp";
}

@Override
public void initialize(Bootstrap<MarquezConfiguration> bootstrap) {
bootstrap.addBundle(
new MigrationsBundle<MarquezConfiguration>() {
@Override
public DataSourceFactory getDataSourceFactory(MarquezConfiguration configuration) {
return configuration.getDataSourceFactory();
}
});
}
public void initialize(Bootstrap<MarquezConfiguration> bootstrap) {}

public static void main(final String[] args) throws Exception {
final MarquezApplication application = new MarquezApplication();
application.run(args);
new MarquezApplication().run(args);
}
}
18 changes: 4 additions & 14 deletions src/main/java/marquez/MarquezConfiguration.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,24 +5,14 @@
import io.dropwizard.db.DataSourceFactory;
import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import org.hibernate.validator.constraints.NotEmpty;

class MarquezConfiguration extends Configuration {
@NotEmpty private String url;

@Valid @NotNull @JsonProperty private DataSourceFactory database = new DataSourceFactory();
@Valid
@NotNull
@JsonProperty("database")
private DataSourceFactory database = new DataSourceFactory();

public DataSourceFactory getDataSourceFactory() {
return database;
}

@JsonProperty
public String getUrl() {
return url;
}

@JsonProperty
public void setHttpURL(String Url) {
this.url = Url;
}
}
4 changes: 2 additions & 2 deletions src/main/java/marquez/db/DatasetDAO.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

import java.util.List;
import marquez.api.Dataset;
import org.skife.jdbi.v2.sqlobject.Bind;
import org.skife.jdbi.v2.sqlobject.SqlQuery;
import org.jdbi.v3.sqlobject.customizer.Bind;
import org.jdbi.v3.sqlobject.statement.SqlQuery;

public interface DatasetDAO {
@SqlQuery("SELECT * FROM datasets WHERE id = :id")
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/marquez/db/DbDAO.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

import java.util.List;
import marquez.api.Db;
import org.skife.jdbi.v2.sqlobject.Bind;
import org.skife.jdbi.v2.sqlobject.SqlQuery;
import org.jdbi.v3.sqlobject.customizer.Bind;
import org.jdbi.v3.sqlobject.statement.SqlQuery;

public interface DbDAO {
@SqlQuery("SELECT * FROM dbs WHERE id = :id")
Expand Down
5 changes: 2 additions & 3 deletions src/main/java/marquez/db/DbTableVersionDAO.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

import java.util.List;
import marquez.api.DbTableVersion;
import org.skife.jdbi.v2.sqlobject.Bind;
import org.skife.jdbi.v2.sqlobject.SqlQuery;
import org.jdbi.v3.sqlobject.customizer.Bind;
import org.jdbi.v3.sqlobject.statement.SqlQuery;

public interface DbTableVersionDAO {
@SqlQuery("SELECT * FROM db_table_versions WHERE id = :id")
Expand All @@ -12,4 +12,3 @@ public interface DbTableVersionDAO {
@SqlQuery("SELECT * FROM db_table_versions")
List<DbTableVersion> findAll();
}

4 changes: 2 additions & 2 deletions src/main/java/marquez/db/IcebergTableVersionDAO.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

import java.util.List;
import marquez.api.IcebergTableVersion;
import org.skife.jdbi.v2.sqlobject.Bind;
import org.skife.jdbi.v2.sqlobject.SqlQuery;
import org.jdbi.v3.sqlobject.customizer.Bind;
import org.jdbi.v3.sqlobject.statement.SqlQuery;

public interface IcebergTableVersionDAO {
@SqlQuery("SELECT * FROM iceberg_table_versions WHERE id = :id")
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/marquez/db/JobDAO.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

import java.util.List;
import marquez.api.Job;
import org.skife.jdbi.v2.sqlobject.Bind;
import org.skife.jdbi.v2.sqlobject.SqlQuery;
import org.jdbi.v3.sqlobject.customizer.Bind;
import org.jdbi.v3.sqlobject.statement.SqlQuery;

public interface JobDAO {
@SqlQuery("SELECT * FROM jobs WHERE id = :id")
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/marquez/db/JobRunDAO.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

import java.util.List;
import marquez.api.JobRun;
import org.skife.jdbi.v2.sqlobject.Bind;
import org.skife.jdbi.v2.sqlobject.SqlQuery;
import org.jdbi.v3.sqlobject.customizer.Bind;
import org.jdbi.v3.sqlobject.statement.SqlQuery;

public interface JobRunDAO {
@SqlQuery("SELECT * FROM job_runs WHERE id = :id")
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/marquez/db/JobRunStateDAO.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

import java.util.List;
import marquez.api.JobRunState;
import org.skife.jdbi.v2.sqlobject.Bind;
import org.skife.jdbi.v2.sqlobject.SqlQuery;
import org.jdbi.v3.sqlobject.customizer.Bind;
import org.jdbi.v3.sqlobject.statement.SqlQuery;

public interface JobRunStateDAO {
@SqlQuery("SELECT * FROM job_run_states WHERE id = :id")
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/marquez/db/JobVersionDAO.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

import java.util.List;
import marquez.api.JobVersion;
import org.skife.jdbi.v2.sqlobject.Bind;
import org.skife.jdbi.v2.sqlobject.SqlQuery;
import org.jdbi.v3.sqlobject.customizer.Bind;
import org.jdbi.v3.sqlobject.statement.SqlQuery;

public interface JobVersionDAO {
@SqlQuery("SELECT * FROM job_versions WHERE id = :id")
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/marquez/db/OwnerDAO.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

import java.util.List;
import marquez.api.Owner;
import org.skife.jdbi.v2.sqlobject.Bind;
import org.skife.jdbi.v2.sqlobject.SqlQuery;
import org.jdbi.v3.sqlobject.customizer.Bind;
import org.jdbi.v3.sqlobject.statement.SqlQuery;

public interface OwnerDAO {
@SqlQuery("SELECT * FROM owners WHERE id = :id")
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/marquez/db/OwnershipDAO.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

import java.util.List;
import marquez.api.Ownership;
import org.skife.jdbi.v2.sqlobject.Bind;
import org.skife.jdbi.v2.sqlobject.SqlQuery;
import org.jdbi.v3.sqlobject.customizer.Bind;
import org.jdbi.v3.sqlobject.statement.SqlQuery;

public interface OwnershipDAO {
@SqlQuery("SELECT * FROM ownerships WHERE id = :id")
Expand Down

0 comments on commit 02ac2ef

Please sign in to comment.