# #gitlab #terraform
Вопрос:
У меня есть внутренний размещенный экземпляр GitLab, и я пытаюсь предоставить ресурсы, используя на нем Terraform.
Однако это приводит меня к следующей ошибке:
**Error: Get "https://admin-repo.[ORG DOMAIN].com/api/v4/user": x509: certificate signed by unknown authority**
terraform {
required_providers {
gitlab = {
source = "gitlabhq/gitlab"
version = "3.7.0"
}
}
}
provider "gitlab" {
token = var.token
base_url = var.base_url
}
#token = "******"
#base_url = "https://admin-repo.[ORG DOMAIN].com"
Я понимаю, что это проблема с отсутствием сертификата, так как не могу получить доступ к URL-адресу с помощью браузера, так как он дает NET::ERR_CERT_AUTHORITY_INVALID
Мой вопрос в том, как получить этот сертификат и настроить terraform для его использования для аутентификации?
Ответ №1:
Я полагаю, ваша проблема в том, что у вас есть самозаверяющий сертификат вместо сертификата от признанного центра сертификации.
Если вы не хотите тратить деньги на свой сертификат, возможно, самым простым способом было бы приобрести его у Let’s Encrypt using certbot
. После этого вы можете предоставить этот сертификат Terraform без каких-либо проблем.
Инструкции для certbot
этого прекрасно объясняются в их собственной сети в зависимости от вашей машины и развернутого приложения:
Комментарии:
1. Но как я могу поручить terraform использовать конкретный сертификат?
2. Terraform не нуждается в определенном сертификате. Let’s Encrypt уже является доверенным центром сертификации, поэтому, как только у вас появится сертификат, выданный ими, он распознает сертификат как выданный действительным эмитентом и не будет жаловаться. Было бы по-другому, если бы вы хотели использовать самозаверяющий сертификат. Проверьте здесь наличие самозаверяющих сертификатов: support.hashicorp.com/hc/en-us/articles/…