Skip to content

Commit 6bacbb7

Browse files
v1km4nAlexey Orlov
andauthored
Обновление провайдеров и пайплайна (#19)
Co-authored-by: Alexey Orlov <orlov.aa@selectel.com>
1 parent bc566c0 commit 6bacbb7

File tree

46 files changed

+120
-228
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+120
-228
lines changed

.github/workflows/modules.yml

Lines changed: 10 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
1-
name: 'Modules Test Run - Terraform v1.10.2'
1+
name: 'Modules Test Run - Terraform v1.10.3'
22

33
on:
44
schedule:
5-
- cron: '0 8 * * 1' # run every Monday at 11:00 MSK
5+
- cron: '0 8 * * 2' # run every Tuesday at 11:00 MSK
66
workflow_dispatch:
77

88
jobs:
99
setup:
10-
name: 'Modules Test Run - Terraform v1.10.2'
10+
name: 'Modules Test Run - Terraform v1.10.3'
1111
runs-on: self-hosted
1212
env:
13-
terraform_link: ${{ secrets.TERRAFORM_BINARY_LATEST }}
13+
terraform_link: ${{ secrets.TERRAFORM_BINARY }}
1414
TF_VAR_selectel_domain_name: ${{ secrets.SELECTEL_ID }}
1515
TF_VAR_selectel_user_admin_user: ${{ secrets.SERVICE_USER }}
1616
TF_VAR_selectel_user_admin_password: ${{ secrets.SERVICE_PASSWORD }}
@@ -62,11 +62,7 @@ jobs:
6262
run: >
6363
terraform init -reconfigure
6464
-backend-config="bucket=github-terraform-state"
65-
-backend-config="endpoint=s3.ru-1.storage.selcloud.ru"
6665
-backend-config="key=github-infra-examples.tfstate"
67-
-backend-config="region=ru-1"
68-
-backend-config="skip_region_validation=true"
69-
-backend-config="skip_credentials_validation=true"
7066
-backend-config="access_key=${{ secrets.S3_ACCESS_KEY }}"
7167
-backend-config="secret_key=${{ secrets.S3_SECRET_KEY }}"
7268
@@ -76,17 +72,14 @@ jobs:
7672
- name: Terraform destroy
7773
run: terraform destroy -auto-approve
7874

79-
- name: Telegram notify if job was failed
80-
if: ${{ failure() }}
75+
- name: Telegram notify if failed on main branch
76+
if: ${{ (failure()) && (github.ref == 'refs/heads/main') }}
8177
uses: appleboy/telegram-action@master
8278
with:
8379
to: ${{ secrets.TELEGRAM_TO }}
8480
token: ${{ secrets.TELEGRAM_TOKEN }}
8581
message: |
86-
-= GITHUB public repository selectel/selectel-infra-examples =-
87-
Terraform modules build pipeline was failed
88-
🚨 Critical
89-
Не катится пайпа, необходимо принять меры, возможно внутренние пайпы с terraform так же не будут катиться.
90-
91-
⚡️Workflow: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}
92-
🔥 See changes: https://github.com/${{ github.repository }}/commit/${{ github.sha }}
82+
⚙️ *GitHub repository selectel/selectel-infra-examples*
83+
84+
🔥 *Pipeline has failed*
85+
➡️ *Workflow:* https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}

.github/workflows/opentofu.yml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,7 @@ jobs:
4141
run: >
4242
tofu init -reconfigure
4343
-backend-config="bucket=github-terraform-state"
44-
-backend-config="endpoint=s3.ru-1.storage.selcloud.ru"
4544
-backend-config="key=github-infra-examples.tfstate"
46-
-backend-config="region=ru-1"
47-
-backend-config="skip_region_validation=true"
48-
-backend-config="skip_credentials_validation=true"
4945
-backend-config="access_key=${{ secrets.S3_ACCESS_KEY }}"
5046
-backend-config="secret_key=${{ secrets.S3_SECRET_KEY }}"
5147

.github/workflows/tf-pre-bsl.yml

Lines changed: 0 additions & 92 deletions
This file was deleted.

README.md

Lines changed: 17 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
# Selectel Terraform Modules Example
22

3-
| Description | Pipeline Status | Version |
4-
|-------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------|
5-
| Terraform v1.10.2 | [![](https://github.com/selectel/selectel-infra-examples/actions/workflows/modules.yml/badge.svg)](https://github.com/selectel/selectel-infra-examples/actions/workflows/modules.yml) | [![version](https://img.shields.io/badge/Terraform-1.10.2-green.svg)](https://github.com/hashicorp/terraform/releases/tag/v1.10.2) |
6-
| Terraform Pre-BSL | [![](https://github.com/selectel/selectel-infra-examples/actions/workflows/tf-pre-bsl.yml/badge.svg)](https://github.com/selectel/selectel-infra-examples/actions/workflows/tf-pre-bsl.yml) | [![version](https://img.shields.io/badge/Terraform-1.5.7-green.svg)](https://github.com/hashicorp/terraform/releases/tag/v1.5.7) |
7-
| OpenTofu Latest | [![](https://github.com/selectel/selectel-infra-examples/actions/workflows/opentofu.yml/badge.svg)](https://github.com/selectel/selectel-infra-examples/actions/workflows/opentofu.yml) | [![version](https://img.shields.io/badge/OpenTofu-Latest-green.svg)](https://github.com/opentofu/opentofu/releases/latest) |
3+
| | Pipeline Status | Version |
4+
|-------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------|
5+
| Terraform v1.10.3 | [![](https://github.com/selectel/selectel-infra-examples/actions/workflows/modules.yml/badge.svg)](https://github.com/selectel/selectel-infra-examples/actions/workflows/modules.yml) | [![version](https://img.shields.io/badge/Terraform-1.10.3-green.svg)](https://github.com/hashicorp/terraform/releases/tag/v1.10.3) |
6+
| OpenTofu Latest | [![](https://github.com/selectel/selectel-infra-examples/actions/workflows/opentofu.yml/badge.svg)](https://github.com/selectel/selectel-infra-examples/actions/workflows/opentofu.yml) | [![version](https://img.shields.io/badge/OpenTofu-Latest-green.svg)](https://github.com/opentofu/opentofu/releases/latest) |
87

98
- [Selectel Terraform Modules Example](#selectel-terraform-modules-example)
109
- [Использование](#использование)
@@ -15,19 +14,17 @@
1514
- [Структура репозитория](#структура-репозитория)
1615
- [Modules](#modules)
1716

18-
В [данном репозитории](https://github.com/selectel/selectel-infra-examples) находятся примеры Terraform модулей, используемых для создания инфраструктуры в облаке Selectel. Также в репозитории еженедельно запускаются пайплайны с тестовым созданием ресурсов с помощью **Terraform** и **OpenTofu**.
17+
В [данном репозитории](https://github.com/selectel/selectel-infra-examples) находятся примеры Terraform модулей, используемых для создания инфраструктуры в облаке Selectel. Также в репозитории еженедельно запускаются пайплайны с тестовым созданием ресурсов с помощью **Terraform** и **OpenTofu**.
1918

2019
**P.S.** Если вы не нашли пример для создания определенного ресурса - можете оставить issue и мы примем во внимание необходимость его добавления.
2120

2221
Перед началом работы с облачными ресурсами Selectel через Terraform/OpenTofu рекомендуем ознакомиться с [документацией по провайдеру Selectel/OpenStack](https://docs.selectel.ru/terraform/).
2322

2423
## Использование
2524

26-
> Далее все команды terraform-cli могут быть заменены на tofu. Будут работать оба варианта.
25+
> Все последующие команды terraform-cli могут быть заменены на opentofu.
2726
>
28-
> Перед использованием **проверьте версию Terraform/OpenTofu**, данный репозиторий гарантирует запуск Terraform кода только на определенной версии Terraform/OpenTofu - [см. в шапке README](#selectel-terraform-modules-example). Версия Terraform 1.5.5 обусловлена переходом начиная с версии 1.6 на лицензию BSL.
29-
>
30-
> Также убедитесь, что в вашем env нет лишних переменных вида "OS_*", их наличие повлияет на провайдер Openstack.
27+
> Убедитесь, что в вашем env нет лишних переменных вида "OS_*", их наличие повлияет на провайдер Openstack.
3128
3229
### 1. .terraformrc/.tofurc
3330

@@ -53,41 +50,26 @@ terraform {
5350
}
5451
```
5552

56-
<details>
57-
<summary>Пример передачи `backend` для хранения стейта в S3 через CLI:</summary>
58-
59-
```bash
60-
terraform init \
61-
-backend-config="bucket=< имя бакета s3 >" \
62-
-backend-config="endpoint=s3.ru-1.storage.selcloud.ru" \
63-
-backend-config="key=< имя стейт-файла >.tfstate" \
64-
-backend-config="region=ru-1" \
65-
-backend-config="skip_region_validation=true" \
66-
-backend-config="skip_credentials_validation=true" \
67-
-backend-config="access_key=< S3_ACCESS_KEY >" \
68-
-backend-config="secret_key=< secrets.S3_SECRET_KEY >"
69-
```
70-
</details>
71-
72-
<details>
73-
<summary>Через tf файл:</summary>
53+
Пример передачи `backend` для хранения стейта в S3:
7454

7555
```terraform
7656
terraform {
7757
backend "s3" {
78-
bucket = "< имя бакета s3 >"
79-
endpoint = "s3.ru-1.storage.selcloud.ru"
80-
key = "< имя стейт-файла >.tfstate"
58+
bucket = "<название бакета s3>"
59+
key = "<название стейт-файла>.tfstate"
60+
access_key = "<access_key>"
61+
secret_key = "<secret_key>"
62+
endpoints = { s3 = "https://s3.ru-1.storage.selcloud.ru" }
8163
region = "ru-1"
82-
access_key = "< S3_ACCESS_KEY >"
83-
secret_key = "< secrets.S3_SECRET_KEY >"
84-
64+
8565
skip_region_validation = true
8666
skip_credentials_validation = true
67+
skip_requesting_account_id = true
68+
skip_s3_checksum = true
69+
skip_metadata_api_check = true
8770
}
8871
}
8972
```
90-
</details>
9173

9274
### 3. Init
9375

README_TF.md

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,15 @@
33

44
| Name | Version |
55
|------|---------|
6-
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.0.0, <= 1.6.2 |
7-
| <a name="requirement_openstack"></a> [openstack](#requirement\_openstack) | 1.53.0 |
8-
| <a name="requirement_selectel"></a> [selectel](#requirement\_selectel) | 5.1.1 |
6+
| <a name="requirement_openstack"></a> [openstack](#requirement\_openstack) | 3.0.0 |
7+
| <a name="requirement_selectel"></a> [selectel](#requirement\_selectel) | 6.0.1 |
98

109
## Providers
1110

1211
| Name | Version |
1312
|------|---------|
14-
| <a name="provider_openstack"></a> [openstack](#provider\_openstack) | 1.53.0 |
15-
| <a name="provider_selectel"></a> [selectel](#provider\_selectel) | 5.1.1 |
13+
| <a name="provider_openstack"></a> [openstack](#provider\_openstack) | 3.0.0 |
14+
| <a name="provider_selectel"></a> [selectel](#provider\_selectel) | 6.0.1 |
1615

1716
## Modules
1817

@@ -38,7 +37,7 @@
3837

3938
| Name | Description | Type | Default | Required |
4039
|------|-------------|------|---------|:--------:|
41-
| <a name="input_flavor_name"></a> [flavor\_name](#input\_flavor\_name) | Название флавора | `string` | n/a | yes |
40+
| <a name="input_flavor_name"></a> [flavor\_name](#input\_flavor\_name) | Название флавора | `string` | `"1013"` | no |
4241
| <a name="input_os_auth_url"></a> [os\_auth\_url](#input\_os\_auth\_url) | URL до openstack api | `string` | `"https://cloud.api.selcloud.ru/identity/v3"` | no |
4342
| <a name="input_selectel_domain_name"></a> [selectel\_domain\_name](#input\_selectel\_domain\_name) | ID Selectel аккаунта | `string` | n/a | yes |
4443
| <a name="input_selectel_user_admin_password"></a> [selectel\_user\_admin\_password](#input\_selectel\_user\_admin\_password) | Пароль от сервисного пользователя | `string` | n/a | yes |

modules/craas/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@
33

44
| Name | Version |
55
|------|---------|
6-
| <a name="requirement_selectel"></a> [selectel](#requirement\_selectel) | >=5.0.2 |
6+
| <a name="requirement_selectel"></a> [selectel](#requirement\_selectel) | ~> 6.0.0 |
77

88
## Providers
99

1010
| Name | Version |
1111
|------|---------|
12-
| <a name="provider_selectel"></a> [selectel](#provider\_selectel) | >=5.0.2 |
12+
| <a name="provider_selectel"></a> [selectel](#provider\_selectel) | ~> 6.0.0 |
1313

1414
## Modules
1515

modules/craas/versions.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ terraform {
22
required_providers {
33
selectel = {
44
source = "registry.terraform.io/selectel/selectel"
5-
version = ">=5.0.2"
5+
version = "~> 6.0.0"
66
}
77
}
88
}

modules/flavor/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@
33

44
| Name | Version |
55
|------|---------|
6-
| <a name="requirement_openstack"></a> [openstack](#requirement\_openstack) | 1.53.0 |
6+
| <a name="requirement_openstack"></a> [openstack](#requirement\_openstack) | ~> 3.0.0 |
77

88
## Providers
99

1010
| Name | Version |
1111
|------|---------|
12-
| <a name="provider_openstack"></a> [openstack](#provider\_openstack) | 1.53.0 |
12+
| <a name="provider_openstack"></a> [openstack](#provider\_openstack) | ~> 3.0.0 |
1313

1414
## Modules
1515

modules/flavor/versions.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ terraform {
22
required_providers {
33
openstack = {
44
source = "registry.terraform.io/terraform-provider-openstack/openstack"
5-
version = "1.53.0"
5+
version = "~> 3.0.0"
66
}
77
}
88
}

modules/floatingip/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@
33

44
| Name | Version |
55
|------|---------|
6-
| <a name="requirement_openstack"></a> [openstack](#requirement\_openstack) | 1.53.0 |
6+
| <a name="requirement_openstack"></a> [openstack](#requirement\_openstack) | ~> 3.0.0 |
77

88
## Providers
99

1010
| Name | Version |
1111
|------|---------|
12-
| <a name="provider_openstack"></a> [openstack](#provider\_openstack) | 1.53.0 |
12+
| <a name="provider_openstack"></a> [openstack](#provider\_openstack) | ~> 3.0.0 |
1313

1414
## Modules
1515

0 commit comments

Comments
 (0)