Skip to content
This repository was archived by the owner on Aug 12, 2024. It is now read-only.

Commit 59699ea

Browse files
Sean Sundbergncolon
andauthored
Updates handling of provider config (#47)
* Removes provider config from module to be provided externally * fix local.cluster_version so it doesn't crash on destroy Co-authored-by: Noel Colon <[email protected]> Signed-off-by: Sean Sundberg <[email protected]>
1 parent fb67ddb commit 59699ea

File tree

11 files changed

+40
-20
lines changed

11 files changed

+40
-20
lines changed

.github/workflows/verify.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
verify:
1414
if: ${{ !contains( github.event.pull_request.labels.*.name, 'skip ci' ) }}
1515
runs-on: ubuntu-latest
16-
container: quay.io/ibmgaragecloud/cli-tools:v14
16+
container: quay.io/ibmgaragecloud/cli-tools:v0.15
1717

1818
strategy:
1919
matrix:

README.md

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
Provisions an IBM Cloud OpenShift VPC cluster using a provided VPC instance and COS
44
instance.
55

6+
**Note:** This module follows the Terraform conventions regarding how provider configuration is defined within the Terraform template and passed into the module - https://www.terraform.io/docs/language/modules/develop/providers.html. The default provider configuration flows through to the module. If different configuration is required for a module, it can be explicitly passed in the `providers` block of the module - https://www.terraform.io/docs/language/modules/develop/providers.html#passing-providers-explicitly.
7+
68
## Software dependencies
79

810
The module depends on the following software components:
@@ -28,8 +30,22 @@ This module makes use of the output from other modules:
2830
## Example usage
2931

3032
```hcl-terraform
33+
terraform {
34+
required_providers {
35+
ibm = {
36+
source = "ibm-cloud/ibm"
37+
}
38+
}
39+
required_version = ">= 0.13"
40+
}
41+
42+
provider "ibm" {
43+
ibmcloud_api_key = var.ibmcloud_api_key
44+
region = var.region
45+
}
46+
3147
module "cluster" {
32-
source = "github.com/cloud-native-toolkit/terraform-ibm-ocp-vpc.git?ref=v1.2.5"
48+
source = "github.com/cloud-native-toolkit/terraform-ibm-ocp-vpc.git"
3349
3450
resource_group_name = var.resource_group_name
3551
region = var.region

main.tf

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ locals {
4141
# value should be ocp4, ocp3, or kubernetes
4242
cluster_type_code = local.config_values[local.cluster_type_cleaned].type_code
4343
cluster_type_tag = local.cluster_type == "kubernetes" ? "iks" : "ocp"
44-
cluster_version = local.cluster_type == "openshift" ? local.openshift_versions[local.config_values[local.cluster_type_cleaned].version] : ""
44+
cluster_version = local.cluster_type == "openshift" ? "${var.ocp_version}_openshift" : ""
4545
vpc_subnet_count = var.vpc_subnet_count
4646
vpc_id = !var.exists ? data.ibm_is_vpc.vpc[0].id : ""
4747
vpc_subnets = !var.exists ? var.vpc_subnets : []
@@ -133,6 +133,12 @@ data ibm_container_cluster_versions cluster_versions {
133133
resource_group_id = data.ibm_resource_group.resource_group.id
134134
}
135135

136+
resource null_resource print_cluster_versions {
137+
provisioner "local-exec" {
138+
command = "echo 'Cluster versions: ${jsonencode(data.ibm_container_cluster_versions.cluster_versions.valid_openshift_versions)}'"
139+
}
140+
}
141+
136142
data ibm_is_vpc vpc {
137143
count = !var.exists ? 1 : 0
138144
depends_on = [null_resource.print_resources]

module.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@ tags:
99
versions:
1010
- platforms:
1111
- ocp4
12+
providers:
13+
- name: ibm
14+
source: "ibm-cloud/ibm"
1215
dependencies:
1316
- id: resource-group
1417
refs:
@@ -72,6 +75,7 @@ versions:
7275
scope: module
7376
- name: worker_count
7477
scope: global
78+
important: true
7579
- name: ocp_version
7680
scope: global
7781
- name: exists

provider.tf

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

test/stages/provider.tf

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
provider "ibm" {
2+
region = var.region
3+
ibmcloud_api_key = var.ibmcloud_api_key
4+
}

test/stages/stage0.tf

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,9 @@
11
terraform {
2+
required_version = ">= 0.13.0"
3+
4+
required_providers {
5+
ibm = {
6+
source = "ibm-cloud/ibm"
7+
}
8+
}
29
}

test/stages/stage1-gateways.tf

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ module "gateways" {
33

44
resource_group_id = module.resource_group.id
55
region = var.region
6-
ibmcloud_api_key = var.ibmcloud_api_key
76
vpc_name = module.vpc.name
87
subnet_count = var.vpc_subnet_count
98
}

test/stages/stage1-resource-group.tf

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,5 @@ module "resource_group" {
22
source = "github.com/cloud-native-toolkit/terraform-ibm-resource-group.git"
33

44
resource_group_name = var.resource_group_name
5-
ibmcloud_api_key = var.ibmcloud_api_key
65
provision = false
76
}

test/stages/stage1-subnets.tf

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ module "subnets" {
33

44
resource_group_id = module.resource_group.id
55
region = var.region
6-
ibmcloud_api_key = var.ibmcloud_api_key
76
vpc_name = module.vpc.name
87
gateways = module.gateways.gateways
98
_count = 2

0 commit comments

Comments
 (0)