All Projects → microsoft → PSDocs

microsoft / PSDocs

Licence: MIT License
Generate documentation from Infrastructure as Code (IaC).

Programming Languages

C#
18002 projects
powershell
5483 projects

Projects that are alternatives of or similar to PSDocs

Goss
Quick and Easy server testing/validation
Stars: ✭ 4,550 (+5966.67%)
Mutual labels:  infrastructure-as-code, devops-tools
PSRule-pipelines
Validate infrastructure as code (IaC) and DevOps repositories using Azure Pipelines.
Stars: ✭ 16 (-78.67%)
Mutual labels:  infrastructure-as-code, devops-tools
Terracognita
Reads from existing Cloud Providers (reverse Terraform) and generates your infrastructure as code on Terraform configuration
Stars: ✭ 452 (+502.67%)
Mutual labels:  infrastructure-as-code, devops-tools
Catapult
💥 Catapult is a DevOps website management platform for development teams.
Stars: ✭ 64 (-14.67%)
Mutual labels:  infrastructure-as-code, devops-tools
Cintodeutilidadesdocker
My Docker templates repository 🐳 ☁️ 🐳
Stars: ✭ 74 (-1.33%)
Mutual labels:  infrastructure-as-code, devops-tools
Psrule
Validate infrastructure as code (IaC) and objects using PowerShell rules.
Stars: ✭ 107 (+42.67%)
Mutual labels:  infrastructure-as-code, devops-tools
Terraboard
🌍 📋 A web dashboard to inspect Terraform States
Stars: ✭ 1,192 (+1489.33%)
Mutual labels:  infrastructure-as-code, devops-tools
Pytest Testinfra
With Testinfra you can write unit tests in Python to test actual state of your servers configured by management tools like Salt, Ansible, Puppet, Chef and so on.
Stars: ✭ 1,987 (+2549.33%)
Mutual labels:  infrastructure-as-code, devops-tools
Red-Baron
Automate creating resilient, disposable, secure and agile infrastructure for Red Teams
Stars: ✭ 326 (+334.67%)
Mutual labels:  infrastructure-as-code
pytestlab
A pytest powered framework for multi-host integration and system testing
Stars: ✭ 17 (-77.33%)
Mutual labels:  infrastructure-as-code
HTTP-Connectivity-Tester
Aids in discovering HTTP and HTTPS connectivity issues. #nsacyber
Stars: ✭ 79 (+5.33%)
Mutual labels:  powershell-module
scale-network
SCaLE's on-site expo network configurations, wifi, tooling, and scripts
Stars: ✭ 13 (-82.67%)
Mutual labels:  infrastructure-as-code
resoto
Resoto - Find leaky resources, manage quota limits, detect drift, and clean up!
Stars: ✭ 562 (+649.33%)
Mutual labels:  infrastructure-as-code
aks-terraform-helm
Showcase for Azure, AKS, Terraform, Helm and Let's Encrypt
Stars: ✭ 23 (-69.33%)
Mutual labels:  infrastructure-as-code
doing-cli
CLI tool to simplify the development workflow on azure devops
Stars: ✭ 19 (-74.67%)
Mutual labels:  devops-tools
c3
𝗖𝟯 provides compliant AWS CDK components to various security standards.
Stars: ✭ 24 (-68%)
Mutual labels:  infrastructure-as-code
aws-cdk-go
AWS CDK bindings for Go.
Stars: ✭ 94 (+25.33%)
Mutual labels:  infrastructure-as-code
envkeygo
EnvKey's official Go client library
Stars: ✭ 36 (-52%)
Mutual labels:  devops-tools
envkey-ruby
EnvKey's official Ruby client library
Stars: ✭ 24 (-68%)
Mutual labels:  devops-tools
blog-secretmanagement-powershell-module
Blog about recently introduced SecretManagement PowerShell module, our practical usage and code.
Stars: ✭ 15 (-80%)
Mutual labels:  powershell-module

PSDocs

A PowerShell module with commands to generate markdown from objects using PowerShell syntax.

ci-badge

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, discussion, and support questions about using this project, join or start a discussion.

Support for this project/ product is limited to the resources listed above.

Getting the modules

You can download and install the PSDocs module from the PowerShell Gallery.

Module Description Downloads / instructions
PSDocs Generate markdown from PowerShell latest / instructions

For integration modules see related projects.

Getting started

The following example shows basic PSDocs usage. For specific use cases see scenarios.

Define a document

A document provides instructions on how PSDocs should render an object into documentation. To define a document, create the Document script block saved to a file with the .Doc.ps1 extension.

For example:

# File: Sample.Doc.ps1

# Define a document called Sample
Document Sample {
    # Define content here
}

Within the document body provide one or more instructions.

For example:

# File: Sample.Doc.ps1

# Define a document called Sample
Document Sample {

    # Add an introduction section
    Section Introduction {
        # Add a comment
        "This is a sample file list from $TargetObject"

        # Generate a table
        Get-ChildItem -Path $TargetObject | Table -Property Name,PSIsContainer
    }
}

Execute a document

To execute the document use Invoke-PSDocument.

For example:

Invoke-PSDocument -InputObject 'C:\';

An example of the output generated is available here.

Scenarios

Language reference

PSDocs extends PowerShell with domain specific language (DSL) keywords and cmdlets.

Keywords

The following language keywords are used by the PSDocs module:

  • Document - Defines a named documentation block
  • Section - Creates a named section
  • Title - Sets the document title
  • Code - Inserts a block of code
  • BlockQuote - Inserts a block quote
  • Note - Inserts a note using DocFx formatted markdown (DFM)
  • Warning - Inserts a warning using DocFx formatted markdown (DFM)
  • Metadata - Inserts a yaml header
  • Table - Inserts a table from pipeline objects
  • Include - Insert content from an external file

Commands

The following commands exist in the PSDocs module:

The following commands exist in the PSDocs.Dsc module:

Concepts

The following conceptual topics exist in the PSDocs module:

Related projects

The following projects use or integrate with PSDocs.

Name Description
PSDocs.Azure Generate documentation from Azure infrastructure as code (IaC) artifacts.
PSDocs.Dsc Extension for PSDocs to generate markdown from Desired State Configuration.

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 [email protected] with any additional questions or comments.

Maintainers

License

This project is licensed under the MIT License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].