Skip to content

Latest commit

 

History

History
73 lines (54 loc) · 7.21 KB

File metadata and controls

73 lines (54 loc) · 7.21 KB

Repository File Structure

This document describes the file and folder structure of the policy.documentation repository.

Structure Overview

Folder Description
.azuredevops Contains Azure DevOps pipeline and templates for the automated generation of Azure Policy documentation.
.github Contains GitHub Actions workflow and reusable actions for the automated generation of Azure Policy documentation.
.vscode Visual Studio Code workspace settings and recommended extensions for working with the repository.
configurations Configuration files used by the pipelines.
docs Documentation
ps_modules Source of the AzPolicyLens PowerShell modules. These modules are published to the PowerShell Gallery and installed from there by the pipelines.
scripts PowerShell scripts used by the pipelines.
security-controls Sample custom security controls that are defined by the organization and used by the custom Azure Policy. They are included in the Policy Wiki documentation.
.gitignore Specifies files and folders to be ignored by Git.
markdownlint.json Configuration file for markdownlint VS Code extension.
settings.yml Settings file used by the pipelines. This file contains various variables used by both Azure DevOps and GitHub Actions pipelines.

Folders

.azuredevops

.github

.vscode

  • extensions.json: The recommended extensions for working with this repository in Visual Studio Code.
  • PSScriptAnalyzerSettings.psd1: The PowerShell Script Analyzer settings for this repository.
  • settings.json: The recommended settings for working with this repository in Visual Studio Code.

configurations

ps_modules

These are the source of the AzPolicyLens PowerShell modules. The modules are published to the PowerShell Gallery and the pipelines install them from PowerShell Gallery at runtime rather than using this folder directly.

  • AzPolicyLens: The AzPolicyLens module provides cmdlets to generate Azure Policy documentation wikis.
  • AzPolicyLens.Discovery: The child module for AzPolicyLens. This module provides cmdlets to perform environment discovery for Azure Policy documentation wiki.
  • AzPolicyLens.Wiki: The child module for AzPolicyLens. This module provides cmdlets to generate wiki pages for Azure Policy documentation wiki.

scripts

  • ado-policy-doc-parse-config-file.ps1: This script parses the policy documentation configuration file and output wiki information to Azure DevOps pipeline variables. It is used in the Azure DevOps pipeline.
  • environment-discovery.ps1: This script performs environment discovery for Azure Policy documentation wiki using the AzPolicyLens.Discovery module. It is used in both Azure DevOps and GitHub Actions pipelines.
  • generate-wiki-pages.ps1: This script generates wiki pages for Azure Policy documentation wiki using the AzPolicyLens.Wiki module. It is used in both Azure DevOps and GitHub Actions pipelines.
  • github-policy-doc-parse-config-file.ps1: This script parses the policy documentation configuration file and output wiki information to GitHub Action variables. It is used in the GitHub Actions workflow.
  • github-set-variables.ps1: This script sets GitHub Action variables from the Azure Policy documentation settings configuration file. It is used in the GitHub Actions workflow.
  • helper/helper-functions.ps1: This script contains helper functions used by other scripts in this folder.

security-controls

  • contoso-bank-azure-control: This folder contains 60 sample custom security controls for a fictional organization called Contoso Bank. This is for demo purposes only. These controls are generated by ChatGPT. Each control is defined in a separate JSON file.
  • iso27001-2022: This folder contains security controls for the ISO/IEC 27001:2022 standard. The reason for including ISO/IEC 27001:2022 as custom security controls is because the built-in security controls provided by Azure Policy are incomplete for ISO/IEC 27001:2022.
  • security-control.schema.json: The JSON schema for custom security control definition files.