onboardbase 1.2.0 → 1.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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