Этот проект содержит Terraform провайдер для управления DNS записями с использованием API reg.ru. Провайдер позволяет создавать, читать и удалять различные типы DNS записей, включая A, AAAA, CNAME, MX и TXT.
Для использования этого провайдера вам необходимо установить Terraform версии 0.12 или выше. Вы можете скачать Terraform с официального сайта.
-
Создайте файл переменных:
Создайте файл
variables.tf
и добавьте следующие переменные:variable "username" { description = "Username for the reg.ru API" default = "my_username" } variable "password" { description = "Password for the reg.ru API" default = "my_password" } variable "cert_file" { description = "Path to the client SSL certificate file" default = "./my.crt" } variable "key_file" { description = "Path to the client SSL key file" default = "./my.key" }
-
Создайте основной конфигурационный файл:
Создайте файл
main.tf
с основной конфигурацией для провайдера и ресурсов:terraform { required_providers { regru = { version = "~>0.2.0" source = "letenkov/regru" } } } provider "regru" { api_username = var.username api_password = var.password cert_file = var.cert_file key_file = var.key_file } resource "regru_dns_record" "example_com" { zone = "example.com" name = "@" type = "A" record = "185.199.108.153" } resource "regru_dns_record" "example_com_ipv6" { zone = "example.com" name = "@" type = "AAAA" record = "2606:2800:220:1:248:1893:25c8:1946" } resource "regru_dns_record" "example_com_mx" { zone = "example.com" name = "@" type = "MX" record = "10 mail.example.com" } resource "regru_dns_record" "example_com_txt" { zone = "example.com" name = "@" type = "TXT" record = "v=spf1 include:example.com ~all" }
-
Инициализация Terraform:
В каталоге с конфигурационными файлами выполните команду:
terraform init
-
Планирование конфигурации:
Перед применением конфигурации рекомендуется выполнить команду
terraform plan
, чтобы увидеть, какие изменения будут внесены:terraform plan
Эта команда покажет, какие ресурсы будут созданы, изменены или удалены.
-
Применение конфигурации:
Для создания указанных ресурсов выполните команду:
terraform apply
Для сборки проекта используется Makefile
. Убедитесь, что у вас установлен Go.
-
Клонируйте репозиторий:
git clone https://github.com/yourusername/terraform-regru.git cd terraform-regru
-
Установите зависимости:
Выполните команду для установки всех зависимостей:
make install-deps
-
Соберите провайдер:
Выполните команду для сборки провайдера:
make build
-
Убедитесь, что провайдер установлен правильно:
Проверьте, что собранный провайдер находится в правильной директории:
ls ~/.terraform.d/plugins/registry.terraform.io/letenkov/regru/0.2.1/$(go env GOOS)_$(go env GOARCH)/
Этот проект лицензируется на условиях лицензии Apache 2.0. Подробнее см. в файле LICENSE.