A collection of PowerShell helper modules that make day-to-day DevOps tasks less tedious and more repeatable.
The toolkit wraps common CLI utilities (Terraform, Checkov, Azure CLI, Chocolatey, Homebrew …) with idempotent, test-friendly PowerShell functions and includes a lightweight logging framework.
Module | Purpose |
---|---|
AzureCliLogin | Unified Azure CLI authentication (service-principal, OIDC, device-code, MSI) |
Checkov | Safe wrapper for checkov scans with skip-lists, soft-fail, and structured logging |
Choco | Assert that Chocolatey exists and install packages idempotently |
Homebrew | Same as above but for Linux & macOS Homebrew |
Logger | Opinionated logging (INFO , WARN , DEBUG , ERROR ) with timestamps and invocation names |
Pester | Thin helpers for writing module / pipeline tests |
Terraform | End-to-end helpers: Invoke-TerraformInit/Plan/Apply/Destroy , workspace selection, plan → JSON, etc. |
TerraformDocs | Sort variables.tf , outputs.tf & auto-generate README.md via terraform-docs |
Utils | Generic helpers (type conversions, OS detection, program discovery, …) |
# Install from the PowerShell Gallery
Install-Module -Name LibreDevOpsHelpers -Scope CurrentUser
# Import the root module (nested modules auto-load)
Import-Module LibreDevOpsHelpers
Some functions call external CLIs (terraform
, checkov
, az
, etc.).
Ensure those are available in your $Env:PATH
or install them with the included Assert-ChocoPath
/ Assert-HomebrewPath
helpers.
# Initialize Terraform and run a plan
$code = "C:\src\infra\terraform"
Invoke-TerraformInit -CodePath $code -InitArgs '-input=false'
Invoke-TerraformPlan -CodePath $code
Convert-TerraformPlanToJson -CodePath $code -PassThru | Invoke-Checkov
# Log in to Azure with a service-principal
Connect-AzureCli -UseClientSecret
# Import everything
Import-Module LibreDevOpsHelpers
# Or cherry-pick only what you need:
Import-Module LibreDevOpsHelpers.Terraform
Import-Module LibreDevOpsHelpers.Logger
Each nested module is independent and exports only approved-verb cmdlets.
- Fork the repo & create a feature branch
- Follow the style guide:
Get-Command -Module LibreDevOpsHelpers | Sort-Object Verb, Noun
- Add Pester tests where applicable
- Open a PR — GitHub Actions will lint, test, and publish preview packages
This project is licensed under the MIT License.
Made with ❤️ by Libre DevOps.