-
Notifications
You must be signed in to change notification settings - Fork 2
feat: add preflight check tool #56
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
Conversation
…criptions and vm counts in tables, compute quota requirements
- split azure service into subscription service and client factory - encapsulate arg handling in preflight check
ee9d68d to
c1714fa
Compare
4a25476 to
de1c128
Compare
…nteractive and non-interactive mode
|
|
||
| A Terraform Module to configure the Lacework Agentless Scanner on Azure. | ||
|
|
||
| To ensure smooth deployment, please reference our [preflight check](./preflight_check/). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just an aside, but we should follow up with the docs team to include reference to this tool after we merge and release.
| from .config import DeploymentConfig, IntegrationType, Region, Subscription | ||
| from .quota import UsageQuotaLimit | ||
|
|
||
| __all__ = [ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
just curious, why do we need this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It defines the scope for what's imported when a caller imports * from this package.
if a package’s
__init__.pycode defines a list named__all__, it is taken to be the list of module names that should be imported when from package import * is encountered.
wilderj
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Really fantastic work here @kirklandnuts 👊 !
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We product platform team (growth team) built a CLI tool lacework preflight to do preflight check across all CSPs/ integrations here https://github.com/lacework-dev/cdk-preflight. It has minimal check on Azure currently but already fully supports AWS/GCP. Seems like we are making duplicated efforts in different ways.
Questions:
- Why do you do preflight check only for this Agentless module but not the other modules? I assume it's a question more about using cdk-preflight VS doing preflight check in every single module.
- If
user to have run the preflight check before executing the module., how would the upstream dependencies be affected? We have CLI commands and self-deployment service that heavily depend on Terraform modules. The Terraform modules shouldn't be overburdened and their behavior should remain unchanged.
@PengyuanZhao thanks for raising this — I wasn't aware that we had an existing preflight check tool.
Depending on the feedback we receive on this tool, we'd planned to do implement something similar for other AWLS modules (https://github.com/lacework/terraform-aws-agentless-scanning/ and https://github.com/lacework/terraform-gcp-agentless-scanning). With regards to modules beyond those pertaining to AWLS, it simply comes down to the fact that our team is not acutely aware of what conditions need to be checked to ensure successful deployment of those components, so we would not be the ones to implement such checks.
As of right now, we are not enforcing the requirement that users must have run the preflight check before they can execute the module — this is being tracked as a separate follow-up task AWLS2-490. For context, the way we're considering enforcing this requirement is by having the module read the preflight check output file and validate that the checks had passed. In any case, when we make this change, we will also add a new input variable (e.g., Given the checks being performed by this tool, do you think that it's something that the platform team can replicate within the |
|
@kirklandnuts thanks for the clarification! As a lot of work has been done on The Our team would add it to our roadmap to replicate this within |
Summary
This PR introduces a tool which helps users smoothly deploy AWLS on Azure by
The tool is a python module that lives in
/preflight_check. Usage instructions are included at/preflight_check/README.md.Future work:
How did you test this change?
I created a SP as instructed in the preflight check README, then I ran the preflight check and verified that it
Issue
AWLS2-368