Validate infrastructure as code (IaC) and objects using PowerShell rules.
A cross-platform module to validate infrastructure as code (IaC) and objects using PowerShell rules. PSRule works great and integrates with popular continuous integration (CI) systems.
DevOps - Built to support DevOps culture and tools.
Extensible - Define tests using YAML, JSON, or PowerShell format.
Reusable - Reuse and share rules across teams or organizations.
Continue reading the PSRule design specification.
Back to the summary
This project uses GitHub Issues to track bugs and feature requests. Please search the existing issues before filing new issues to avoid duplicates.
Support for this project/ product is limited to the resources listed above.
Back to the summary
You can download and install the PSRule module from the PowerShell Gallery.
Module | Description | Downloads / instructions |
---|---|---|
PSRule | Validate infrastructure as code (IaC) and objects using PowerShell rules. | latest / instructions |
For rule and integration modules see related projects.
Back to the summary
Companion extensions are available for the following platforms.
Platform | Description | Downloads / instructions |
---|---|---|
Azure Pipelines | Validate infrastructure as code (IaC) and DevOps repositories using Azure Pipelines. | latest / instructions |
GitHub Actions | Validate infrastructure as code (IaC) and DevOps repositories using GitHub Actions. | latest / instructions |
Visual Studio Code | Visual Studio Code extension for PSRule. | latest / instructions |
Back to the summary
For an quickstart example of using PSRule see Create a standalone rule. For specific use cases see scenarios.
For frequently asked questions, see the FAQ.
Back to the summary
For walk through examples of PSRule usage see:
Back to the summary
PSRule extends PowerShell with domain specific language (DSL) keywords, cmdlets and automatic variables.
The following language keywords are used by the PSRule
module:
Back to the summary
The following commands exist in the PSRule
module:
Back to the summary
The following conceptual topics exist in the PSRule
module:
Back to the summary
PSRule uses the following schemas:
Back to the summary
For a list of projects and integrations see Related projects.
This repository uses semantic versioning to declare breaking changes. For details please see the changes and versioning.
This project welcomes contributions and suggestions. If you are ready to contribute, please visit the contribution guide.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.
This project is licensed under the MIT License.
This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.
Back to the summary