5.1 KiB
PSRule for Cloud Adoption Framework
A suite of rules to validate Azure resources against the Cloud Adoption Framework (CAF) using PSRule.
Features of PSRule for CAF include:
- Ready to go - Leverage configurable rules to validate Azure resources.
- DevOps - Validate resources and infrastructure code pre or post-deployment.
- Cross-platform - Run on MacOS, Linux, and Windows.
Support
This project uses GitHub Issues to track bugs and feature requests. Please search the existing issues before filing new issues to avoid duplicates.
- For new issues, file your bug or feature request as a new Issue.
- For help and questions about using this project, we have a Gitter room which you can join below.
If you have any problems with the PSRule engine, please check the project GitHub issues page instead.
Support for this project/ product is limited to the resources listed above.
Getting the modules
This project requires the PSRule
, PSRule.Rules.Azure
and Az
PowerShell modules. For details on each see install.
You can download and install these modules from the PowerShell Gallery.
Module | Description | Downloads / instructions |
---|---|---|
PSRule.Rules.CAF | Validate Azure resources against the CAF. | latest / instructions |
Getting started
Export resource data
To validate Azure resources running in a subscription, export the resource data with the Export-AzRuleData
cmdlet.
The Export-AzRuleData
cmdlet exports a resource graph for one or more subscriptions that can be used for analysis with the rules in this module.
By default, resources for the current subscription context are exported. See below for more options.
Before running this command you should connect to Azure by using the Connect-AzAccount
cmdlet.
For example:
# Authenticate to Azure, only required if not currently connected
Connect-AzAccount;
# Export resource data
Export-AzRuleData;
Validate resources
To validate Azure resources use the extracted data with the Invoke-PSRule
cmdlet.
For example:
Invoke-PSRule -InputPath .\*.json -Module 'PSRule.Rules.CAF';
Rule reference
For a list of rules included in the PSRule.Rules.CAF
module see:
Language reference
Commands
This module uses commands from the PSRule.Rules.Azure
module to export resource configuration data.
The PSRule.Rules.Azure
module is included as a dependency of PSRule.Rules.CAF
.
For details of PSRule.Rules.Azure
commands see:
- Export-AzRuleData - Export resource configuration data from Azure subscriptions.
- Export-AzTemplateRuleData - Export resource configuration data from Azure templates.
Changes and versioning
Modules in this repository will use the semantic versioning model to declare breaking changes from v1.0.0. Prior to v1.0.0, breaking changes may be introduced in minor (0.x.0) version increments. For a list of module changes please see the change log.
Pre-release module versions are created on major commits and can be installed from the PowerShell Gallery. Pre-release versions should be considered experimental. Modules and change log details for pre-releases will be removed as standard releases are made available.
Contributing
This project welcomes contributions and suggestions. If you are ready to contribute, please visit the contribution guide.
Code of Conduct
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.
Maintainers
License
This project is licensed under the MIT License.