This documentation covers Convox V2, our ECS-based engine. V2 is fully supported and actively maintained. Looking for the Kubernetes-based V3 engine? See docs.convox.com.
certs migrate
Switch the Rack's ACM certificates from email validation to DNS validation. Each certificate keeps its ARN and expiry and is not reissued, so Apps keep serving HTTPS throughout. A certificate is switched only once every DNS record it needs answers with the right value, checked the way convox certs dns checks it. A certificate whose records are not in place yet stays on email validation and keeps working, so the command is safe to run at any time.
The Rack also does this on its own every few minutes. Run convox certs migrate to do it at once and to see where each certificate stands. For convox.site certificates, the Rack first publishes their records through Convox. With Route53CertificateValidation set to Yes, it also writes records into Route 53 zones in the Rack's AWS account. See Certificate DNS Validation for the full migration.
Without arguments, the command covers every ACM certificate the Rack uses, including its convox.site certificates. Pass one or more certificate ids, such as acm-0a1b2c3d4e5f, to act on only those. A domain name is not accepted in place of an id.
Requires rack version 20261021234916 or newer, and CLI version 3.25.12 or newer, or 20261021234916 or newer. Against an older Rack the command returns ERROR: convox certs migrate requires a rack on the latest release.
Syntax
$ convox certs migrate [cert...]
Flags
| Flag | Short | Description |
|---|---|---|
--rack |
-r |
Rack name |
--wait |
-w |
Wait for the switches to finish |
Example Usage
$ convox certs migrate --wait
CERTIFICATE DOMAIN RESULT
acm-0a1b2c3d4e5f example.com switching
acm-1b2c3d4e5f6a shop.example.org switching
acm-89ea927329d7 *.myrack-router-123456789.us-east-1.convox.site dns
Waiting for switches to finish... OK
CERTIFICATE DOMAIN RESULT
acm-0a1b2c3d4e5f example.com dns
acm-1b2c3d4e5f6a shop.example.org dns
Switch one certificate:
$ convox certs migrate acm-1b2c3d4e5f6a
CERTIFICATE DOMAIN RESULT
acm-1b2c3d4e5f6a shop.example.org waiting for its DNS record (run convox certs dns)
Results
| Result | Meaning |
|---|---|
dns |
The certificate uses DNS validation. Nothing to do |
switching |
Every record answers, and the switch to DNS validation has started. convox certs shows migrating until ACM finishes |
publishing |
The record was just published, by Convox for a convox.site certificate or by the Rack in Route 53, and does not answer yet. The switch follows within a few minutes |
waiting for its DNS record (run convox certs dns) |
A record is missing or has another value, and the Rack cannot add it. Add the record convox certs dns shows |
preparing |
The Rack has not read the certificate's records from ACM yet. Run the command again in a minute |
pending |
ACM has not issued the certificate yet |
failed |
ACM could not issue the certificate, or its validation timed out |
imported |
An imported certificate or an ACM private certificate. These do not use email or DNS validation |
error: <message> |
The step failed. See Troubleshooting |
Common error messages:
| Message | Meaning |
|---|---|
error: not used by this rack |
The named certificate is not one this Rack uses. Run the command against the Rack that uses it |
error: certificate not found |
No ACM certificate in the Rack's region has that id |
error: validation failed: CAA_ERROR |
A CAA record on the domain does not allow Amazon to issue certificates. See Troubleshooting |
error: registrar <status>: <message> |
Convox could not publish a convox.site record. Messages that end in contact Convox support need Convox to act |
error: Post "https://certbot.convox.com/validation": ... |
The Rack cannot reach Convox to publish its convox.site records. Allow outbound HTTPS from the Rack, or through HttpProxy if the Rack uses one |
Waiting
With --wait, the command waits on the certificates whose result was switching, publishing or preparing. It checks every 10 seconds for up to 15 minutes, then prints their results:
| Outcome | Exit status |
|---|---|
Every certificate it waited on reached dns |
0, after Waiting for switches to finish... OK |
| No certificate needed waiting on | 0, returns at once |
| Any other result, or 15 minutes passed | 1, with ERROR: certificates did not finish switching: <ids> |
ACM can take up to 30 minutes to finish a switch. A switch still in progress when --wait gives up continues in the background, and convox certs shows its status, migrating and then dns. Without --wait, the command prints the results and exits 0.