slosilo 3.0.0 → 3.0.2.pre.2

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
  SHA256:
3
- metadata.gz: 81d8f2c013b6f88d01bd7dd4c44b39c7cf0ffaa9385afca3e7ea826dae0855c8
4
- data.tar.gz: acd627ef6ca45a404ce08c7bc680c8db7ea1ebdbe10d45b248ae09e59e804a02
3
+ metadata.gz: 1075a35a45e236bad68485de1ceb215799e5eb7172832edd6c8fff01b7e8fa2f
4
+ data.tar.gz: 9ae748a89c1daf20563290d7616f543e0c6ffc3f38bd4e934278f21b5f064d4f
5
5
  SHA512:
6
- metadata.gz: '098a049570888513d10bf23edacfb8c566f605a08a9e918a2a06c15839d406b14696edaf76c49b84820d3c0fc1147b0f7f754c74fdad680a98f919d134cabcc7'
7
- data.tar.gz: 6cef96001fcc2932c23e106c732d9e7722afd2f6a8af11e99a023a49aa005bdc8ff9f3fa4ce278644b753acfe0e50953e14cf86114e78877368b95107a1126c0
6
+ metadata.gz: 20f934fccce50a269d2f01a58bc50b2a4c2689a1db667eceaafd1f8be7a582d7af7b632057f27ceeb097fdea9bd4ab113edd7897b6312fa31425faa555819cda
7
+ data.tar.gz: 03e1d13e0c6ff3229365da59640440772eb8cb7114ca58c95def135eb41ec48a3919a84244238e2d6a2c9df32e66ab3d43bfb37e8bf40783a241561ca112c81d
data/.github/CODEOWNERS CHANGED
@@ -1,10 +1,10 @@
1
- * @cyberark/conjur-core-team @conjurinc/conjur-core-team @conjurdemos/conjur-core-team
1
+ * @cyberark/conjur-core-team @conjurinc/conjur-core-team @conjurdemos/conjur-core-team @conjur-enterprise/community-and-integrations
2
2
 
3
3
  # Changes to .trivyignore require Security Architect approval
4
- .trivyignore @cyberark/security-architects @conjurinc/security-architects @conjurdemos/security-architects
4
+ .trivyignore @cyberark/security-architects @conjurinc/security-architects @conjurdemos/security-architects @conjur-enterprise/conjur-security
5
5
 
6
6
  # Changes to .codeclimate.yml require Quality Architect approval
7
- .codeclimate.yml @cyberark/quality-architects @conjurinc/quality-architects @conjurdemos/quality-architects
7
+ .codeclimate.yml @cyberark/quality-architects @conjurinc/quality-architects @conjurdemos/quality-architects @conjur-enterprise/conjur-quality
8
8
 
9
9
  # Changes to SECURITY.md require Security Architect approval
10
- SECURITY.md @cyberark/security-architects @conjurinc/security-architects @conjurdemos/security-architects
10
+ SECURITY.md @cyberark/security-architects @conjurinc/security-architects @conjurdemos/security-architects @conjur-enterprise/conjur-security
data/.gitignore CHANGED
@@ -18,4 +18,4 @@ tmp
18
18
  .rvmrc
19
19
  .project
20
20
  .kateproject.d
21
- .idea
21
+ .idea
data/CHANGELOG.md CHANGED
@@ -1,20 +1,50 @@
1
- # v3.0.0
1
+ # Changelog
2
+ All notable changes to this project will be documented in this file.
2
3
 
3
- * Transition to Ruby 3. Consuming projects based on Ruby 2 shall use slosilo V2.X.X.
4
+ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
5
+ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
4
6
 
5
- # v2.2.2
7
+ ## [3.0.2] - 2023-11-14
6
8
 
7
- * Add rake task `slosilo:recalculate_fingerprints` which rehashes the fingerprints in the keystore.
9
+ ### Changed
10
+
11
+ - Moved slosilo to Github Enterprise.
12
+ - Updated to use Ruby 3+ and conjur-enterprise/release-tools' publish-rubygem.
13
+
14
+ ## [3.0.1] - 2023-02-10
15
+
16
+ ### Fixed
17
+
18
+ - The symmetric cipher class now encrypts and decrypts in a thread-safe manner.
19
+ [cyberark/slosilo#31](https://github.com/cyberark/slosilo/pull/31)
20
+
21
+ ## [3.0.0] - 2022-02-01
22
+
23
+ ### Changed
24
+
25
+ - Transition to Ruby 3. Consuming projects based on Ruby 2 shall use slosilo V2.X.X.
26
+
27
+ ## [2.2.2] - 2014-01-01
28
+
29
+ ## Added
30
+
31
+ - Add rake task `slosilo:recalculate_fingerprints` which rehashes the fingerprints in the keystore.
8
32
  **Note**: After migrating the slosilo keystore, run the above rake task to ensure the fingerprints are correctly hashed.
9
33
 
10
- # v2.2.1
34
+ ## [2.2.1] - 2014-01-01
35
+
36
+ ### Changed
37
+
38
+ - Use SHA256 algorithm instead of MD5 for public key fingerprints.
39
+
40
+ ## [2.1.1] - 2014-01-01
11
41
 
12
- * Use SHA256 algorithm instead of MD5 for public key fingerprints.
42
+ ### Added
13
43
 
14
- # v2.1.1
44
+ - Add support for JWT-formatted tokens, with arbitrary expiration.
15
45
 
16
- * Add support for JWT-formatted tokens, with arbitrary expiration.
46
+ ## [2.0.1] - 2014-01-01
17
47
 
18
- # v2.0.1
48
+ ### Fixed
19
49
 
20
- * Fixes a bug that occurs when signing tokens containing Unicode data
50
+ - Fixes a bug that occurs when signing tokens containing Unicode data
data/Jenkinsfile CHANGED
@@ -1,7 +1,46 @@
1
1
  #!/usr/bin/env groovy
2
+ @Library("product-pipelines-shared-library") _
3
+
4
+ // Automated release, promotion and dependencies
5
+ properties([
6
+ // Include the automated release parameters for the build
7
+ release.addParams(),
8
+ // Dependencies of the project that should trigger builds
9
+ dependencies([])
10
+ ])
11
+
12
+ // Performs release promotion. No other stages will be run
13
+ if (params.MODE == "PROMOTE") {
14
+ release.promote(params.VERSION_TO_PROMOTE) { infrapool, sourceVersion, targetVersion, assetDirectory ->
15
+ // Any assets from sourceVersion Github release are available in assetDirectory
16
+ // Any version number updates from sourceVersion to targetVersion occur here
17
+ // Any publishing of targetVersion artifacts occur here
18
+ // Anything added to assetDirectory will be attached to the Github Release
19
+
20
+ //Note: assetDirectory is on the infrapool agent, not the local Jenkins agent.
21
+
22
+ // Publish container images to internal registry
23
+ //INFRAPOOL_EXECUTORV2_AGENT_0.agentSh "summon --yaml 'RUBYGEMS_API_KEY: !var rubygems/api-key' ${toolsDirectory}/bin/publish-rubygem slosilo"
24
+
25
+ INFRAPOOL_EXECUTORV2_AGENT_0.agentSh "./publish.sh"
26
+
27
+ INFRAPOOL_EXECUTORV2_AGENT_0.agentSh "cp slosilo*.gem ${assetDirectory}"
28
+ }
29
+ release.copyEnterpriseRelease(params.VERSION_TO_PROMOTE)
30
+ return
31
+ }
2
32
 
3
33
  pipeline {
4
- agent { label 'executor-v2' }
34
+ agent { label 'conjur-enterprise-common-agent' }
35
+
36
+ triggers {
37
+ cron(getDailyCronString())
38
+ }
39
+
40
+ environment {
41
+ // Sets the MODE to the specified or autocalculated value as appropriate
42
+ MODE = release.canonicalizeMode()
43
+ }
5
44
 
6
45
  options {
7
46
  timestamps()
@@ -9,52 +48,73 @@ pipeline {
9
48
  }
10
49
 
11
50
  stages {
51
+ stage('Get InfraPool Agent') {
52
+ steps {
53
+ script {
54
+ INFRAPOOL_EXECUTORV2_AGENT_0 = getInfraPoolAgent.connected(type: "ExecutorV2", quantity: 1, duration: 1)[0]
55
+ INFRAPOOL_EXECUTORV2_RHEL_EE_AGENT_0 = getInfraPoolAgent.connected(type: "ExecutorV2RHELEE", quantity: 1, duration: 1)[0]
56
+ }
57
+ }
58
+ }
59
+
60
+ // Generates a VERSION file based on the current build number and latest version in CHANGELOG.md
61
+ stage('Validate Changelog and set version') {
62
+ steps {
63
+ script {
64
+ updateVersion(INFRAPOOL_EXECUTORV2_AGENT_0, "CHANGELOG.md", "${BUILD_NUMBER}")
65
+ INFRAPOOL_EXECUTORV2_AGENT_0.agentStash name: 'version_file', includes: "VERSION"
66
+ INFRAPOOL_EXECUTORV2_RHEL_EE_AGENT_0.agentUnstash name: 'version_file'
67
+ }
68
+ }
69
+ }
70
+
12
71
  stage('Test') {
13
72
  parallel {
73
+
14
74
  stage('Run tests on EE') {
15
- agent { label 'executor-v2-rhel-ee' }
16
75
  steps {
17
- sh './test.sh'
76
+ script {
77
+ INFRAPOOL_EXECUTORV2_RHEL_EE_AGENT_0.agentSh './test.sh'
78
+ }
18
79
  }
19
80
  post { always {
20
- stash name: 'eeTestResults', includes: 'spec/reports/*.xml', allowEmpty:true
81
+ script {
82
+ INFRAPOOL_EXECUTORV2_RHEL_EE_AGENT_0.agentStash name: 'eeTestResults', includes: 'spec/reports/*.xml', allowEmpty:true
83
+ }
21
84
  }}
22
85
  }
23
86
 
24
87
  stage('Run tests') {
25
88
  steps {
26
- sh './test.sh'
89
+ script {
90
+ INFRAPOOL_EXECUTORV2_AGENT_0.agentSh './test.sh'
91
+ INFRAPOOL_EXECUTORV2_AGENT_0.agentStash name: 'TestResults', includes: 'spec/coverage/*.xml', allowEmpty:true
92
+ }
27
93
  }
28
94
  }
95
+
29
96
  }
30
97
  }
31
98
 
32
- stage('Publish to RubyGems') {
33
- agent { label 'executor-v2' }
99
+ stage('Release') {
34
100
  when {
35
- allOf {
36
- branch 'master'
37
- expression {
38
- boolean publish = false
39
-
40
- try {
41
- timeout(time: 5, unit: 'MINUTES') {
42
- input(message: 'Publish to RubyGems?')
43
- publish = true
44
- }
45
- } catch (final ignore) {
46
- publish = false
47
- }
48
-
49
- return publish
50
- }
101
+ expression {
102
+ MODE == "RELEASE"
51
103
  }
52
104
  }
53
105
 
54
106
  steps {
55
- checkout scm
56
- sh './publish-rubygem.sh'
57
- deleteDir()
107
+ script {
108
+ release(INFRAPOOL_EXECUTORV2_AGENT_0) { billOfMaterialsDirectory, assetDirectory, toolsDirectory ->
109
+ // Publish release artifacts to all the appropriate locations
110
+ // Copy any artifacts to assetDirectory to attach them to the Github release
111
+
112
+ // Publish container images to internal registry
113
+ INFRAPOOL_EXECUTORV2_AGENT_0.agentSh "summon ${toolsDirectory}/bin/publish-rubygem slosilo"
114
+
115
+ INFRAPOOL_EXECUTORV2_AGENT_0.agentSh "cp slosilo*.gem ${assetDirectory}"
116
+ }
117
+ }
58
118
  }
59
119
  }
60
120
  }
@@ -64,12 +124,11 @@ pipeline {
64
124
  dir('ee-results'){
65
125
  unstash 'eeTestResults'
66
126
  }
127
+ unstash 'TestResults'
67
128
  junit 'spec/reports/*.xml, ee-results/spec/reports/*.xml'
68
129
  cobertura coberturaReportFile: 'spec/coverage/coverage.xml'
69
- sh 'cp spec/coverage/coverage.xml cobertura.xml'
70
- ccCoverage("cobertura", "github.com/cyberark/slosilo")
71
-
72
- cleanupAndNotify(currentBuild.currentResult)
130
+ codacy action: 'reportCoverage', filePath: "spec/coverage/coverage.xml"
131
+ releaseInfraPoolAgent(".infrapool/release_agents")
73
132
  }
74
133
  }
75
134
  }
@@ -0,0 +1,7 @@
1
+ FROM ruby
2
+
3
+ COPY ./ /src/
4
+
5
+ WORKDIR /src
6
+
7
+ RUN bundle
@@ -0,0 +1,8 @@
1
+ version: '3'
2
+ services:
3
+ dev:
4
+ build:
5
+ context: ..
6
+ dockerfile: dev/Dockerfile.dev
7
+ volumes:
8
+ - ../:/src
@@ -5,6 +5,7 @@ module Slosilo
5
5
 
6
6
  def initialize
7
7
  @cipher = OpenSSL::Cipher.new 'aes-256-gcm' # NB: has to be lower case for whatever reason.
8
+ @cipher_mutex = Mutex.new
8
9
  end
9
10
 
10
11
  # This lets us do a final sanity check in migrations from older encryption versions
@@ -13,14 +14,18 @@ module Slosilo
13
14
  end
14
15
 
15
16
  def encrypt plaintext, opts = {}
16
- @cipher.reset
17
- @cipher.encrypt
18
- @cipher.key = (opts[:key] or raise("missing :key option"))
19
- @cipher.iv = iv = random_iv
20
- @cipher.auth_data = opts[:aad] || "" # Nothing good happens if you set this to nil, or don't set it at all
21
- ctext = @cipher.update(plaintext) + @cipher.final
22
- tag = @cipher.auth_tag(TAG_LENGTH)
23
- "#{VERSION_MAGIC}#{tag}#{iv}#{ctext}"
17
+ # All of these operations in OpenSSL must occur atomically, so we
18
+ # synchronize their access to make this step thread-safe.
19
+ @cipher_mutex.synchronize do
20
+ @cipher.reset
21
+ @cipher.encrypt
22
+ @cipher.key = (opts[:key] or raise("missing :key option"))
23
+ @cipher.iv = iv = random_iv
24
+ @cipher.auth_data = opts[:aad] || "" # Nothing good happens if you set this to nil, or don't set it at all
25
+ ctext = @cipher.update(plaintext) + @cipher.final
26
+ tag = @cipher.auth_tag(TAG_LENGTH)
27
+ "#{VERSION_MAGIC}#{tag}#{iv}#{ctext}"
28
+ end
24
29
  end
25
30
 
26
31
  def decrypt ciphertext, opts = {}
@@ -28,19 +33,23 @@ module Slosilo
28
33
 
29
34
  raise "Invalid version magic: expected #{VERSION_MAGIC} but was #{version}" unless version == VERSION_MAGIC
30
35
 
31
- @cipher.reset
32
- @cipher.decrypt
33
- @cipher.key = opts[:key]
34
- @cipher.iv = iv
35
- @cipher.auth_tag = tag
36
- @cipher.auth_data = opts[:aad] || ""
37
- @cipher.update(ctext) + @cipher.final
36
+ # All of these operations in OpenSSL must occur atomically, so we
37
+ # synchronize their access to make this step thread-safe.
38
+ @cipher_mutex.synchronize do
39
+ @cipher.reset
40
+ @cipher.decrypt
41
+ @cipher.key = opts[:key]
42
+ @cipher.iv = iv
43
+ @cipher.auth_tag = tag
44
+ @cipher.auth_data = opts[:aad] || ""
45
+ @cipher.update(ctext) + @cipher.final
46
+ end
38
47
  end
39
-
48
+
40
49
  def random_iv
41
50
  @cipher.random_iv
42
51
  end
43
-
52
+
44
53
  def random_key
45
54
  @cipher.random_key
46
55
  end
@@ -1,3 +1,22 @@
1
+ # Copyright 2013-2021 Conjur Inc.
2
+ #
3
+ # Permission is hereby granted, free of charge, to any person obtaining a copy of
4
+ # this software and associated documentation files (the "Software"), to deal in
5
+ # the Software without restriction, including without limitation the rights to
6
+ # use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
7
+ # the Software, and to permit persons to whom the Software is furnished to do so,
8
+ # subject to the following conditions:
9
+ #
10
+ # The above copyright notice and this permission notice shall be included in all
11
+ # copies or substantial portions of the Software.
12
+ #
13
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
15
+ # FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
16
+ # COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
17
+ # IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
18
+ # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
19
+
1
20
  module Slosilo
2
- VERSION = "3.0.0"
3
- end
21
+ VERSION = File.read(File.expand_path('../../VERSION', __dir__))
22
+ end
data/publish.sh ADDED
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env bash
2
+ set -e
3
+
4
+ summon --yaml "RUBYGEMS_API_KEY: !var rubygems/api-key" \
5
+ publish-rubygem slosilo
data/secrets.yml ADDED
@@ -0,0 +1 @@
1
+ RUBYGEMS_API_KEY: !var rubygems/api-key
data/slosilo.gemspec CHANGED
@@ -1,6 +1,7 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
  begin
3
3
  require File.expand_path('../lib/slosilo/version', __FILE__)
4
+ # require File.expand_path('./lib/slosilo/version.rb', __FILE__)
4
5
  rescue LoadError
5
6
  # so that bundle can be run without the app code
6
7
  module Slosilo
@@ -13,7 +14,7 @@ Gem::Specification.new do |gem|
13
14
  gem.email = ["divided.mind@gmail.com"]
14
15
  gem.description = %q{This gem provides an easy way of storing and retrieving encryption keys in the database.}
15
16
  gem.summary = %q{Store SSL keys in a database}
16
- gem.homepage = ""
17
+ gem.homepage = "https://github.cyberng.com/Conjur-Enterprise/slosilo/"
17
18
  gem.license = "MIT"
18
19
 
19
20
  gem.files = `git ls-files`.split($\)
@@ -24,13 +25,15 @@ Gem::Specification.new do |gem|
24
25
  gem.version = Slosilo::VERSION
25
26
  gem.required_ruby_version = '>= 3.0.0'
26
27
 
27
- gem.add_development_dependency 'rake'
28
- gem.add_development_dependency 'rspec', '~> 3.0'
29
- gem.add_development_dependency 'ci_reporter_rspec'
30
- gem.add_development_dependency 'simplecov'
31
- gem.add_development_dependency 'simplecov-cobertura'
32
- gem.add_development_dependency 'io-grab', '~> 0.0.1'
33
- gem.add_development_dependency 'sequel' # for sequel tests
34
- gem.add_development_dependency 'sqlite3' # for sequel tests
35
- gem.add_development_dependency 'activesupport' # for convenience in specs
28
+ gem.add_development_dependency 'rake', '~> 13.0'
29
+ gem.add_development_dependency 'rspec', '~> 3.0' ###
30
+ gem.add_development_dependency 'ci_reporter_rspec', '~> 1.0'
31
+ gem.add_development_dependency 'simplecov', '~> 0.22'
32
+ gem.add_development_dependency 'simplecov-cobertura', '~> 2.0'
33
+ gem.add_development_dependency 'io-grab', '~> 0.0.1' ###
34
+ gem.add_development_dependency 'sequel', '~> 5.0' # for sequel tests
35
+ gem.add_development_dependency 'sqlite3', '~> 1.6' # for sequel tests
36
+ gem.add_development_dependency 'bigdecimal', '~> 3.0' # for activesupport
37
+ gem.add_development_dependency 'activesupport', '~> 7.0' # for convenience in specs
36
38
  end
39
+
@@ -14,8 +14,29 @@ describe Slosilo::Symmetric do
14
14
  expect(subject.encrypt(plaintext, key: key, aad: auth_data)).to eq(ciphertext)
15
15
  end
16
16
  end
17
-
17
+
18
18
  describe '#decrypt' do
19
+
20
+ it "doesn't fail when called by multiple threads" do
21
+ threads = []
22
+
23
+ begin
24
+ # Verify we can successfuly decrypt using many threads without OpenSSL
25
+ # errors.
26
+ 1000.times do
27
+ threads << Thread.new do
28
+ 100.times do
29
+ expect(
30
+ subject.decrypt(ciphertext, key: key, aad: auth_data)
31
+ ).to eq(plaintext)
32
+ end
33
+ end
34
+ end
35
+ ensure
36
+ threads.each(&:join)
37
+ end
38
+ end
39
+
19
40
  it "decrypts with AES-256-GCM" do
20
41
  expect(subject.decrypt(ciphertext, key: key, aad: auth_data)).to eq(plaintext)
21
42
  end
@@ -56,7 +77,7 @@ describe Slosilo::Symmetric do
56
77
  end
57
78
  end
58
79
  end
59
-
80
+
60
81
  describe '#random_iv' do
61
82
  it "generates a random iv" do
62
83
  expect_any_instance_of(OpenSSL::Cipher).to receive(:random_iv).and_return :iv
data/test.sh CHANGED
@@ -1,27 +1,8 @@
1
1
  #!/bin/bash -xe
2
2
 
3
- iid=slosilo-test-$(date +%s)
4
3
 
5
- docker build -t $iid -f - . << EOF
6
- FROM ruby:3.0
7
- WORKDIR /app
8
- COPY Gemfile slosilo.gemspec ./
9
- RUN bundle
10
- COPY . ./
11
- RUN bundle
12
- EOF
4
+ echo "==> Docker Run"
5
+ docker run --rm --volume $PWD:/app --workdir /app cyberark/ubuntu-ruby-builder bash -c 'git config --global --add safe.directory /app && bundle && ls -ltra && bundle exec rake jenkins' || :
13
6
 
14
- cidfile=$(mktemp -u)
15
- docker run --cidfile $cidfile -v /app/spec/reports $iid bundle exec rake jenkins || :
16
-
17
- cid=$(cat $cidfile)
18
-
19
- docker cp $cid:/app/spec/reports spec/
20
- docker cp $cid:/app/coverage spec
21
-
22
- docker rm $cid
23
-
24
- # untag, will use cache next time if available but no junk will be left
25
- docker rmi $iid
26
-
27
- rm $cidfile
7
+ echo "==> CP Coverage to Spec"
8
+ cp -r coverage spec
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: slosilo
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0
4
+ version: 3.0.2.pre.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rafał Rzepecki
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-02-01 00:00:00.000000000 Z
11
+ date: 2023-12-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: '13.0'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: '13.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rspec
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -42,44 +42,44 @@ dependencies:
42
42
  name: ci_reporter_rspec
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
47
+ version: '1.0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '0'
54
+ version: '1.0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: simplecov
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">="
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '0'
61
+ version: '0.22'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ">="
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '0'
68
+ version: '0.22'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: simplecov-cobertura
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ">="
73
+ - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '0'
75
+ version: '2.0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ">="
80
+ - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '0'
82
+ version: '2.0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: io-grab
85
85
  requirement: !ruby/object:Gem::Requirement
@@ -98,44 +98,58 @@ dependencies:
98
98
  name: sequel
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - ">="
101
+ - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: '0'
103
+ version: '5.0'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - ">="
108
+ - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: '0'
110
+ version: '5.0'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: sqlite3
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - ">="
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '1.6'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '1.6'
125
+ - !ruby/object:Gem::Dependency
126
+ name: bigdecimal
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
116
130
  - !ruby/object:Gem::Version
117
- version: '0'
131
+ version: '3.0'
118
132
  type: :development
119
133
  prerelease: false
120
134
  version_requirements: !ruby/object:Gem::Requirement
121
135
  requirements:
122
- - - ">="
136
+ - - "~>"
123
137
  - !ruby/object:Gem::Version
124
- version: '0'
138
+ version: '3.0'
125
139
  - !ruby/object:Gem::Dependency
126
140
  name: activesupport
127
141
  requirement: !ruby/object:Gem::Requirement
128
142
  requirements:
129
- - - ">="
143
+ - - "~>"
130
144
  - !ruby/object:Gem::Version
131
- version: '0'
145
+ version: '7.0'
132
146
  type: :development
133
147
  prerelease: false
134
148
  version_requirements: !ruby/object:Gem::Requirement
135
149
  requirements:
136
- - - ">="
150
+ - - "~>"
137
151
  - !ruby/object:Gem::Version
138
- version: '0'
152
+ version: '7.0'
139
153
  description: This gem provides an easy way of storing and retrieving encryption keys
140
154
  in the database.
141
155
  email:
@@ -144,7 +158,6 @@ executables: []
144
158
  extensions: []
145
159
  extra_rdoc_files: []
146
160
  files:
147
- - ".dockerignore"
148
161
  - ".github/CODEOWNERS"
149
162
  - ".gitignore"
150
163
  - ".gitleaks.toml"
@@ -157,6 +170,8 @@ files:
157
170
  - README.md
158
171
  - Rakefile
159
172
  - SECURITY.md
173
+ - dev/Dockerfile.dev
174
+ - dev/docker-compose.yml
160
175
  - lib/slosilo.rb
161
176
  - lib/slosilo/adapters/abstract_adapter.rb
162
177
  - lib/slosilo/adapters/file_adapter.rb
@@ -173,7 +188,8 @@ files:
173
188
  - lib/slosilo/symmetric.rb
174
189
  - lib/slosilo/version.rb
175
190
  - lib/tasks/slosilo.rake
176
- - publish-rubygem.sh
191
+ - publish.sh
192
+ - secrets.yml
177
193
  - slosilo.gemspec
178
194
  - spec/encrypted_attributes_spec.rb
179
195
  - spec/file_adapter_spec.rb
@@ -186,7 +202,7 @@ files:
186
202
  - spec/spec_helper.rb
187
203
  - spec/symmetric_spec.rb
188
204
  - test.sh
189
- homepage: ''
205
+ homepage: https://github.cyberng.com/Conjur-Enterprise/slosilo/
190
206
  licenses:
191
207
  - MIT
192
208
  metadata: {}
@@ -201,11 +217,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
201
217
  version: 3.0.0
202
218
  required_rubygems_version: !ruby/object:Gem::Requirement
203
219
  requirements:
204
- - - ">="
220
+ - - ">"
205
221
  - !ruby/object:Gem::Version
206
- version: '0'
222
+ version: 1.3.1
207
223
  requirements: []
208
- rubygems_version: 3.1.6
224
+ rubygems_version: 3.4.10
209
225
  signing_key:
210
226
  specification_version: 4
211
227
  summary: Store SSL keys in a database
data/.dockerignore DELETED
@@ -1,2 +0,0 @@
1
- /Gemfile.lock
2
- /spec/reports
data/publish-rubygem.sh DELETED
@@ -1,11 +0,0 @@
1
- #!/bin/bash -e
2
-
3
- docker pull registry.tld/conjurinc/publish-rubygem
4
-
5
- docker run -i --rm -v $PWD:/src -w /src alpine/git clean -fxd
6
-
7
- summon --yaml "RUBYGEMS_API_KEY: !var rubygems/api-key" \
8
- docker run --rm --env-file @SUMMONENVFILE -v "$(pwd)":/opt/src \
9
- registry.tld/conjurinc/publish-rubygem slosilo
10
-
11
- docker run -i --rm -v $PWD:/src -w /src alpine/git clean -fxd