rails-env-credentials 0.1.3 → 0.1.4

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: ff8e93cc13d8dbc2879268b9387e84e4204cf37933d33286de1a4388ae49d416
4
- data.tar.gz: 95dcc000417251e220a997e1c7c70fada09f64761e06def1f80a906fe6582188
3
+ metadata.gz: 7f9a2c3494b0a68a461f7d60931e994b303dbff851004365adf2d4d1ea70ceca
4
+ data.tar.gz: 8329cb9beef080f6811a989136c26034a63bc5e702c806507cd3da349700c339
5
5
  SHA512:
6
- metadata.gz: 9c7e87b48c6327d9e11db23a83380bdd9f10988f9780170ba285feebc8162b77444c254b5d65b351228b2741835dbd25dbe0dcce685a2516e6e3288040680af5
7
- data.tar.gz: ccaf140230e8ddf441c0a86b9b50ee21ca957aed569691803be88297e73c9b138e1bd2b2437137fa4a0b651896b5d8f5aace06366536ae3c16a736088cc3536c
6
+ metadata.gz: 9e89fc46f511cc717e0a7f1ddf6f20a6d4c0f134874e33e8c96338100289e61fbfab5c899c58d37e7246514e2af8877ec9d41e25128ed44dfd7f49e167782a0e
7
+ data.tar.gz: 7f3f223e5a1ee75825b1f0208d438021279111a00554dc6a858dbd820c8f8e10ae6d750f19c35b0a1834f7ef7a126b023c2fd2a1d8dced9e254fae71fe301fe3
data/.gitignore CHANGED
@@ -11,3 +11,4 @@
11
11
  .rspec_status
12
12
 
13
13
  Gemfile.lock
14
+ gemfiles/*.lock
@@ -1,19 +1,27 @@
1
1
  sudo: false
2
2
  language: ruby
3
+
3
4
  rvm:
4
- - 2.5.0
5
- - 2.4.2
5
+ - 2.4
6
+ - 2.5
7
+ - 2.6
6
8
  - ruby-head
9
+
7
10
  gemfile:
8
- - Gemfile
11
+ - gemfiles/rails_52.gemfile
9
12
  - gemfiles/rails_edge.gemfile
13
+
14
+ before_install:
15
+ - gem update --system
16
+ - gem update bundler
17
+
18
+ cache: bundler
19
+
10
20
  matrix:
21
+ exclude:
22
+ - rvm: 2.4
23
+ gemfile: gemfiles/rails_edge.gemfile
24
+
11
25
  allow_failures:
12
26
  - rvm: ruby-head
13
27
  - gemfile: gemfiles/rails_edge.gemfile
14
- before_install: gem install bundler -v 1.16.1
15
- cache: bundler
16
- notifications:
17
- email:
18
- on_success: never
19
- on_failure: change
data/README.md CHANGED
@@ -5,22 +5,6 @@
5
5
 
6
6
  It enhances the Credentials feature introduced by Rails v5.2.0.
7
7
 
8
- ## Why make it?
9
-
10
- Credentials is a good feature, but we cannot use it on development and test environment.
11
-
12
- DHH wrote as follow in the pull request for initial implementation:
13
-
14
- > It's only in production (and derivative environments, like exposed betas) where the secret actually needs to be secret.
15
- >
16
- > refs: https://github.com/rails/rails/pull/30067
17
-
18
- However, I have to manage secrets in the staging environment.
19
-
20
- I do not have the confidence to explain explicit use cases to Rails team, so I implemented as a gem.
21
-
22
- If many people use it, I would like to send a pull request to Rails.:octocat::heart:
23
-
24
8
  ## Installation
25
9
 
26
10
  Add this line to your Rails application's Gemfile:
@@ -39,13 +23,47 @@ $ bundle
39
23
 
40
24
  ## Usage
41
25
 
42
- RailsEnvCredentials will automatically generate encrypted file and the master key when you starts editing credentials at first:
26
+ RailsEnvCredentials manages credentials and key pairs with the following:
27
+
28
+ ```
29
+ config/credentials-development.yml.enc
30
+ config/credentials-test.yml.enc
31
+ config/credentials.yml.enc
32
+ master-development.key
33
+ master-test.key
34
+ master.key
35
+ ```
36
+
37
+ You can use appropriate credentials depending on `Rails.env`.
38
+
39
+ ```console
40
+ $ rails env_credentials:show -e development
41
+ # config/credentials-development.yml.enc
42
+ aws:
43
+ bucket: foo-dev
44
+
45
+ $ rails env_credentials:show -e production
46
+ # config/credentials.yml.enc
47
+ aws:
48
+ bucket: foo-prod
49
+
50
+ $ rails runner -e development 'pp Rails.application.credentials.aws.bucket'
51
+ "foo-dev"
52
+ $ rails runner -e production 'pp Rails.application.credentials.aws.bucket'
53
+ "foo-prod"
54
+ ```
55
+
56
+ ## Generating secrets and a master key
57
+
58
+ It automatically generate encrypted file and the master key when you starts editing credentials at first:
43
59
 
44
60
  ```
45
61
  $ rails env_credentials:edit -e development
46
62
  ```
47
63
 
48
- If you want to see decrypted contents, use `env_credentials:show`
64
+ ## Show secrets
65
+
66
+ You want to see decrypted contents, use `env_credentials:show`:
49
67
 
50
68
  ```
51
69
  $ rails env_credentials:show -e development
@@ -55,7 +73,11 @@ $ rails env_credentials:show -e development
55
73
 
56
74
  ### Other environments support
57
75
 
58
- For example, if the `config/environments/staging.rb` exists, RailsEnvCredentials will automatically generate `config/credentials-staging.yml.enc`.
76
+ For example, if the `config/environments/staging.rb` exists, you will generate `config/credentials-staging.yml.enc`.
77
+
78
+ ```
79
+ $ rails env_credentials:edit -e staging
80
+ ```
59
81
 
60
82
  ### Display a diff
61
83
 
@@ -75,6 +97,20 @@ $ git config diff.env_credentials.textconv 'rails env_credentials:show --file'
75
97
 
76
98
  This tells Git that encrypted files should decrypt by the `env_credentials:show` task when you try to display a diff.
77
99
 
100
+ ## Why make this gem?
101
+
102
+ Credentials is a good feature, but we cannot use it on development and test environment.
103
+
104
+ DHH wrote as follow in the pull request for initial implementation:
105
+
106
+ > It's only in production (and derivative environments, like exposed betas) where the secret actually needs to be secret.
107
+ >
108
+ > refs: https://github.com/rails/rails/pull/30067
109
+
110
+ However, I have to manage secrets and a master key different from production for testing in the staging environment.
111
+
112
+ I do not have the confidence to explain explicit use cases to Rails team, so I implemented as a gem.
113
+
78
114
  ## Development
79
115
 
80
116
  After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  require "bundler/setup"
4
- require "rails/env/credentials"
4
+ require "rails-env-credentials"
5
5
 
6
6
  # You can add fixtures and/or initialization code here to make experimenting
7
7
  # with your gem easier. You can also use a different console, if you like.
@@ -0,0 +1,5 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem "rails", "~> 5.2.0"
4
+
5
+ gemspec path: ".."
@@ -2,7 +2,6 @@
2
2
 
3
3
  require "rails"
4
4
  require "rails_env_credentials/config"
5
- require "rails_env_credentials/credentials_overwrite"
6
5
  require "rails_env_credentials/railtie"
7
6
  require "rails_env_credentials/version"
8
7
 
@@ -1,6 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RailsEnvCredentials
4
+ module CredentialsOverwrite
5
+ def credentials
6
+ @credentials ||= RailsEnvCredentials.credentials
7
+ end
8
+ end
9
+
4
10
  class Railtie < ::Rails::Railtie
5
11
  config.before_configuration do
6
12
  is_credentials_command = Rails.const_defined?(:Command) &&
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RailsEnvCredentials
4
- VERSION = "0.1.3"
4
+ VERSION = "0.1.4"
5
5
  end
@@ -24,7 +24,7 @@ Gem::Specification.new do |spec|
24
24
 
25
25
  spec.add_dependency "rails", ">= 5.2.0.rc1"
26
26
 
27
- spec.add_development_dependency "bundler", "~> 1.16"
27
+ spec.add_development_dependency "bundler", "~> 2.0"
28
28
  spec.add_development_dependency "rake", "~> 10.0"
29
29
  spec.add_development_dependency "rspec", "~> 3.0"
30
30
  spec.add_development_dependency "simplecov"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails-env-credentials
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - sinsoku
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-07-25 00:00:00.000000000 Z
11
+ date: 2019-07-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '1.16'
33
+ version: '2.0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '1.16'
40
+ version: '2.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -101,12 +101,12 @@ files:
101
101
  - config/environments/production.rb
102
102
  - config/environments/staging.rb
103
103
  - config/environments/test.rb
104
+ - gemfiles/rails_52.gemfile
104
105
  - gemfiles/rails_edge.gemfile
105
106
  - lib/rails-env-credentials.rb
106
107
  - lib/rails/commands/env_credentials_command.rb
107
108
  - lib/rails_env_credentials.rb
108
109
  - lib/rails_env_credentials/config.rb
109
- - lib/rails_env_credentials/credentials_overwrite.rb
110
110
  - lib/rails_env_credentials/railtie.rb
111
111
  - lib/rails_env_credentials/version.rb
112
112
  - rails-env-credentials.gemspec
@@ -129,8 +129,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
129
129
  - !ruby/object:Gem::Version
130
130
  version: '0'
131
131
  requirements: []
132
- rubyforge_project:
133
- rubygems_version: 2.7.6
132
+ rubygems_version: 3.0.3
134
133
  signing_key:
135
134
  specification_version: 4
136
135
  summary: It enhances the credentials configuration introduced by Rails v5.2.0
@@ -1,9 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module RailsEnvCredentials
4
- module CredentialsOverwrite
5
- def credentials
6
- @credentials ||= RailsEnvCredentials.credentials
7
- end
8
- end
9
- end