Giter Club home page Giter Club logo

azure / noopsaccelerator Goto Github PK

View Code? Open in Web Editor NEW
64.0 9.0 31.0 5.77 MB

A flexible, Infrastructure-as-Code foundation that assists customers with the development and deployment of opinionated infrastructure models that are secure, well-governed, and simple to maintain.

License: MIT License

Bicep 67.38% PowerShell 0.18% Dockerfile 0.19% HCL 31.73% Go 0.48% Shell 0.03%
azure devops dod infrastructure-as-code microsoft powershell bicep github-actions landing-zones landingzone

noopsaccelerator's Introduction

This project has been archived. All ongoing work is under this org: Microsoft Federal- Azure NoOps.

All Terraform modules that are developed using Azure NoOps are located here: registry.terraform.io/namespaces/azurenoops


Azure NoOps Accelerator

"NoOps automates platform administration and broaden communication between developers, cyber, and operations to achieve mission success."

Azure NoOps Accelerator is a flexible foundation that enables US Department of Defense and other Public Sector customers to quickly develop and maintain opinionated, policy-driven, and self-service enclaves in their Azure environments.

Delivered as a collection of infrastructure as code (IaC) module templates written and maintained in Bicep and Tereform, the NoOps Accelerator is intended to empower organizations on their journey towards a continuous deployment and governance model for their cloud infrastructure.

Learn more about the NoOps movement and philosophy here - What is NoOps?.

Goals and Non-Goals of the Azure NoOps Accelerator Project

Goals

  • Designed for US Government mission customers, with a specific focus on the US Department of Defense, Military Departments and coalition partners.
  • Provide reusable and composable IaC modules that hyper-automate infrastructure deployment using Microsoft best practices.
  • Simplify compliance management through automated audit, reporting, and remediation.
  • Deliver example Platform modules that implement SCCA controls and follow Microsoft's SACA implementation guidance.
  • Support deployment to Azure Commercial, Azure Government, Azure Government Secret, and Azure Government Top Secret clouds.
  • Accelerate the US Government's use of Azure by easing the onboarding of mission workloads, spanning mission applications, data, artificial intelligence, and machine learning.

Non-Goals

  • The NoOps Accelerator cannot automate the approval for Authority to Operate (ATO) or equivalent compliance, governance and authorisation process, though it will enable Customers to collect, customize, and submit for ATO based on their departmental requirements.
  • The NoOps Accelerator will not strive for 100% compliance on all deployed Azure Policies for reference implementations. Customers must review Microsoft Defender for Cloud Regulatory Compliance dashboard and apply appropriate exemptions.

Getting Started

Definitions of NoOps primitives.

Architecture

Primitive Definition
AzResources Wrap Azure Resource Providers so that they understand how to fit and work together. The most basic building blocks in NoOps.
Overlays Extend AzResources with specific configurations or combine them to create more useful objects.

For example, the kubernetesCluster overlay could be used to deploy a Private AKS Cluster rather than using the Microsoft.ContainerService/managedClusters AzResource to deploy a vanilla AKS cluster.

Similarly, a virtualMachine overlay could be created that combines the deployment of a Microsoft.Network/networkInterfaces with a Microsoft.Compute/virtualmachine since you will rarely if ever deploy a VM without an associated NIC.
Platforms Combine Overlays and AzResources to lay the networking required to support mission workloads. NoOps is provided with three SCCA-compliant hub-and-spoke landing zone platforms. The Quickstart above walks through the deployment of a SCCA-compliant hub-and-3-spoke platform.
Workloads Combine Overlays and AzResources to create solutions that achieve mission and operational goals. For example, a kubernetesCluster overlay (Private AKS Cluster) could be combined with a Microsoft.ContainerRegistry AzResource to create a Dev Environment workload.

Workloads can be deployed into either a new or an existing hub-peered virtual network.
Enclaves Bring it all together -- combining a single Platform with one or more Workloads, mixing in Zero Trust governance and RBAC to enable the rapid, repeatable, auditable, and authorizable deployment of outcome-driven infrastructure.

A diagram that depicts the relationships between the NoOps Primitives, with AzResources on the bottom, flowing through Overlays into both Platforms and Workloads, and finally Enclaves on top.

Telemetry

Microsoft can identify the deployments of the Azure Resource Manager and Bicep templates with the deployed Azure resources. Microsoft can correlate these resources used to support the deployments. Microsoft collects this information to provide the best experiences with their products and to operate their business. The telemetry is collected through customer usage attribution. The data is collected and governed by Microsoft's privacy policies, located at https://www.microsoft.com/trustcenter.

If you don't wish to send usage data to Microsoft, you can set the customerUsageAttribution.enabled setting to false in global/telemetry.json.

Project Bicep collects telemetry in some scenarios as part of improving the product.

Quickstart Deployment - BICEP

While the NoOps Accelerator can be used to build all sorts of useful solutions, a simple place to start is deploying a workload platform. You can use the NoOps Accelerator to deploy SCCA-compliant landing zones based on Microsoft's SACA implementation guidance and Mission Landing Zone architecture.

Deploy a SCCA-compliant Landing Zone (SCCA Hub with 3 Spokes) using the Azure CLI

These steps walk through how to use NoOps to deploy a hub and spoke architecture. At the conclusion, you will have five resource groups mapped to the following:

  • Hub: SCCA-compliant networking hub (1 vnet, 1 resource group)
  • Tier 0 (T0): Identity & Authorization (1 vnet, 1 resource group)
  • Tier 1 (T1): Infrastructure Operations, and Logging (1 vnet, 2 resource groups)
  • Tier 2 (T2): DevSecOps & Shared Services (1 vnet, 1 resource group)

Prerequisites

To continue with the quick start you will need the following as a minimum.

  • Git client
  • Visual Studio Code (or alternative IDE of choice)
  • Azure CLI
  • Azure Bicep version 0.11.1 (030248df55) or later

A detailed and complete list of prerequisites is documented in the wiki.

Note: Don't have these? Try Azure Cloud Shell in your browser as an alternative.

Steps

  1. Clone this repository and change directory to the /src/bicep/platforms/lz-platform-scca-hub-3spoke directory

    git clone https://github.com/Azure/NoOpsAccelerator.git
    cd /src/bicep/platforms/lz-platform-scca-hub-3spoke
    
  2. Connect to your Azure Account and check the current context is for the subscription, tenant and environment you are deploying to and make changes where necessary.

    az login
    az account show
  3. Open the /src/bicep/platforms/lz-platform-scca-hub-3spoke/parameters/deploy.parameters.json file and replace the following parameters:

    • "subscriptionId": "<<subscriptionId>>" with your SubscriptionId. Ensure all instances of this parameter are changed in this file.

    Note: Multiple subscriptions may be configured (i.e., to have separate subscriptions for each 'tier' in the MLZ architecture) in the parameters/deploy.parameters.json but a single subscription is used for this quickstart.

  4. For the quickstart, a deployment into the current subscription can be completed using the following parameters and the az sub create command:

    • --name: (optional) The deployment name, which is visible in the Azure Portal under Subscription/Deployments.
    • --location: (required) The Azure region to store the deployment metadata.
    • --template-file: (required) The file path to the deploy.bicep template.
    • --parameters: (required for quickstart) The file path to the parameters/deploy.parameters.json file

    Here is an example that deploys the hub and spoke architecture into a single subscription and a chosen region of Azure Commercial:

    # Replace with the Azure region you want to deploy to.
    location="<<your region>>"
    
    az deployment sub create \
        --name deploy-noops-quickstart \
        --location $location \
        --template-file deploy.bicep \
        --parameters @parameters/deploy.parameters.json

Next Steps

  1. After a successful deployment, take a look at the enclaves folder for examples of complete, outcome-driven solutions built using the NoOps Accelerator. Also, be sure to take a look through our workloads and overlays folders explore how you can expand the platform you just deployed and solve your mission challenges.

  2. Further example platform deployments and tutorials are available in the training folder.

Note: Don't forget to clean-up your environment by removing all of the resource groups locks and deleting the resource groups created by the deployment when you are done with this Quickstart.

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.

When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

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.

Feedback, Support, and How to Contact Us

Please see the WIKI for guidance on how to support the Azure NoOps Accelerator, provide feedback or report issues.

Trademarks

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.

Special Thanks and Liner Notes

This project is greatly influenced by and owes a debt of gratitude to the following:

noopsaccelerator's People

Contributors

jftl6y avatar jrspinella avatar marktab avatar matross-gh avatar matross-ghes avatar mcdonagj avatar microsoft-github-operations[bot] avatar microsoftopensource avatar outka5t avatar sstjean avatar timothymeyers avatar wtomaz808 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

noopsaccelerator's Issues

Some source files missing copyright header and source header

Description

Some of the source files do not contain the required copyright header and source header.

For example, Bicep files should contain this header:

/*
SUMMARY: Module to deploy the Hub Network Peering to Spokes based on the Azure Mission Landing Zone conceptual architecture 
DESCRIPTION: The following components will be options in this deployment
              hubToSpokePeering
AUTHOR/S: jspinella
VERSION: 1.x.x
*/

/*
Copyright (c) Microsoft Corporation.
Licensed under the MIT License.
*/

Expected behavior

All source code should contain the required copyright header and source header.

To fix, consider an automated PR check that fails if a copyright header is missing.

Review/Test Management Groups Docs & Bicep

Benefit/Result/Outcome
Test all biceps modules and review docs for accuracy.

Acceptance Criteria
Can deploy all modules with bicep by following the guidance attached.

All templates should look like this below:

Top Level Folders:

# NoOps Accelerator - Bicep Modules

This directory contains all of the modules required to deploy NoOps Accelerator components based on [Azure Mission Landing Zone Conceptual Architecture][mlz_architecture].

Check out the [Getting Started](#getting-started) section below for details on where to start, pre-requisites, and more.

## Getting Started

To get started with NoOps Accelerator Bicep, please refer to the [Deployment Guide for MLZ wiki page][wiki_deployment_flow] for:

1. Prerequisites and dependencies for the overall implementation.
2. High-level deployment flow.
3. Links to more detailed instructions on individual modules.

## Landing Zone folder

The Landing Zone directory has base core modules that will allow the depoyment of each component of a landing zone. These modules are used on other modules.

## Add-Ons folder

The Add-Ons directory are to show how to add on functionality of NoOps Accelerator.

| Add-On | Description |
| ------- | ----------- |
| [Management Groups](./add-ons/management-groups/readme.md) | NoOps Accelerator management groups are templates that can be deployed to extend an existing landing zone or enclave. These services are broken down into each tier it cooridates to. |
| [Management Services](./add-ons/management-services/readme.md) | NoOps Accelerator management services are templates that can be deployed to extend an existing  landing zone or enclave. These services are broken down into each tier it cooridates to. |
| [Policy](./add-ons/policy/readme.md) | NoOps Accelerator - Azure Policy Initiatives deploys Azure Policy Initiatives, Definitions & Assignments to a specified Management Groups in the Tenant Root based on your Azure Service Catalog. |
| [RBAC (Role Access)](./add-ons/roles/readme.md) | NoOps Accelerator RBAC services are templates that can be deployed to extend an existing  landing zone or enclave. |

You [must first deploy landing zone or enclave](./landing-zone/readme.md#Overview), then you can deploy these Add-Ons.

## Deployments folder

The Deployments directory has module depoyments. Example deployments are MLZ, ETMN and Hub/Spoke.

## Examples folder

The Examples directory are to show how to extend functionality of NoOps Accelerator.

You [must first deploy landing zone or enclave](./mission-landing-zone/readme.md#Overview), then you can deploy these examples.

## Azresources Folder

This folder houses the standard resource module deployments to be consumed by the '.bicep' files within the landing zone or enclave folders.

## Tests folder

## References

* [Hub and Spoke network topology](https://docs.microsoft.com/en-us/azure/architecture/reference-architectures/hybrid-networking/hub-spoke)
* [Secure Cloud Computing Architecture (SCCA) Functional Requirements Document (FRD)](https://rmf.org/wp-content/uploads/2018/05/SCCA_FRD_v2-9.pdf)

 [//]: # (************************)
 [//]: # (INSERT LINK LABELS BELOW)
 [//]: # (************************)

[mlz_architecture]:                            https://github.com/Azure/missionlz "MLZ Accelerator"
[wiki_deployment_flow]:                        https://github.com/https://github.com/Azure/NoOpsAccelerator/wiki/DeploymentFlow "Wiki - Deployment Flow"

Modules:

# Module: NoOps Accelerator - <Module Name>

## Authored & Tested With

* [azure-cli](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli) version 2.27.2
* bicep cli version 0.4.613
* [bicep](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-bicep) v0.4.613 vscode extension

### Module Tested on

* Azure Commercial ✔️
* Azure Government ✔️
* Azure Government Secret ✔️
* Azure Government Top Secret ❔

> ✔️ = tested,  ❔= currently testing

## Prerequisites

* For deployments in the Azure Portal, you need access to the portal in the cloud you want to deploy to, such as [https://portal.azure.com](https://portal.azure.com) or [https://portal.azure.us](https://portal.azure.us).
* A terminal instance with the AZ CLI installed is required for deployments in BASH or a Windows shell.
* For PowerShell deployments, you need a PowerShell terminal with the [Azure Az PowerShell module](https://docs.microsoft.com/en-us/powershell/azure/what-is-azure-powershell) installed.

> NOTE: The AZ CLI will automatically install the Bicep tools when a command is run that needs them, or you can manually install them following the [instructions here.](https://docs.microsoft.com/en-us/azure/azure-resource-manager/bicep/install#azure-cli)

## Overview

<overview of the module>

## Parameters

The module requires the following inputs:

| Parameter                             | Type   | Description                                                                                                                                                     | Requirements                      | Example               |
| ------------------------------------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------- | --------------------- |


## Outputs

The module will generate the following outputs:

| Output | Type | Example |
| ------ | ---- | ------- |

## Deployment

### Azure CLI

```bash
# For Azure global regions
az deployment tenant create \
   --template-file examples/management-groups/setup-enclave-managementgroups/anoa.lz.mgmt.groups.example.bicep \
   --parameters @examples/management-groups/setup-enclave-managementgroups/anoa.lz.mgmt.groups.parameters.example.json \
   --location 'eastus'

OR

# For Azure IL regions
az deployment tenant create \
  --template-file examples/management-groups/setup-enclave-managementgroups/anoa.lz.mgmt.groups.example.bicep \
  --parameters @examples/management-groups/setup-enclave-managementgroups/anoa.lz.mgmt.groups.parameters.example.json \
  --location 'virginiaus'

PowerShell

# For Azure global regions
New-AzTenantDeployment `
  -TemplateFile examples/management-groups/setup-enclave-managementgroups/anoa.lz.mgmt.groups.example.bicepp `
  -TemplateParameterFile examples/management-groups/setup-enclave-managementgroups/anoa.lz.mgmt.groups.parameters.example.json `
  -Location 'eastus'

OR

# For Azure IL regions
New-AzTenantDeployment `
  -TemplateFile examples/management-groups/setup-enclave-managementgroups/anoa.lz.mgmt.groups.example.bicepp `
  -TemplateParameterFile examples/management-groups/setup-enclave-managementgroups/anoa.lz.mgmt.groups.parameters.example.json `
  -Location  'virginiaus'

Air-Gapped Clouds

For air-gapped clouds, it may be convenient to transfer and deploy the compiled ARM template instead of the Bicep template if the Bicep CLI tools are not available or if it is desirable to transfer only one file into the air gap.

Cleanup

The Bicep/ARM deployment of NoOps Accelerator Logging deployment can be deleted with these steps:

Example Output in Azure

Example Deployment Output

Update Source Tree

Updated tree for work with the team.

I know this is generic but it solved it purpose

Change the directory structure of the src/bicep folder

Benefit/Result/Outcome

Improved folder structure for the src/bicep folder.

Description

Acceptance Criteria

  • Put modules in the core folder that are scoped to LZ concepts, like spoke network, and call modules in the modules folder. Generally, modules in this folder will execute modules in the modules folder.
  • Put modules in the modules folder that are scoped to Azure concepts, like storage accounts. Generally, a module in this folder will not execute other modules.
  • Add a README.md to the core folder explaining the purpose of the templates in that folder.
  • Add a README.md to the modules folder explaining the purpose of the templates in that folder.
  • Update the naming convention for all Bicep files to use all lower case letters and add dashes to separate words
  • Change the Bicep directory structure to match the following (NOTE: the folder structure is what is specified. The exact file names may not match what is below.):

Update the name for Azure Security Center to Microsoft Defender for Cloud

Benefit/Result/Outcome

So that the Azure product terminology used in MLZ matches Azure branding in order to prevent confusion over what MLZ deploys.

Description

In late 2021 Azure Security Center was renamed to Microsoft Defender for Cloud. Mission Landing Zone has documentation references to Azure Security Center and parameters that use the Azure Security Center/ASC name.

Related to #628

Acceptance Criteria

  • Markdown documents are updated to replace Azure Security Center (ASC) with Microsoft Defender for Cloud (MDC).
  • Bicep and Terraform parameter name segments related to ASC are renamed to "defender".
  • Actions and ADO pipelines are updated to match changed parameter names.

Create an enclave like an MLZ with a private AKS cluster

Enclave Request

An Enclave is composed of a Landing Zone and one or more valuable workloads. This request is for the team to pull together these components and shared services workloads (optional) into a single deployment script.

Please describe the need/value of this enclave

Many US DoD customers need a place to run their production container workloads. The landing zone must be SCCA-compliant and support Impact Level 4 data.

What Landing Zone does it need?

SCCA-Compliant hub and three spoke (MLZ-equivalent) Landing Zone
US DoD IL4 policy set

What goes into Shared Services (if anything)?

None.

Which Workloads does it contain?

AKS cluster with an internal ingress controller attached to the LZ spoke VNet (peered to the hub VNet) with a public IP on the firewall that sends traffic to the AKS cluster ingress.

Azure Policy Definition & Assignment authoring guide

Benefit/Result/Outcome
Define an onboarding guide so it can be easier to define and assign azure policies thru automation

Description
Develop an onboarding guide for defining and assigning GitHub through the automation pipeline. The scenarios we need to document are:

Acceptance Criteria

Create example for an end-to-end deployment of Hub/Spoke

Benefit/Result/Outcome

To show how to create a scripted, repeatable deployment with multiple workloads and customized settings.

Description

Create an example of an end-to-end scripted deployment that customizes MLZ in ways we expect customers to deploy real-world workloads.

Acceptance Criteria

  • A new example is created in the src/bicep/landingZones/0-Examples directory.
  • Includes customizations to MLZ that come from real-world feedback, e.g., network address updates.
  • Property settings are in a Bicep parameters file as described here
  • Shows how to override parameters on the command line to show in what order az deployment reads parameters.
  • Shows how to deploy multiple templates using the same parameters file (a.k.a. parameters file).
  • Includes multiple workloads with non-overlapping IP ranges.
  • Can be deployed with a single script and includes both PowerShell and BASH versions.
  • Includes scripted creation of a KeyVault for storing Linux and Windows jump box credentials, automatic generation of the credentials (including SSH key), and passing the credentials to the MLZ Bicep template.
  • Includes a destroy/clean script.
  • Markdown document describing a recommended process

Generate documentation for Bicep templates from template source

Benefit/Result/Outcome

Spike to determine the technical feasibility of generating, or partially generating, the README.md files for the bicep templates.

Description

Parameter data and other metadata is embedded in the Bicep templates. Explore options to generate the README.md files from the source rather than hand editing the README.md files. The solution may require partial generation of the document and partial hand editing, but a better solution would be to embed all the information required in a README into the template as structured comments (or as ancillary files) and generate the docs from the template.

The solution may use an existing tool like PSDocs.Azure, may be a custom-built tool, or a combination of both.

Change vnet parameters to allow for multiple subnets

Benefit/Result/Outcome

As a systems administrator, I would like to be able to configure multiple subnets and addressPrefix parameters in my vnet to allow for future work and ipv6 support 'persona: IT admin'.

Description

presently the vnet has one static string value in the vnet for the subnet and addressprefix, in order to allow for additional subnets and address prefixes we need to change the data type to an array, to allow for systems integrators to add an additional scope (ie: for ipv6).

Acceptance Criteria

subnet and addressprefix in vnets are changed from a string to an array datatype in bicep
subnet and addressprefix in vnets are changed from a string to an array datatype in terraform

Document applicationGateway in Overlays

Describe the bug
Update documentation and implementation for applicationGateway overlay.

To Reproduce
Steps to reproduce the behavior:

  1. Go to /src/bicep/overlays/management-services/applicationGateway
  2. Click on README.md
  3. Scroll down to Pre-Requisites
  4. First two bullet points name the wrong .bicep file for implementation.

Expected behavior
Follow implementation of pre-requisites prior to deploying applicationGateway overlay.

Screenshots
none

Desktop (please complete the following information):

  • OS: Microsoft Windows 11, Version 21H2 (OS Build 22000.856)
  • Browser: Microsoft Edge
  • Version: Version 104.0.1293.70 (Official build) (64-bit)

Smartphone (please complete the following information if applicable):
none

Software versions used:

  • Azure CLI version: 2.39.0
  • Azure Bicep version: Bicep CLI version 0.9.1 (a2950a16df)

Additional context
Add any other context about the problem here.

Exceeding Maximum Character Length

Describe the bug
Deploying 3-Hub Spoke results in error with exceeds maximum length.

To Reproduce
Steps to reproduce the behavior:

  1. Open PowerShell 7.x
  2. Switch to \src\bicep\platforms\lz-platform-scca-hub-3spoke directory
  3. Use an Azure region with a name that is 14 characters or more in length
  4. Issue az deployment sub create --name deploy-hubspoke-network --location southcentralus --template-file deploy.bicep --parameters @parameters/deploy.mlz.parameters.json --subscription
  5. After a few second the command outputs an error: "The provided deployment name 'deploy-laws-AgentHealthAssessment-SouthCentralUS-20220901T142044Z' has a length of '65' which exceeds the maximum length of '64'.

Screenshots
none

Desktop (please complete the following information):

OS: Microsoft Windows 11, Version 21H2 (OS Build 22000.856)
Browser: Microsoft Edge
Version: Version 104.0.1293.70 (Official build) (64-bit)
Smartphone (please complete the following information if applicable):
none

Software versions used:

Azure CLI version: 2.39.0
Azure Bicep version: Bicep CLI version 0.9.1 (a2950a16df)

Additional context
The issue appears in /src/bicep/azresources/hub-spoke/vdms/logging/anoa.lz.logging.bicep in this section (in bold):

module modLogAnalyticsWorkspaceSolutions '../../../Modules/Microsoft.OperationsManagement/solutions/az.operational.insights.solutions.bicep' = [for solution in varSolutions: if (solution.deploy) {
name: 'deploy-laws-${solution.name}-${parLocation}-${parDeploymentNameSuffix}'
scope: resourceGroup(varLoggingResourceGroupName)
params: {
location: parLocation
logAnalyticsWorkspaceName: modLogAnalyticsWorkspace.outputs.name
name: solution.name
product: solution.product
publisher: solution.publisher
}
}]

Tested using Azure region: South Central US (southcentralus)
Azure region list: Get-AzLocation | Select-Object -Property displayname,location

Correct Missing Parameters in Template File for 3-Spoke Deployment

Describe the bug
Deploying 3-Hub Spoke results in error with InvalidTemplate.

To Reproduce
Steps to reproduce the behavior:

  1. Open PowerShell 7.x
  2. Switch to \src\bicep\platforms\lz-platform-scca-hub-3spoke directory
  3. Issue az deployment sub create --name deploy-hubspoke-network --location --template-file deploy.bicep --parameters @parameters/deploy.mlz.parameters.json --subscription
  4. After a few second the command outputs an error: Deployment Template Failed: 'The template parameters 'parApplicationRuleCollections, parNetworkRuleCollections' in the parameters file are not valid;'

Screenshots
none

Desktop (please complete the following information):

OS: Microsoft Windows 11, Version 21H2 (OS Build 22000.856)
Browser: Microsoft Edge
Version: Version 104.0.1293.70 (Official build) (64-bit)
Smartphone (please complete the following information if applicable):
none

Software versions used:

Azure CLI version: 2.39.0
Azure Bicep version: Bicep CLI version 0.9.1 (a2950a16df)
Additional context
Add any other context about the problem here.

Option to separately deploy Windows or Linux remote access and default to Windows

Benefit/Result/Outcome

So that an IT Admin can choose either Windows or Linux remote access instead of being required to have both.

So that the default deployment provides a Windows jump box for accessing resources with private endpoints.

Description

This issue includes two changes to the way jump boxes are deployed:

  1. The option deployRemoteAccess causes a Windows and a Linux jump box to be deployed with Azure Bastion. Add additional parameters that allow deploying just one Windows or Linux jump box.
  2. Change the default deployment to include a Windows jump box.

Acceptance Criteria

  • A deployWindowsRemoteAccess optional parameter exists that causes a Windows jump box to be deployed using the existing logic. The default value is true.
  • If deployWindowsRemoteAccess is true, the windowsVmAdminPassword parameter is required.
  • A deployLinuxRemoteAccess optional parameter exists that causes a Linux jump box to be deployed using the existing logic. The default value is false.
  • The existing deployRemoteAccess parameter continues to function today.
  • The portal user interface deployment is aligned to this option

NOTE: The parameter names above could be different if the person implementing this backlog item has reason to change them.

Possible container to ease deployments in air-gapped or edge scenarios.

Is your feature request related to a problem? Please describe.

Deploying anything in Air-gapped scenarios is a challenge. Pulling in the right dependencies is a chain reaction that often slows down deployments by days if not weeks.

I want to make NoOps as easy to deploy in air-gapped clouds as possible.

Describe the solution you'd like

A possible solution that I've seen work in other projects is to create a container that pre-installs all required tools (e.g. AZ CLI) and brings in all of the NoOps code required to do deployments.

This container could be pushed to docker hub or a similar public container registry. Then it would be 'simple' to move the container between clouds (or even move it to an edge device) to deploy lzs, enclaves, or workloads.

Describe alternatives you've considered
Open to other ideas.

Review/Test Overlays Docs & Bicep

Benefit/Result/Outcome
Test all biceps modules and review docs for accuracy.

Acceptance Criteria
Can deploy all modules with bicep by following the guidance attached.

All templates should look like this below:

Top Level Folders:

# NoOps Accelerator - Bicep Modules

This directory contains all of the modules required to deploy NoOps Accelerator components based on [Azure Mission Landing Zone Conceptual Architecture][mlz_architecture].

Check out the [Getting Started](#getting-started) section below for details on where to start, pre-requisites, and more.

## Getting Started

To get started with NoOps Accelerator Bicep, please refer to the [Deployment Guide for MLZ wiki page][wiki_deployment_flow] for:

1. Prerequisites and dependencies for the overall implementation.
2. High-level deployment flow.
3. Links to more detailed instructions on individual modules.

## Landing Zone folder

The Landing Zone directory has base core modules that will allow the depoyment of each component of a landing zone. These modules are used on other modules.

## Add-Ons folder

The Add-Ons directory are to show how to add on functionality of NoOps Accelerator.

| Add-On | Description |
| ------- | ----------- |
| [Management Groups](./add-ons/management-groups/readme.md) | NoOps Accelerator management groups are templates that can be deployed to extend an existing landing zone or enclave. These services are broken down into each tier it cooridates to. |
| [Management Services](./add-ons/management-services/readme.md) | NoOps Accelerator management services are templates that can be deployed to extend an existing  landing zone or enclave. These services are broken down into each tier it cooridates to. |
| [Policy](./add-ons/policy/readme.md) | NoOps Accelerator - Azure Policy Initiatives deploys Azure Policy Initiatives, Definitions & Assignments to a specified Management Groups in the Tenant Root based on your Azure Service Catalog. |
| [RBAC (Role Access)](./add-ons/roles/readme.md) | NoOps Accelerator RBAC services are templates that can be deployed to extend an existing  landing zone or enclave. |

You [must first deploy landing zone or enclave](./landing-zone/readme.md#Overview), then you can deploy these Add-Ons.

## Deployments folder

The Deployments directory has module depoyments. Example deployments are MLZ, ETMN and Hub/Spoke.

## Examples folder

The Examples directory are to show how to extend functionality of NoOps Accelerator.

You [must first deploy landing zone or enclave](./mission-landing-zone/readme.md#Overview), then you can deploy these examples.

## Azresources Folder

This folder houses the standard resource module deployments to be consumed by the '.bicep' files within the landing zone or enclave folders.

## Tests folder

## References

* [Hub and Spoke network topology](https://docs.microsoft.com/en-us/azure/architecture/reference-architectures/hybrid-networking/hub-spoke)
* [Secure Cloud Computing Architecture (SCCA) Functional Requirements Document (FRD)](https://rmf.org/wp-content/uploads/2018/05/SCCA_FRD_v2-9.pdf)

 [//]: # (************************)
 [//]: # (INSERT LINK LABELS BELOW)
 [//]: # (************************)

[mlz_architecture]:                            https://github.com/Azure/missionlz "MLZ Accelerator"
[wiki_deployment_flow]:                        https://github.com/https://github.com/Azure/NoOpsAccelerator/wiki/DeploymentFlow "Wiki - Deployment Flow"

Modules:

# Module: NoOps Accelerator - <Module Name>

## Authored & Tested With

* [azure-cli](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli) version 2.27.2
* bicep cli version 0.4.613
* [bicep](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-bicep) v0.4.613 vscode extension

### Module Tested on

* Azure Commercial ✔️
* Azure Government ✔️
* Azure Government Secret ✔️
* Azure Government Top Secret ❔

> ✔️ = tested,  ❔= currently testing

## Prerequisites

* For deployments in the Azure Portal, you need access to the portal in the cloud you want to deploy to, such as [https://portal.azure.com](https://portal.azure.com) or [https://portal.azure.us](https://portal.azure.us).
* A terminal instance with the AZ CLI installed is required for deployments in BASH or a Windows shell.
* For PowerShell deployments, you need a PowerShell terminal with the [Azure Az PowerShell module](https://docs.microsoft.com/en-us/powershell/azure/what-is-azure-powershell) installed.

> NOTE: The AZ CLI will automatically install the Bicep tools when a command is run that needs them, or you can manually install them following the [instructions here.](https://docs.microsoft.com/en-us/azure/azure-resource-manager/bicep/install#azure-cli)

## Overview

<overview of the module>

## Parameters

The module requires the following inputs:

| Parameter                             | Type   | Description                                                                                                                                                     | Requirements                      | Example               |
| ------------------------------------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------- | --------------------- |


## Outputs

The module will generate the following outputs:

| Output | Type | Example |
| ------ | ---- | ------- |

## Deployment

### Azure CLI

```bash
# For Azure global regions
az deployment tenant create \
   --template-file examples/management-groups/setup-enclave-managementgroups/anoa.lz.mgmt.groups.example.bicep \
   --parameters @examples/management-groups/setup-enclave-managementgroups/anoa.lz.mgmt.groups.parameters.example.json \
   --location 'eastus'

OR

# For Azure IL regions
az deployment tenant create \
  --template-file examples/management-groups/setup-enclave-managementgroups/anoa.lz.mgmt.groups.example.bicep \
  --parameters @examples/management-groups/setup-enclave-managementgroups/anoa.lz.mgmt.groups.parameters.example.json \
  --location 'virginiaus'

PowerShell

# For Azure global regions
New-AzTenantDeployment `
  -TemplateFile examples/management-groups/setup-enclave-managementgroups/anoa.lz.mgmt.groups.example.bicepp `
  -TemplateParameterFile examples/management-groups/setup-enclave-managementgroups/anoa.lz.mgmt.groups.parameters.example.json `
  -Location 'eastus'

OR

# For Azure IL regions
New-AzTenantDeployment `
  -TemplateFile examples/management-groups/setup-enclave-managementgroups/anoa.lz.mgmt.groups.example.bicepp `
  -TemplateParameterFile examples/management-groups/setup-enclave-managementgroups/anoa.lz.mgmt.groups.parameters.example.json `
  -Location  'virginiaus'

Air-Gapped Clouds

For air-gapped clouds, it may be convenient to transfer and deploy the compiled ARM template instead of the Bicep template if the Bicep CLI tools are not available or if it is desirable to transfer only one file into the air gap.

Cleanup

The Bicep/ARM deployment of NoOps Accelerator Logging deployment can be deleted with these steps:

Example Output in Azure

Example Deployment Output

Support standalone deployment of the network hub and tiers 0, 1, 2

Benefit/Result/Outcome

So that an IT admin can assemble an automated deployment using modules from Mission Landing Zone as part of a larger deployment, and deploy updates with configuration and template changes.

Description

We want to know what work is required to support a standalone deployment of the network hub and each tier.

Can they be deployed and updated separately and still support the simple single command deployment we have today?
If we separate the tiers, what types of changes are idempotent and what ones are not?
Are there other ways we should de-compose the deployment into smaller parts to better support idempotency?
The eventual goal is to provide better support to our customers for a NoOps/GitOps automated deployment system in which changes to individual configuration files or Bicep templates trigger incremental changes to the deployed infrastructure. The specific goal of this spike is to explore which parts of MLZ can be decomposed into smaller parts while keeping the possibility to perform a single deployment.

Outcomes

The spike will result in one or more of the following outcomes:

A proof-of-concept deployment of the network hub and another tier that can be deployed separately and can also be deployed as a single deployment (as it is today).
Suggestions on additional ways we can break up our single deployment into multiple while maintaining the ability to deploy in a single deployment.
Does deploying an update result in network downtime? Are there ways to mitigate downtime?
Understanding of what types of changes trigger updates vs. destroy/create (idempotency).
Definition of the future work required to implement the recommendations from this spike fully.

Support Azure Backup Recovery Vault

Additional context
The solution will enable an option to deploy an Azure backup for VMs backup during the deployment of the Platforms or Enclaves

Review/Test Mgt Services - Automation Account Docs & Bicep

Benefit/Result/Outcome
Test all biceps modules and review docs for accuracy.

Acceptance Criteria
Can deploy all modules with bicep by following the guidance attached.

All templates should look like this below:

Top Level Folders:

# NoOps Accelerator - Bicep Modules

This directory contains all of the modules required to deploy NoOps Accelerator components based on [Azure Mission Landing Zone Conceptual Architecture][mlz_architecture].

Check out the [Getting Started](#getting-started) section below for details on where to start, pre-requisites, and more.

## Getting Started

To get started with NoOps Accelerator Bicep, please refer to the [Deployment Guide for MLZ wiki page][wiki_deployment_flow] for:

1. Prerequisites and dependencies for the overall implementation.
2. High-level deployment flow.
3. Links to more detailed instructions on individual modules.

## Landing Zone folder

The Landing Zone directory has base core modules that will allow the depoyment of each component of a landing zone. These modules are used on other modules.

## Add-Ons folder

The Add-Ons directory are to show how to add on functionality of NoOps Accelerator.

| Add-On | Description |
| ------- | ----------- |
| [Management Groups](./add-ons/management-groups/readme.md) | NoOps Accelerator management groups are templates that can be deployed to extend an existing landing zone or enclave. These services are broken down into each tier it cooridates to. |
| [Management Services](./add-ons/management-services/readme.md) | NoOps Accelerator management services are templates that can be deployed to extend an existing  landing zone or enclave. These services are broken down into each tier it cooridates to. |
| [Policy](./add-ons/policy/readme.md) | NoOps Accelerator - Azure Policy Initiatives deploys Azure Policy Initiatives, Definitions & Assignments to a specified Management Groups in the Tenant Root based on your Azure Service Catalog. |
| [RBAC (Role Access)](./add-ons/roles/readme.md) | NoOps Accelerator RBAC services are templates that can be deployed to extend an existing  landing zone or enclave. |

You [must first deploy landing zone or enclave](./landing-zone/readme.md#Overview), then you can deploy these Add-Ons.

## Deployments folder

The Deployments directory has module depoyments. Example deployments are MLZ, ETMN and Hub/Spoke.

## Examples folder

The Examples directory are to show how to extend functionality of NoOps Accelerator.

You [must first deploy landing zone or enclave](./mission-landing-zone/readme.md#Overview), then you can deploy these examples.

## Azresources Folder

This folder houses the standard resource module deployments to be consumed by the '.bicep' files within the landing zone or enclave folders.

## Tests folder

## References

* [Hub and Spoke network topology](https://docs.microsoft.com/en-us/azure/architecture/reference-architectures/hybrid-networking/hub-spoke)
* [Secure Cloud Computing Architecture (SCCA) Functional Requirements Document (FRD)](https://rmf.org/wp-content/uploads/2018/05/SCCA_FRD_v2-9.pdf)

 [//]: # (************************)
 [//]: # (INSERT LINK LABELS BELOW)
 [//]: # (************************)

[mlz_architecture]:                            https://github.com/Azure/missionlz "MLZ Accelerator"
[wiki_deployment_flow]:                        https://github.com/https://github.com/Azure/NoOpsAccelerator/wiki/DeploymentFlow "Wiki - Deployment Flow"

Modules:

# Module: NoOps Accelerator - <Module Name>

## Authored & Tested With

* [azure-cli](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli) version 2.27.2
* bicep cli version 0.4.613
* [bicep](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-bicep) v0.4.613 vscode extension

### Module Tested on

* Azure Commercial ✔️
* Azure Government ✔️
* Azure Government Secret ✔️
* Azure Government Top Secret ❔

> ✔️ = tested,  ❔= currently testing

## Prerequisites

* For deployments in the Azure Portal, you need access to the portal in the cloud you want to deploy to, such as [https://portal.azure.com](https://portal.azure.com) or [https://portal.azure.us](https://portal.azure.us).
* A terminal instance with the AZ CLI installed is required for deployments in BASH or a Windows shell.
* For PowerShell deployments, you need a PowerShell terminal with the [Azure Az PowerShell module](https://docs.microsoft.com/en-us/powershell/azure/what-is-azure-powershell) installed.

> NOTE: The AZ CLI will automatically install the Bicep tools when a command is run that needs them, or you can manually install them following the [instructions here.](https://docs.microsoft.com/en-us/azure/azure-resource-manager/bicep/install#azure-cli)

## Overview

<overview of the module>

## Parameters

The module requires the following inputs:

| Parameter                             | Type   | Description                                                                                                                                                     | Requirements                      | Example               |
| ------------------------------------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------- | --------------------- |


## Outputs

The module will generate the following outputs:

| Output | Type | Example |
| ------ | ---- | ------- |

## Deployment

### Azure CLI

```bash
# For Azure global regions
az deployment tenant create \
   --template-file examples/management-groups/setup-enclave-managementgroups/anoa.lz.mgmt.groups.example.bicep \
   --parameters @examples/management-groups/setup-enclave-managementgroups/anoa.lz.mgmt.groups.parameters.example.json \
   --location 'eastus'

OR

# For Azure IL regions
az deployment tenant create \
  --template-file examples/management-groups/setup-enclave-managementgroups/anoa.lz.mgmt.groups.example.bicep \
  --parameters @examples/management-groups/setup-enclave-managementgroups/anoa.lz.mgmt.groups.parameters.example.json \
  --location 'virginiaus'

PowerShell

# For Azure global regions
New-AzTenantDeployment `
  -TemplateFile examples/management-groups/setup-enclave-managementgroups/anoa.lz.mgmt.groups.example.bicepp `
  -TemplateParameterFile examples/management-groups/setup-enclave-managementgroups/anoa.lz.mgmt.groups.parameters.example.json `
  -Location 'eastus'

OR

# For Azure IL regions
New-AzTenantDeployment `
  -TemplateFile examples/management-groups/setup-enclave-managementgroups/anoa.lz.mgmt.groups.example.bicepp `
  -TemplateParameterFile examples/management-groups/setup-enclave-managementgroups/anoa.lz.mgmt.groups.parameters.example.json `
  -Location  'virginiaus'

Air-Gapped Clouds

For air-gapped clouds, it may be convenient to transfer and deploy the compiled ARM template instead of the Bicep template if the Bicep CLI tools are not available or if it is desirable to transfer only one file into the air gap.

Cleanup

The Bicep/ARM deployment of NoOps Accelerator Logging deployment can be deleted with these steps:

Example Output in Azure

Example Deployment Output

Review/Test Policy Docs & Bicep

Benefit/Result/Outcome
Test all biceps modules and review docs for accuracy.

Acceptance Criteria
Can deploy all modules with bicep by following the guidance attached.

All templates should look like this below:

Top Level Folders:

# NoOps Accelerator - Bicep Modules

This directory contains all of the modules required to deploy NoOps Accelerator components based on [Azure Mission Landing Zone Conceptual Architecture][mlz_architecture].

Check out the [Getting Started](#getting-started) section below for details on where to start, pre-requisites, and more.

## Getting Started

To get started with NoOps Accelerator Bicep, please refer to the [Deployment Guide for MLZ wiki page][wiki_deployment_flow] for:

1. Prerequisites and dependencies for the overall implementation.
2. High-level deployment flow.
3. Links to more detailed instructions on individual modules.

## Landing Zone folder

The Landing Zone directory has base core modules that will allow the depoyment of each component of a landing zone. These modules are used on other modules.

## Add-Ons folder

The Add-Ons directory are to show how to add on functionality of NoOps Accelerator.

| Add-On | Description |
| ------- | ----------- |
| [Management Groups](./add-ons/management-groups/readme.md) | NoOps Accelerator management groups are templates that can be deployed to extend an existing landing zone or enclave. These services are broken down into each tier it cooridates to. |
| [Management Services](./add-ons/management-services/readme.md) | NoOps Accelerator management services are templates that can be deployed to extend an existing  landing zone or enclave. These services are broken down into each tier it cooridates to. |
| [Policy](./add-ons/policy/readme.md) | NoOps Accelerator - Azure Policy Initiatives deploys Azure Policy Initiatives, Definitions & Assignments to a specified Management Groups in the Tenant Root based on your Azure Service Catalog. |
| [RBAC (Role Access)](./add-ons/roles/readme.md) | NoOps Accelerator RBAC services are templates that can be deployed to extend an existing  landing zone or enclave. |

You [must first deploy landing zone or enclave](./landing-zone/readme.md#Overview), then you can deploy these Add-Ons.

## Deployments folder

The Deployments directory has module depoyments. Example deployments are MLZ, ETMN and Hub/Spoke.

## Examples folder

The Examples directory are to show how to extend functionality of NoOps Accelerator.

You [must first deploy landing zone or enclave](./mission-landing-zone/readme.md#Overview), then you can deploy these examples.

## Azresources Folder

This folder houses the standard resource module deployments to be consumed by the '.bicep' files within the landing zone or enclave folders.

## Tests folder

## References

* [Hub and Spoke network topology](https://docs.microsoft.com/en-us/azure/architecture/reference-architectures/hybrid-networking/hub-spoke)
* [Secure Cloud Computing Architecture (SCCA) Functional Requirements Document (FRD)](https://rmf.org/wp-content/uploads/2018/05/SCCA_FRD_v2-9.pdf)

 [//]: # (************************)
 [//]: # (INSERT LINK LABELS BELOW)
 [//]: # (************************)

[mlz_architecture]:                            https://github.com/Azure/missionlz "MLZ Accelerator"
[wiki_deployment_flow]:                        https://github.com/https://github.com/Azure/NoOpsAccelerator/wiki/DeploymentFlow "Wiki - Deployment Flow"

Modules:

# Module: NoOps Accelerator - <Module Name>

## Authored & Tested With

* [azure-cli](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli) version 2.27.2
* bicep cli version 0.4.613
* [bicep](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-bicep) v0.4.613 vscode extension

### Module Tested on

* Azure Commercial ✔️
* Azure Government ✔️
* Azure Government Secret ✔️
* Azure Government Top Secret ❔

> ✔️ = tested,  ❔= currently testing

## Prerequisites

* For deployments in the Azure Portal, you need access to the portal in the cloud you want to deploy to, such as [https://portal.azure.com](https://portal.azure.com) or [https://portal.azure.us](https://portal.azure.us).
* A terminal instance with the AZ CLI installed is required for deployments in BASH or a Windows shell.
* For PowerShell deployments, you need a PowerShell terminal with the [Azure Az PowerShell module](https://docs.microsoft.com/en-us/powershell/azure/what-is-azure-powershell) installed.

> NOTE: The AZ CLI will automatically install the Bicep tools when a command is run that needs them, or you can manually install them following the [instructions here.](https://docs.microsoft.com/en-us/azure/azure-resource-manager/bicep/install#azure-cli)

## Overview

<overview of the module>

## Parameters

The module requires the following inputs:

| Parameter                             | Type   | Description                                                                                                                                                     | Requirements                      | Example               |
| ------------------------------------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------- | --------------------- |


## Outputs

The module will generate the following outputs:

| Output | Type | Example |
| ------ | ---- | ------- |

## Deployment

### Azure CLI

```bash
# For Azure global regions
az deployment tenant create \
   --template-file examples/management-groups/setup-enclave-managementgroups/anoa.lz.mgmt.groups.example.bicep \
   --parameters @examples/management-groups/setup-enclave-managementgroups/anoa.lz.mgmt.groups.parameters.example.json \
   --location 'eastus'

OR

# For Azure IL regions
az deployment tenant create \
  --template-file examples/management-groups/setup-enclave-managementgroups/anoa.lz.mgmt.groups.example.bicep \
  --parameters @examples/management-groups/setup-enclave-managementgroups/anoa.lz.mgmt.groups.parameters.example.json \
  --location 'virginiaus'

PowerShell

# For Azure global regions
New-AzTenantDeployment `
  -TemplateFile examples/management-groups/setup-enclave-managementgroups/anoa.lz.mgmt.groups.example.bicepp `
  -TemplateParameterFile examples/management-groups/setup-enclave-managementgroups/anoa.lz.mgmt.groups.parameters.example.json `
  -Location 'eastus'

OR

# For Azure IL regions
New-AzTenantDeployment `
  -TemplateFile examples/management-groups/setup-enclave-managementgroups/anoa.lz.mgmt.groups.example.bicepp `
  -TemplateParameterFile examples/management-groups/setup-enclave-managementgroups/anoa.lz.mgmt.groups.parameters.example.json `
  -Location  'virginiaus'

Air-Gapped Clouds

For air-gapped clouds, it may be convenient to transfer and deploy the compiled ARM template instead of the Bicep template if the Bicep CLI tools are not available or if it is desirable to transfer only one file into the air gap.

Cleanup

The Bicep/ARM deployment of NoOps Accelerator Logging deployment can be deleted with these steps:

Example Output in Azure

Example Deployment Output

Onboarding guide for GitHub

Benefit/Result/Outcome
Develop an onboarding guide for GitHub that includes settings up secrets and workflows.

Acceptance Criteria
We have two options:

Build GitHub Actions and document their integration with Azure; OR
Document instructions for using Azure DevOps Pipelines with Git repo in GitHub

Automated check for copyright header on code files

Benefit/Result/Outcome

So, developers are assured that all code files have consistent and correct copyright headers.

Description

We have a requirement to have copyright headers on all code files. We currently do it manually, which can lead to some files missing the required header. We want to have the headers checked and/or added automatically when a PR is created.

A possible implementation is to add this to the SBOM generation pipeline and rename that pipeline to "code-generation". A separate pipeline is also good.

Acceptance Criteria

PR automation that checks and/or adds the required copyright header.

Create container platform and data processing example

Example Request

Please describe the need/value of this example

Many customers need an enclave where they can run containerized workloads and the data from those apps can also be dropped into a data lake for "big data" processing to gain knowledge from the combined raw data.

What Landing Zone does it need?

SCCA-Compliant hub and three spoke (MLZ-equivalent) Landing Zone

What goes into Shared Services (if anything)?

Azure Data Lake
Synapse

Which Workloads does it contain?

AKS cluster with internal ingress controller attached to a spoke network peered to the hub network.
Public IP on the hub firewall that directs traffic to the AKS cluster ingress controller

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.