openbel-api 1.0.3-java → 1.0.4-java

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 25d2e441f67f4be259e2f3a594a66c1c6524c061
4
- data.tar.gz: 2dde1eb0808d0f1ded754a447ca787c06e8196e7
3
+ metadata.gz: 00a36abdeadf9bbfeaf6bd2251e2f7cd32b051bf
4
+ data.tar.gz: 29e80343fd5d984c9df84266fe707ded3fc10658
5
5
  SHA512:
6
- metadata.gz: f1564a9fa715f528b2dce42f4f6238fb78f15bced541a786eee8b7c595b325ce2d19a596fc07bab9e579976c560137ccb22bed17af2d1a00420462896e5d1f5f
7
- data.tar.gz: 84721bf531574e8c9355a26246c7f039c8556f28a0f1914ae251609dbd7ded8792a4c7dd05f22cd825141abfbe4915cf72b1592f2b3c55c796746ca65fe99a4f
6
+ metadata.gz: 0f417e1ab2ae9a477ed14d4ce15fbc048b83ce31e0fb2254c02ad16f11d4f1e187e18c2011420abf589367e9dcdabb230866b21af71b1517b9c866d29564aa76
7
+ data.tar.gz: 5a9377f4e826f6287883c89b414f4b5df48f5872fb72569da9ec1c577dcb04f716a1e0241ff85cb3376e31e5b9b2d710929da3c13ff5a775f21a737aaffdd229
data/.gemspec CHANGED
@@ -26,7 +26,7 @@ Gem::Specification.new do |spec|
26
26
  'README.md'
27
27
  ].flatten!
28
28
  spec.executables = Dir.glob('bin/*').map(&File.method(:basename))
29
- spec.homepage = 'https://github.com/OpenBEL/openbel-server'
29
+ spec.homepage = 'https://github.com/OpenBEL/openbel-api'
30
30
  spec.require_paths = ['app', 'lib']
31
31
  spec.platform = 'java'
32
32
  spec.required_ruby_version = '>= 2.0.0'
data/CHANGELOG.md CHANGED
@@ -3,6 +3,13 @@ All notable changes to openbel-api will be documented in this file. The curated
3
3
 
4
4
  This project adheres to [Semantic Versioning][Semantic Versioning].
5
5
 
6
+ ## [1.0.4][1.0.4] - 2016-12-28
7
+ ### Added
8
+ - Docker containers for development and production use of OpenBEL
9
+
10
+ ### Changed
11
+ - Converted authentication to use Keycloak Pubkey RSA256 Token authentication
12
+
6
13
  ## [1.0.1][1.0.1] - 2016-06-08
7
14
  ### Added
8
15
  - Renaming APIs and code on [new terminology][new terminology].
@@ -87,6 +94,7 @@ Datasets are stored with a URI computed from the scheme and host that is serving
87
94
  - Retrieve equivalent namespace values from the individual.
88
95
  - Retrieve orthologous namespace values from the individual.
89
96
 
97
+ [1.0.4]: https://github.com/OpenBEL/openbel-api/compare/0.6.2...1.0.4
90
98
  [1.0.1]: https://github.com/OpenBEL/openbel-api/compare/0.6.2...1.0.1
91
99
  [1.0.0]: https://github.com/OpenBEL/openbel-api/compare/0.6.2...1.0.0
92
100
  [0.6.2]: https://github.com/OpenBEL/openbel-api/compare/0.6.1...0.6.2
data/INSTALL.md CHANGED
@@ -1,19 +1,21 @@
1
- Install
2
- =======
1
+ ## Install
3
2
 
4
3
  This library requires [Ruby](https://www.ruby-lang.org) (**>= 2.0.0**). See [how to install ruby](https://github.com/OpenBEL/bel.rb/blob/master/INSTALL_RUBY.md).
5
4
 
6
- Install from [RubyGems.org](http://rubygems.org/gems/bel)
5
+ #### From RubyGems
6
+
7
+ Install from [RubyGems.org](http://rubygems.org/gems/openbel-api)
7
8
 
8
9
  ```bash
9
- gem install bel
10
+ gem install openbel-api
10
11
  ```
11
12
 
12
- Build from master branch
13
+ Run with `openbel-api --file your_config.yml`
14
+
15
+ You can obtain an example configuration file with `openbel-config`.
16
+
17
+ #### On Docker
18
+
19
+ Please see the DOCKER.md file for Docker instructions
13
20
 
14
- 1. Obtain source for master branch.
15
- - `git clone git@github.com:OpenBEL/bel.rb.git`
16
21
 
17
- 2. Build
18
- - `gem build bel.gemspec`
19
- - `gem install bel-[VERSION].gem`
data/README.md CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  The OpenBEL API provides RESTful API access to your BEL content. It is part of [OpenBEL Platform][OpenBEL Platform].
4
4
 
5
+
5
6
  ## Features
6
7
 
7
8
  - Nanopub Store
@@ -61,6 +62,8 @@ The OpenBEL API is built to run with [JRuby][JRuby] and [Java 8][Java 8].
61
62
 
62
63
  ## Getting up and Running
63
64
 
65
+ *See the DOCKER.md file instructions for using Docker (recommended).*
66
+
64
67
  ### Installation
65
68
 
66
69
  The OpenBEL API is packaged and installed as a Ruby gem. A Ruby gem is packed library or application that runs on the Ruby virtual machine. In this case OpenBEL API runs only on [JRuby][JRuby].
@@ -132,31 +135,48 @@ resource_search:
132
135
  database_file: 'biological-concepts-rdf.db'
133
136
  ```
134
137
 
135
-
136
138
  **Tip**
137
139
  You can obtain the latest Resource Search database (20150611) from the [OpenBEL build server][Resource Search 20150611].
138
140
 
139
- *Token-based authentication*
140
- The OpenBEL API is equipped to require authentication for specific API paths (e.g. nanopub, Datasets). The implementation uses [Auth0][Auth0] as a single sign-on service.
141
141
 
142
- By default authentication is disabled.
142
+ ## Enabling Authentication
143
143
 
144
- The default configuration is:
144
+ The OpenBEL API uses *Token-based authentication* supported by Keycloak.
145
+ The OpenBEL API is equipped to require authentication for specific API
146
+ paths (e.g. nanopub, Datasets). The implementation uses [Keycloak][Keycloak]
147
+ for a single sign-on service.
148
+
149
+ By default, authentication is disabled. The default configuration is:
145
150
 
146
151
  ```yaml
147
152
  # Set a secret used during session creation....
148
153
  session_secret: 'changeme'
149
154
 
150
- # User authentication using Auth0.
151
155
  auth:
156
+ # Controls whether the API requires authentication
152
157
  enabled: false
153
- redirect: 'https://openbel.auth0.com/authorize?response_type=code&scope=openid%20profile&client_id=K4oAPUaROjbWWTCoAhf0nKYfTGsZWbHE'
154
- default_connection: 'linkedin'
155
- domain: 'openbel.auth0.com'
156
- id: 'K4oAPUaROjbWWTCoAhf0nKYfTGsZWbHE'
157
- # secret: 'auth0 client secret here'
158
+ # Used by the auth middleware to decode and verify the JWT
159
+ #secret: 'JWT secret here'
160
+
161
+ # API Authentication is provided via JWTs from Keycloak
162
+ # see http://jwt.io/ and https://keycloak.org
163
+ # auth:
164
+ # # Controls whether the API requires authentication
165
+ # enabled: true
166
+ # # Used by the auth middleware to decode and verify the JWT
167
+ # secret: |
168
+ # -----BEGIN PUBLIC KEY-----
169
+ # <keycloak_pub_key>
170
+ # -----END PUBLIC KEY-----
158
171
  ```
159
172
 
173
+ An example
174
+ The keycloak Pub Key can be found in the Admin console for Keycloak:
175
+
176
+ 1. Realm Settings
177
+ 1. Keys tab
178
+ 1. Public Key -> View
179
+
160
180
  ### Running the OpenBEL API
161
181
 
162
182
  The OpenBEL API can be run using the `openbel-api` command and passing a configuration file.
@@ -276,7 +296,7 @@ Built with collaboration and a lot of :heart: by the [OpenBEL][OpenBEL] communit
276
296
  [Upgrading]: https://github.com/OpenBEL/openbel-api/blob/master/UPGRADING.md
277
297
  [RubyGems]: https://rubygems.org
278
298
  [RDF]: http://www.w3.org/RDF/
279
- [Auth0]: https://auth0.com/
299
+ [Keycloak]: https://http://www.keycloak.org/
280
300
  [Puma HTTP server]: http://puma.io/
281
301
  [Resource RDF 20150611]: http://build.openbel.org/browse/OR-RRD2/latestSuccessful/artifact
282
302
  [Resource Search 20150611]: http://build.openbel.org/browse/OR-RSD2/latestSuccessful/artifact
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.3
1
+ 1.0.4
@@ -6,6 +6,7 @@ require 'bel_parser'
6
6
 
7
7
  require_relative 'util'
8
8
 
9
+ require 'rack'
9
10
  require 'rack/cors'
10
11
  require 'sinatra/base'
11
12
  require "sinatra/cookies"
@@ -39,14 +39,17 @@ module OpenBEL
39
39
  token = token_param unless token_param.nil?
40
40
 
41
41
  secret = OpenBEL::Settings[:auth][:secret]
42
- secret = Base64.decode64(secret)
42
+ pubkey = OpenSSL::PKey::RSA.new(secret)
43
+
44
+ # secret = Base64.decode64(secret)
45
+
43
46
  # whether we should verify the token
44
47
  verify = true
45
48
  # JWT options passed to decode
46
- options = {}
49
+ options = { :algorithm => 'RS256' }
47
50
 
48
51
  begin
49
- decoded_token = decode(token, secret, verify, options)
52
+ decoded_token = decode(token, pubkey, verify, options)
50
53
  rescue ::JWT::VerificationError => ve
51
54
  puts ve.inspect
52
55
  raise 'invalid authorization token'
@@ -27,6 +27,11 @@ module OpenBEL
27
27
  )
28
28
  end
29
29
 
30
+ configure :development do |config|
31
+ Annotations.reset!
32
+ use Rack::Reloader
33
+ end
34
+
30
35
  options '/api/annotations' do
31
36
  response.headers['Allow'] = 'OPTIONS,GET'
32
37
  status 200
@@ -3,6 +3,11 @@ module OpenBEL
3
3
 
4
4
  class Authenticate < Base
5
5
 
6
+ configure :development do |config|
7
+ Authenticate.reset!
8
+ use Rack::Reloader
9
+ end
10
+
6
11
  get '/api/authentication-enabled' do
7
12
  enabled = OpenBEL::Settings[:auth][:enabled]
8
13
  hdrs = {'Content-Type' => 'application/json'}
@@ -56,6 +56,11 @@ module OpenBEL
56
56
  @annotation_transform = AnnotationTransform.new(annotations)
57
57
  end
58
58
 
59
+ configure :development do |config|
60
+ Datasets.reset!
61
+ use Rack::Reloader
62
+ end
63
+
59
64
  # Hang on to the Rack IO in order to do unbuffered reads.
60
65
  # use Rack::Config do |env|
61
66
  # env['rack.input'], env['data.input'] = StringIO.new, env['rack.input']
@@ -20,14 +20,27 @@ module OpenBEL
20
20
  @spec = BELParser::Language.specification(bel_version)
21
21
 
22
22
  # RdfRepository using Jena.
23
- @rr = BEL::RdfRepository.plugins[:jena].create_repository(
24
- :tdb_directory => OpenBEL::Settings[:resource_rdf][:jena][:tdb_directory]
25
- )
23
+ tdb = OpenBEL::Settings[:resource_rdf][:jena][:tdb_directory]
24
+ @rr = BEL::RdfRepository.plugins[:jena].create_repository(:tdb_directory => tdb)
26
25
 
27
26
  # Annotations using RdfRepository
28
27
  @annotations = BEL::Resource::Annotations.new(@rr)
29
28
  # Namespaces using RdfRepository
30
- @namespaces = BEL::Resource::Namespaces.new(@rr)
29
+ @namespaces = BEL::Resource::Namespaces.new(@rr)
30
+
31
+ @supported_namespaces = Hash[
32
+ @namespaces.each.map { |ns|
33
+ prefix = ns.prefix.first.upcase
34
+
35
+ [
36
+ prefix,
37
+ BELParser::Expression::Model::Namespace.new(
38
+ prefix,
39
+ ns.uri
40
+ )
41
+ ]
42
+ }
43
+ ]
31
44
 
32
45
  # Resource Search using SQLite.
33
46
  @search = BEL::Resource::Search.plugins[:sqlite].create_search(
@@ -36,11 +49,16 @@ module OpenBEL
36
49
 
37
50
  @expression_validator = BELParser::Expression::Validator.new(
38
51
  @spec,
39
- BELParser::Resources::DEFAULT_NAMESPACES,
40
- BELParser::Resource.default_uri_reader,
52
+ @supported_namespaces,
53
+ BELParser::Resource::JenaTDBReader.new(tdb),
41
54
  BELParser::Resource.default_url_reader)
42
55
  end
43
56
 
57
+ configure :development do |config|
58
+ Expressions.reset!
59
+ use Rack::Reloader
60
+ end
61
+
44
62
  options '/api/expressions/*/completions' do
45
63
  response.headers['Allow'] = 'OPTIONS,GET'
46
64
  status 200
@@ -177,7 +195,9 @@ module OpenBEL
177
195
  statement =
178
196
  BELParser::Expression.parse_statements(
179
197
  bel,
180
- @spec)
198
+ @spec,
199
+ @supported_namespaces
200
+ )
181
201
  halt 404 unless statement
182
202
 
183
203
  response.headers['Content-Type'] = 'application/json'
@@ -18,6 +18,11 @@ module OpenBEL
18
18
  @spec = BELParser::Language.specification(bel_version)
19
19
  end
20
20
 
21
+ configure :development do |config|
22
+ Language.reset!
23
+ use Rack::Reloader
24
+ end
25
+
21
26
  options '/api/language' do
22
27
  response.headers['Allow'] = 'OPTIONS,GET'
23
28
  status 200
@@ -40,6 +40,11 @@ module OpenBEL
40
40
  )
41
41
  end
42
42
 
43
+ configure :development do |config|
44
+ Namespaces.reset!
45
+ use Rack::Reloader
46
+ end
47
+
43
48
  options '/api/namespaces' do
44
49
  response.headers['Allow'] = 'OPTIONS,GET'
45
50
  status 200
@@ -32,6 +32,11 @@ module OpenBEL
32
32
  @annotation_grouping_transform = AnnotationGroupingTransform.new
33
33
  end
34
34
 
35
+ configure :development do |config|
36
+ Nanopubs.reset!
37
+ use Rack::Reloader
38
+ end
39
+
35
40
  helpers do
36
41
 
37
42
  def stream_nanopub_objects(cursor)
@@ -3,6 +3,11 @@ module OpenBEL
3
3
 
4
4
  class Root < Base
5
5
 
6
+ configure :development do |config|
7
+ Root.reset!
8
+ use Rack::Reloader
9
+ end
10
+
6
11
  options '/api' do
7
12
  response.headers['Allow'] = 'OPTIONS,GET'
8
13
  status 200
@@ -16,6 +16,11 @@ module OpenBEL
16
16
  }
17
17
  DEFAULT_TYPE = TEXT
18
18
 
19
+ configure :development do |config|
20
+ Version.reset!
21
+ use Rack::Reloader
22
+ end
23
+
19
24
  helpers do
20
25
  def requested_media_type
21
26
  if params && params[:format]
@@ -0,0 +1,62 @@
1
+ #!/usr/bin/env bash
2
+
3
+ # run via: bash <(curl -s https://raw.githubusercontent.com/OpenBEL/openbel-api/master/bin/setup-docker.sh)
4
+
5
+ hash docker 2>/dev/null || { echo >&2 "I require docker. Please install. Aborting."; exit 1; }
6
+ hash docker-compose 2>/dev/null || { echo >&2 "I require docker-compose. Please install. Aborting."; exit 1; }
7
+
8
+
9
+ ssh_status=$(ssh -o BatchMode=yes -o ConnectTimeout=5 git@github.com 2>&1)
10
+
11
+ if [[ $ssh_status == *"successfully authenticated"* ]] ; then
12
+ clone_cmd="git clone git@github.com:OpenBEL/openbel-api.git";
13
+ else
14
+ clone_cmd="git clone https://github.com/OpenBEL/openbel-api.git";
15
+ fi
16
+
17
+ if [ ! -d "openbel-api" ]; then
18
+ $clone_cmd
19
+ else
20
+ cd openbel-api;
21
+ git pull;
22
+ cd ..;
23
+ fi
24
+
25
+
26
+ cd openbel-api
27
+ git submodule update --init # Update project submodules (in the ./subprojects directory)
28
+ HOME=$(pwd)
29
+
30
+
31
+ # Download and bunzip2 datasets
32
+ if [ ! -d "$HOME/data/rdf_resources" ]; then
33
+ mkdir -p $HOME/data/rdf_resources
34
+ cd $HOME/data/rdf_resources
35
+ curl -O http://datasets.openbel.org/biological-concepts-rdf.db.bz2
36
+ bunzip2 biological-concepts-rdf.db.bz2
37
+ fi
38
+
39
+ if [ ! -d "$HOME/data/rdf_store" ]; then
40
+ mkdir -p $HOME/data
41
+ cd $HOME/data
42
+ curl -O http://datasets.openbel.org/rdf_store.tar.bz2
43
+ bunzip2 rdf_store.tar.bz2
44
+ tar xvf rdf_store.tar
45
+ rm rdf_store.tar
46
+ fi
47
+
48
+ cd $HOME
49
+
50
+ if [ ! -f "$HOME/config/config.yml" ]; then
51
+ cp config/config.yml.example config/config.yml
52
+ fi
53
+
54
+ printf "Remember to configure config/config.yml\n\n"
55
+
56
+ echo "To start the dev docker instance: "
57
+ echo " docker-compose build"
58
+ echo " docker-compose up"
59
+
60
+ printf "\n\nTo run production docker: "
61
+ echo " docker-compose -f docker-compose-prod.yml build"
62
+ echo " docker-compose -f docker-compose-prod.yml up"
data/config/config.yml CHANGED
@@ -8,7 +8,7 @@ bel:
8
8
  # (BEL version 1.0 specification)
9
9
  # 2.0
10
10
  # (BEL version 2.0 specification)
11
- version: 2.0
11
+ version: 1.0
12
12
 
13
13
  # Storage of nanopubs through the Mongo database.
14
14
  nanopub_store:
@@ -16,8 +16,8 @@ nanopub_store:
16
16
 
17
17
  # The MongoDB host to connect to. For example if MongoDB's net.bindIp
18
18
  # setting is configured as 127.0.0.1 we should be able to connect using
19
- # localhost.
20
- host: 'localhost'
19
+ # 'localhost'. We use 'mongodb' for use in the docker-compose file.
20
+ host: 'mongodb'
21
21
 
22
22
  # The default MongoDB port. Configured under MongoDB's `net.port` setting.
23
23
  port: 27017
@@ -51,12 +51,12 @@ nanopub_store:
51
51
  # RDF dataset for BEL datasets, annotations, and namespaces using Apache Jena.
52
52
  resource_rdf:
53
53
  jena:
54
- tdb_directory: 'biological-concepts-rdf'
54
+ tdb_directory: '/data/rdf_store'
55
55
 
56
56
  # Full-text search over annotation and namespace values using SQLite.
57
57
  resource_search:
58
58
  sqlite:
59
- database_file: 'biological-concepts-rdf.db'
59
+ database_file: '/data/rdf_resources/biological-concepts-rdf.db'
60
60
 
61
61
  # Set a secret used during session creation....
62
62
  session_secret: 'changeme'
@@ -66,5 +66,8 @@ auth:
66
66
  # Controls whether the API requires authentication
67
67
  enabled: false
68
68
  # Used by the auth middleware to decode and verify the JWT
69
- #secret: 'JWT secret here'
69
+ secret: |
70
+ -----BEGIN PUBLIC KEY-----
71
+ MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAu77nUtVw7SIIcUTSiStzMPB7BGB/9eS+CpppsUaiyZyWCXlrALT3YdqneSlpX4Ta+0wvhOkKQtoSS8dCH8GIi7esAmfdHetHfRgeDXHAlXo8HIzshUzODg3ysT7j+Ha3eJsO+LNS/omHDhsarP8Z2eThW876iKJCCc/mB76a6u1e4Id+52K5lG++m8Pn4Gs+cqd2sKUKcMJ9CkJ6dBIdGlXHMoOHj4C33SPrEG/vEBv5cu0l5PP3RiBAuaZHpLKzfIiaLOpj/k4dD/weVt5gwTIJn16AEgPD7173Xef0HgoPlQInDFrJwsGpYCnIPZWSxRbvjKkya2Auj0QZyMCrXwIDAQAB
72
+ -----END PUBLIC KEY-----
70
73
 
metadata CHANGED
@@ -1,348 +1,348 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openbel-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 1.0.4
5
5
  platform: java
6
6
  authors:
7
7
  - Anthony Bargnesi
8
8
  - Nick Bargnesi
9
9
  - William Hayes
10
- autorequire:
10
+ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
13
  date: 2016-03-23 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
+ name: bel
16
17
  requirement: !ruby/object:Gem::Requirement
17
18
  requirements:
18
19
  - - "~>"
19
20
  - !ruby/object:Gem::Version
20
21
  version: 1.0.0
21
- name: bel
22
- prerelease: false
23
22
  type: :runtime
23
+ prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - "~>"
27
27
  - !ruby/object:Gem::Version
28
28
  version: 1.0.0
29
29
  - !ruby/object:Gem::Dependency
30
+ name: json-ld
30
31
  requirement: !ruby/object:Gem::Requirement
31
32
  requirements:
32
33
  - - '='
33
34
  - !ruby/object:Gem::Version
34
35
  version: 2.0.0
35
- name: json-ld
36
- prerelease: false
37
36
  type: :runtime
37
+ prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
40
  - - '='
41
41
  - !ruby/object:Gem::Version
42
42
  version: 2.0.0
43
43
  - !ruby/object:Gem::Dependency
44
+ name: rdf-json
44
45
  requirement: !ruby/object:Gem::Requirement
45
46
  requirements:
46
47
  - - '='
47
48
  - !ruby/object:Gem::Version
48
49
  version: 2.0.0
49
- name: rdf-json
50
- prerelease: false
51
50
  type: :runtime
51
+ prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
54
  - - '='
55
55
  - !ruby/object:Gem::Version
56
56
  version: 2.0.0
57
57
  - !ruby/object:Gem::Dependency
58
+ name: rdf-rdfa
58
59
  requirement: !ruby/object:Gem::Requirement
59
60
  requirements:
60
61
  - - '='
61
62
  - !ruby/object:Gem::Version
62
63
  version: 2.0.0
63
- name: rdf-rdfa
64
- prerelease: false
65
64
  type: :runtime
65
+ prerelease: false
66
66
  version_requirements: !ruby/object:Gem::Requirement
67
67
  requirements:
68
68
  - - '='
69
69
  - !ruby/object:Gem::Version
70
70
  version: 2.0.0
71
71
  - !ruby/object:Gem::Dependency
72
+ name: rdf-rdfxml
72
73
  requirement: !ruby/object:Gem::Requirement
73
74
  requirements:
74
75
  - - '='
75
76
  - !ruby/object:Gem::Version
76
77
  version: 2.0.0
77
- name: rdf-rdfxml
78
- prerelease: false
79
78
  type: :runtime
79
+ prerelease: false
80
80
  version_requirements: !ruby/object:Gem::Requirement
81
81
  requirements:
82
82
  - - '='
83
83
  - !ruby/object:Gem::Version
84
84
  version: 2.0.0
85
85
  - !ruby/object:Gem::Dependency
86
+ name: rdf-trig
86
87
  requirement: !ruby/object:Gem::Requirement
87
88
  requirements:
88
89
  - - '='
89
90
  - !ruby/object:Gem::Version
90
91
  version: 2.0.0
91
- name: rdf-trig
92
- prerelease: false
93
92
  type: :runtime
93
+ prerelease: false
94
94
  version_requirements: !ruby/object:Gem::Requirement
95
95
  requirements:
96
96
  - - '='
97
97
  - !ruby/object:Gem::Version
98
98
  version: 2.0.0
99
99
  - !ruby/object:Gem::Dependency
100
+ name: rdf-trix
100
101
  requirement: !ruby/object:Gem::Requirement
101
102
  requirements:
102
103
  - - '='
103
104
  - !ruby/object:Gem::Version
104
105
  version: 2.0.0
105
- name: rdf-trix
106
- prerelease: false
107
106
  type: :runtime
107
+ prerelease: false
108
108
  version_requirements: !ruby/object:Gem::Requirement
109
109
  requirements:
110
110
  - - '='
111
111
  - !ruby/object:Gem::Version
112
112
  version: 2.0.0
113
113
  - !ruby/object:Gem::Dependency
114
+ name: rdf-turtle
114
115
  requirement: !ruby/object:Gem::Requirement
115
116
  requirements:
116
117
  - - '='
117
118
  - !ruby/object:Gem::Version
118
119
  version: 2.0.0
119
- name: rdf-turtle
120
- prerelease: false
121
120
  type: :runtime
121
+ prerelease: false
122
122
  version_requirements: !ruby/object:Gem::Requirement
123
123
  requirements:
124
124
  - - '='
125
125
  - !ruby/object:Gem::Version
126
126
  version: 2.0.0
127
127
  - !ruby/object:Gem::Dependency
128
+ name: bel-search-sqlite
128
129
  requirement: !ruby/object:Gem::Requirement
129
130
  requirements:
130
131
  - - "~>"
131
132
  - !ruby/object:Gem::Version
132
133
  version: 1.0.0
133
- name: bel-search-sqlite
134
- prerelease: false
135
134
  type: :runtime
135
+ prerelease: false
136
136
  version_requirements: !ruby/object:Gem::Requirement
137
137
  requirements:
138
138
  - - "~>"
139
139
  - !ruby/object:Gem::Version
140
140
  version: 1.0.0
141
141
  - !ruby/object:Gem::Dependency
142
+ name: bel-rdf-jena
142
143
  requirement: !ruby/object:Gem::Requirement
143
144
  requirements:
144
145
  - - "~>"
145
146
  - !ruby/object:Gem::Version
146
147
  version: 1.0.0
147
- name: bel-rdf-jena
148
- prerelease: false
149
148
  type: :runtime
149
+ prerelease: false
150
150
  version_requirements: !ruby/object:Gem::Requirement
151
151
  requirements:
152
152
  - - "~>"
153
153
  - !ruby/object:Gem::Version
154
154
  version: 1.0.0
155
155
  - !ruby/object:Gem::Dependency
156
+ name: mongo
156
157
  requirement: !ruby/object:Gem::Requirement
157
158
  requirements:
158
159
  - - '='
159
160
  - !ruby/object:Gem::Version
160
161
  version: 1.12.5
161
- name: mongo
162
- prerelease: false
163
162
  type: :runtime
163
+ prerelease: false
164
164
  version_requirements: !ruby/object:Gem::Requirement
165
165
  requirements:
166
166
  - - '='
167
167
  - !ruby/object:Gem::Version
168
168
  version: 1.12.5
169
169
  - !ruby/object:Gem::Dependency
170
+ name: bson
170
171
  requirement: !ruby/object:Gem::Requirement
171
172
  requirements:
172
173
  - - '='
173
174
  - !ruby/object:Gem::Version
174
175
  version: 1.12.5
175
- name: bson
176
- prerelease: false
177
176
  type: :runtime
177
+ prerelease: false
178
178
  version_requirements: !ruby/object:Gem::Requirement
179
179
  requirements:
180
180
  - - '='
181
181
  - !ruby/object:Gem::Version
182
182
  version: 1.12.5
183
183
  - !ruby/object:Gem::Dependency
184
+ name: dot_hash
184
185
  requirement: !ruby/object:Gem::Requirement
185
186
  requirements:
186
187
  - - '='
187
188
  - !ruby/object:Gem::Version
188
189
  version: 0.5.9
189
- name: dot_hash
190
- prerelease: false
191
190
  type: :runtime
191
+ prerelease: false
192
192
  version_requirements: !ruby/object:Gem::Requirement
193
193
  requirements:
194
194
  - - '='
195
195
  - !ruby/object:Gem::Version
196
196
  version: 0.5.9
197
197
  - !ruby/object:Gem::Dependency
198
+ name: jrjackson
198
199
  requirement: !ruby/object:Gem::Requirement
199
200
  requirements:
200
201
  - - '='
201
202
  - !ruby/object:Gem::Version
202
203
  version: 0.3.7
203
- name: jrjackson
204
- prerelease: false
205
204
  type: :runtime
205
+ prerelease: false
206
206
  version_requirements: !ruby/object:Gem::Requirement
207
207
  requirements:
208
208
  - - '='
209
209
  - !ruby/object:Gem::Version
210
210
  version: 0.3.7
211
211
  - !ruby/object:Gem::Dependency
212
+ name: json_schema
212
213
  requirement: !ruby/object:Gem::Requirement
213
214
  requirements:
214
215
  - - '='
215
216
  - !ruby/object:Gem::Version
216
217
  version: 0.10.0
217
- name: json_schema
218
- prerelease: false
219
218
  type: :runtime
219
+ prerelease: false
220
220
  version_requirements: !ruby/object:Gem::Requirement
221
221
  requirements:
222
222
  - - '='
223
223
  - !ruby/object:Gem::Version
224
224
  version: 0.10.0
225
225
  - !ruby/object:Gem::Dependency
226
+ name: multi_json
226
227
  requirement: !ruby/object:Gem::Requirement
227
228
  requirements:
228
229
  - - '='
229
230
  - !ruby/object:Gem::Version
230
231
  version: 1.11.2
231
- name: multi_json
232
- prerelease: false
233
232
  type: :runtime
233
+ prerelease: false
234
234
  version_requirements: !ruby/object:Gem::Requirement
235
235
  requirements:
236
236
  - - '='
237
237
  - !ruby/object:Gem::Version
238
238
  version: 1.11.2
239
239
  - !ruby/object:Gem::Dependency
240
+ name: oat
240
241
  requirement: !ruby/object:Gem::Requirement
241
242
  requirements:
242
243
  - - '='
243
244
  - !ruby/object:Gem::Version
244
245
  version: 0.4.6
245
- name: oat
246
- prerelease: false
247
246
  type: :runtime
247
+ prerelease: false
248
248
  version_requirements: !ruby/object:Gem::Requirement
249
249
  requirements:
250
250
  - - '='
251
251
  - !ruby/object:Gem::Version
252
252
  version: 0.4.6
253
253
  - !ruby/object:Gem::Dependency
254
+ name: puma
254
255
  requirement: !ruby/object:Gem::Requirement
255
256
  requirements:
256
257
  - - '='
257
258
  - !ruby/object:Gem::Version
258
259
  version: 3.1.0
259
- name: puma
260
- prerelease: false
261
260
  type: :runtime
261
+ prerelease: false
262
262
  version_requirements: !ruby/object:Gem::Requirement
263
263
  requirements:
264
264
  - - '='
265
265
  - !ruby/object:Gem::Version
266
266
  version: 3.1.0
267
267
  - !ruby/object:Gem::Dependency
268
+ name: rack
268
269
  requirement: !ruby/object:Gem::Requirement
269
270
  requirements:
270
271
  - - '='
271
272
  - !ruby/object:Gem::Version
272
273
  version: 1.6.4
273
- name: rack
274
- prerelease: false
275
274
  type: :runtime
275
+ prerelease: false
276
276
  version_requirements: !ruby/object:Gem::Requirement
277
277
  requirements:
278
278
  - - '='
279
279
  - !ruby/object:Gem::Version
280
280
  version: 1.6.4
281
281
  - !ruby/object:Gem::Dependency
282
+ name: rack-cors
282
283
  requirement: !ruby/object:Gem::Requirement
283
284
  requirements:
284
285
  - - '='
285
286
  - !ruby/object:Gem::Version
286
287
  version: 0.4.0
287
- name: rack-cors
288
- prerelease: false
289
288
  type: :runtime
289
+ prerelease: false
290
290
  version_requirements: !ruby/object:Gem::Requirement
291
291
  requirements:
292
292
  - - '='
293
293
  - !ruby/object:Gem::Version
294
294
  version: 0.4.0
295
295
  - !ruby/object:Gem::Dependency
296
+ name: rack-handlers
296
297
  requirement: !ruby/object:Gem::Requirement
297
298
  requirements:
298
299
  - - '='
299
300
  - !ruby/object:Gem::Version
300
301
  version: 0.7.0
301
- name: rack-handlers
302
- prerelease: false
303
302
  type: :runtime
303
+ prerelease: false
304
304
  version_requirements: !ruby/object:Gem::Requirement
305
305
  requirements:
306
306
  - - '='
307
307
  - !ruby/object:Gem::Version
308
308
  version: 0.7.0
309
309
  - !ruby/object:Gem::Dependency
310
+ name: sinatra
310
311
  requirement: !ruby/object:Gem::Requirement
311
312
  requirements:
312
313
  - - '='
313
314
  - !ruby/object:Gem::Version
314
315
  version: 1.4.6
315
- name: sinatra
316
- prerelease: false
317
316
  type: :runtime
317
+ prerelease: false
318
318
  version_requirements: !ruby/object:Gem::Requirement
319
319
  requirements:
320
320
  - - '='
321
321
  - !ruby/object:Gem::Version
322
322
  version: 1.4.6
323
323
  - !ruby/object:Gem::Dependency
324
+ name: sinatra-contrib
324
325
  requirement: !ruby/object:Gem::Requirement
325
326
  requirements:
326
327
  - - '='
327
328
  - !ruby/object:Gem::Version
328
329
  version: 1.4.6
329
- name: sinatra-contrib
330
- prerelease: false
331
330
  type: :runtime
331
+ prerelease: false
332
332
  version_requirements: !ruby/object:Gem::Requirement
333
333
  requirements:
334
334
  - - '='
335
335
  - !ruby/object:Gem::Version
336
336
  version: 1.4.6
337
337
  - !ruby/object:Gem::Dependency
338
+ name: jwt
338
339
  requirement: !ruby/object:Gem::Requirement
339
340
  requirements:
340
341
  - - '='
341
342
  - !ruby/object:Gem::Version
342
343
  version: 1.5.2
343
- name: jwt
344
- prerelease: false
345
344
  type: :runtime
345
+ prerelease: false
346
346
  version_requirements: !ruby/object:Gem::Requirement
347
347
  requirements:
348
348
  - - '='
@@ -351,8 +351,9 @@ dependencies:
351
351
  description: The OpenBEL API provides a RESTful API over HTTP to manage BEL knowledge.
352
352
  email: abargnesi@selventa.com
353
353
  executables:
354
- - openbel-config
355
354
  - openbel-api
355
+ - openbel-config
356
+ - setup-docker.sh
356
357
  extensions: []
357
358
  extra_rdoc_files: []
358
359
  files:
@@ -408,6 +409,7 @@ files:
408
409
  - app/openbel/api/version.rb
409
410
  - bin/openbel-api
410
411
  - bin/openbel-config
412
+ - bin/setup-docker.sh
411
413
  - config/config.yml
412
414
  - config/server_config.rb
413
415
  - lib/openbel/api/cache/cache.rb
@@ -428,11 +430,11 @@ files:
428
430
  - lib/openbel/api/plugin/plugin_repository.rb
429
431
  - lib/openbel/api/storage/cache_proxy.rb
430
432
  - lib/openbel/api/storage/triple_storage.rb
431
- homepage: https://github.com/OpenBEL/openbel-server
433
+ homepage: https://github.com/OpenBEL/openbel-api
432
434
  licenses:
433
435
  - Apache-2.0
434
436
  metadata: {}
435
- post_install_message:
437
+ post_install_message:
436
438
  rdoc_options: []
437
439
  require_paths:
438
440
  - app
@@ -448,9 +450,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
448
450
  - !ruby/object:Gem::Version
449
451
  version: '0'
450
452
  requirements: []
451
- rubyforge_project:
452
- rubygems_version: 2.6.4
453
- signing_key:
453
+ rubyforge_project:
454
+ rubygems_version: 2.4.6
455
+ signing_key:
454
456
  specification_version: 4
455
457
  summary: The OpenBEL API provided over RESTful HTTP endpoints.
456
458
  test_files: []