This package contains a DNS provider module for Caddy. It manages DNS records via the Selectel DNS v2 API.
dns.providers.selectel
# Globally (all sites)
{
acme_dns selectel {
user {env.SELECTEL_USER}
password {env.SELECTEL_PASSWORD}
account_id {env.SELECTEL_ACCOUNT_ID}
project_name {env.SELECTEL_PROJECT_NAME}
}
}
# Per site
tls {
dns selectel {
user {env.SELECTEL_USER}
password {env.SELECTEL_PASSWORD}
account_id {env.SELECTEL_ACCOUNT_ID}
project_name {env.SELECTEL_PROJECT_NAME}
}
}
{
"module": "acme",
"challenges": {
"dns": {
"provider": {
"name": "selectel",
"user": "SELECTEL_USER",
"password": "SELECTEL_PASSWORD",
"account_id": "SELECTEL_ACCOUNT_ID",
"project_name": "SELECTEL_PROJECT_NAME"
}
}
}
}| Directive | Description |
|---|---|
user |
Selectel service-user login. |
password |
Selectel service-user password. |
account_id |
Selectel account ID (domain name). |
project_name |
Selectel project name that owns the DNS zones. |
All values support the {env.VAR} placeholder syntax.
| Directive | Description |
|---|---|
enable_debug_logging |
Enables verbose DEBUG-level log output for all DNS operations (bare flag = true). Accepts an optional value: true, false, 1, 0, or an env placeholder that resolves to one of these (e.g. {env.SELECTEL_DEBUG}). |
When enable_debug_logging is set, all provider messages (INFO, ERROR, and DEBUG) flow through Caddy's configured logging system at the debug level. Caddy's own log level setting controls whether they are emitted. The severity of each message is preserved as a [INFO] / [ERROR] / [DEBUG] prefix inside the message text.
{
log {
level DEBUG
}
acme_dns selectel {
user {env.SELECTEL_USER}
password {env.SELECTEL_PASSWORD}
account_id {env.SELECTEL_ACCOUNT_ID}
project_name {env.SELECTEL_PROJECT_NAME}
enable_debug_logging
}
}
This module requires a Selectel service user with access to the project that owns the DNS zones.
The Selectel DNS v2 API uses a project-scoped IAM token (Keystone v3). The module obtains and automatically refreshes this token — you only need to supply the service-user credentials above.