Package: certbot-dns-gcore
Thecertbot_dns_gcoreplugin automates the process of
completing adns-01challenge (acme.challenges.DNS01) by
creating, and subsequently removing, TXT records using the G-Core 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-gcoreNamed Argumentsplugin flagsDescription--dns-gcore-credentialsG-Core credentials INI file. (Required)--dns-gcore-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 G-Core DNS
API credentials. You can use:G-Core API Token, obtained from yourprofile paneloruse G-Core Authentication credentials (email and password) forloginpage.G-Core API Token isrecommendedauthentication option.The token needed by Certbot for add temporary TXT record to zone what
you need certificates for.Examplegcore.inicredentials file using restricted API Token (recommended)# G-Core API token used by Certbotdns_gcore_apitoken=0123456789abcdef0123456789abcdef01234567Examplegcore.inicredentials file using authentication credentials (not recommended)# G-Core API credentials used by Certbotdns_gcore_email=gcore_user@example.comdns_gcore_password=0123456789abcdef0123456789abcdef01234The path to this file can be provided interactively or using the--dns-gcore-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 G-Core 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.
Examplegcore.inifile:# G-Core API urls used by Certbotdns_gcore_api_url=https://api.reseller.com# implies that authapi available as /iam and dnsapi as /dns# ordns_gcore_auth_url=https://api.example.org/iamdns_gcore_dns_api_url=https://dnsapi.example.comExamplesTo acquire a certificate forexample.comcertbotcertonly--authenticatordns-gcore--dns-gcore-credentials=./gcore.ini-d'example.com'To acquire a certificate forexample.com, waiting 80 seconds (recommended) for DNS propagationcertbotcertonly--authenticatordns-gcore--dns-gcore-credentials=./gcore.ini--dns-gcore-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-gcore--dns-gcore-credentials=./gcore.ini--dns-gcore-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./gcore.ini# add g-core dns api credentialspipinstallcertbot
certbotcertonly--authenticatordns-gcore--dns-gcore-credentials=./gcore.ini-d'example.com'Main docs file here:certbot_dns_gcore/__init__.pyBuild html docs files:cd ./docs && sphinx-build -b html . _build/htmlMain plugin version here:certbot_dns_gcore/__version__.pyHow to run tests:
please see document.github/workflows/ci.yml