sewer
changelog:driver for Windows DNS server (local only) [IN PROGRESS]
cleanup that was deferred from 0.8.4 (affects developers, not cli users)
crypto.py refactored
mypy added to tests
dns_providers have had non-base imports cleaned up: use local # type:
ignore
annotations
a few non-service-specific libs marked globally to be ignored
REMOVED obsolescent dns_provider_name class variables (use the JSON catalog, added in 0.8.3)
REMOVED obsolescent guards around service-specific imports and the corresponding delayed exceptions (the unnecessary imports that used to require the guards were removed in 0.8.3)
crypto.py’s tests migrated to pytest format as tests/crypto_test.py
Fixed the alias support code and unbound_ssh, its only in-tree client, to use correct names for alias option parameters
Aliasing document updated to current client options
in-tree tests began migrating to pytest format (and moving to ./tests)
CLI changes:
--acct_key
& --cert_key
should be used to designate the file that
holds the keys to be used (rather than having new ones generated).
--account_key
& --certificate_key
are still accepted as synonyms.
add --acct_key_type
& --cert_key_type
to allow choice of RSA or EC
keys and key sizes when sewer is generating them for you.
changed default for generated keys to 3072 bit RSA (had been 2048 bit)
add --is_new_key
to allow for first-time registration of your own
account key (using --acct_key
) generated outside of sewer.
Internal changes for library clients:
Client methods cert() and renew() are deprecated; just call get_certificate() directly instead.
Client no longer generates keys. (see below)
crytographic refactoring
Client interface changes due to crypto refactoring
dropped account_key
and certificate_key
optional arguments to Client
added acct_key
and cert_key
REQUIRED arguments to Client taking
AcmeAccount and AcmeKey objects, respectively.
add is_new_acct
argument to force registration of the supplied account
key
dropped bits
argument because Client no longer generates keys!
dropped digest
argument since there are currently no alternate digest
methods for the different key types. (was this ever used?)
Features and Improvements:
--acme-timeout <seconds>
option to adjust timeout on queries to
the ACME server--action {run,renew}
has been doing nothing useful and is now deprecated.--p_opt <name>=<value>
for passing kwargs to driversalias=<alias_domain>
specifies a separate domain for DNS challenges
(requires driver support, see Aliasing)prop_delay=<seconds>
gives a fixed delay (sleep) after challenge setup*.domain.tld
) as well as the “wildcard plus” patternInternals:
import ......{name.}ClassName
**kwargs
to all legacy providers to allow new options that are
handled in a parent class to pass through (for alias
, prop_delay
, etc.)sewer/__init__
and
sewer/dns_providers/__init__
; fixed all uses in cli.py and tests.__main__.py
to support python -m sewer
invocation of sewer-cli
See also release notes.
Feature additions:
Internals (features and/or annoying changes for sewer-as-a-library users)
*.
to wildcards; remove spotty code in providers to strip itSee also release notes.
sewer
was unable to delete wildcard names from clouflare: https://github.com/komuw/sewer/pull/139sewer
would log twice: https://github.com/komuw/sewer/pull/137