Вопрос №56063 от пользователя Павел Бирюков в проекте «Инфраструктура как код»
При использовании Digital Ocean при удалении инфраструктуры могут возникнуть сложности из-за сертификата, который используется. Для этого необходимо удалить сперва сертификат, а потом остальную инфраструктуру
Мы же в балансировщике указываем этот сертификат. Мне казалось, что terraform сам может "разрулить" такую простую зависимость. Или я ошибаюсь?
Павел, добрый день.
Terraform находится в активной разработке, поэтому иногда бывает, что не всё работает так, как нужно.
Николай, мне удалось воспроизвести ошибки при создании/удалении инфраструктуры, только в том случае, если при создании сертификата в поле domains
использовать значение из переменной или просто вписать имя строкой.
Ошибки:
│ Error: Error creating Certificate: POST https://api.digitalocean.com/v2/certificates: 422 (request "bb8dbaed-476d-424f-b3fa-737a0eded225") failed to find related domains
│
│ with digitalocean_certificate.cert,
│ on main.tf line 17, in resource "digitalocean_certificate" "cert":
│ 17: resource "digitalocean_certificate" "cert" {
│
│ Error: Error deleting Domain: DELETE https://api.digitalocean.com/v2/domains/devops-for-programmers-prod.club: 422 DNS domain is currently in use by a Let's Encrypt certificate, deleting this domain would prevent the Let's Encrypt certificate renewal
В том случае, если используется название домена из ресурса, digitalocean_domain.локальное_имя_ресурса.name
, то таких ошибок мне воспроизвести не удалось.
Выглядит в принципе логичным, т.к. когда мы используем название из ресурса, то Terraform может корректно построить зависимости. В противном случае он просто ничего не знает о зависимостях между этими ресурсами.
P.S.
При использовании Digital Ocean при удалении инфраструктуры могут возникнуть сложности из-за сертификата, который используется. Для этого необходимо удалить сперва сертификат, а потом остальную инфраструктуру
Сертификат не удастся удалить, если он используется в балансировщике.
Используйте Хекслет по максимуму!
- Задавайте вопросы по уроку
- Проверяйте знания в квизах
- Проходите практику прямо в браузере
- Отслеживайте свой прогресс
Зарегистрируйтесь или войдите в свой аккаунт
С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.







