Compare commits
11 Commits
02820203f0
...
feature/gi
| Author | SHA1 | Date | |
|---|---|---|---|
|
a5da2fbd40
|
|||
|
df1a3e6512
|
|||
| 8b6f201a0b | |||
|
209fcca5ea
|
|||
|
589dcf7fa2
|
|||
|
91cadbf228
|
|||
|
d09c6e7a39
|
|||
| 93fd1ecd5f | |||
|
024f516a9d
|
|||
|
96417e3884
|
|||
|
b7ff3e7d42
|
9
.drone.yml
Normal file
9
.drone.yml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
kind: pipeline
|
||||||
|
name: default
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: test
|
||||||
|
image: ruby
|
||||||
|
commands:
|
||||||
|
- bundle install --jobs=3 --retry=3
|
||||||
|
- rake test
|
||||||
33
.gitea/workflows/ruby.yml
Normal file
33
.gitea/workflows/ruby.yml
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
name: Tests
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [ master ]
|
||||||
|
pull_request:
|
||||||
|
branches: [ master ]
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
test:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
ruby-version: ['2.7', '3.0', '3.1']
|
||||||
|
redis-version: [6, 7]
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- name: Set up Ruby
|
||||||
|
uses: ruby/setup-ruby@v1
|
||||||
|
with:
|
||||||
|
ruby-version: ${{ matrix.ruby-version }}
|
||||||
|
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
|
||||||
|
- name: Start Redis
|
||||||
|
uses: supercharge/redis-github-action@1.4.0
|
||||||
|
with:
|
||||||
|
redis-version: ${{ matrix.redis-version }}
|
||||||
|
- name: Configure
|
||||||
|
run: cp config.yml.erb.example config.yml.erb
|
||||||
|
- name: Run tests
|
||||||
|
run: bundle exec rake test
|
||||||
@@ -1,8 +1,7 @@
|
|||||||
# FROM ruby:3.1.4
|
FROM ruby:3.1.4
|
||||||
FROM ruby:2.7.8
|
|
||||||
|
|
||||||
WORKDIR /liquorcabinet
|
WORKDIR /liquorcabinet
|
||||||
ENV RACK_ENV=staging
|
ENV RACK_ENV=production
|
||||||
|
|
||||||
COPY Gemfile Gemfile.lock /liquorcabinet/
|
COPY Gemfile Gemfile.lock /liquorcabinet/
|
||||||
RUN bundle install
|
RUN bundle install
|
||||||
|
|||||||
@@ -2,11 +2,11 @@ development: &defaults
|
|||||||
maintenance: false
|
maintenance: false
|
||||||
redis:
|
redis:
|
||||||
host: <%= ENV["REDIS_HOST"] || "localhost" %>
|
host: <%= ENV["REDIS_HOST"] || "localhost" %>
|
||||||
port: <%= ENV["REDIS_PORT"] || "6379" %>
|
port: <%= ENV["REDIS_PORT"] || 6379 %>
|
||||||
db: <%= ENV["REDIS_DB"] || 0 %>
|
db: <%= ENV["REDIS_DB"] || 1 %>
|
||||||
s3: &s3_defaults
|
s3: &s3_defaults
|
||||||
endpoint: <%= ENV["S3_ENDPOINT"] || "http://127.0.0.1:9000" %>
|
endpoint: <%= ENV["S3_ENDPOINT"] || "http://127.0.0.1:9000" %>
|
||||||
region: <%= ENV["S3_REGION"] %>
|
region: <%= ENV["S3_REGION"] || "us-east-1" %>
|
||||||
access_key_id: <%= ENV["S3_ACCESS_KEY"] || "minioadmin" %>
|
access_key_id: <%= ENV["S3_ACCESS_KEY"] || "minioadmin" %>
|
||||||
secret_key_id: <%= ENV["S3_SECRET_KEY"] || "minioadmin" %>
|
secret_key_id: <%= ENV["S3_SECRET_KEY"] || "minioadmin" %>
|
||||||
bucket: <%= ENV["S3_BUCKET"] || "rs-development" %>
|
bucket: <%= ENV["S3_BUCKET"] || "rs-development" %>
|
||||||
|
|||||||
@@ -36,10 +36,6 @@ module RemoteStorage
|
|||||||
timestamp_for(res.headers[:date]) # S3 does not return a Last-Modified response header on PUTs
|
timestamp_for(res.headers[:date]) # S3 does not return a Last-Modified response header on PUTs
|
||||||
]
|
]
|
||||||
end
|
end
|
||||||
|
|
||||||
rescue RestClient::Forbidden => ex
|
|
||||||
puts ex.response.to_s
|
|
||||||
raise ex
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def do_get_request(url, &block)
|
def do_get_request(url, &block)
|
||||||
@@ -53,14 +49,14 @@ module RemoteStorage
|
|||||||
|
|
||||||
def do_head_request(url, &block)
|
def do_head_request(url, &block)
|
||||||
deal_with_unauthorized_requests do
|
deal_with_unauthorized_requests do
|
||||||
auth_headers = auth_headers_for("HEAD", url, {})
|
auth_headers = auth_headers_for("HEAD", url)
|
||||||
RestClient.head(url, auth_headers, &block)
|
RestClient.head(url, auth_headers, &block)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def do_delete_request(url)
|
def do_delete_request(url)
|
||||||
deal_with_unauthorized_requests do
|
deal_with_unauthorized_requests do
|
||||||
auth_headers = auth_headers_for("DELETE", url, {})
|
auth_headers = auth_headers_for("DELETE", url)
|
||||||
RestClient.delete(url, auth_headers)
|
RestClient.delete(url, auth_headers)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -79,12 +75,10 @@ module RemoteStorage
|
|||||||
return found
|
return found
|
||||||
end
|
end
|
||||||
|
|
||||||
def auth_headers_for(http_method, url, headers, data = nil)
|
def auth_headers_for(http_method, url, headers = {}, data = nil)
|
||||||
signature = s3_signer.sign_request(
|
signature = s3_signer.sign_request(
|
||||||
http_method: http_method, url: url, headers: headers, body: data
|
http_method: http_method, url: url, headers: headers, body: data
|
||||||
)
|
)
|
||||||
|
|
||||||
puts signature.headers.inspect
|
|
||||||
signature.headers
|
signature.headers
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -64,7 +64,7 @@ class LiquorCabinet < Sinatra::Base
|
|||||||
headers 'Access-Control-Allow-Origin' => '*',
|
headers 'Access-Control-Allow-Origin' => '*',
|
||||||
'Access-Control-Allow-Methods' => 'GET, PUT, DELETE',
|
'Access-Control-Allow-Methods' => 'GET, PUT, DELETE',
|
||||||
'Access-Control-Allow-Headers' => 'Authorization, Content-Type, Origin, If-Match, If-None-Match, Range',
|
'Access-Control-Allow-Headers' => 'Authorization, Content-Type, Origin, If-Match, If-None-Match, Range',
|
||||||
'Access-Control-Expose-Headers' => 'ETag, Content-Length, Content-Range',
|
'Access-Control-Expose-Headers' => 'ETag, Content-Length, Content-Range, Content-Type',
|
||||||
'Accept-Ranges' => 'bytes'
|
'Accept-Ranges' => 'bytes'
|
||||||
headers['Access-Control-Allow-Origin'] = env["HTTP_ORIGIN"] if env["HTTP_ORIGIN"]
|
headers['Access-Control-Allow-Origin'] = env["HTTP_ORIGIN"] if env["HTTP_ORIGIN"]
|
||||||
headers['Cache-Control'] = 'no-cache'
|
headers['Cache-Control'] = 'no-cache'
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
RACK_ENV=staging \
|
RACK_ENV=development \
|
||||||
REDIS_HOST=localhost \
|
REDIS_HOST=localhost \
|
||||||
REDIS_PORT=6379 \
|
REDIS_PORT=6379 \
|
||||||
REDIS_DB=1 \
|
REDIS_DB=1 \
|
||||||
@@ -8,4 +8,4 @@ S3_ENDPOINT='http://localhost:9000' \
|
|||||||
S3_ACCESS_KEY='dev-key' \
|
S3_ACCESS_KEY='dev-key' \
|
||||||
S3_SECRET_KEY='123456789' \
|
S3_SECRET_KEY='123456789' \
|
||||||
S3_BUCKET=remotestorage \
|
S3_BUCKET=remotestorage \
|
||||||
bundle exec rainbows --listen localhost:4567
|
bundle exec rackup -p 4567
|
||||||
|
|||||||
Reference in New Issue
Block a user