Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion catalogValidationValues.json.template
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@
"ibmcloud_api_key": $VALIDATION_APIKEY,
"prefix": $PREFIX,
"existing_resource_group_name": $RG_NAME,
"enable_platform_logs_metrics": false,
"enable_platform_metrics": false,
"region": "eu-de"
}
50 changes: 29 additions & 21 deletions ibm_catalog.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
"description": "Creates and configures an IBM Key Protect instance and creates root keys for IBM Cloud Object Storage, Event Notifications, and Secrets Manager."
},
{
"title": "Creates an IBM Secrets Manager instance",
"title": "Creates an IBM Cloud Secrets Manager instance",
"description": "Creates and configures an IBM Secrets Manager instance."
},
{
Expand All @@ -51,15 +51,15 @@
},
{
"title": "Creates an IBM Cloud Object Storage instance",
"description": "Creates and configures an IBM Cloud Object Storage instance and multiple Object Storage buckets that is encrypted by Key Protect."
"description": "Creates and configures an IBM Cloud Object Storage instance and multiple Object Storage buckets that are encrypted by IBM Key Protect."
},
{
"title": "Creates an IBM Cloud Event Notifications instance",
"description": "Creates and configures an IBM Cloud Event Notifications instance with topics for Secrets Manager and Security and Compliance Center events."
},
{
"title": "Creates service-to-service authorizations",
"description": "Creates and configures service-to-service authorizations for the following services: KMS, Event Notifications, Object Storage, Secrets Manager, and Security and Compliance Center."
"description": "Creates and configures service-to-service authorizations for the following IBM Cloud services: Key Protect, Event Notifications, Object Storage, Security and Compliance Center, and Secrets Manager."
}
],
"flavors": [
Expand Down Expand Up @@ -116,32 +116,32 @@
"architecture": {
"features": [
{
"title": "Creates IBM Cloud core security services in a resource group.",
"title": "Creates IBM Cloud core security services in a resource group",
"description": "Creates IBM Cloud core security services in an existing resource group."
},
{
"title": "Creates an IBM Key Protect instance",
"description": "Creates and configures an IBM Key Protect instance and creates root keys for IBM Cloud Object Storage, Event Notifications, and Secrets Manager."
},
{
"title": "Creates an IBM Secrets Manager instance ",
"description": "Creates and configures an IBM Secrets Manager instance."
"title": "Creates an IBM Cloud Secrets Manager instance",
"description": "Create, lease, and centrally manage secrets that are used in your apps and services using IBM Secrets Manager instance."
},
{
"title": "Optionally configure an IBM Secrets Manager IAM credentials engine to an IBM Secrets Manager instance.",
"description": "Optionally configure an IBM Secrets Manager IAM credentials engine to an IBM Secrets Manager instance."
"title": "Optionally configure an IBM Cloud Secrets Manager IAM credentials engine to an IBM Cloud Secrets Manager instance",
"description": "Optionally configure an IBM Secrets Manager IAM credentials engine to an IBM Cloud Secrets Manager instance."
},
{
"title": "Creates an IBM Security and Compliance Center instance",
"description": "Creates and configures an IBM Security Compliance Center instance."
"title": "Creates an IBM Cloud Security and Compliance Center instance",
"description": "Manage your continuous compliance monitoring needs using IBM Security Compliance Center instance."
},
{
"title": "Creates a Security and Compliance Center Workload Protection instance",
"description": "Creates and configures a Security and Compliance Center Workload Protection instance."
"title": "Creates a IBM Cloud Security and Compliance Center Workload Protection instance",
"description": "Creates a Cloud-Native Application Protection Platform solution to manage your security and compliance posture, allowing you to monitor misconfigurations and detect and respond to vulnerabilities and threats in real-time."
},
{
"title": "Creates an IBM Event Notification instance",
"description": "Creates and configures an Event Notifications instance."
"title": "Creates an IBM Cloud Event Notifications instance",
"description": "Deliver Email, SMS, Webhooks and Push Notifications for your IBM Cloud service events using IBM Event Notifications instance."
}
],
"diagrams": [
Expand Down Expand Up @@ -202,10 +202,17 @@
}
},
{
"key": "enable_platform_logs_metrics",
"key": "enable_platform_metrics",
"type": "boolean",
"default_value": true,
"description": "Setting this to true will create a tenant in the same region where the Cloud Logs instance is provisioned, enabling platform logs for that region. Note: You can have only one tenant per region in an account. This variable will also enable platform logs for the Log Analysis instance and platform metrics for Cloud Monitoring instance.",
"description": "Setting this to true will enable platform metrics for the Cloud Monitoring instance. NOTE: You can configure 1 instance only of the IBM Cloud Monitoring service per region to collect platform metrics in that location.",
"required": false
},
{
"key": "logs_routing_tenant_regions",
"type": "array",
"default_value": [],
"description": "Pass a list of regions to create a tenant that is targeted to the Cloud Logs instance created by this solution. To manage platform logs that are generated by IBM Cloud® services in a region of IBM Cloud, you must create a tenant in each region that you operate. Leave the list empty if you don't want to create any tenants.",
"required": false
},
{
Expand All @@ -223,7 +230,7 @@
"required": false
},
{
"key" : "existing_en_instance_crn",
"key": "existing_en_instance_crn",
"type": "string",
"default_value": "__NULL__",
"description": "The CRN of existing event notification instance. If not supplied, a new instance is created.",
Expand All @@ -233,14 +240,14 @@
"key": "existing_secrets_manager_crn",
"type": "string",
"default_value": "__NULL__",
"description": "The CRN of an existing Secrets Manager instance to use in this solution. If not set, a new Secrets Manager instance is provisioned.",
"description": "The CRN of an existing IBM Cloud Secrets Manager instance to use in this solution. If not set, a new Secrets Manager instance is provisioned.",
"required": false
},
{
"key": "sm_service_plan",
"type": "string",
"default_value": "standard",
"description": "The pricing plan to use for Secrets Manager. Not used if `existing_secrets_manager_crn` is specified.",
"description": "The pricing plan to use for IBM Cloud Secrets Manager. Not used if `existing_secrets_manager_crn` is specified.",
"required": false,
"options": [
{
Expand All @@ -254,10 +261,11 @@
]
},
{
"key": "secret_manager_iam_engine_enabled",
"key": "skip_iam_authorization_policy",
"display_name": "Disable Secrets Manager IAM credentials engine auth policy creation?",
"type": "boolean",
"default_value": false,
"description": "Set this to true to to configure a Secrets Manager IAM credentials engine. If set to false, no IAM engine will be configured for your instance.",
"description": "Whether to skip the creation of the IAM authorization policies required to enable the Secrets Manager IAM credentials engine. If set to false, policies will be created that grants the Secrets Manager instance 'Operator' access to the IAM identity service, and 'Groups Service Member Manage' access to the IAM groups service.",
"required": false
},
{
Expand Down
76 changes: 52 additions & 24 deletions stack_definition.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,21 @@
"custom_config": {}
},
{
"name": "enable_platform_logs_metrics",
"name": "enable_platform_metrics",
"required": false,
"type": "boolean",
"hidden": false,
"default": true,
"custom_config": {}
},
{
"name": "logs_routing_tenant_regions",
"required": false,
"type": "array",
"hidden": false,
"default": [],
"custom_config": {}
},
{
"name": "existing_kms_instance_crn",
"required": false,
Expand Down Expand Up @@ -72,19 +80,19 @@
"custom_config": {}
},
{
"name": "scc_service_plan",
"name": "skip_iam_authorization_policy",
"required": false,
"type": "string",
"type": "boolean",
"hidden": false,
"default": "security-compliance-center-standard-plan",
"custom_config": {}
"default": false
},
{
"name": "secret_manager_iam_engine_enabled",
"name": "scc_service_plan",
"required": false,
"type": "boolean",
"type": "string",
"hidden": false,
"default": false
"default": "security-compliance-center-standard-plan",
"custom_config": {}
}
],
"members": [
Expand All @@ -109,10 +117,14 @@
{
"name": "prefix",
"value": "ref:../../inputs/prefix"
},
{
"name": "key_protect_instance_name",
"value": "base-security-services-kms"
}
],
"name": "1a - Key management",
"version_locator": "7a4d68b4-cf8b-40cd-a3d1-f49aff526eb3.00f91756-7287-4786-9ab0-fd12d30d8919-global"
"version_locator": "7a4d68b4-cf8b-40cd-a3d1-f49aff526eb3.efaad0d0-9028-4d39-90e7-7e0f9d6e7569-global"
},
{
"inputs": [
Expand All @@ -121,7 +133,7 @@
"value": "ref:../../inputs/existing_resource_group_name"
},
{
"name": "existing_resource_group",
"name": "use_existing_resource_group",
"value": true
},
{
Expand All @@ -134,7 +146,7 @@
}
],
"name": "1b - Object storage",
"version_locator": "7a4d68b4-cf8b-40cd-a3d1-f49aff526eb3.855893e4-62db-4f00-a867-0795231053fe-global"
"version_locator": "7a4d68b4-cf8b-40cd-a3d1-f49aff526eb3.321f6c6a-7511-47d1-830a-72506ea72190-global"
},
{
"inputs": [
Expand Down Expand Up @@ -167,20 +179,20 @@
"value": "ref:../../members/1b - Object storage/outputs/cos_instance_id"
},
{
"name": "enable_platform_logs",
"value": "ref:../../inputs/enable_platform_logs_metrics"
"name": "logs_routing_tenant_regions",
"value": "ref:../../inputs/logs_routing_tenant_regions"
},
{
"name": "enable_platform_metrics",
"value": "ref:../../inputs/enable_platform_logs_metrics"
"value": "ref:../../inputs/enable_platform_metrics"
},
{
"name": "existing_en_instance_crn",
"value": "ref:../../members/3 - Event Notifications/outputs/crn"
}
],
"name": "2 - Observability",
"version_locator": "7a4d68b4-cf8b-40cd-a3d1-f49aff526eb3.783586a0-5c8c-465f-bee2-891c2ed630fd-global"
"version_locator": "7a4d68b4-cf8b-40cd-a3d1-f49aff526eb3.42643524-2f7e-4c59-a9bf-83c5f502f526-global"
},
{
"inputs": [
Expand Down Expand Up @@ -230,7 +242,7 @@
}
],
"name": "3 - Event Notifications",
"version_locator": "7a4d68b4-cf8b-40cd-a3d1-f49aff526eb3.88d7308d-c2c8-4977-92cf-f85d99e27d00-global"
"version_locator": "7a4d68b4-cf8b-40cd-a3d1-f49aff526eb3.1c3a9873-77b2-4ab4-89c7-26d9899b1edb-global"
},
{
"inputs": [
Expand Down Expand Up @@ -271,7 +283,7 @@
"value": false
},
{
"name": "existing_en_crn",
"name": "existing_event_notifications_crn",
"value": "ref:../../members/3 - Event Notifications/outputs/crn"
},
{
Expand All @@ -294,7 +306,7 @@
}
],
"name": "4a - Security and Compliance Center",
"version_locator": "7a4d68b4-cf8b-40cd-a3d1-f49aff526eb3.0e4e8fc9-8953-4456-a51c-6ed6a3ca1bd7-global"
"version_locator": "7a4d68b4-cf8b-40cd-a3d1-f49aff526eb3.03c63154-2430-4154-9033-9f8e6f80d93b-global"
},
{
"inputs": [
Expand All @@ -319,7 +331,7 @@
"value": "ref:../../members/1a - Key management/outputs/kms_instance_crn"
},
{
"name": "existing_event_notification_instance_crn",
"name": "existing_event_notifications_instance_crn",
"value": "ref:../../members/3 - Event Notifications/outputs/crn"
},
{
Expand All @@ -331,16 +343,32 @@
"value": "ref:../../inputs/sm_service_plan"
},
{
"name": "iam_engine_enabled",
"value": "ref:../../inputs/secret_manager_iam_engine_enabled"
"name": "enable_event_notifications",
"value": true
},
{
"name": "enable_event_notification",
"value": true
"name": "kms_key_ring_name",
"value": "sm-cos-key-ring"
},
{
"name": "kms_key_name",
"value": "sm-cos-key"
},
{
"name": "secrets_manager_instance_name",
"value": "base-security-services-sm"
},
{
"name": "skip_iam_authorization_policy",
"value": "ref:../../inputs/skip_iam_authorization_policy"
},
{
"name": "iam_engine_enabled",
"value": false
}
],
"name": "4b - Secrets Manager",
"version_locator": "7a4d68b4-cf8b-40cd-a3d1-f49aff526eb3.4e7a383f-6295-4edc-b29f-858d28862e6d-global"
"version_locator": "7a4d68b4-cf8b-40cd-a3d1-f49aff526eb3.db823650-3010-4482-b807-45145f273553-global"
}
],
"outputs": [
Expand Down
6 changes: 3 additions & 3 deletions tests/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ toolchain go1.24.1
require (
github.com/gruntwork-io/terratest v0.48.2
github.com/stretchr/testify v1.10.0
github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper v1.46.6
github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper v1.47.1
)

require (
Expand All @@ -16,7 +16,7 @@ require (
github.com/IBM-Cloud/power-go-client v1.11.0 // indirect
github.com/IBM/cloud-databases-go-sdk v0.7.1 // indirect
github.com/IBM/go-sdk-core/v5 v5.19.0 // indirect
github.com/IBM/platform-services-go-sdk v0.78.2 // indirect
github.com/IBM/platform-services-go-sdk v0.79.0 // indirect
github.com/IBM/project-go-sdk v0.3.6 // indirect
github.com/IBM/schematics-go-sdk v0.4.0 // indirect
github.com/IBM/vpc-go-sdk v0.65.0 // indirect
Expand All @@ -38,7 +38,7 @@ require (
github.com/go-logr/logr v1.4.2 // indirect
github.com/go-logr/stdr v1.2.2 // indirect
github.com/go-openapi/analysis v0.21.5 // indirect
github.com/go-openapi/errors v0.22.0 // indirect
github.com/go-openapi/errors v0.22.1 // indirect
github.com/go-openapi/jsonpointer v0.20.1 // indirect
github.com/go-openapi/jsonreference v0.20.3 // indirect
github.com/go-openapi/loads v0.21.3 // indirect
Expand Down
12 changes: 6 additions & 6 deletions tests/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ github.com/IBM/cloud-databases-go-sdk v0.7.1 h1:5kK4/3NUsGxZzmuUe+1ftajpOQbeDVh5
github.com/IBM/cloud-databases-go-sdk v0.7.1/go.mod h1:JYucI1PdwqbAd8XGdDAchxzxRP7bxOh1zUnseovHKsc=
github.com/IBM/go-sdk-core/v5 v5.19.0 h1:YN2S5JUvq/EwYulmcNFwgyYBxZhVWl9nkY22H7Hpghw=
github.com/IBM/go-sdk-core/v5 v5.19.0/go.mod h1:deZO1J5TSlU69bCnl/YV7nPxFZA2UEaup7cq/7ZTOgw=
github.com/IBM/platform-services-go-sdk v0.78.2 h1:iOsPSXGMLYwjfJxYqyoaGXGqOPYHq2WuhAYIU7CsXbc=
github.com/IBM/platform-services-go-sdk v0.78.2/go.mod h1:FzCPOfbNAt0s9RwtIrbJbfDwA7mKIObtZ/18KnviKr0=
github.com/IBM/platform-services-go-sdk v0.79.0 h1:qCNheB3390holPcpDxdgNyi11JS6ZfsL39YgnJEOsTo=
github.com/IBM/platform-services-go-sdk v0.79.0/go.mod h1:FzCPOfbNAt0s9RwtIrbJbfDwA7mKIObtZ/18KnviKr0=
github.com/IBM/project-go-sdk v0.3.6 h1:DRiANKnAePevFsIKSvR89SUaMa2xsd7YKK71Ka1eqKI=
github.com/IBM/project-go-sdk v0.3.6/go.mod h1:FOJM9ihQV3EEAY6YigcWiTNfVCThtdY8bLC/nhQHFvo=
github.com/IBM/schematics-go-sdk v0.4.0 h1:x01f/tPquYJYLQzJLGuxWfCbV/EdSMXRikOceNy/JLM=
Expand Down Expand Up @@ -81,8 +81,8 @@ github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre
github.com/go-openapi/analysis v0.21.5 h1:3tHfEBh6Ia8eKc4M7khOGjPOAlWKJ10d877Cr9teujI=
github.com/go-openapi/analysis v0.21.5/go.mod h1:25YcZosX9Lwz2wBsrFrrsL8bmjjXdlyP6zsr2AMy29M=
github.com/go-openapi/errors v0.20.3/go.mod h1:Z3FlZ4I8jEGxjUK+bugx3on2mIAk4txuAOhlsB1FSgk=
github.com/go-openapi/errors v0.22.0 h1:c4xY/OLxUBSTiepAg3j/MHuAv5mJhnf53LLMWFB+u/w=
github.com/go-openapi/errors v0.22.0/go.mod h1:J3DmZScxCDufmIMsdOuDHxJbdOGC0xtUynjIx092vXE=
github.com/go-openapi/errors v0.22.1 h1:kslMRRnK7NCb/CvR1q1VWuEQCEIsBGn5GgKD9e+HYhU=
github.com/go-openapi/errors v0.22.1/go.mod h1:+n/5UdIqdVnLIJ6Q9Se8HNGUXYaY6CN8ImWzfi/Gzp0=
github.com/go-openapi/jsonpointer v0.20.1 h1:MkK4VEIEZMj4wT9PmjaUmGflVBr9nvud4Q4UVFbDoBE=
github.com/go-openapi/jsonpointer v0.20.1/go.mod h1:bHen+N0u1KEO3YlmqOjTT9Adn1RfD91Ar825/PuiRVs=
github.com/go-openapi/jsonreference v0.20.3 h1:EjGcjTW8pD1mRis6+w/gmoBdqv5+RbE9B85D1NgDOVQ=
Expand Down Expand Up @@ -279,8 +279,8 @@ github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO
github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper v1.46.6 h1:GQR+O4fWAfCBJpUS6j5NtYCKX8xYUbSfX2ZHjvMA60s=
github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper v1.46.6/go.mod h1:/sx8pAvkMdCng32CHwsQULs9VplmtVvIwqHNc6EDey4=
github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper v1.47.1 h1:tNFE95ARyd8tTjP0zSmIJIFKBf7Kdl8Cuwp5NZ1xqUo=
github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper v1.47.1/go.mod h1:be/us5lpuIvNmni1CXR0nJcAiFJkvluQDM0iFe960s8=
github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk=
github.com/tmccombs/hcl2json v0.6.4 h1:/FWnzS9JCuyZ4MNwrG4vMrFrzRgsWEOVi+1AyYUVLGw=
github.com/tmccombs/hcl2json v0.6.4/go.mod h1:+ppKlIW3H5nsAsZddXPy2iMyvld3SHxyjswOZhavRDk=
Expand Down
Loading