Route53 credential handling & docs #3174
|
Lego's Route53 docs and code are a bit incomplete/confusing. The code ultimately defers credential handling to the AWS SDK in this lego/providers/dns/route53/route53.go Line 375 in 6015692 Based on AWS's docs below, that call will load credentials from a number of different places (env vars, file system, etc.):
The Lego docs for Route53 (https://go-acme.github.io/lego/dns/route53/index.html) only mention a subset of those credential methods. For example, I referred to the Lego docs to inquire about support for the official To make matters more confusing, Lego's Route53 code includes logic to check environment variable values that it never actually fetches or uses: lego/providers/dns/route53/route53.go Lines 391 to 405 in 6015692 lego/providers/dns/route53/route53.go Lines 365 to 369 in 6015692 As far as I can tell from tracing through the code, the lego/providers/dns/route53/route53.go Lines 52 to 57 in 6015692 So my main question is... Will Lego continue to defer to the AWS SDK for credential handling? And if so, can the docs be updated to reflect that and the dead code referenced above be removed? I don't want this credential behavior to change unexpectedly in the future and break the undocumented |
Replies: 1 comment 2 replies
|
Hello, lego is mainly a lib: the CLI is not the first citizen. This explain why there are differences between the So this is not dead code, and it will not be removed. I don't plan to document every env vars supported by the AWS SDK, because even the SDK itself don't do it in a synthetic and exhaustive way, and there are too many possibilities to fit in the lego documentation. We documented the commonest usages, for the other possibilities we have the "See also" section in the documentation to provide references to the SDK possibilities. |
Hello,
lego is mainly a lib: the CLI is not the first citizen.
This explain why there are differences between the
Configstructure and env vars.So this is not dead code, and it will not be removed.
I don't plan to document every env vars supported by the AWS SDK, because even the SDK itself don't do it in a synthetic and exhaustive way, and there are too many possibilities to fit in the lego documentation.
We documented the commonest usages, for the other possibilities we have the "See also" section in the documentation to provide references to the SDK possibilities.