Skip to content

Commit ce53009

Browse files
Aashiq-Jocofaigh
andauthored
feat: initial DA (fully-configurable) release (#1)
* initial commit * test * changes * test * test * update module version * Update ibm_catalog.json Co-authored-by: Conall Ó Cofaigh <ocofaigh@ie.ibm.com> * update * updates * update cra rules * test * test * SKIP UPGRADE TEST * update * update * update cra * update codeowner * update offering id * update json * update iam permissions * update catalog * review comments * review changes. * update release rc * update --------- Co-authored-by: Conall Ó Cofaigh <ocofaigh@ie.ibm.com>
1 parent 48f8221 commit ce53009

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+1321
-579
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+
# The contents of this file are used by an IBM internal pipeline to onboard solutions to the IBM catalog
2+
---
3+
apiVersion: v1
4+
offerings:
5+
- name: deploy-arch-ibm-is-private-path-ext-conn
6+
kind: solution
7+
catalog_id: 7df1e4ca-d54c-4fd0-82ce-3d13247308cd
8+
offering_id: 0be06773-9d63-439e-8211-c9787a0d27e7
9+
variations:
10+
- name: fully-configurable
11+
mark_ready: true
12+
install_type: fullstack
13+
pre_validation: "tests/scripts/pre-validation-private-path-vpc.sh"
14+
post_validation: "tests/scripts/post-validation-private-path-vpc.sh"

.github/CODEOWNERS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
# Primary owner should be listed first in list of global owners, followed by any secondary owners
2-
* @ocofaigh @daniel-butler-irl
2+
* @Aashiq-J @Aayush-Abhyarthi

.releaserc

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,29 @@
11
{
22
"tagFormat": "v${version}",
3-
"branches": ["main"],
3+
"branches": [
4+
"main"
5+
],
46
"plugins": [
57
"@semantic-release/commit-analyzer",
68
"@semantic-release/release-notes-generator",
79
"@semantic-release/github",
8-
["@semantic-release/git", {
9-
"assets": "false"
10-
}],
11-
["@semantic-release/exec", {
12-
"successCmd": "echo \"SEMVER_VERSION=${nextRelease.version}\" >> $GITHUB_ENV"
13-
}]
10+
[
11+
"@semantic-release/git",
12+
{
13+
"assets": "false"
14+
}
15+
],
16+
[
17+
"@semantic-release/exec",
18+
{
19+
"successCmd": "echo \"SEMVER_VERSION=${nextRelease.version}\" >> $GITHUB_ENV"
20+
}
21+
],
22+
[
23+
"@semantic-release/exec",
24+
{
25+
"publishCmd": "./ci/trigger-catalog-onboarding-pipeline.sh --version=v${nextRelease.version}"
26+
}
27+
]
1428
]
1529
}

.secrets.baseline

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"files": "go.sum|^.secrets.baseline$",
44
"lines": null
55
},
6-
"generated_at": "2024-11-22T17:36:38Z",
6+
"generated_at": "2025-05-27T05:56:18Z",
77
"plugins_used": [
88
{
99
"name": "AWSKeyDetector"
@@ -76,18 +76,7 @@
7676
"name": "TwilioKeyDetector"
7777
}
7878
],
79-
"results": {
80-
"README.md": [
81-
{
82-
"hashed_secret": "ff9ee043d85595eb255c05dfe32ece02a53efbb2",
83-
"is_secret": false,
84-
"is_verified": false,
85-
"line_number": 74,
86-
"type": "Secret Keyword",
87-
"verified_result": null
88-
}
89-
]
90-
},
79+
"results": {},
9180
"version": "0.13.1+ibm.62.dss",
9281
"word_list": {
9382
"file": null,

README.md

Lines changed: 12 additions & 148 deletions
Original file line numberDiff line numberDiff line change
@@ -1,160 +1,24 @@
1-
<!-- Update this title with a descriptive name. Use sentence case. -->
2-
# Terraform modules template project
1+
# VPC Private-path External Connectivity
32

4-
<!--
5-
Update status and "latest release" badges:
6-
1. For the status options, see https://terraform-ibm-modules.github.io/documentation/#/badge-status
7-
2. Update the "latest release" badge to point to the correct module's repo. Replace "terraform-ibm-module-template" in two places.
8-
-->
93
[![Incubating (Not yet consumable)](https://img.shields.io/badge/status-Incubating%20(Not%20yet%20consumable)-red)](https://terraform-ibm-modules.github.io/documentation/#/badge-status)
10-
[![latest release](https://img.shields.io/github/v/release/terraform-ibm-modules/terraform-ibm-vpc-private-path-external-connectivity?logo=GitHub&sort=semver)](https://github.com/terraform-ibm-modules/terraform-ibm-vpc-private-path-external-connectivity/releases/latest)
4+
[![latest release](https://img.shields.io/github/v/release/terraform-ibm-modules/sample-deployable-architectures?logo=GitHub&sort=semver)](https://github.com/terraform-ibm-modules/sample-deployable-architectures/releases/latest)
115
[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https://github.com/pre-commit/pre-commit)
126
[![Renovate enabled](https://img.shields.io/badge/renovate-enabled-brightgreen.svg)](https://renovatebot.com/)
137
[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)
148

15-
<!--
16-
Add a description of modules in this repo.
17-
Expand on the repo short description in the .github/settings.yml file.
9+
This repository contains the following sample deployable architectures:
10+
- [Cloud essentials for private-path external connectivity](./solutions/fully-configurable)
1811

19-
For information, see "Module names and descriptions" at
20-
https://terraform-ibm-modules.github.io/documentation/#/implementation-guidelines?id=module-names-and-descriptions
21-
-->
12+
:exclamation: **Important:** These solutions are not intended to be called by other modules because they contain provider configurations and are not compatible with the `for_each`, `count`, and `depends_on` Terraform arguments. For more information, see [Providers Within Modules](https://developer.hashicorp.com/terraform/language/modules/develop/providers).
2213

23-
TODO: Replace this with a description of the modules in this repo.
14+
The repository includes the following artefacts for configuration.
15+
- [A GitHub Actions workflow to run the common CI pipeline for Terraform](./.github/workflows). For more information, see the common-pipeline-assets [readme file](https://github.com/terraform-ibm-modules/common-pipeline-assets/blob/main/README.md)).
16+
- A [common-dev-assets](./common-dev-assets) Git submodule with common automation that is used for CI and development. For more information, see [Local development setup](https://terraform-ibm-modules.github.io/documentation/#/local-dev-setup)).
17+
- An [ibm_catalog.json](ibm_catalog.json) file that is used for onboarding the sample deployable architectures to the IBM Cloud catalog.
18+
- A [.catalog-onboard-pipeline.yaml](.catalog-onboard-pipeline.yaml) file that is used by an IBM internal pipeline to onboard deployable architectures to the IBM catalog.
19+
- A [renovate.json](renovate.json) file that supports automatic creation of PRs to update dependencies. The Renovate pipeline runs regularly against all repos in the [terraform-ibm-modules](https://github.com/terraform-ibm-modules) org.
2420

25-
26-
<!-- The following content is automatically populated by the pre-commit hook -->
27-
<!-- BEGIN OVERVIEW HOOK -->
28-
## Overview
29-
* [terraform-ibm-vpc-private-path-external-connectivity](#terraform-ibm-vpc-private-path-external-connectivity)
30-
* [Examples](./examples)
31-
* [Advanced example](./examples/advanced)
32-
* [Basic example](./examples/basic)
33-
* [Contributing](#contributing)
34-
<!-- END OVERVIEW HOOK -->
35-
36-
37-
<!--
38-
If this repo contains any reference architectures, uncomment the heading below and link to them.
39-
(Usually in the `/reference-architectures` directory.)
40-
See "Reference architecture" in the public documentation at
41-
https://terraform-ibm-modules.github.io/documentation/#/implementation-guidelines?id=reference-architecture
42-
-->
43-
<!-- ## Reference architectures -->
44-
45-
46-
<!-- Replace this heading with the name of the root level module (the repo name) -->
47-
## terraform-ibm-vpc-private-path-external-connectivity
48-
49-
### Usage
50-
51-
<!--
52-
Add an example of the use of the module in the following code block.
53-
54-
Use real values instead of "var.<var_name>" or other placeholder values
55-
unless real values don't help users know what to change.
56-
-->
57-
58-
```hcl
59-
terraform {
60-
required_version = ">= 1.9.0"
61-
required_providers {
62-
ibm = {
63-
source = "IBM-Cloud/ibm"
64-
version = "X.Y.Z" # Lock into a provider version that satisfies the module constraints
65-
}
66-
}
67-
}
68-
69-
locals {
70-
region = "us-south"
71-
}
72-
73-
provider "ibm" {
74-
ibmcloud_api_key = "XXXXXXXXXX" # replace with apikey value
75-
region = local.region
76-
}
77-
78-
module "module_template" {
79-
source = "terraform-ibm-modules/<replace>/ibm"
80-
version = "X.Y.Z" # Replace "X.Y.Z" with a release version to lock into a specific release
81-
region = local.region
82-
name = "instance-name"
83-
resource_group_id = "xxXXxxXXxXxXXXXxxXxxxXXXXxXXXXX" # Replace with the actual ID of resource group to use
84-
}
85-
```
86-
87-
### Required access policies
88-
89-
<!-- PERMISSIONS REQUIRED TO RUN MODULE
90-
If this module requires permissions, uncomment the following block and update
91-
the sample permissions, following the format.
92-
Replace the 'Sample IBM Cloud' service and roles with applicable values.
93-
The required information can usually be found in the services official
94-
IBM Cloud documentation.
95-
To view all available service permissions, you can go in the
96-
console at Manage > Access (IAM) > Access groups and click into an existing group
97-
(or create a new one) and in the 'Access' tab click 'Assign access'.
98-
-->
99-
100-
<!--
101-
You need the following permissions to run this module:
102-
103-
- Service
104-
- **Resource group only**
105-
- `Viewer` access on the specific resource group
106-
- **Sample IBM Cloud** service
107-
- `Editor` platform access
108-
- `Manager` service access
109-
-->
110-
111-
<!-- NO PERMISSIONS FOR MODULE
112-
If no permissions are required for the module, uncomment the following
113-
statement instead the previous block.
114-
-->
115-
116-
<!-- No permissions are needed to run this module.-->
117-
118-
119-
<!-- The following content is automatically populated by the pre-commit hook -->
120-
<!-- BEGINNING OF PRE-COMMIT-TERRAFORM DOCS HOOK -->
121-
### Requirements
122-
123-
| Name | Version |
124-
|------|---------|
125-
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.9.0 |
126-
| <a name="requirement_ibm"></a> [ibm](#requirement\_ibm) | >= 1.71.2, < 2.0.0 |
127-
128-
### Modules
129-
130-
No modules.
131-
132-
### Resources
133-
134-
| Name | Type |
135-
|------|------|
136-
| [ibm_resource_instance.cos_instance](https://registry.terraform.io/providers/IBM-Cloud/ibm/latest/docs/resources/resource_instance) | resource |
137-
138-
### Inputs
139-
140-
| Name | Description | Type | Default | Required |
141-
|------|-------------|------|---------|:--------:|
142-
| <a name="input_name"></a> [name](#input\_name) | A descriptive name used to identify the resource instance. | `string` | n/a | yes |
143-
| <a name="input_plan"></a> [plan](#input\_plan) | The name of the plan type supported by service. | `string` | `"standard"` | no |
144-
| <a name="input_resource_group_id"></a> [resource\_group\_id](#input\_resource\_group\_id) | The ID of the resource group where you want to create the service. | `string` | n/a | yes |
145-
| <a name="input_resource_tags"></a> [resource\_tags](#input\_resource\_tags) | List of resource tag to associate with the instance. | `list(string)` | `[]` | no |
146-
147-
### Outputs
148-
149-
| Name | Description |
150-
|------|-------------|
151-
| <a name="output_account_id"></a> [account\_id](#output\_account\_id) | An alpha-numeric value identifying the account ID. |
152-
| <a name="output_crn"></a> [crn](#output\_crn) | The CRN of the resource instance. |
153-
| <a name="output_guid"></a> [guid](#output\_guid) | The GUID of the resource instance. |
154-
| <a name="output_id"></a> [id](#output\_id) | The unique identifier of the resource instance. |
155-
<!-- END OF PRE-COMMIT-TERRAFORM DOCS HOOK -->
156-
157-
<!-- Leave this section as is so that your module has a link to local development environment set-up steps for contributors to follow -->
21+
<!-- Leave this section as is so that your module has a link to local development environment set up steps for contributors to follow -->
15822
## Contributing
15923

16024
You can report issues and request features for this module in GitHub issues in the module repo. See [Report an issue or request a feature](https://github.com/terraform-ibm-modules/.github/blob/main/.github/SUPPORT.md).

cra-config.yaml

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

88
version: "v1"
99
CRA_TARGETS:
10-
- CRA_TARGET: "examples/advanced" # Target directory for CRA scan. If not provided, the CRA Scan will not be run.
10+
- CRA_TARGET: "solutions/fully-configurable" # Target directory for CRA scan. If not provided, the CRA Scan will not be run.
1111
CRA_IGNORE_RULES_FILE: "cra-tf-validate-ignore-rules.json"
1212
PROFILE_ID: "fe96bd4d-9b37-40f2-b39f-a62760e326a3" # SCC profile ID (currently set to 'IBM Cloud Framework for Financial Services' '1.7.0' profile).
1313
# 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.
1414
# SCC_REGION: "" # The IBM Cloud region that the SCC instance is in. If not provided, a default global value will be used.
15-
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.
15+
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.
1616
TF_VAR_prefix: "mock"
1717
TF_VAR_region: "us-south"
18+
TF_VAR_application_loadbalancer_pool_member_ip_address: ["159.23.92.5", "159.23.92.6"]
19+
TF_VAR_private_path_service_endpoints: ["vpc-pp.example.com"]
20+
TF_VAR_existing_vpc_id: "r006-a95450db-e5c3-49fb-b630-31aea1deb8d8"
21+
TF_VAR_provider_visibility: "public"

cra-tf-validate-ignore-rules.json

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,16 @@
11
{
2-
"scc_rules": []
2+
"scc_rules": [
3+
{
4+
"scc_rule_id": "rule-0e5151b1-9caf-433c-b4e5-be3d505e458e",
5+
"description": "Check whether Application Load Balancer for VPC is configured with multiple members in the pool",
6+
"ignore_reason": "This rule is not relevant to since we are attaching IP addresses to the ALB.",
7+
"is_valid": false
8+
},
9+
{
10+
"scc_rule_id": "rule-d544f217-3723-4376-b3aa-037c5f201e8d",
11+
"description": "Check whether Application Load Balancer for VPC uses HTTPS (SSL & TLS) instead of HTTP",
12+
"ignore_reason": "This rule is not relevant since ALB will be a member of the Private path NLB.",
13+
"is_valid": false
14+
}
15+
]
316
}

examples/advanced/README.md

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

examples/advanced/main.tf

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

examples/advanced/outputs.tf

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

0 commit comments

Comments
 (0)