Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9d15af9259 |
19
CHANGELOG.md
19
CHANGELOG.md
@@ -1,5 +1,16 @@
|
|||||||
### Bug fixes
|
## 2.0
|
||||||
- k8s state import
|
|
||||||
|
|
||||||
### Minor changes
|
### New data sources
|
||||||
- increased k8s and k8s\_wg create/update timeouts
|
- image
|
||||||
|
- image\_list
|
||||||
|
- grid
|
||||||
|
- grid\_list
|
||||||
|
- image\_list\_stacks
|
||||||
|
|
||||||
|
### New resources
|
||||||
|
- image
|
||||||
|
- virtual\_image
|
||||||
|
- cdrom\_image
|
||||||
|
- delete\_images
|
||||||
|
- k8s
|
||||||
|
- k8s\_wg
|
||||||
|
|||||||
@@ -107,11 +107,8 @@ terraform init
|
|||||||
Более подробно о сборке провайдера можно найти по ссылке: https://learn.hashicorp.com/tutorials/terraform/provider-use?in=terraform/providers
|
Более подробно о сборке провайдера можно найти по ссылке: https://learn.hashicorp.com/tutorials/terraform/provider-use?in=terraform/providers
|
||||||
|
|
||||||
## Примеры работы
|
## Примеры работы
|
||||||
Примеры работы можно найти:
|
Примеры работы можно найти на:
|
||||||
- На вики проекта: https://github.com/rudecs/terraform-provider-decort/wiki
|
- Вики проекта: https://github.com/rudecs/terraform-provider-decort/wiki
|
||||||
- В папке `samples`
|
- В папке `samples`
|
||||||
|
|
||||||
Схемы к terraform'у доступны:
|
|
||||||
- В папке `docs`
|
|
||||||
|
|
||||||
Хорошей работы!
|
Хорошей работы!
|
||||||
|
|||||||
@@ -110,9 +110,6 @@ More details about the provider's building process: https://learn.hashicorp.com/
|
|||||||
|
|
||||||
## Examples and Samples
|
## Examples and Samples
|
||||||
- Examples: https://github.com/rudecs/terraform-provider-decort/wiki
|
- Examples: https://github.com/rudecs/terraform-provider-decort/wiki
|
||||||
- Samples: see in repository `samples`
|
- Samples: in repository `samples`
|
||||||
|
|
||||||
Terraform schemas in:
|
|
||||||
- See in repository `docs`
|
|
||||||
|
|
||||||
Good work!
|
Good work!
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ import (
|
|||||||
var Timeout30s = time.Second * 30
|
var Timeout30s = time.Second * 30
|
||||||
var Timeout60s = time.Second * 60
|
var Timeout60s = time.Second * 60
|
||||||
var Timeout180s = time.Second * 180
|
var Timeout180s = time.Second * 180
|
||||||
var Timeout20m = time.Minute * 20
|
var Timeout10m = time.Minute * 10
|
||||||
|
|
||||||
//
|
//
|
||||||
// structures related to /cloudapi/rg/list API
|
// structures related to /cloudapi/rg/list API
|
||||||
|
|||||||
@@ -58,6 +58,7 @@ func parseNode(nodeList []interface{}) K8sNodeRecord {
|
|||||||
func nodeToResource(node K8sNodeRecord) []interface{} {
|
func nodeToResource(node K8sNodeRecord) []interface{} {
|
||||||
mp := make(map[string]interface{})
|
mp := make(map[string]interface{})
|
||||||
|
|
||||||
|
mp["id"] = node.ID
|
||||||
mp["num"] = node.Num
|
mp["num"] = node.Num
|
||||||
mp["cpu"] = node.Cpu
|
mp["cpu"] = node.Cpu
|
||||||
mp["ram"] = node.Ram
|
mp["ram"] = node.Ram
|
||||||
|
|||||||
@@ -346,9 +346,9 @@ func resourceK8s() *schema.Resource {
|
|||||||
},
|
},
|
||||||
|
|
||||||
Timeouts: &schema.ResourceTimeout{
|
Timeouts: &schema.ResourceTimeout{
|
||||||
Create: &Timeout20m,
|
Create: &Timeout10m,
|
||||||
Read: &Timeout30s,
|
Read: &Timeout30s,
|
||||||
Update: &Timeout20m,
|
Update: &Timeout10m,
|
||||||
Delete: &Timeout60s,
|
Delete: &Timeout60s,
|
||||||
Default: &Timeout60s,
|
Default: &Timeout60s,
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -238,9 +238,9 @@ func resourceK8sWg() *schema.Resource {
|
|||||||
},
|
},
|
||||||
|
|
||||||
Timeouts: &schema.ResourceTimeout{
|
Timeouts: &schema.ResourceTimeout{
|
||||||
Create: &Timeout20m,
|
Create: &Timeout10m,
|
||||||
Read: &Timeout30s,
|
Read: &Timeout30s,
|
||||||
Update: &Timeout20m,
|
Update: &Timeout10m,
|
||||||
Delete: &Timeout60s,
|
Delete: &Timeout60s,
|
||||||
Default: &Timeout60s,
|
Default: &Timeout60s,
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -13,8 +13,6 @@
|
|||||||
- virtual_image
|
- virtual_image
|
||||||
- cdrom_image
|
- cdrom_image
|
||||||
- delete_images
|
- delete_images
|
||||||
- k8s
|
|
||||||
- k8s_wg
|
|
||||||
|
|
||||||
## Как пользоваться примерами
|
## Как пользоваться примерами
|
||||||
1. Установить terraform
|
1. Установить terraform
|
||||||
|
|||||||
@@ -1,122 +0,0 @@
|
|||||||
/*
|
|
||||||
Пример использования
|
|
||||||
Ресурсов 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
|
|
||||||
}
|
|
||||||
|
|
||||||
*/
|
|
||||||
@@ -1,76 +0,0 @@
|
|||||||
/*
|
|
||||||
Пример использования
|
|
||||||
Ресурсов 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
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user