dotenv-vault 0.7.0 → 0.8.0

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: aa34c1f736b3d975ebfa6908c4fd2fda654195397eacd4f49b87c740730665e3
4
- data.tar.gz: bd4422daf3d333171025198d72e69e844d22a692f251beb18ddf435d9915a64f
3
+ metadata.gz: e6078bb2cca1c416c7dac1d4b3448dd73407db567df195fe78b974931b36ef35
4
+ data.tar.gz: 7246ef444f59fd1a22cf19ec5b649230105b203a167004eb66fb56aaa7fe5001
5
5
  SHA512:
6
- metadata.gz: 004b6558fd5609bf8bbd2839efb586c49f6037a4834a6b50487350d9f203d389ad9d0a25372b902ded05b839db021f649918cc5b3626b2f9acadc6aaf74631ff
7
- data.tar.gz: 791957d771aa5f0d0eab157730ad96ee9249a95a5ea2ca7525f30657b0d62e08fc9996e852faccd0b7ee41389df08bd6d38457fb3b223804c27bbb8fefbaeb32
6
+ metadata.gz: cb7043c13677592337f463c04e0e91b026e079754b156f49ff47480771f7ed5d45fae900418cbe43363b21970603828bbe8a741100abe41ae32f716f6ff2360f
7
+ data.tar.gz: 06144215e220b404125037dfe2097e2c5c12fc7d03ad7f21d891ce210975576610683baaaf598af7945bee14aaa63d2ba933de87c2a06f2e51f3910193ee3325
data/CHANGELOG.md ADDED
@@ -0,0 +1,21 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
+
5
+ ## [Unreleased](https://github.com/dotenv-org/dotenv-vault-ruby/compare/v0.8.0...master)
6
+
7
+ ## 0.8.0
8
+
9
+ ### Added
10
+
11
+ - Add `dotenv-vault/load`
12
+
13
+ ## 0.7.1
14
+
15
+ ### Added
16
+
17
+ - Added README
18
+
19
+ ## 0.7.0 and prior
20
+
21
+ Please see commit history.
data/Gemfile.lock CHANGED
@@ -1,12 +1,12 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- dotenv-vault (0.7.0)
4
+ dotenv-vault (0.8.0)
5
5
  dotenv
6
6
  lockbox
7
- dotenv-vault-rails (0.7.0)
7
+ dotenv-vault-rails (0.8.0)
8
8
  dotenv-rails
9
- dotenv-vault (= 0.7.0)
9
+ dotenv-vault (= 0.8.0)
10
10
 
11
11
  GEM
12
12
  remote: https://rubygems.org/
data/README.md CHANGED
@@ -1,3 +1,140 @@
1
- # dotenv-vault
1
+ # dotenv-vault [![Gem Version](https://badge.fury.io/rb/dotenv-vault.svg)](https://badge.fury.io/rb/dotenv-vault)
2
2
 
3
- Coming soon
3
+ <img src="https://raw.githubusercontent.com/motdotla/dotenv/master/dotenv.svg" alt="dotenv-vault" align="right" width="200" />
4
+
5
+ Dotenv Vault extends the proven & trusted foundation of [dotenv](https://github.com/bkeepers/dotenv), with a `.env.vault` file.
6
+
7
+ This new standard lets you sync your .env files – quickly & securely. Stop sharing them over insecure channels like Slack and email, and never lose an important .env file again.
8
+
9
+ ## Installation
10
+
11
+ ### Rails
12
+
13
+ Add this line to the top of your application's Gemfile:
14
+
15
+ ```ruby
16
+ gem 'dotenv-vault-rails'
17
+ ```
18
+
19
+ And then execute:
20
+
21
+ ```shell
22
+ $ bundle
23
+ ```
24
+
25
+ ## Usage
26
+
27
+ ### `.env`
28
+
29
+ Basic usage begins just like [dotenv](https://github.com/bkeepers/dotenv).
30
+
31
+ Add your application configuration to your `.env` file in the root of your project:
32
+
33
+ ```shell
34
+ S3_BUCKET=YOURS3BUCKET
35
+ SECRET_KEY=YOURSECRETKEYGOESHERE
36
+ ```
37
+
38
+ Whenever your application loads, these variables will be available in `ENV`:
39
+
40
+ ```ruby
41
+ config.fog_directory = ENV['S3_BUCKET']
42
+ ```
43
+
44
+ ### `.env.vault`
45
+
46
+ Usage is similar to git. In the same directory as your `.env` file, run the command:
47
+
48
+ ```shell
49
+ npx dotenv-vault new
50
+ ```
51
+
52
+ Follow those instructions and then run:
53
+
54
+ ```shell
55
+ $ npx dotenv-vault login
56
+ ```
57
+
58
+ Then run push and pull:
59
+
60
+ ```shell
61
+ $ npx dotenv-vault push
62
+ $ npx dotenv-vault pull
63
+ ```
64
+
65
+ That's it!
66
+
67
+ You just synced your `.env` file. Commit your `.env.vault` file to code, and tell your teammates to run `npx dotenv-vault pull`.
68
+
69
+ ## Multiple Environments
70
+
71
+ Run the command:
72
+
73
+ ```shell
74
+ $ npx dotenv-vault open production
75
+ ```
76
+
77
+ It will open up an interface to manage your production environment variables.
78
+
79
+ ## Deploy Anywhere
80
+
81
+ Build your encrypted `.env.vault`:
82
+
83
+ ```shell
84
+ $ npx dotenv-vault build
85
+ ```
86
+
87
+ Safely commit and push your changes:
88
+
89
+ ```shell
90
+ $ git commit -am "Updated .env.vault"
91
+ $ git push
92
+ ```
93
+
94
+ Obtain your `DOTENV_KEY`:
95
+
96
+ ```shell
97
+ $ npx dotenv-vault keys
98
+ ```
99
+
100
+ Set `DOTENV_KEY` on your infrastructure. For example, on Heroku:
101
+
102
+ ```shell
103
+ $ heroku config:set DOTENV_KEY="dotenv://:key_1234@dotenv.org/vault/.env.vault?environment=production"
104
+ ```
105
+
106
+ All set! When your app boots, it will recognize a `DOTENV_KEY` is set, decrypt the `.env.vault` file, and load the variables to `ENV`.
107
+
108
+ ## FAQ
109
+
110
+ #### What happens if `DOTENV_KEY` is not set?
111
+
112
+ Dotenv Vault gracefully falls back to [dotenv](https://github.com/bkeepers/dotenv) when `DOTENV_KEY` is not set. This is the default for development so that you can focus on editing your `.env` file and save the `build` command until you are ready to deploy those environment variables changes.
113
+
114
+ #### Should I commit my `.env` file?
115
+
116
+ No. We **strongly** recommend against committing your `.env` file to version control. It should only include environment-specific values such as database passwords or API keys. Your production database should have a different password than your development database.
117
+
118
+ #### Should I commit my `.env.vault` file?
119
+
120
+ Yes. It is safe and recommended to do so. It contains your vault identifier at the vault provider (in this case [dotenv.org](https://dotenv.org)) and contains your encrypted values.
121
+
122
+ #### Can I share the `DOTENV_KEY`?
123
+
124
+ No. It is the key that unlocks your encrypted environment variables. Be very careful who you share this key with. Do not let it leak.
125
+
126
+ ## Contributing
127
+
128
+ 1. Fork it
129
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
130
+ 3. Commit your changes (`git commit -am 'Added some feature'`)
131
+ 4. Push to the branch (`git push origin my-new-feature`)
132
+ 5. Create new Pull Request
133
+
134
+ ## Changelog
135
+
136
+ See [CHANGELOG.md](CHANGELOG.md)
137
+
138
+ ## License
139
+
140
+ MIT
@@ -0,0 +1,2 @@
1
+ require "dotenv-vault"
2
+ DotenvVault.load
@@ -1,3 +1,3 @@
1
1
  module DotenvVault
2
- VERSION = "0.7.0"
2
+ VERSION = "0.8.0"
3
3
  end
data/lib/dotenv-vault.rb CHANGED
@@ -90,7 +90,7 @@ module DotenvVault
90
90
  #
91
91
  # Decrypts and loads to ENV
92
92
  def load_vault(*filenames)
93
- DotenvVault.logger.info("[dotenv-vault] Loading .env.vault") if DotenvVault.logger
93
+ DotenvVault.logger.info("[dotenv-vault] Loading encrypted .env.vault to environment variables") if DotenvVault.logger
94
94
 
95
95
  parsed = parse_vault(*filenames)
96
96
 
@@ -104,7 +104,7 @@ module DotenvVault
104
104
  #
105
105
  # Decrypts and overloads to ENV
106
106
  def overload_vault(*filenames)
107
- DotenvVault.logger.info("[dotenv-vault] Overloading .env.vault") if DotenvVault.logger
107
+ DotenvVault.logger.info("[dotenv-vault] Overloading encrypted .env.vault to environment variables") if DotenvVault.logger
108
108
 
109
109
  parsed = parse_vault(*filenames)
110
110
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dotenv-vault
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - motdotla
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-09-17 00:00:00.000000000 Z
11
+ date: 2022-09-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dotenv
@@ -90,6 +90,7 @@ files:
90
90
  - ".gitignore"
91
91
  - ".rspec"
92
92
  - ".travis.yml"
93
+ - CHANGELOG.md
93
94
  - Gemfile
94
95
  - Gemfile.lock
95
96
  - LICENSE.txt
@@ -101,6 +102,7 @@ files:
101
102
  - dotenv-vault.gemspec
102
103
  - lib/dotenv-vault-rails.rb
103
104
  - lib/dotenv-vault.rb
105
+ - lib/dotenv-vault/load.rb
104
106
  - lib/dotenv-vault/rails-now.rb
105
107
  - lib/dotenv-vault/rails.rb
106
108
  - lib/dotenv-vault/version.rb