This version upgrades to the Parent 0.11 and changes the internals. Strictly speaking this version doesn't change anything, so it could have been a patch update. However, moving to Parent 0.11 might introduce breaking changes in the client code, so the major version is bumped.
- Fixes invalid dependency requirement.
- Exposed lower-level ACME client API functions through
SiteEncrypt.Acme.Client
andSiteEncrypt.Acme.Client.API
. - Native client keeps the history of old keys.
- Key size is configurable, with the default of 4096.
- Added support for manual production testing through
SiteEncrypt.dry_certify/2
. See "Testing in production" section in readme for details. - Renewal happens at a random time of day to avoid possible spikes on CA.
- The internal folders structure has been changed. If you're running a site_encrypt system in production and using the certbot client, you need to create the folder
acme-v02.api.letsencrypt.org
(assuming you're using Let's Encrypt production) underdb_folder/certbot
, and then recursively copy the contents ofdb_folder/certbot
into the new folder. If you're using the native client, you don't need to do anything.
-
The interface for writing tests has been changed. A certification test should now be written as
defmodule MyEndpoint.CertificationTest do use ExUnit.Case, async: false import SiteEncrypt.Phoenix.Test test "certification" do clean_restart(MyEndpoint) cert = get_cert(MyEndpoint) assert cert.domains == ~w/mysite.com www.mysite.com/ end end
- added a basic native ACME client
- simplified interface
- improved tests
- expanded docs
This version introduces many breaking changes. If you've been using a pre 0.1 version, here's how to upgrade your project:
- In your endpoint, replace
@behaviour SiteEncrypt
withuse SiteEncrypt.Phoenix
- Also in the endpoint, change the
certification/0
callback to pass the options toSiteEncrypt.configure/1
instead of just returning them. - Changes in options:
:mode
is no longer supported. Manual mode will be automatically set in tests.- use
:domains
instead of:domain
and:extra_domain
:ca_url
has been renamed todirectory_url
:email
has been renamed toemails
and must be a list:base_folder
has been renamed to:db_folder
:cert_folder
is no longer supported. It will chosen automatically inside the:db_folder
- The internal folders structure has been changed. If you're running a site_encrypt system in production, you need to create the folder called
certbot
inside the:db_folder
, and recurisvely copy top-level folders under:db_folder
into the newly createdcertbot
folder. - If you have been using
SiteEncrypt.Phoenix.Test.verify_certification
for certification testing, drop that test, and add the following module somewhere in your test suite:defmodule CertificationTest do use SiteEncrypt.Phoenix.Test, endpoint: MyEndpoint end