Package: certbot-dns-ecenter
Thecertbot_dns_ecenterplugin automates the process of
completing adns-01challenge (acme.challenges.DNS01) by
creating, and subsequently removing, TXT records using the Edge-Center DNS
API.DocumentationFor full documentation, including installation, examples, changelog please seereadthedocs page.InstallThe plugin is not installed by default. It can be installed by command
below.pip install certbot-dns-ecenterNamed Argumentsplugin flagsDescription--dns-ecenter-credentialsEdge-Center credentials INI file. (Required)--dns-ecenter-propagation-secondsThe number of seconds to wait for DNS to propagate before asking the ACME server to verify the DNS record. (Default: 10)CredentialsUse of this plugin requires a configuration file containing Edge-Center DNS
API credentials. You can use:Edge-Center API Token, obtained from yourprofile paneloruse Edge-Center Authentication credentials (email and password) forloginpage.Edge-Center API Token isrecommendedauthentication option.The token needed by Certbot for add temporary TXT record to zone what
you need certificates for.ExampleEdge-Center.inicredentials file using restricted API Token (recommended)# Edge-Center API token used by Certbotdns_ecenter_apitoken=0123456789abcdef0123456789abcdef01234567ExampleEdge-Center.inicredentials file using authentication credentials (not recommended)# Edge-Center API credentials used by Certbotdns_ecenter_email=edge_center_user@example.comdns_ecenter_password=0123456789abcdef0123456789abcdef01234The path to this file can be provided interactively or using the--dns-ecenter-credentialscommand-line argument. Certbot records the
path to this file for use during renewal, but does not store the file's
contents.WARNING:
You should protect these API credentials as you would the password to
your Edge-Center account. Users who can read this file can use these
credentials to issue arbitrary API calls on your behalf. Users who can
cause Certbot to run using these credentials can complete adns-01challenge to acquire new certificates or revoke existing certificates
for associated domains, even if those domains aren't being managed by
this server.Certbot will emit a warning if it detects that the credentials file can
be accessed by other users on your system. The warning reads "Unsafe
permissions on credentials configuration file", followed by the path to
the credentials file. This warning will be emitted each time Certbot
uses the credentials file, including for renewal, and cannot be silenced
except by addressing the issue (e.g., by using a command likechmod 600to restrict access to the file).Also you can override the defaultapi_urlor achieve even more flexibility
by specifyingauthanddns_apiurls separately.
Exampleecenter.inifile:# Edge-Center API urls used by Certbotdns_ecenter_api_url=https://api.reseller.com# implies that authapi available as /iam and dnsapi as /dns# ordns_ecenter_auth_url=https://api.example.org/iamdns_ecenter_dns_api_url=https://dnsapi.example.comExamplesTo acquire a certificate forexample.comcertbotcertonly--authenticatordns-ecenter--dns-ecenter-credentials=./ecenter.ini-d'example.com'To acquire a certificate forexample.com, waiting 80 seconds (recommended) for DNS propagationcertbotcertonly--authenticatordns-ecenter--dns-ecenter-credentials=./ecenter.ini--dns-ecenter-propagation-seconds=80-d'example.com'To acquire a ecdsa backed wildcard certificate for*.example.com, waiting 80 seconds (recommended) for DNS propagation in isolated directory (e.g. as non-root user)mkdircertbot&&cdcertbot
certbotcertonly--authenticatordns-ecenter--dns-ecenter-credentials=./ecenter.ini--dns-ecenter-propagation-seconds=80-d'*.example.com'--key-typeecdsa--logs-dir=.--config-dir=.--work-dir=.For developersHow to run\develop plugin in dockerdocker-composerun--rm--service-portsdevbash# commands below run inside docker containerpipinstall-e.
touch./ecenter.ini# add g-core dns api credentialspipinstallcertbot
certbotcertonly--authenticatordns-ecenter--dns-ecenter-credentials=./ecenter.ini-d'example.com'Main docs file here:certbot_dns_ecenter/__init__.pyBuild html docs files:cd ./docs && sphinx-build -b html . _build/htmlMain plugin version here:certbot_dns_ecenter/__version__.pyHow to run tests:
please see document.github/workflows/ci.yml