Proto commits in vancluever/terraform-provider-acme

These 14 commits are when the Protocol Buffers files have changed:

Commit:be7a774
Author:Chris Marchesi

r/certificate: DNS provider wrapper sequential provider support This ensures that our DNS provider wrapper supports sequential providers. This is an internal interface used by lego to determine if a specific DNS provider needs to be executed serially (per-domain record) or can be executed in parallel (all domain records at once). A number of providers (such as exec and rfc2136) are such providers - there's no guarantee that parallel operation in these scenarios would be stable, so each challenge needs to be executed one-by-one. The delay between executions is controlled on a provider-by-provider basis, usually through the PROVIDERNAME_SEQUENCE_INTERVAL, where PROVIDERNAME is the name of the provider. For multiple providers, the following constraints are enforced: * Any sequential provider in the set makes the whole set sequential. * The sequence interval for the set is taking from the provider with the longest delay configured.

The documentation is generated from this commit.

Commit:7d02e15
Author:Chris Marchesi

acme/dnsplugin: ensure recursive nameservers are set in plugin This ensures that the recursive_nameservers option is set in the DNS provider sub-processes. Several DNS providers depend on functions in the dns01 package; some of these rely on the recursive nameservers that can be set using the AddRecursiveNameservers ChallengeOption. This change just takes the nameservers over the plugin transport and sets them in the Configure function, before the provider is loaded.

Commit:90a889b
Author:Chris Marchesi
Committer:Chris Marchesi

dnsplugin: add timeout support This was missed in beta1, I want to make sure that we don't lose the ability to get timeout details. This just moves the existing logic in the wrapper partly down to the plugin level and makes every returned client technically a challenge.ProviderTimeout (but you just get zeros when querying when it doesn't exist - this is the behavior the wrapper had before this).

Commit:a8f997a
Author:Chris Marchesi

[EXPERIMENTAL] plugin-based DNS challenges This is an experimental commit that moves DNS challenge providers to an internal go-plugin based process per provider, per invocation. The intent is to isolate each DNS provider's environment from each other, hence solving the configuration leak problem that has come up in issues such as #235. The commit is functional and testing validates that environment is not being leaked from step to step. As it stands right now (commits in this branch may change as this feature evolves), the only thing left to do before this can be shipped is, aside from larger testing on the CLI and removing old code, is to ensure that the DNS provider factory is now generated in the dnsplugin sub-package instead of the higher-level acme package as it currently is.

Commit:1a9b417
Author:Chris Marchesi

vendor: remove vendor

This commit does not contain any .proto files.

Commit:078933f
Author:Chris Marchesi
Committer:Chris Marchesi

modules: update lego to v3, Terraform to a647072 This updates lego to its v3 release, which includes modules. Also, it updates Terraform to the latest HEAD in master to address dependency issues that arise as a result of this change, see hashicorp/terraform#22247.

Commit:32dfe8e
Author:Chris Marchesi
Committer:Chris Marchesi

modules: update Terraform to v0.12.0-rc1 This effectively enables the plugin for use on Terraform 0.12 (protocol version 5), in addition to Terraform 0.11.x (and other protocol version 4 binaries).

Commit:d9c747c
Author:Radek Simko

go mod vendor

Commit:f040e79
Author:bzub
Committer:Chris Marchesi

go mod init

This commit does not contain any .proto files.

Commit:55b3b99
Author:Chris Marchesi

vendor: Large refresh * Update TF to v0.11.7 and lock there. * Update lego to v0.5.0 and lock there. This is the last update pre-ACME v2.

Commit:7232d8e
Author:Chris Marchesi

vendor: Move to dep Cuz it's my repo and I can if I wanna. ;) In all seriousness, this has made dependency management much more pleasant. Updating Terraform to 0.11.1 with govendor ended up not brining up any of the extra necessary packages along with it, which led to more dependency management hell when trying to fix things. Trying to rebuild the dependency tree from scratch with govendor by manually adding all direct dependencies also ended up causing issues. dep provides a much smoother UX, and while there are currently some issues surrounding pruning, they will more than likely be sorted soon enough as dep becomes the official upstream tool.

Commit:da57d9f
Author:Chris Marchesi

Fix vendored deps All deps did not get re-added correctly when I refreshed last, probably because of "conflicts" in my GOPATH and incorrect use of govendor. Re-added deps with TF pulled in @v0.8.7.

Commit:e9d91ef
Author:Chris Marchesi

Update vendored deps Mainly to support TF 0.8.0, but had the nice side-effect of giving us the ability to do OCSP Stapling as well (commit forthcoming).

This commit does not contain any .proto files.

Commit:9f1aae5
Author:Chris Marchesi

Adding vendored deps Just adding the vendored deps in a separate commit.