diff --git a/README.md b/README.md index f1a1391..39721f3 100644 --- a/README.md +++ b/README.md @@ -107,8 +107,10 @@ terraform init Более подробно о сборке провайдера можно найти по ссылке: https://learn.hashicorp.com/tutorials/terraform/provider-use?in=terraform/providers ## Примеры работы -Примеры работы можно найти на: -- Вики проекта: https://github.com/rudecs/terraform-provider-decort/wiki -- В папке `samples` +Примеры работы можно найти: +- На вики проекта: https://github.com/rudecs/terraform-provider-decort/wiki +- В папке `samples` +Схемы к terraform'у доступны: +- В папке `docs` Хорошей работы! diff --git a/README_EN.md b/README_EN.md index 855928e..e3555ab 100644 --- a/README_EN.md +++ b/README_EN.md @@ -110,6 +110,8 @@ More details about the provider's building process: https://learn.hashicorp.com/ ## Examples and Samples - Examples: https://github.com/rudecs/terraform-provider-decort/wiki -- Samples: in repository `samples` +- Samples: see in repository `samples` +Terraform schemas in: +- See in repository `docs` Good work! diff --git a/samples/README.md b/samples/README.md index 230e860..80fa37a 100644 --- a/samples/README.md +++ b/samples/README.md @@ -13,6 +13,8 @@ - virtual_image - cdrom_image - delete_images + - k8s + - k8s_wg ## Как пользоваться примерами 1. Установить terraform diff --git a/samples/resource_k8s/main.tf b/samples/resource_k8s/main.tf new file mode 100644 index 0000000..ebd124a --- /dev/null +++ b/samples/resource_k8s/main.tf @@ -0,0 +1,122 @@ +/* +Пример использования +Ресурсов k8s cluster +Ресурсы позволяет: +1. Создавать +2. Редактировать +3. Удалять + +*/ + + + +#Расскомментируйте этот код, +#и внесите необходимые правки в версию и путь, +#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером +/* +terraform { + required_providers { + decort = { + source = "terraform.local/local/decort" + version = "1.0.0" + } + } +} +*/ + +provider "decort" { + authenticator = "oauth2" + oauth2_url = "https://sso.digitalenergy.online" + controller_url = "https://mr4.digitalenergy.online" + app_id = "" + app_secret = "" +} + + +resource "decort_k8s" "cluster" { + #имя кластера + #обязательный параметр + #при изменении - обновдяет имя кластера + #тип - строка + name = "tftest" + + #id resource group + #обязательный параметр + #тип - число + rg_id = 776 + + #id catalogue item + #обязательный параметр + #тип - число + k8sci_id = 9 + + #имя для первой worker group, созданной в кластере + #обязательный параметр + #тип - строка + wg_name = "workers" + + #настройка мастер node или nodes + #опциональный параметр + #максимальное кол-во элементов - 1 + #тип - список нод + masters { + #кол-во node + #обязательный параметр + #тип - число + num = 1 + + #кол-во cpu + #обязательный параметр + #тип - число + cpu = 2 + + + #кол-во RAM в Мбайтах + #обязательный параметр + #тип - число + ram = 2048 + + + #размер диска в Гбайтах + #обязательный параметр + #тип - число + disk = 10 + } + + #настройка worker node или nodes + #опциональный параметр + #максимальное кол-во элементов - 1 + #тип - список нод + workers { + #кол-во node + #обязательный параметр + #тип - число + num = 1 + + #кол-во cpu + #обязательный параметр + #тип - число + cpu = 2 + + #кол-во RAM в Мбайтах + #обязательный параметр + #тип - число + ram = 2048 + + #размер диска в Гбайтах + #обязательный параметр + #тип - число + disk = 10 + } +} + +output "test_cluster" { + value = decort_k8s.cluster +} + +/* +output "kubeconfig"{ + value = decort_k8s.cluster.kubeconfig +} + +*/ diff --git a/samples/resource_k8s_wg/main.tf b/samples/resource_k8s_wg/main.tf new file mode 100644 index 0000000..75429d6 --- /dev/null +++ b/samples/resource_k8s_wg/main.tf @@ -0,0 +1,76 @@ +/* +Пример использования +Ресурсов worker group +Ресурсы позволяет: +1. Создавать +2. Редактировать +3. Удалять + +*/ + + + +#Расскомментируйте этот код, +#и внесите необходимые правки в версию и путь, +#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером +/* +terraform { + required_providers { + decort = { + source = "terraform.local/local/decort" + version = "1.0.0" + } + } +} +*/ + +provider "decort" { + authenticator = "oauth2" + oauth2_url = "https://sso.digitalenergy.online" + controller_url = "https://mr4.digitalenergy.online" + app_id = "" + app_secret = "" +} + + +resource "decort_k8s_wg" "wg" { + #id экземпляра k8s + #обязательный параметр + #тип - число + k8s_id = 1234 //это значение должно быть и результат вызова decort_k8s.cluster.id + + #имя worker group + #обязательный параметр + #тип - строка + name = "workers-2" + + #количество worker node для создания + #опциональный параметр + #тип - число + #по - умолчанию - 1 + num = 2 + + #количество cpu для 1 worker node + #опциональный параметр + #тип - число + #по - умолчанию - 1 + cpu = 1 + + #количество RAM для одной worker node в Мбайтах + #опциональный параметр + #тип - число + #по-умолчанию - 1024 + ram = 1024 + + #размер загрузочного диска для worker node, в Гбайтах + #опциональный параметр + #тип - число + #по - умолчанию - 0 + #если установлен параметр 0, то размер диска будет равен размеру образа + disk = 10 +} + + +output "test_wg" { + value = decort_k8s_wg.wg +}