Skip to content

Commit add06f0

Browse files
authored
feat: update modules and add support for legacy VNI (#94)
BREAKING CHANGE: The VSI's will be re-created.
1 parent 3024093 commit add06f0

File tree

11 files changed

+172
-152
lines changed

11 files changed

+172
-152
lines changed

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,5 @@ on:
88

99
jobs:
1010
call-terraform-release-pipeline:
11-
uses: terraform-ibm-modules/common-pipeline-assets/.github/workflows/common-release.yml@v1.22.5
11+
uses: terraform-ibm-modules/common-pipeline-assets/.github/workflows/common-release.yml@v1.24.0
1212
secrets: inherit

ibm_catalog.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -226,6 +226,9 @@
226226
{
227227
"key": "data_vsi_per_subnet"
228228
},
229+
{
230+
"key": "use_legacy_network_interface"
231+
},
229232
{
230233
"key": "data_security_group"
231234
},

solutions/e2e/README.md

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -105,35 +105,35 @@ statement instead the previous block.
105105
| Name | Version |
106106
|------|---------|
107107
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3.0 |
108-
| <a name="requirement_ibm"></a> [ibm](#requirement\_ibm) | 1.76.3 |
109-
| <a name="requirement_null"></a> [null](#requirement\_null) | 3.2.3 |
110-
| <a name="requirement_random"></a> [random](#requirement\_random) | 3.7.1 |
108+
| <a name="requirement_ibm"></a> [ibm](#requirement\_ibm) | 1.85.0 |
109+
| <a name="requirement_null"></a> [null](#requirement\_null) | 3.2.4 |
110+
| <a name="requirement_random"></a> [random](#requirement\_random) | 3.7.2 |
111111

112112
### Modules
113113

114114
| Name | Source | Version |
115115
|------|--------|---------|
116116
| <a name="module_app_tier_autoscale"></a> [app\_tier\_autoscale](#module\_app\_tier\_autoscale) | github.com/terraform-ibm-modules/terraform-ibm-landing-zone-vsi-autoscale | v1.0.3 |
117-
| <a name="module_data_tier_vsi"></a> [data\_tier\_vsi](#module\_data\_tier\_vsi) | terraform-ibm-modules/landing-zone-vsi/ibm | 4.2.0 |
118-
| <a name="module_landing_zone"></a> [landing\_zone](#module\_landing\_zone) | git::https://github.com/terraform-ibm-modules/terraform-ibm-landing-zone.git//patterns/vsi/module | v6.2.1 |
119-
| <a name="module_private_secret_engine"></a> [private\_secret\_engine](#module\_private\_secret\_engine) | terraform-ibm-modules/secrets-manager-private-cert-engine/ibm | 1.3.4 |
120-
| <a name="module_secrets_manager_group"></a> [secrets\_manager\_group](#module\_secrets\_manager\_group) | terraform-ibm-modules/secrets-manager-secret-group/ibm | 1.2.2 |
121-
| <a name="module_secrets_manager_private_certificate"></a> [secrets\_manager\_private\_certificate](#module\_secrets\_manager\_private\_certificate) | terraform-ibm-modules/secrets-manager-private-cert/ibm | 1.3.2 |
122-
| <a name="module_sm_resource_group"></a> [sm\_resource\_group](#module\_sm\_resource\_group) | terraform-ibm-modules/resource-group/ibm | 1.1.6 |
117+
| <a name="module_data_tier_vsi"></a> [data\_tier\_vsi](#module\_data\_tier\_vsi) | terraform-ibm-modules/landing-zone-vsi/ibm | 5.17.0 |
118+
| <a name="module_landing_zone"></a> [landing\_zone](#module\_landing\_zone) | git::https://github.com/terraform-ibm-modules/terraform-ibm-landing-zone.git//patterns/vsi/module | v8.13.1 |
119+
| <a name="module_private_secret_engine"></a> [private\_secret\_engine](#module\_private\_secret\_engine) | terraform-ibm-modules/secrets-manager-private-cert-engine/ibm | 1.11.1 |
120+
| <a name="module_secrets_manager_group"></a> [secrets\_manager\_group](#module\_secrets\_manager\_group) | terraform-ibm-modules/secrets-manager-secret-group/ibm | 1.3.19 |
121+
| <a name="module_secrets_manager_private_certificate"></a> [secrets\_manager\_private\_certificate](#module\_secrets\_manager\_private\_certificate) | terraform-ibm-modules/secrets-manager-private-cert/ibm | 1.9.2 |
122+
| <a name="module_sm_resource_group"></a> [sm\_resource\_group](#module\_sm\_resource\_group) | terraform-ibm-modules/resource-group/ibm | 1.4.0 |
123123
| <a name="module_web_tier_autoscale"></a> [web\_tier\_autoscale](#module\_web\_tier\_autoscale) | github.com/terraform-ibm-modules/terraform-ibm-landing-zone-vsi-autoscale | v1.0.3 |
124124

125125
### Resources
126126

127127
| Name | Type |
128128
|------|------|
129-
| [ibm_iam_authorization_policy.s2s_lb_to_sm](https://registry.terraform.io/providers/IBM-Cloud/ibm/1.76.3/docs/resources/iam_authorization_policy) | resource |
130-
| [ibm_resource_instance.secrets_manager](https://registry.terraform.io/providers/IBM-Cloud/ibm/1.76.3/docs/resources/resource_instance) | resource |
131-
| [null_resource.primary_postgresql_install](https://registry.terraform.io/providers/hashicorp/null/3.2.3/docs/resources/resource) | resource |
132-
| [null_resource.secondary_postgresql_install](https://registry.terraform.io/providers/hashicorp/null/3.2.3/docs/resources/resource) | resource |
133-
| [random_password.password](https://registry.terraform.io/providers/hashicorp/random/3.7.1/docs/resources/password) | resource |
134-
| [ibm_is_image.app_is_image](https://registry.terraform.io/providers/IBM-Cloud/ibm/1.76.3/docs/data-sources/is_image) | data source |
135-
| [ibm_is_image.data_is_image](https://registry.terraform.io/providers/IBM-Cloud/ibm/1.76.3/docs/data-sources/is_image) | data source |
136-
| [ibm_is_image.web_is_image](https://registry.terraform.io/providers/IBM-Cloud/ibm/1.76.3/docs/data-sources/is_image) | data source |
129+
| [ibm_iam_authorization_policy.s2s_lb_to_sm](https://registry.terraform.io/providers/IBM-Cloud/ibm/1.85.0/docs/resources/iam_authorization_policy) | resource |
130+
| [ibm_resource_instance.secrets_manager](https://registry.terraform.io/providers/IBM-Cloud/ibm/1.85.0/docs/resources/resource_instance) | resource |
131+
| [null_resource.primary_postgresql_install](https://registry.terraform.io/providers/hashicorp/null/3.2.4/docs/resources/resource) | resource |
132+
| [null_resource.secondary_postgresql_install](https://registry.terraform.io/providers/hashicorp/null/3.2.4/docs/resources/resource) | resource |
133+
| [random_password.password](https://registry.terraform.io/providers/hashicorp/random/3.7.2/docs/resources/password) | resource |
134+
| [ibm_is_image.app_is_image](https://registry.terraform.io/providers/IBM-Cloud/ibm/1.85.0/docs/data-sources/is_image) | data source |
135+
| [ibm_is_image.data_is_image](https://registry.terraform.io/providers/IBM-Cloud/ibm/1.85.0/docs/data-sources/is_image) | data source |
136+
| [ibm_is_image.web_is_image](https://registry.terraform.io/providers/IBM-Cloud/ibm/1.85.0/docs/data-sources/is_image) | data source |
137137

138138
### Inputs
139139

@@ -168,10 +168,11 @@ statement instead the previous block.
168168
| <a name="input_root_ca_name"></a> [root\_ca\_name](#input\_root\_ca\_name) | The name of the Root CA to create for a private\_cert secret engine. Only used when `var.existing_sm_instance_guid` is `false`. | `string` | `"root-ca"` | no |
169169
| <a name="input_sample_application"></a> [sample\_application](#input\_sample\_application) | Apply the sample web application to the pattern. | `bool` | `false` | no |
170170
| <a name="input_sm_instance_rg_existing"></a> [sm\_instance\_rg\_existing](#input\_sm\_instance\_rg\_existing) | Resource group exists in your account already. If set to `true`, you will need to set the variable sm\_instance\_rg\_name | `bool` | `false` | no |
171-
| <a name="input_sm_instance_rg_name"></a> [sm\_instance\_rg\_name](#input\_sm\_instance\_rg\_name) | Resource group to provison the secrets manager instance. If no resource group name is defined, it will try to use the service resource group otherwise a random from the landing zone | `string` | `null` | no |
171+
| <a name="input_sm_instance_rg_name"></a> [sm\_instance\_rg\_name](#input\_sm\_instance\_rg\_name) | Resource group to provision the secrets manager instance. If no resource group name is defined, it will try to use the service resource group otherwise a random from the landing zone | `string` | `null` | no |
172172
| <a name="input_sm_service_plan"></a> [sm\_service\_plan](#input\_sm\_service\_plan) | The service/pricing plan to use when provisioning a new Secrets Manager instance. Allowed values: `standard` and `trial`. | `string` | `"standard"` | no |
173173
| <a name="input_ssh_key"></a> [ssh\_key](#input\_ssh\_key) | Public SSH Key for VSI creation. Must be a valid SSH key that does not already exist in the deployment region. | `string` | n/a | yes |
174174
| <a name="input_ssh_private_key"></a> [ssh\_private\_key](#input\_ssh\_private\_key) | Private SSH key (RSA format) that is paired with the public ssh key. | `string` | n/a | yes |
175+
| <a name="input_use_legacy_network_interface"></a> [use\_legacy\_network\_interface](#input\_use\_legacy\_network\_interface) | Set this to true to use legacy network interface for the created instances. | `bool` | `false` | no |
175176
| <a name="input_use_sm"></a> [use\_sm](#input\_use\_sm) | Whether to use Secrets Manager to generate certificates. | `bool` | `true` | no |
176177
| <a name="input_web_application_port"></a> [web\_application\_port](#input\_web\_application\_port) | The instance group the web tier uses when scaling up instances to supply the port for the Load Balancer pool member. | `number` | `80` | no |
177178
| <a name="input_web_block_storage_volumes"></a> [web\_block\_storage\_volumes](#input\_web\_block\_storage\_volumes) | List describing the block storage volumes that will be attached to each vsi | <pre>list(<br/> object({<br/> name = string<br/> profile = string<br/> capacity = optional(number)<br/> iops = optional(number)<br/> encryption_key = optional(string)<br/> resource_group_id = optional(string)<br/> })<br/> )</pre> | `[]` | no |

solutions/e2e/data-tier.tf

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ resource "random_password" "password" {
3535

3636
module "data_tier_vsi" {
3737
source = "terraform-ibm-modules/landing-zone-vsi/ibm"
38-
version = "4.2.0"
38+
version = "5.17.0"
3939
resource_group_id = local.vpc_data.vpc_data.resource_group
4040
prefix = "${var.prefix}-data-vsi"
4141
vpc_id = local.vpc_data.vpc_id
@@ -53,6 +53,7 @@ module "data_tier_vsi" {
5353
create_security_group = var.data_security_group != null ? true : false
5454
security_group = var.data_security_group
5555
block_storage_volumes = local.data_block_storage_volumes_list
56+
use_legacy_network_interface = var.use_legacy_network_interface
5657
}
5758

5859
resource "null_resource" "primary_postgresql_install" {

solutions/e2e/main.tf

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@
77
##############################################################################
88

99
module "landing_zone" {
10-
source = "git::https://github.com/terraform-ibm-modules/terraform-ibm-landing-zone.git//patterns/vsi/module?ref=v6.2.1"
10+
source = "git::https://github.com/terraform-ibm-modules/terraform-ibm-landing-zone.git//patterns/vsi/module?ref=v8.13.1"
1111
prefix = var.prefix
1212
region = var.region
1313
ssh_public_key = var.ssh_key
14-
override_json_string = templatefile("${path.module}/override.tftpl", { prefix = var.prefix })
14+
override_json_string = templatefile("${path.module}/override.tftpl", { prefix = var.prefix, use_legacy_network_interface = var.use_legacy_network_interface })
1515
}
1616

1717
##############################################################################
@@ -39,7 +39,7 @@ module "sm_resource_group" {
3939
count = var.sm_instance_rg_existing || (!var.sm_instance_rg_existing && var.sm_instance_rg_name != null) ? 1 : 0
4040

4141
source = "terraform-ibm-modules/resource-group/ibm"
42-
version = "1.1.6"
42+
version = "1.4.0"
4343

4444
resource_group_name = !var.sm_instance_rg_existing ? var.sm_instance_rg_name : null
4545
existing_resource_group_name = var.sm_instance_rg_existing ? var.sm_instance_rg_name : null
@@ -68,7 +68,7 @@ module "private_secret_engine" {
6868
depends_on = [ibm_resource_instance.secrets_manager]
6969
count = (var.use_sm && var.existing_sm_instance_guid == null) ? 1 : 0
7070
source = "terraform-ibm-modules/secrets-manager-private-cert-engine/ibm"
71-
version = "1.3.4"
71+
version = "1.11.1"
7272
secrets_manager_guid = local.sm_guid
7373
region = local.sm_region
7474
root_ca_name = var.root_ca_name
@@ -85,7 +85,7 @@ module "private_secret_engine" {
8585
# Create a secret group to place the certificate in
8686
module "secrets_manager_group" {
8787
source = "terraform-ibm-modules/secrets-manager-secret-group/ibm"
88-
version = "1.2.2"
88+
version = "1.3.19"
8989
count = var.use_sm ? 1 : 0
9090
region = local.sm_region
9191
secrets_manager_guid = local.sm_guid
@@ -100,7 +100,7 @@ module "secrets_manager_group" {
100100
module "secrets_manager_private_certificate" {
101101
depends_on = [module.private_secret_engine]
102102
source = "terraform-ibm-modules/secrets-manager-private-cert/ibm"
103-
version = "1.3.2"
103+
version = "1.9.2"
104104
count = var.use_sm ? 1 : 0
105105
cert_name = "${var.prefix}-cts-vpn-private-cert"
106106
cert_description = "Example private cert"

solutions/e2e/override.tftpl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -659,6 +659,7 @@
659659
"machine_type": "cx2-4x8",
660660
"name": "management-bastion-server",
661661
"resource_group": "${prefix}-management-rg",
662+
"use_legacy_network_interface": ${use_legacy_network_interface},
662663
"security_group": {
663664
"name": "${prefix}-management",
664665
"rules": [

solutions/e2e/variables.tf

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,12 @@ variable "ssh_private_key" {
4141
sensitive = true
4242
}
4343

44+
variable "use_legacy_network_interface" {
45+
description = "Set this to true to use legacy network interface for the created instances."
46+
type = bool
47+
default = false
48+
}
49+
4450
############################################################################
4551
# Sample web application
4652
############################################################################
@@ -73,7 +79,7 @@ variable "existing_sm_instance_region" {
7379

7480
variable "sm_instance_rg_name" {
7581
type = string
76-
description = "Resource group to provison the secrets manager instance. If no resource group name is defined, it will try to use the service resource group otherwise a random from the landing zone"
82+
description = "Resource group to provision the secrets manager instance. If no resource group name is defined, it will try to use the service resource group otherwise a random from the landing zone"
7783
default = null
7884
}
7985

solutions/e2e/version.tf

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,15 @@ terraform {
44
required_providers {
55
ibm = {
66
source = "IBM-Cloud/ibm"
7-
version = "1.76.3"
7+
version = "1.85.0"
88
}
99
random = {
1010
source = "hashicorp/random"
11-
version = "3.7.1"
11+
version = "3.7.2"
1212
}
1313
null = {
1414
source = "hashicorp/null"
15-
version = "3.2.3"
15+
version = "3.2.4"
1616
}
1717
}
1818
}

0 commit comments

Comments
 (0)