-
Notifications
You must be signed in to change notification settings - Fork 505
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support ACME of Let's Encrypt #2
Comments
ACME support 3 types of challenge: The
This challenge type requires an API from the DNS provider, and the API differs from each DNS providers, so Easegress need to integrate API for each supported DNS provider. For the
|
There are just almost 300 lines of codes in the libdns{provider} repo. IMHO, If you guys are afraid of introducing many dependencies or no one maintainning, why don't you write it from scratch? |
the repo itself only defines the provider interface, the implementation are in other repos: https://github.com/libdns |
I'm talking about a provider repo. Eg : https://github.com/libdns/cloudflare it's just 300 line of codes. |
write from scratch could be an option, but I think it will cost a lot of effort because we need to do the below tasks for each DNS provider:
And most of the libdns providers are already written from scratch, take the alidns as an example, the lego implementation is based on https://github.com/aliyun/alibaba-cloud-sdk-go, which has more than 10 dependencies; while the libdns implementation only depends on standard Go libraries. |
Background
As we discussed in the technical board[1], we decide to support automating certificates in let's encrypt.
Proposal
We should support features:
Config
The
certBase64
andkeyBase64
is for imported ACME certificates.Expected Behavior
The priority for certificates of HTTPServer:
Reference
[1] https://docs.google.com/document/d/1gKM6uV3zzjPdPjSdhhQ0eqROaJppgg38CduY-BOjVNU/edit#
[2] https://letsencrypt.org/docs/acme-protocol-updates/#acme-v2-rfc-8555
The text was updated successfully, but these errors were encountered: