You are browsing documentation for an outdated plugin version.
Configuration
This plugin is compatible with DB-less mode.
Compatible protocols
The ACME plugin is compatible with the following protocols:
grpc
, grpcs
, http
, https
Parameters
Here's a list of all the parameters which can be used in this plugin's configuration:
-
string required
The name of the plugin, in this case
acme
.- If using the Kong Admin API, Konnect API, declarative configuration, or decK files, the field is
name
. - If using the KongPlugin object in Kubernetes, the field is
plugin
.
- If using the Kong Admin API, Konnect API, declarative configuration, or decK files, the field is
-
string
An optional custom name to identify an instance of the plugin, for example
acme_my-service
.The instance name shows up in Kong Manager and in Konnect, so it's useful when running the same plugin in multiple contexts, for example, on multiple services. You can also use it to access a specific plugin instance via the Kong Admin API.
An instance name must be unique within the following context:
- Within a workspace for Kong Gateway Enterprise
- Within a control plane or control plane group for Konnect
- Globally for Kong Gateway (OSS)
-
boolean default:
true
Whether this plugin will be applied.
-
record required
-
string required referenceable encrypted matches:
%w*%p*@+%w*%.?%w*
The account identifier. Can be reused in a different plugin instance.
-
record
A private key to use as the account key required by some issuers. This parameter is configured to use Key and Key Sets.
-
string default:
https://acme-v02.api.letsencrypt.org/directory
The ACMEv2 API endpoint to use. You can specify the Let’s Encrypt staging environment for testing. Kong doesn’t automatically delete staging certificates. If you use the same domain in test and production environments, you need to manually delete those certificates after testing.
-
boolean default:
false
If you are using Let’s Encrypt, you must set this to
true
to agree the Terms of Service.
-
string referenceable encrypted
External account binding (EAB) key id. You usually don’t need to set this unless it is explicitly required by the CA.
-
string referenceable encrypted
External account binding (EAB) base64-encoded URL string of the HMAC key. You usually don’t need to set this unless it is explicitly required by the CA.
-
string default:
rsa
Must be one of:rsa
,ecc
The certificate type to create. The possible values are
'rsa'
for RSA certificate or'ecc'
for EC certificate.
-
number default:
4096
Must be one of:2048
,3072
,4096
RSA private key size for the certificate. The possible values are 2048, 3072, or 4096.
-
number default:
14
Days remaining to renew the certificate before it expires.
-
array of type
string
The list of domains to create certificates for. To match subdomains under
example.com
, use*.example.com
. Regex pattern is not supported.This parameter is only used to match domains, not to specify the Common Name or Subject Alternative Name to create certificates. Each domain must have its own certificate. The ACME plugin checks this configuration before checking any certificate in
storage
when serving the certificate of a request.If this field is left empty, all top-level domains (TLDs) are allowed.
-
boolean default:
false
If set to
true
, the plugin allows all domains and ignores any values in thedomains
list.
-
number default:
5
Minutes to wait for each domain that fails to create a certificate. This applies to both a new certificate and a renewal certificate.
-
string default:
shm
Must be one of:kong
,shm
,redis
,consul
,vault
The backend storage type to use. The possible values are
'kong'
,'shm'
,'redis'
,'consul'
, or'vault'
. In DB-less mode,'kong'
storage is unavailable. Note that'shm'
storage does not persist during Kong restarts and does not work for Kong running on different machines, so consider using one of'kong'
,'redis'
,'consul'
, or'vault'
in production. Please refer to the Hybrid Mode sections below as well.
-
record required
-
record required
-
record required
-
record required
-
record required
-
record required
-
boolean default:
false
-
string
-
integer between:
0
65535
-
string
-
number
-
string referenceable
-
boolean default:
true
-
string
-
string default:
token
Must be one of:token
,kubernetes
-
string
-
string
-
string
-
-
-
string
-
boolean default:
true
-