roro 0.3.6 → 0.3.7

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: c448ed5c19cb319a371d294aac99449fbddadf605d0b46e1e694066b0807d7c9
4
- data.tar.gz: f668e36a0fd1e5866a9165fea9a6459a45197d0f2188aa84800001541d0cd089
3
+ metadata.gz: 4ec8ef8f72b6fd4ff28b8d74e1a6b85a7dc17d62af0b4e8c9f78948c51533dd4
4
+ data.tar.gz: 8583287621045a0cf864d82728480ce4a80fd814bbe99112948f13327c10ce0d
5
5
  SHA512:
6
- metadata.gz: b3727071acdd794946a8ca8bbd67644f589896d5bddd6675c7c1dfa61ba80dfe91f0c642553c9df09115e1fadc76bd01e8d7064c0808a9f1b08f61b8716800ff
7
- data.tar.gz: cccd90560e9664c9f38b6b56ac0d6f2f1266f6a4a7f93f7f7638e95593b26232480c1673c5e70b2950b41618daba87c27fac5a21d7a59fad69f91779c4d42226
6
+ metadata.gz: 444be7de23db2d83ac72cc0520386c05b4b029667469d96d17cafc39c27fae94bf26168fae05b13fc8c8d64b1160b7f1201d62b1acabede65e667d312e2f6e09
7
+ data.tar.gz: 9f05dcdf81371ef94275b5b262380d5ad360edcc745e61fe7b8ec99d913b7c4d69374ddeb0770362dd5133fe35abfab813f9817688cd730d3659e813bd5cf4c3
data/.gitignore CHANGED
@@ -5,10 +5,20 @@
5
5
  /doc/
6
6
  /pkg/
7
7
  /spec/reports/
8
- tmp/*
9
8
  Gemfile.lock
10
9
  .byebug_history
11
- /sandbox/**/*
12
10
 
13
11
  roro/**/*.env
14
- roro/**/*.key
12
+ roro/**/*.key
13
+
14
+ *.key
15
+ *.env
16
+
17
+ tmp/*
18
+ tmp/*
19
+ !tmp/.gitkeep
20
+ sandbox/*
21
+ !sandbox/.keep
22
+ !sandbox/greenfield
23
+ sandbox/greenfield/*
24
+ !sandbox/greenfield/.keep
data/Guardfile CHANGED
@@ -12,16 +12,6 @@ guard :minitest, options do
12
12
  watch(%r{^test/(.*)\/?test_(.*)\.rb$})
13
13
  watch(%r{^test/(.*)\/?(.*)_test\.rb$})
14
14
  watch(%r{^lib/roro/cli/(.+)\.rb$}) { |m| "test/cli/#{m[1]}_test.rb" }
15
- watch(%r{^lib/roro/cli/rollon/*.rb$}) { 'test/generators' }
16
- watch(%r{^lib/roro/cli/roro_configurator.yml$}) { 'test/cli/configuration_test.rb' }
17
- # watch(%r{^lib/roro/cli/(.+).rb$}) { 'test' }
18
- # watch(%r{^lib/roro/cli/templates/roro(.+).rb$}) do
19
- # 'test/generators/rollon/rollon_as_roro_test.rb'
20
- # end
21
-
22
-
23
15
  watch(%r{^test/thor_helper\.rb$}) { 'test' }
24
-
25
16
  watch(%r{^test/fixtures/files/(.*/)?([^/]+)\.yml$}) { 'test' }
26
-
27
17
  end
@@ -1,4 +1,3 @@
1
-
2
1
  require "roro/version"
3
2
  require "thor"
4
3
  require "roro/cli"
@@ -2,12 +2,12 @@ require 'thor'
2
2
  require 'roro/cli/base/base'
3
3
  require 'roro/cli/rollon'
4
4
  require 'roro/cli/greenfield'
5
- require 'roro/cli/generate_keys'
6
5
  require 'roro/cli/obfuscate'
7
6
  require 'roro/cli/expose'
8
7
  require 'roro/cli/ruby_gem'
9
8
  require 'roro/cli/generate/config/rails'
10
9
  require 'roro/cli/generate/config'
10
+ require 'roro/cli/generate/generate_keys'
11
11
  require 'roro/cli/configuration'
12
12
 
13
13
  module Roro
@@ -6,7 +6,7 @@ module Roro
6
6
  def expose(*args)
7
7
  environments = args.first ? [args.first] : gather_environments
8
8
  environments.each do |environment|
9
- HandsomeFencer::Crypto.expose(environment, 'docker')
9
+ HandsomeFencer::Crypto.expose(environment, 'roro')
10
10
  end
11
11
  end
12
12
  end
@@ -1,79 +1,63 @@
1
- # require 'openssl'
2
- # require 'base64'
3
- # require 'handsome_fencer/crypto'
4
-
5
- # module Roro
6
-
7
- # class CLI < Thor
8
-
9
- # include Thor::Actions
10
- # include HandsomeFencer::Crypto
11
-
12
- # desc "generate_keys", "Generates keys for all environments. If you have .env files like './**/production.env' and './**/staging.env' this command assumes you need keys for the production and staging environments, and will generate them for you."
13
-
14
- # def generate_keys
15
- # generate_key
16
- # end
17
-
18
- # desc "generate_key", "Generate a key for each environment"
19
- # method_option :environment, type: :hash, default: {}, desc: "Pass a list of environment variables like so: env:var", banner: "development, staging"
20
-
21
- # def generate_key(*args)
22
- # environments = args.first ? [args.first] : gather_environments
23
- # environments.each do |environment|
24
- # confirm_files_decrypted?(environment)
25
- # create_file "docker/keys/#{environment}.key", encoded_key
26
- # end
27
- # end
28
-
29
- # no_commands do
30
-
31
- # def encoded_key
32
- # @cipher = OpenSSL::Cipher.new 'AES-128-CBC'
33
- # @salt = '8 octets'
34
- # @new_key = @cipher.random_key
35
- # Base64.encode64(@new_key)
36
- # end
37
-
38
- # def gather_environments
39
- # environments = []
40
- # ['.env', '.env.enc'].each do |extension|
41
-
42
- # HandsomeFencer::Crypto.source_files('.', extension).each do |env_file|
43
- # environments << env_file.split('/').last.split(extension).last
44
- # end
45
- # end
46
- # environments.uniq
47
- # end
48
-
49
- # def confirm_files_decrypted?(environment)
50
- # orphan_encrypted = []
51
- # HandsomeFencer::Crypto.source_files('.', '.env.enc').each do |file|
52
- # orphan_encrypted << file unless File.exist? file.split('.enc').first
53
- # end
54
-
55
- # if !orphan_encrypted.empty?
56
- # raise Roro::Error.new("You have an encrypted files (.env.enc) #{orphan_encrypted} that do not have corresponding decrypted files (.env). Please decrypt or remove these encrypted files before generating a new key for #{environment}.")
57
- # end
58
- # true
59
- # end
60
- # end
61
- # end
62
-
63
- # # desc "generate keys", "Generate keys on a per-environment basis"
64
- # #
65
- # # method_option :environment, type: :string, default: {}, desc: "Pass a list of environment variables like so: env:var", banner: "development, staging"
66
- # #
67
-
68
- # # def generate_keys
69
- # # default_environments = %w[circleci development production]
70
- # # environments = args.first ? [args.first] : default_environments
71
- # # environments.each do |environment|
72
- # # @cipher = OpenSSL::Cipher.new 'AES-128-CBC'
73
- # # @salt = '8 octets'
74
- # # @new_key = @cipher.random_key
75
- # #
76
- # # create_file "docker/keys/#{environment}.key", Base64.encode64(@new_key)
77
- # # end
78
- # # end
79
- # end
1
+ require 'openssl'
2
+ require 'base64'
3
+ require 'handsome_fencer/crypto'
4
+
5
+ module Roro
6
+
7
+ class CLI < Thor
8
+
9
+ include Thor::Actions
10
+ include HandsomeFencer::Crypto
11
+
12
+ desc "generate_keys", "Generates keys for all environments. If you have .env files like './**/production.env' and './**/staging.env' this command assumes you need keys for the production and staging environments, and will generate them for you."
13
+
14
+ def generate_keys
15
+ generate_key
16
+ end
17
+
18
+ desc "generate_key", "Generate a key for each environment"
19
+ method_option :environment, type: :hash, default: {}, desc: "Pass a list of environment variables like so: env:var", banner: "development, staging"
20
+
21
+ def generate_key(*args)
22
+ environments = args.first ? [args.first] : gather_environments
23
+ environments.each do |environment|
24
+
25
+ confirm_files_decrypted?(environment)
26
+ create_file "roro/keys/#{environment}.key", encoded_key
27
+ end
28
+ end
29
+
30
+ no_commands do
31
+
32
+ def encoded_key
33
+ @cipher = OpenSSL::Cipher.new 'AES-128-CBC'
34
+ @salt = '8 octets'
35
+ @new_key = @cipher.random_key
36
+ Base64.encode64(@new_key)
37
+ end
38
+
39
+ def gather_environments
40
+ environments = []
41
+ ['.env', '.env.enc'].each do |extension|
42
+ HandsomeFencer::Crypto.source_files('roro', extension).each do |env_file|
43
+ environments << env_file.split('/').last.split(extension).last
44
+ end
45
+ end
46
+ environments.uniq
47
+ end
48
+
49
+ def confirm_files_decrypted?(environment)
50
+ orphan_encrypted = []
51
+ HandsomeFencer::Crypto.source_files('.', '.env.enc').each do |file|
52
+ unless File.exist? file.split('.enc').first
53
+ orphan_encrypted << file
54
+ end
55
+ end
56
+ if !orphan_encrypted.empty?
57
+ raise Roro::Error.new("You have an encrypted files (.env.enc) #{orphan_encrypted} that do not have corresponding decrypted files (.env). Please decrypt or remove these encrypted files before generating a new key for #{environment}.")
58
+ end
59
+ true
60
+ end
61
+ end
62
+ end
63
+ end
@@ -35,6 +35,7 @@ module Roro
35
35
 
36
36
  def copy_greenfield_files
37
37
  template 'greenfield/Dockerfile.tt', 'Dockerfile', @config.app
38
+ template 'roro/docker-compose.yml.tt', 'docker-compose.yml', @config.app
38
39
  end
39
40
  end
40
41
  end
@@ -7,13 +7,12 @@ module Roro
7
7
  include Thor::Actions
8
8
  include HandsomeFencer::Crypto
9
9
 
10
- desc "obfuscate", "obfuscates any files matching the pattern ./docker/**/*.env"
10
+ desc "obfuscate", "obfuscates any files matching the pattern ./roro/**/*.env"
11
11
 
12
12
  def obfuscate(*args)
13
- default_environments = %w[circleci development staging production]
14
- environments = args.first ? [args.first] : default_environments
13
+ environments = args.first ? [args.first] : gather_environments
15
14
  environments.each do |environment|
16
- HandsomeFencer::Crypto.obfuscate(environment, 'docker')
15
+ HandsomeFencer::Crypto.obfuscate(environment, 'roro')
17
16
  end
18
17
  end
19
18
  end
@@ -1,3 +1,3 @@
1
1
  module Roro
2
- VERSION = "0.3.6"
2
+ VERSION = "0.3.7"
3
3
  end
File without changes
File without changes
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: roro
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.6
4
+ version: 0.3.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - schadenfred
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-08-18 00:00:00.000000000 Z
11
+ date: 2020-08-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -173,7 +173,6 @@ files:
173
173
  - lib/roro/cli/generate/config/rails.rb
174
174
  - lib/roro/cli/generate/generate.rb
175
175
  - lib/roro/cli/generate/generate_keys.rb
176
- - lib/roro/cli/generate_keys.rb
177
176
  - lib/roro/cli/greenfield.rb
178
177
  - lib/roro/cli/obfuscate.rb
179
178
  - lib/roro/cli/rollon.rb
@@ -237,6 +236,8 @@ files:
237
236
  - lib/roro/version.rb
238
237
  - lib/tasks/deploy.rake
239
238
  - roro.gemspec
239
+ - sandbox/.keep
240
+ - tmp/.gitkeep
240
241
  - vendor/bundle/.keep
241
242
  - vendor/cache/actionpack-6.0.3.2.gem
242
243
  - vendor/cache/actionview-6.0.3.2.gem
@@ -245,7 +246,7 @@ files:
245
246
  - vendor/cache/builder-3.2.4.gem
246
247
  - vendor/cache/byebug-11.1.3.gem
247
248
  - vendor/cache/coderay-1.1.3.gem
248
- - vendor/cache/concurrent-ruby-1.1.6.gem
249
+ - vendor/cache/concurrent-ruby-1.1.7.gem
249
250
  - vendor/cache/crass-1.0.6.gem
250
251
  - vendor/cache/em-websocket-0.5.1.gem
251
252
  - vendor/cache/erubi-1.9.0.gem
@@ -1,79 +0,0 @@
1
- require 'openssl'
2
- require 'base64'
3
- require 'handsome_fencer/crypto'
4
-
5
- module Roro
6
-
7
- class CLI < Thor
8
-
9
- include Thor::Actions
10
- include HandsomeFencer::Crypto
11
-
12
- desc "generate_keys", "Generates keys for all environments. If you have .env files like './**/production.env' and './**/staging.env' this command assumes you need keys for the production and staging environments, and will generate them for you."
13
-
14
- def generate_keys
15
- generate_key
16
- end
17
-
18
- desc "generate_key", "Generate a key for each environment"
19
- method_option :environment, type: :hash, default: {}, desc: "Pass a list of environment variables like so: env:var", banner: "development, staging"
20
-
21
- def generate_key(*args)
22
- environments = args.first ? [args.first] : gather_environments
23
- environments.each do |environment|
24
- confirm_files_decrypted?(environment)
25
- create_file "docker/keys/#{environment}.key", encoded_key
26
- end
27
- end
28
-
29
- no_commands do
30
-
31
- def encoded_key
32
- @cipher = OpenSSL::Cipher.new 'AES-128-CBC'
33
- @salt = '8 octets'
34
- @new_key = @cipher.random_key
35
- Base64.encode64(@new_key)
36
- end
37
-
38
- def gather_environments
39
- environments = []
40
- ['.env', '.env.enc'].each do |extension|
41
-
42
- HandsomeFencer::Crypto.source_files('.', extension).each do |env_file|
43
- environments << env_file.split('/').last.split(extension).last
44
- end
45
- end
46
- environments.uniq
47
- end
48
-
49
- def confirm_files_decrypted?(environment)
50
- orphan_encrypted = []
51
- HandsomeFencer::Crypto.source_files('.', '.env.enc').each do |file|
52
- orphan_encrypted << file unless File.exist? file.split('.enc').first
53
- end
54
-
55
- if !orphan_encrypted.empty?
56
- raise Roro::Error.new("You have an encrypted files (.env.enc) #{orphan_encrypted} that do not have corresponding decrypted files (.env). Please decrypt or remove these encrypted files before generating a new key for #{environment}.")
57
- end
58
- true
59
- end
60
- end
61
- end
62
-
63
- # desc "generate keys", "Generate keys on a per-environment basis"
64
- #
65
- # method_option :environment, type: :string, default: {}, desc: "Pass a list of environment variables like so: env:var", banner: "development, staging"
66
- #
67
-
68
- # def generate_keys
69
- # default_environments = %w[circleci development production]
70
- # environments = args.first ? [args.first] : default_environments
71
- # environments.each do |environment|
72
- # @cipher = OpenSSL::Cipher.new 'AES-128-CBC'
73
- # @salt = '8 octets'
74
- # @new_key = @cipher.random_key
75
- #
76
- # create_file "docker/keys/#{environment}.key", Base64.encode64(@new_key)
77
- # end
78
- # end
79
- end