Skip to content

Commit 59b615f

Browse files
Jordan-Williams2Jordan-Williams2
authored andcommitted
fix: update code
1 parent 7647573 commit 59b615f

File tree

7 files changed

+88
-54
lines changed

7 files changed

+88
-54
lines changed

ibm_catalog.json

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -33,21 +33,10 @@
3333
"compliance": {},
3434
"iam_permissions": [
3535
{
36-
"service_name": "sysdig-monitor",
36+
"service_name": "containers-kubernetes",
3737
"role_crns": [
38-
"crn:v1:bluemix:public:iam::::serviceRole:Manager"
39-
]
40-
},
41-
{
42-
"service_name": "logs",
43-
"role_crns": [
44-
"crn:v1:bluemix:public:iam::::role:Editor"
45-
]
46-
},
47-
{
48-
"service_name": "metrics-router",
49-
"role_crns": [
50-
"crn:v1:bluemix:public:iam::::role:Editor"
38+
"crn:v1:bluemix:public:iam::::serviceRole:Manager",
39+
"crn:v1:bluemix:public:iam::::role:Viewer"
5140
]
5241
}
5342
],

solutions/fully-configurable/DA-types.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ The `logs_agent_additional_metadata` variable is used to configure additional me
7474

7575
# Configuring Logs Agent Resources
7676

77-
When you deploy the IBM Logs agent using the `terraform-ibm-logs-agent` module, you can configure the resource requests and limits for the logs agent pods by using the `logs_agent_resources` variable. This variable allows you to specify the CPU and memory resources allocated to the logs agent.
77+
When you deploy the IBM Logs agent using the `terraform-ibm-logs-agent` module, you can configure the resource requests and limits for the logs agent pods by using the `logs_agent_resources` variable. This variable allows you to specify the CPU and memory resources allocated to the logs agent. [Learn More](https://cloud.ibm.com/docs/cloud-logs?topic=cloud-logs-agent-helm-template-clusters#agent-helm-template-clusters-chart-options-resources).
7878

7979
### Options for `logs_agent_resources`
8080
- `requests` (optional): Specifies the minimum amount of resources required. Includes:

solutions/fully-configurable/variables.tf

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ variable "logs_agent_iam_api_key" {
107107
}
108108

109109
variable "logs_agent_tolerations" {
110-
description = "List of tolerations to apply to Logs agent. [Learn more](https://github.com/terraform-ibm-modules/terraform-ibm-logs-agent/tree/main/solutions/fully-configurable/DA-types.md)."
110+
description = "List of tolerations to apply to Logs agent. [Learn more](https://github.com/terraform-ibm-modules/terraform-ibm-logs-agent/tree/main/solutions/fully-configurable/DA-types.md#configuring-logs-agent-tolerations)."
111111
type = list(object({
112112
key = optional(string)
113113
operator = optional(string)
@@ -121,7 +121,7 @@ variable "logs_agent_tolerations" {
121121
}
122122

123123
variable "logs_agent_resources" {
124-
description = "The resources configuration for cpu/memory/storage. Learn more [here](https://cloud.ibm.com/docs/cloud-logs?topic=cloud-logs-agent-helm-template-clusters#agent-helm-template-clusters-chart-options-resources) and [here](https://github.com/terraform-ibm-modules/terraform-ibm-logs-agent/tree/main/solutions/fully-configurable/DA-types.md)."
124+
description = "The resources configuration for cpu/memory/storage. [Learn more](https://github.com/terraform-ibm-modules/terraform-ibm-logs-agent/blob/main/solutions/fully-configurable/DA-types.md#configuring-logs-agent-resources)."
125125
type = object({
126126
limits = object({
127127
cpu = string
@@ -193,7 +193,7 @@ variable "logs_agent_iam_environment" {
193193
}
194194

195195
variable "logs_agent_additional_metadata" {
196-
description = "The list of additional metadata fields to add to the routed logs. [Learn more](https://github.com/terraform-ibm-modules/terraform-ibm-logs-agent/tree/main/solutions/fully-configurable/DA-types.md)."
196+
description = "The list of additional metadata fields to add to the routed logs. [Learn more](https://github.com/terraform-ibm-modules/terraform-ibm-logs-agent/blob/main/solutions/fully-configurable/DA-types.md#configuring-logs-agent-additional-metadata)."
197197
type = list(object({
198198
key = optional(string)
199199
value = optional(string)

tests/resources/main.tf

Lines changed: 74 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -10,21 +10,81 @@ module "resource_group" {
1010
existing_resource_group_name = var.resource_group
1111
}
1212

13-
##############################################################################
14-
# SLZ ROKS Pattern
15-
##############################################################################
13+
########################################################################################################################
14+
# VPC + Subnet + Public Gateway
15+
#
16+
# NOTE: This is a very simple VPC with single subnet in a single zone with a public gateway enabled, that will allow
17+
# all traffic ingress/egress by default.
18+
# For production use cases this would need to be enhanced by adding more subnets and zones for resiliency, and
19+
# ACLs/Security Groups for network security.
20+
########################################################################################################################
21+
22+
resource "ibm_is_vpc" "vpc" {
23+
name = "${var.prefix}-vpc"
24+
resource_group = module.resource_group.resource_group_id
25+
address_prefix_management = "auto"
26+
tags = var.resource_tags
27+
}
28+
29+
resource "ibm_is_public_gateway" "gateway" {
30+
name = "${var.prefix}-gateway-1"
31+
vpc = ibm_is_vpc.vpc.id
32+
resource_group = module.resource_group.resource_group_id
33+
zone = "${var.region}-1"
34+
}
35+
36+
resource "ibm_is_subnet" "subnet_zone_1" {
37+
name = "${var.prefix}-subnet-1"
38+
vpc = ibm_is_vpc.vpc.id
39+
resource_group = module.resource_group.resource_group_id
40+
zone = "${var.region}-1"
41+
total_ipv4_address_count = 256
42+
public_gateway = ibm_is_public_gateway.gateway.id
43+
}
44+
45+
########################################################################################################################
46+
# OCP VPC cluster (single zone)
47+
########################################################################################################################
48+
49+
locals {
50+
cluster_vpc_subnets = {
51+
default = [
52+
{
53+
id = ibm_is_subnet.subnet_zone_1.id
54+
cidr_block = ibm_is_subnet.subnet_zone_1.ipv4_cidr_block
55+
zone = ibm_is_subnet.subnet_zone_1.zone
56+
}
57+
]
58+
}
1659

17-
module "landing_zone" {
18-
source = "git::https://github.com/terraform-ibm-modules/terraform-ibm-landing-zone//patterns//roks//module?ref=v7.3.0"
60+
worker_pools = [
61+
{
62+
subnet_prefix = "default"
63+
pool_name = "default" # ibm_container_vpc_cluster automatically names default pool "default" (See https://github.com/IBM-Cloud/terraform-provider-ibm/issues/2849)
64+
machine_type = "bx2.4x16"
65+
workers_per_zone = 2 # minimum of 2 is allowed when using single zone
66+
operating_system = "REDHAT_8_64"
67+
}
68+
]
69+
}
70+
71+
locals {
72+
cluster_name = "${var.prefix}-cluster"
73+
}
74+
75+
module "ocp_base" {
76+
source = "terraform-ibm-modules/base-ocp-vpc/ibm"
77+
version = "3.46.11"
78+
resource_group_id = module.resource_group.resource_group_id
1979
region = var.region
20-
prefix = var.prefix
2180
tags = var.resource_tags
22-
add_atracker_route = false
23-
enable_transit_gateway = false
24-
cluster_force_delete_storage = true
25-
verify_cluster_network_readiness = false
26-
use_ibm_cloud_private_api_endpoints = false
27-
ignore_vpcs_for_cluster_deployment = ["management"]
81+
cluster_name = local.cluster_name
82+
force_delete_storage = true
83+
vpc_id = ibm_is_vpc.vpc.id
84+
vpc_subnets = local.cluster_vpc_subnets
85+
worker_pools = local.worker_pools
86+
access_tags = []
87+
disable_outbound_traffic_protection = true # set as True to enable outbound traffic
2888
}
2989

3090
##############################################################################
@@ -78,15 +138,10 @@ module "buckets" {
78138
# - Cloud Logs instance
79139
##############################################################################
80140

81-
locals {
82-
cluster_resource_group_id = module.landing_zone.cluster_data["${var.prefix}-workload-cluster"].resource_group_id
83-
cluster_crn = module.landing_zone.cluster_data["${var.prefix}-workload-cluster"].crn
84-
}
85-
86141
module "cloud_logs" {
87142
source = "terraform-ibm-modules/cloud-logs/ibm"
88143
version = "1.0.0"
89-
resource_group_id = local.cluster_resource_group_id
144+
resource_group_id = module.ocp_base.resource_group_id
90145
region = var.region
91146
instance_name = "${var.prefix}-cloud-logs"
92147
resource_tags = var.resource_tags
@@ -130,7 +185,7 @@ module "trusted_profile" {
130185
trusted_profile_links = [{
131186
cr_type = "ROKS_SA"
132187
links = [{
133-
crn = local.cluster_crn
188+
crn = module.ocp_base.cluster_crn
134189
namespace = local.logs_agent_namespace
135190
name = local.logs_agent_name
136191
}]

tests/resources/outputs.tf

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,23 +12,18 @@ output "prefix" {
1212
description = "prefix"
1313
}
1414

15-
output "cluster_data" {
16-
value = module.landing_zone.cluster_data
17-
description = "Details of OCP cluster."
18-
}
19-
2015
output "workload_cluster_id" {
21-
value = module.landing_zone.workload_cluster_id
16+
value = module.ocp_base.cluster_id
2217
description = "ID of the workload cluster."
2318
}
2419

2520
output "workload_cluster_crn" {
26-
value = local.cluster_crn
21+
value = module.ocp_base.cluster_crn
2722
description = "CRN of the workload cluster."
2823
}
2924

3025
output "cluster_resource_group_id" {
31-
value = local.cluster_resource_group_id
26+
value = module.ocp_base.resource_group_id
3227
description = "Resource group ID of the workload cluster."
3328
}
3429

tests/scripts/pre-validation-deploy-slz-roks-and-logs-instances.sh

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ set -e
1010
DA_DIR="solutions/fully-configurable"
1111
TERRAFORM_SOURCE_DIR="tests/resources"
1212
JSON_FILE="${DA_DIR}/catalogValidationValues.json"
13-
REGION="us-south"
1413
TF_VARS_FILE="terraform.tfvars"
1514

1615
(
@@ -21,12 +20,10 @@ TF_VARS_FILE="terraform.tfvars"
2120
# $VALIDATION_APIKEY is available in the catalog runtime
2221
{
2322
echo "ibmcloud_api_key=\"${VALIDATION_APIKEY}\""
24-
echo "region=\"${REGION}\""
2523
echo "prefix=\"slz-$(openssl rand -hex 2)\""
2624
} >> ${TF_VARS_FILE}
2725
terraform apply -input=false -auto-approve -var-file=${TF_VARS_FILE} || exit 1
2826

29-
region_var_name="region"
3027
cluster_id_var_name="cluster_id"
3128
cluster_id_value=$(terraform output -state=terraform.tfstate -raw workload_cluster_id)
3229
cluster_resource_group_id_var_name="cluster_resource_group_id"
@@ -36,20 +33,18 @@ TF_VARS_FILE="terraform.tfvars"
3633
cloud_logs_ingress_endpoint_var_name="cloud_logs_ingress_endpoint"
3734
cloud_logs_ingress_endpoint_value=$(terraform output -state=terraform.tfstate -raw cloud_logs_ingress_private_endpoint)
3835

39-
echo "Appending '${region_var_name}', '${cluster_id_var_name}' '${cluster_resource_group_id_var_name}', '${logs_agent_trusted_profile_var_name}', and '${cloud_logs_ingress_endpoint_var_name}' input variable values to ${JSON_FILE}.."
36+
echo "Appending '${cluster_id_var_name}' '${cluster_resource_group_id_var_name}', '${logs_agent_trusted_profile_var_name}', and '${cloud_logs_ingress_endpoint_var_name}' input variable values to ${JSON_FILE}.."
4037

4138
cd "${cwd}"
42-
jq -r --arg region_var_name "${region_var_name}" \
43-
--arg region_var_value "${REGION}" \
44-
--arg cluster_id_var_name "${cluster_id_var_name}" \
39+
jq -r --arg cluster_id_var_name "${cluster_id_var_name}" \
4540
--arg cluster_id_value "${cluster_id_value}" \
4641
--arg cluster_resource_group_id_var_name "${cluster_resource_group_id_var_name}" \
4742
--arg cluster_resource_group_id_value "${cluster_resource_group_id_value}" \
4843
--arg logs_agent_trusted_profile_var_name "${logs_agent_trusted_profile_var_name}" \
4944
--arg logs_agent_trusted_profile_value "${logs_agent_trusted_profile_value}" \
5045
--arg cloud_logs_ingress_endpoint_var_name "${cloud_logs_ingress_endpoint_var_name}" \
5146
--arg cloud_logs_ingress_endpoint_value "${cloud_logs_ingress_endpoint_value}" \
52-
'. + {($region_var_name): $region_var_value, ($cluster_id_var_name): $cluster_id_value, ($cluster_resource_group_id_var_name): $cluster_resource_group_id_value, ($logs_agent_trusted_profile_var_name): $logs_agent_trusted_profile_value, ($cloud_logs_ingress_endpoint_var_name): $cloud_logs_ingress_endpoint_value}' "${JSON_FILE}" > tmpfile && mv tmpfile "${JSON_FILE}" || exit 1
47+
'. + {($cluster_id_var_name): $cluster_id_value, ($cluster_resource_group_id_var_name): $cluster_resource_group_id_value, ($logs_agent_trusted_profile_var_name): $logs_agent_trusted_profile_value, ($cloud_logs_ingress_endpoint_var_name): $cloud_logs_ingress_endpoint_value}' "${JSON_FILE}" > tmpfile && mv tmpfile "${JSON_FILE}" || exit 1
5348

5449
echo "Pre-validation complete successfully"
5550
)

0 commit comments

Comments
 (0)