Skip to content

Commit 85207a6

Browse files
authored
feat: Add a solution DA (#146)
1 parent 3c26f5d commit 85207a6

19 files changed

+457
-23
lines changed

.catalog-onboard-pipeline.yaml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
---
2+
apiVersion: v1
3+
offerings:
4+
- name: deploy-arch-ibm-event-notifications
5+
kind: solution
6+
catalog_id: 7df1e4ca-d54c-4fd0-82ce-3d13247308cd
7+
offering_id: c7ac3ee6-4f48-4236-b974-b0cd8c624a46
8+
variations:
9+
- name: standard
10+
mark_ready: true
11+
install_type: fullstack
12+
scc:
13+
instance_id: 1c7d5f78-9262-44c3-b779-b28fe4d88c37
14+
region: us-south

.github/settings.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,4 @@ repository:
2626

2727
# Uncomment this topics property
2828
# and add a comma-separated list of topics to set on the repo.
29-
topics: terraform, ibm-cloud, terraform-module, event-notifications, core-team, graduated, supported
29+
topics: terraform, ibm-cloud, terraform-module, event-notifications, core-team, graduated, supported, deployable-architecture

.releaserc

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@
1010
}],
1111
["@semantic-release/exec", {
1212
"successCmd": "echo \"SEMVER_VERSION=${nextRelease.version}\" >> $GITHUB_ENV"
13+
}],
14+
["@semantic-release/exec", {
15+
"successCmd": "echo \"SEMVER_VERSION=${nextRelease.version}\" >> $GITHUB_ENV",
16+
"publishCmd": "./ci/trigger-catalog-onboarding-pipeline.sh --version=v${nextRelease.version}"
1317
}]
1418
]
1519
}

cra-config.yaml

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,9 @@
11
# More info about this file at https://github.com/terraform-ibm-modules/common-pipeline-assets/blob/main/.github/workflows/terraform-test-pipeline.md#cra-config-yaml
22
version: "v1"
33
CRA_TARGETS:
4-
- CRA_TARGET: "examples/fscloud" # Target directory for CRA scan. If not provided, the CRA Scan will not be run.
4+
- CRA_TARGET: "solutions/standard" # Target directory for CRA scan. If not provided, the CRA Scan will not be run.
55
CRA_IGNORE_RULES_FILE: "cra-tf-validate-ignore-rules.json" # CRA Ignore file to use. If not provided, it checks the repo root directory for `cra-tf-validate-ignore-rules.json`
66
CRA_ENVIRONMENT_VARIABLES:
7-
TF_VAR_prefix: "cra-sap"
7+
TF_VAR_resource_group_name: "test"
88
TF_VAR_existing_kms_instance_crn: "crn:v1:bluemix:public:hs-crypto:us-south:a/abac0df06b644a9cabc6e44f55b3880e:e6dce284-e80f-46e1-a3c1-830f7adff7a9::"
9-
TF_VAR_root_key_id: "76170fae-4e0c-48c3-8ebe-326059ebb533"
109
TF_VAR_kms_endpoint_url: "https://api.private.us-south.hs-crypto.cloud.ibm.com:8992"
11-
12-
13-
# CRA_ENVIRONMENT_VARIABLES: # An optional map of environment variables for CRA, where the key is the variable name and value is the value. Useful for providing TF_VARs.
14-
# TF_VAR_sample: "sample value"
15-
# TF_VAR_other: "another value"
16-
# SCC_INSTANCE_ID: "" # The SCC instance ID to use to download profile for CRA scan. If not provided, a default global value will be used.
17-
# SCC_REGION: "" # The IBM Cloud region that the SCC instance is in. If not provided, a default global value will be used.
18-
# PROFILE_ID: "" # The Profile ID input for CRA SCC scan. If not provided, a default global value will be used.

ibm_catalog.json

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
{
2+
"products": [
3+
{
4+
"name": "deploy-arch-ibm-event-notifications",
5+
"label": "Event Notifications",
6+
"product_kind": "solution",
7+
"tags": [
8+
"ibm_created",
9+
"target_terraform",
10+
"terraform",
11+
"solution",
12+
"dev_ops"
13+
],
14+
"keywords": [
15+
"events",
16+
"notifications",
17+
"events-notifications",
18+
"IaC",
19+
"infrastructure as code",
20+
"terraform",
21+
"solution"
22+
],
23+
"short_description": "Creates and configures IBM Cloud Event Notifications",
24+
"long_description": "This architecture supports creating and configuring an IBM Cloud Event Notifications instance.",
25+
"offering_docs_url": "https://github.com/terraform-ibm-modules/terraform-ibm-event-notifications/blob/main/solutions/standard/README.md",
26+
"offering_icon_url": "https://raw.githubusercontent.com/terraform-ibm-modules/terraform-ibm-event-notifications/main/images/en_icon.svg",
27+
"provider_name": "IBM",
28+
"features": [
29+
{
30+
"title": "Creates an Event Notifications instance.",
31+
"description": "Creates an Event Notifications instance."
32+
},
33+
{
34+
"title": "Creates Key Rings and Keys",
35+
"description": "Creates Key Rings and Keys in an existing KMS instance used to encrypt data."
36+
}
37+
],
38+
"flavors": [
39+
{
40+
"label": "Standard",
41+
"name": "standard",
42+
"install_type": "fullstack",
43+
"working_directory": "solutions/standard",
44+
"compliance": {
45+
"authority": "scc-v3",
46+
"profiles": [
47+
{
48+
"profile_name": "IBM Cloud Framework for Financial Services",
49+
"profile_version": "1.5.0"
50+
}
51+
]
52+
},
53+
"iam_permissions": [
54+
{
55+
"role_crns": [
56+
"crn:v1:bluemix:public:iam::::serviceRole:Manager",
57+
"crn:v1:bluemix:public:iam::::role:Editor"
58+
],
59+
"service_name": "event-notifications"
60+
}
61+
],
62+
"architecture": {
63+
"descriptions": "This architecture supports creating and configuring an Event Notifications instance.",
64+
"features": [
65+
{
66+
"title": "Creates an Event Notifications instance.",
67+
"description": "Creates and configures an Event Notifications instance."
68+
},
69+
{
70+
"title": "Creates Key Rings and Keys",
71+
"description": "Creates Key Rings and Keys in an existing KMS instance."
72+
}
73+
],
74+
"diagrams": [
75+
{
76+
"diagram": {
77+
"caption": "IBM Event Notifications",
78+
"url": "https://raw.githubusercontent.com/terraform-ibm-modules/terraform-ibm-event-notifications/main/reference-architecture/en.svg",
79+
"type": "image/svg+xml"
80+
},
81+
"description": "This architecture supports creating and configuring an IBM Event Notifications"
82+
}
83+
]
84+
}
85+
}
86+
]
87+
}
88+
]
89+
}

images/en_icon.svg

Lines changed: 1 addition & 0 deletions
Loading

reference-architecture/en.svg

Lines changed: 4 additions & 0 deletions
Loading

renovate.json

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,18 @@
11
{
22
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
3-
"extends": ["github>terraform-ibm-modules/common-dev-assets:commonRenovateConfig"]
3+
"extends": ["github>terraform-ibm-modules/common-dev-assets:commonRenovateConfig"],
4+
"packageRules": [
5+
{
6+
"description": "Allow the locked in provider version to be updated to the latest for deployable architectures",
7+
"enabled": true,
8+
"matchFileNames": ["solutions/**"],
9+
"matchManagers": ["terraform"],
10+
"matchDepTypes": ["required_provider"],
11+
"rangeStrategy": "bump",
12+
"semanticCommitType": "fix",
13+
"group": true,
14+
"groupName": "required_provider",
15+
"commitMessageExtra": "to latest for the deployable architecture solution"
16+
}
17+
]
418
}

solutions/standard/README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Event Notifications solution
2+
3+
This solution supports the following:
4+
- Creating a new resource group, or taking in an existing one.
5+
- Provisioning and configuring an Event Notifications instance.
6+
- Configuring KMS encryption using an existing root key, or optionally creating a new key ring and Key in an existing instance.
7+
8+
**NB:** This solution is not intended to be called by one or more other modules since it contains a provider configurations, meaning it is not compatible with the `for_each`, `count`, and `depends_on` arguments. For more information see [Providers Within Modules](https://developer.hashicorp.com/terraform/language/modules/develop/providers)
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"ibmcloud_api_key": $VALIDATION_APIKEY,
3+
"resource_group_name": $PREFIX,
4+
"tags": $TAGS,
5+
"existing_kms_instance_crn": "crn:v1:bluemix:public:hs-crypto:us-south:a/abac0df06b644a9cabc6e44f55b3880e:e6dce284-e80f-46e1-a3c1-830f7adff7a9::",
6+
"kms_region": "us-south",
7+
"kms_endpoint_url": "https://api.private.us-south.hs-crypto.cloud.ibm.com:8992"
8+
}

0 commit comments

Comments
 (0)