Skip to content

add : fully configurable version #300

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 27 commits into from
Mar 28, 2025
Merged

add : fully configurable version #300

merged 27 commits into from
Mar 28, 2025

Conversation

Aayush-Abhyarthi
Copy link
Member

@Aayush-Abhyarthi Aayush-Abhyarthi commented Mar 5, 2025

Description

https://github.ibm.com/GoldenEye/issues/issues/12575

Release required?

  • No release
  • Patch release (x.x.X)
  • Minor release (x.X.x)
  • Major release (X.x.x)
Release notes content

This PR releases two variations of the Deployable Architecture -

  • Fully configurable
    • KMS encrypted not enforced
  • Security-enforced
    • Wrapper around "Fully configurable" with KMS encryption and private endpoint enforced

The Solutions variation is depricated.

Run the pipeline

If the CI pipeline doesn't run when you create the PR, the PR requires a user with GitHub collaborators access to run the pipeline.

Run the CI pipeline when the PR is ready for review and you expect tests to pass. Add a comment to the PR with the following text:

/run pipeline

Checklist for reviewers

  • If relevant, a test for the change is included or updated with this PR.
  • If relevant, documentation for the change is included or updated with this PR.

For mergers

  • Use a conventional commit message to set the release level. Follow the guidelines.
  • Include information that users need to know about the PR in the commit message. The commit message becomes part of the GitHub release notes.
  • Use the Squash and merge option.

@Aayush-Abhyarthi Aayush-Abhyarthi changed the title add : fully configurable version [WIP] add : fully configurable version Mar 5, 2025
@Aayush-Abhyarthi Aayush-Abhyarthi changed the title [WIP] add : fully configurable version [Do Not Merge] add : fully configurable version Mar 5, 2025
Copy link
Contributor

@ocofaigh ocofaigh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do not use spaces in directory names. The renamed directory should be solutions/security-enforced. The label name should be Security-enforced and the programmtic variation name should be security-enforced. I think you need to check your changes against the recent updates that were made to the standard variation. Several variables were renamed, and it seems you do not have the new names.
I think the direction we are going is the the whole code in the standard (security-enforced) directory will go away, and that new Security-enforced variation will actually just call the Fully configurable variation in the ibm_catalog.json but will hard code a few variables, and force require others to lock it down. Otherwise we end up with alot of code duplication for now reason. Such a change will be a full breaking major version release. see below comment

@ocofaigh
Copy link
Contributor

ocofaigh commented Mar 6, 2025

@Aayush-Abhyarthi We talked more about what to do with the current standard (new name Security-enforced) variation. We should take the same approach as the fscloud submodule and have the code be a wrapper around the Fully configurable variation. Since it will a major version change, you can actually go ahead and change the programatic name of the variation in the ibm_catalog,json to security-enforced

@Aayush-Abhyarthi
Copy link
Member Author

/run pipeline

@Aayush-Abhyarthi
Copy link
Member Author

/run pipeline

@Aayush-Abhyarthi
Copy link
Member Author

/run pipeline

@Aayush-Abhyarthi
Copy link
Member Author

/run pipeline

@Aayush-Abhyarthi Aayush-Abhyarthi marked this pull request as ready for review March 14, 2025 11:18
@Aayush-Abhyarthi Aayush-Abhyarthi changed the title [Do Not Merge] add : fully configurable version add : fully configurable version Mar 14, 2025
@ocofaigh ocofaigh mentioned this pull request Mar 15, 2025
6 tasks
@Aayush-Abhyarthi
Copy link
Member Author

/run pipeline

@Aayush-Abhyarthi
Copy link
Member Author

/run pipeline

Copy link
Contributor

@ocofaigh ocofaigh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Aayush-Abhyarthi Can you review all the variable descriptions please? Make sure they reference any related inputs.

Can you also make sure you are consistent everywhere with the changes in terraform-ibm-modules/terraform-ibm-scc#249?

The DA is missing the skip_iam_authorization_policy input that was added to the root level module for enabling the IAM credentials engine.

Diagram updates:

  • Resource Group -> Existing resource group
  • Make it more clear that IAM Engine is enabled now via an s2s policy. I would move the icon into the outer IBM Cloud box and rename it 'IAM'. And add the text 's2s IAM auth' along the arror that points to it
  • Event Notifications -> Existing Event Notifications

Update the topic name to include the secrets manager GUID (like I did here)

@Aayush-Abhyarthi
Copy link
Member Author

/run pipeline

@ocofaigh
Copy link
Contributor

#295 should be merged first

@Aayush-Abhyarthi
Copy link
Member Author

/run pipeline

Copy link
Contributor

@ocofaigh ocofaigh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please review the test coverage:

  • You can remove TestRunUpgradeExample - we don't need an upgrade test on an example since we have one for the DA
  • I see no point in having both TestRunSecretsManagerSecurityEnforcedUpgradeSchematic and TestRunSecretsManagerFullyConfigurableUpgradeSchematic since security enforced variation is a wrapper around fully configurable. I don't think we will introduce much of a test gap if we just have an upgrade test for security enforced.
  • There is no test that does not use KMS encryption
  • There is no test that uses existing KMS key
  • There is no test that uses existing secrets manager instance

Please try to plug these test gaps, but if keep the number of tests as low as possible so we don't create lots of secrets manager instances that will take up our quota

@Aayush-Abhyarthi
Copy link
Member Author

/run pipeline

@Aayush-Abhyarthi
Copy link
Member Author

/run pipeline

@Aayush-Abhyarthi
Copy link
Member Author

/run pipeline

Copy link
Contributor

@ocofaigh ocofaigh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

some final comments

@Aayush-Abhyarthi
Copy link
Member Author

/run pipeline

@ocofaigh ocofaigh merged commit b548403 into main Mar 28, 2025
2 checks passed
@ocofaigh ocofaigh deleted the baseline_DA branch March 28, 2025 17:24
@terraform-ibm-modules-ops
Copy link
Contributor

🎉 This PR is included in version 2.0.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

alex-reiff pushed a commit that referenced this pull request Mar 28, 2025
…nforced"<br>- The "standard" variation has been deprecated does not exist in this release (#300)

BREAKING CHANGE: There is no upgrade path from the deprecated "Standard" DA variation to either of the new "Fully configurable" or "Security-enforced variations
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants