letsencrypt-rails-heroku 1.0.0 → 1.1.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
  SHA1:
3
- metadata.gz: 05ee4912e0826370d5e74c310b425ba6e4143921
4
- data.tar.gz: 889c2a4c16e672481c1db9d42a5dfe2a45f8424e
3
+ metadata.gz: e656c9229f6a8721d684ec0909a229d9fd80ea23
4
+ data.tar.gz: 3627d2cf277d9bc3c3310d43d646cfbe5f16c426
5
5
  SHA512:
6
- metadata.gz: f0cf0b6f588d1a91fbe590d55d44cc211c51865241392379d8fe8b4ea90f4a4033ba1eff5dbf79ed1c4aa2819fec77b6bf49934a0d61defe9ac5f69a29b876ff
7
- data.tar.gz: 82269e1b169a4ddc091882d42b970a82cfe880cd37c183248e3c733129b6bf63a8f740fbc93d3cb266468a8a0443e3a871b8f3ae1a5be0622c166caac755989e
6
+ metadata.gz: f2e12aa812981cd9fceb7b38830df18448e774524e3e8a8dd43f862875fac250a650084ce29cf1b01be2427a8ba5b22a0beaf8b14e95d0833886b700e6faf3d8
7
+ data.tar.gz: 51ad28ed49e4fd61647014a35d34d249f6ea4caee0678ac91cc91a1e8e612bf74cfc949a3b68ccec7232a44533dc8de5864ad63e1f34c9fcf9336fcda510ad42
data/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ # 1.1.0
2
+
3
+ - Make `ACME_DOMAIN` optional by using the Heroku API to get a full list of
4
+ configured domains for the app. Useful for apps with lots of domains.
5
+ Configuring `ACME_DOMAIN` is still supported.
6
+
1
7
  # 1.0.0
2
8
 
3
9
  The major version bump reflects the backwards-incompatible change around how
data/README.md CHANGED
@@ -67,6 +67,9 @@ which you should set.
67
67
  certificates, e.g. `example.com,www.example.com`. Your Heroku app should be
68
68
  configured to answer to all these domains, because LetsEncrypt will make a
69
69
  request to verify ownership.
70
+
71
+ If you leave this blank, the gem will try and use the Heroku API to get a
72
+ list of configured domains for your app, and verify all of them.
70
73
  * `ACME_EMAIL`: Your email address, should be valid.
71
74
  * `HEROKU_TOKEN`: An API token for this app. See below
72
75
  * `HEROKU_APP`: Name of Heroku app e.g. bottomless-cavern-7173
@@ -159,6 +162,12 @@ following security considerations:
159
162
 
160
163
  The gem performs some cursory checks to make sure the filename is roughly
161
164
  what is expected to try and mitigate this.
165
+
166
+ ## Troubleshooting
167
+
168
+ ### Common name invalid errors (security certificate is from *.herokuapp.com)
169
+
170
+ Your domain is still configured as a CNAME or ALIAS to `your-app.herokuapp.com`. Check the output of `heroku domains` matches your DNS configuration. When you add an SNI cert to an app for the first time [the DNS target changes](https://devcenter.heroku.com/articles/custom-domains#view-existing-domains).
162
171
 
163
172
  ## To-do list
164
173
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.0
1
+ 1.1.0
@@ -2,16 +2,16 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Juwelier::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: letsencrypt-rails-heroku 1.0.0 ruby lib
5
+ # stub: letsencrypt-rails-heroku 1.1.0 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "letsencrypt-rails-heroku"
9
- s.version = "1.0.0"
9
+ s.version = "1.1.0"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib"]
13
13
  s.authors = ["Pixie Labs", "David Somers", "Abigail McPhillips"]
14
- s.date = "2017-02-17"
14
+ s.date = "2017-02-22"
15
15
  s.description = "This gem automatically handles creation, renewal, and applying SSL certificates from LetsEncrypt to your Heroku account."
16
16
  s.email = "team@pixielabs.io"
17
17
  s.extra_rdoc_files = [
@@ -31,7 +31,7 @@ module Letsencrypt
31
31
  end
32
32
 
33
33
  def valid?
34
- heroku_token && heroku_app && acme_email && acme_domain
34
+ heroku_token && heroku_app && acme_email
35
35
  end
36
36
  end
37
37
  end
@@ -8,7 +8,7 @@ namespace :letsencrypt do
8
8
  desc 'Renew your LetsEncrypt certificate'
9
9
  task :renew do
10
10
  # Check configuration looks OK
11
- abort "letsencrypt-rails-heroku is configured incorrectly. Are you missing an environment variable or other configuration? You should have a heroku_token, heroku_app, acme_email and acme_domain configured either via a `Letsencrypt.configure` block in an initializer or as environment variables." unless Letsencrypt.configuration.valid?
11
+ abort "letsencrypt-rails-heroku is configured incorrectly. Are you missing an environment variable or other configuration? You should have a heroku_token, heroku_app and acme_email configured either via a `Letsencrypt.configure` block in an initializer or as environment variables." unless Letsencrypt.configuration.valid?
12
12
 
13
13
  # Set up Heroku client
14
14
  heroku = PlatformAPI.connect_oauth Letsencrypt.configuration.heroku_token
@@ -27,7 +27,14 @@ namespace :letsencrypt do
27
27
  registration.agree_terms
28
28
  puts "Done!"
29
29
 
30
- domains = Letsencrypt.configuration.acme_domain.split(',').map(&:strip)
30
+ domains = []
31
+ if Letsencrypt.configuration.acme_domain
32
+ puts "Using ACME_DOMAIN configuration variable..."
33
+ domains = Letsencrypt.configuration.acme_domain.split(',').map(&:strip)
34
+ else
35
+ domains = heroku.domain.list(heroku_app).map{|domain| domain['hostname']}
36
+ puts "Using #{domains.length} configured Heroku domain(s) for this app..."
37
+ end
31
38
 
32
39
  domains.each do |domain|
33
40
  puts "Performing verification for #{domain}:"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: letsencrypt-rails-heroku
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pixie Labs
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2017-02-17 00:00:00.000000000 Z
13
+ date: 2017-02-22 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: acme-client