onboardbase 1.2.0 → 1.2.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: 4c877f52d4a9095361809d1433b477a7ece7022cf6800178217e89d2abf28204
4
- data.tar.gz: c8a3e7ec85a044f0e4e43d12471acd9e09a77265515c3717c2ac2536d9cfb344
3
+ metadata.gz: 4dfaf721519fe576a033bfc35aa9881fb484c259f633bfd993cf0778fbe7905a
4
+ data.tar.gz: 26d16c10223a217d1bdad94113eb216da4b93d8f0cb2d0182e720841d981128c
5
5
  SHA512:
6
- metadata.gz: ff3c6f337f6e8d918576153fcc8286f4c2bedbbb0cbe66bec881599effaf5516c8c902d75ef949715294fa3f094b1a6be8ae2bcdf9bdd1a321338d9d99a6bfde
7
- data.tar.gz: b3a0bf66a10136256150ff124e358a405c813f2b49c12dbf3a44657f06c99416b57d687b127d30e5a595cd6a0d07c8e5c5974fa15b9c6d19b657c60cb6003490
6
+ metadata.gz: 928e64878264216edc2bd163138ec0f91723546e1a56bafa0970ec8c97dff21e310500bfdbbf35cbbdfdd733d73b60ae179c37868ef5d9c1e095e37845832232
7
+ data.tar.gz: 17a4890a8c3191c4d1a876ebf55c93d5123e13548e904bd1fc80752b8079cc2a768b692dea96ca096b748334433036ee9c763250723c6f67620ae2d5f8ff6c74
@@ -1,3 +1,3 @@
1
1
  module Onboardbase
2
- VERSION = '1.2.0'
2
+ VERSION = '1.2.2'
3
3
  end
data/lib/onboardbase.rb CHANGED
@@ -118,10 +118,11 @@ module Onboardbase
118
118
  list {
119
119
  id
120
120
  title
121
- publicEnvironments(filterOptions: { title: "#{self .configuration['setup']['environment']}" }) {
121
+ publicSecrets(filterOptions: { environmentTitle: "#{self .configuration['setup']['environment']}" }, take: 1000, skip: 0) {
122
122
  list {
123
123
  id
124
124
  key
125
+ value
125
126
  title
126
127
  }
127
128
  }
@@ -149,8 +150,8 @@ module Onboardbase
149
150
 
150
151
 
151
152
  def getSecrets?(project)
152
- env = project["publicEnvironments"]["list"][0]
153
- return JSON.parse(env["key"]) if env != nil
153
+ env = project["publicSecrets"]["list"]
154
+ return env if env != nil
154
155
  false
155
156
  end
156
157
 
@@ -166,6 +167,7 @@ module Onboardbase
166
167
  end
167
168
 
168
169
  def aes256_cbc_decrypt(key, data, iv)
170
+ # p key
169
171
  key = Digest::SHA256.digest(key) if(key.kind_of?(String) && 32 != key.bytesize)
170
172
  iv = Digest::MD5.digest(iv) if(iv.kind_of?(String) && 16 != iv.bytesize)
171
173
  aes = OpenSSL::Cipher.new('AES-256-CBC')
@@ -175,21 +177,27 @@ module Onboardbase
175
177
  aes.update(data) + aes.final
176
178
  end
177
179
 
180
+ def decodeCipher(cipher, secretPhrase)
181
+ secret = Base64.decode64(cipher)
182
+ unless secret[0..7] == 'Salted__'
183
+ puts "Invalid encrypted data"
184
+ exit(1)
185
+ end
186
+ salt = secret[8..15]
187
+ key_iv = bytes_to_key(secretPhrase, salt, 48)
188
+ key = key_iv[0..31]
189
+ iv = key_iv[32..key_iv.length-1]
190
+ aes256_cbc_decrypt(key, secret[16..secret.length-1], iv)
191
+ end
178
192
  def parseSecrets(secrets)
179
- secrets.each_with_index do |secret, i|
180
- secret = Base64.decode64(secret)
181
- unless secret[0..7] == 'Salted__'
182
- puts "Invalid encrypted data"
183
- exit(1)
184
- end
185
- salt = secret[8..15]
186
- key_iv = bytes_to_key(self.configuration["passcode"], salt, 48)
187
- key = key_iv[0..31]
188
- iv = key_iv[32..key_iv.length-1]
189
- parsedSecret = aes256_cbc_decrypt(key, secret[16..secret.length-1], iv)
190
- secrets[i] = JSON.parse(parsedSecret)
191
- end
192
- secrets
193
+ passcode = self.configuration["passcode"]
194
+ secrets.each_with_index do |secret, i|
195
+
196
+ secret["key"] = self.decodeCipher(secret["key"], passcode)
197
+ secret["value"] = self.decodeCipher(secret["value"], passcode)
198
+ secrets[i] = secret
199
+ end
200
+ secrets
193
201
  end
194
202
 
195
203
  def setEnv(secretsHash)
@@ -262,7 +270,7 @@ module Onboardbase
262
270
 
263
271
  def loadAsCredentials
264
272
  # Traditionally fetch secrets into ENV
265
- secrets = self.loadSecrets
273
+ secrets = self.overrideWithLocal(self.loadSecrets)
266
274
  # Load rails encryption module
267
275
  require "active_support/encrypted_configuration"
268
276
  credentials = ActiveSupport::EncryptedConfiguration.new(
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: onboardbase
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Onboardbase
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-02-22 00:00:00.000000000 Z
11
+ date: 2022-11-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubyzip