no zero-downtime migration path with universal ssl certificate #4643
Labels
kind/bug
Categorizes issue or PR as related to a bug.
triage/needs-information
Indicates an issue needs more information in order to work on it.
Confirmation
Terraform and Cloudflare provider version
1.9
4.46
Affected resource(s)
cloudflare_record
cloudflare_certificate_pack
Terraform configuration files
Link to debug output
Panic output
No response
Expected output
record created, certificate issued
Actual output
Error: expected type to be one of ["advanced"], got universal
Steps to reproduce
We're running multiple Partial DNS zones.
Previously, when you created a proxied record, it immediately issued the appropriate certificate automatically without further validation. This worked since the zone itself was ownership validated and Cloudflare found this sufficient proof of ownership.
Issue 1
Now when creating a
cloudflare_record
, the universal certificate will be created withhttp
validation as default and no option to override. This happens automatically on creation of the record resource.This is no concern, when the record pointing to Cloudflare is created first. As outlined in the documentation, the certificate will be issued after a brief downtime since Cloudflare can serve the necessary validation http request automatically.
But this does not work when a record is created first in Cloudflare to avoid the mentioned downtime and allow for a zero impact migration.
Issue 2
The attempted workaround to this, was to mange the certificate through a
cloudflare_certificate_pack
resource. But this does not support universal certificates and would require the issuance of an advanced certificate which are quota'd.So the only options right now for such a zero downtime migration are either to extract the validation url and content to serve it through the live host or to manually send a PATCH request to change the validation method of the universal certificate.
Issue 3
The third issue is therefore, that you can not access universal certificates through terraform in order to extract the needed validation url and content to serve it elsewhere.
In any case it's not possible to do this natively with terraform and would require manual intervention.
Additional factoids
No response
References
No response
The text was updated successfully, but these errors were encountered: