Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -106,8 +106,7 @@ jobs:
- name: 'Using test file [${{ matrix.moduleTestFilePaths }}]'
uses: ./.github/actions/templates/validateModuleDeployment
with:
templateFilePath: '${{ env.modulePath }}/deploy.bicep'
parameterFilePath: '${{ env.modulePath }}/${{ matrix.moduleTestFilePaths }}'
templateFilePath: '${{ env.modulePath }}/${{ matrix.moduleTestFilePaths }}'
location: '${{ env.location }}'
resourceGroupName: '${{ env.resourceGroupName }}'
subscriptionId: '${{ secrets.ARM_SUBSCRIPTION_ID }}'
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
@description('Optional. The location to deploy resources to.')
param location string = resourceGroup().location

@description('Required. The name of the AKS cluster to create.')
param clusterName string

@description('Required. The name of the AKS cluster nodes resource group to create.')
param clusterNodeResourceGroupName string

resource cluster 'Microsoft.ContainerService/managedClusters@2022-06-01' = {
name: clusterName
location: location
identity: {
type: 'SystemAssigned'
}
properties: {
dnsPrefix: clusterName
nodeResourceGroup: clusterNodeResourceGroupName
agentPoolProfiles: [
{
name: 'agentpool'
count: 1
vmSize: 'Standard_DS2_v2'
osType: 'Linux'
mode: 'System'
}
]
}
}

@description('The name of the created AKS cluster.')
output clusterName string = cluster.name
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
targetScope = 'subscription'

// ========== //
// Parameters //
// ========== //
@description('Optional. The name of the resource group to deploy for testing purposes.')
@maxLength(80)
param resourceGroupName string = 'ms.kubernetesconfiguration.extensions-${serviceShort}-rg'

@description('Optional. The location to deploy resources to.')
param location string = deployment().location

@description('Optional. A short identifier for the kind of deployment. Should be kept short to not run into resource-name length-constraints.')
param serviceShort string = 'kcecom'

// =========== //
// Deployments //
// =========== //

// General resources
// =================
resource resourceGroup 'Microsoft.Resources/resourceGroups@2021-04-01' = {
name: resourceGroupName
location: location
}

module resourceGroupResources 'dependencies.bicep' = {
scope: resourceGroup
name: '${uniqueString(deployment().name, location)}-paramNested'
params: {
clusterName: 'dep-<<namePrefix>>-aks-${serviceShort}'
clusterNodeResourceGroupName: 'nodes-${resourceGroupName}'
}
}

// ============== //
// Test Execution //
// ============== //

module testDeployment '../../deploy.bicep' = {
scope: resourceGroup
name: '${uniqueString(deployment().name)}-test-${serviceShort}'
params: {
name: '<<namePrefix>>${serviceShort}001'
clusterName: resourceGroupResources.outputs.clusterName
extensionType: 'microsoft.flux'
configurationSettings: {
'image-automation-controller.enabled': 'false'
'image-reflector-controller.enabled': 'false'
'kustomize-controller.enabled': 'true'
'notification-controller.enabled': 'false'
'source-controller.enabled': 'true'
}
releaseNamespace: 'flux-system'
releaseTrain: 'Stable'
version: '0.5.2'
}
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
@description('Optional. The location to deploy resources to.')
param location string = resourceGroup().location

@description('Required. The name of the AKS cluster to create.')
param clusterName string

@description('Required. The name of the AKS cluster nodes resource group to create.')
param clusterNodeResourceGroupName string

resource cluster 'Microsoft.ContainerService/managedClusters@2022-06-01' = {
name: clusterName
location: location
identity: {
type: 'SystemAssigned'
}
properties: {
dnsPrefix: clusterName
nodeResourceGroup: clusterNodeResourceGroupName
agentPoolProfiles: [
{
name: 'agentpool'
count: 1
vmSize: 'Standard_DS2_v2'
osType: 'Linux'
mode: 'System'
}
]
}
}

@description('The name of the created AKS cluster.')
output clusterName string = cluster.name
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
targetScope = 'subscription'

// ========== //
// Parameters //
// ========== //
@description('Optional. The name of the resource group to deploy for testing purposes.')
@maxLength(80)
param resourceGroupName string = 'ms.kubernetesconfiguration.extensions-${serviceShort}-rg'

@description('Optional. The location to deploy resources to.')
param location string = deployment().location

@description('Optional. A short identifier for the kind of deployment. Should be kept short to not run into resource-name length-constraints.')
param serviceShort string = 'kcemin'

// =========== //
// Deployments //
// =========== //

// General resources
// =================
resource resourceGroup 'Microsoft.Resources/resourceGroups@2021-04-01' = {
name: resourceGroupName
location: location
}

module resourceGroupResources 'dependencies.bicep' = {
scope: resourceGroup
name: '${uniqueString(deployment().name, location)}-paramNested'
params: {
clusterName: 'dep-<<namePrefix>>-aks-${serviceShort}'
clusterNodeResourceGroupName: 'nodes-${resourceGroupName}'
}
}

// ============== //
// Test Execution //
// ============== //

module testDeployment '../../deploy.bicep' = {
scope: resourceGroup
name: '${uniqueString(deployment().name)}-test-${serviceShort}'
params: {
name: '<<namePrefix>>${serviceShort}001'
clusterName: resourceGroupResources.outputs.clusterName
extensionType: 'microsoft.flux'
releaseNamespace: 'flux-system'
releaseTrain: 'Stable'
}
}

This file was deleted.

65 changes: 33 additions & 32 deletions modules/Microsoft.KubernetesConfiguration/extensions/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ az provider register --namespace Microsoft.KubernetesConfiguration
```

For Details see [Prerequisites](https://docs.microsoft.com/en-us/azure/azure-arc/kubernetes/tutorial-use-gitops-flux2)

## Resource Types

| Resource Type | API Version |
Expand Down Expand Up @@ -75,23 +76,31 @@ The following module usage examples are retrieved from the content of the files

>**Note**: Each example lists all the required parameters first, followed by the rest - each in alphabetical order.

<h3>Example 1: Min</h3>
<h3>Example 1: Common</h3>

<details>

<summary>via Bicep module</summary>

```bicep
module extensions './Microsoft.KubernetesConfiguration/extensions/deploy.bicep' = {
name: '${uniqueString(deployment().name)}-Extensions'
name: '${uniqueString(deployment().name)}-test-kcecom'
params: {
// Required parameters
clusterName: '<<namePrefix>>-az-aks-kubenet-001'
clusterName: '<clusterName>'
extensionType: 'microsoft.flux'
name: 'flux'
name: '<<namePrefix>>kcecom001'
// Non-required parameters
configurationSettings: {
'image-automation-controller.enabled': 'false'
'image-reflector-controller.enabled': 'false'
'kustomize-controller.enabled': 'true'
'notification-controller.enabled': 'false'
'source-controller.enabled': 'true'
}
releaseNamespace: 'flux-system'
releaseTrain: 'Stable'
version: '0.5.2'
}
}
```
Expand All @@ -110,20 +119,32 @@ module extensions './Microsoft.KubernetesConfiguration/extensions/deploy.bicep'
"parameters": {
// Required parameters
"clusterName": {
"value": "<<namePrefix>>-az-aks-kubenet-001"
"value": "<clusterName>"
},
"extensionType": {
"value": "microsoft.flux"
},
"name": {
"value": "flux"
"value": "<<namePrefix>>kcecom001"
},
// Non-required parameters
"configurationSettings": {
"value": {
"image-automation-controller.enabled": "false",
"image-reflector-controller.enabled": "false",
"kustomize-controller.enabled": "true",
"notification-controller.enabled": "false",
"source-controller.enabled": "true"
}
},
"releaseNamespace": {
"value": "flux-system"
},
"releaseTrain": {
"value": "Stable"
},
"version": {
"value": "0.5.2"
}
}
}
Expand All @@ -132,31 +153,23 @@ module extensions './Microsoft.KubernetesConfiguration/extensions/deploy.bicep'
</details>
<p>

<h3>Example 2: Parameters</h3>
<h3>Example 2: Min</h3>

<details>

<summary>via Bicep module</summary>

```bicep
module extensions './Microsoft.KubernetesConfiguration/extensions/deploy.bicep' = {
name: '${uniqueString(deployment().name)}-Extensions'
name: '${uniqueString(deployment().name)}-test-kcemin'
params: {
// Required parameters
clusterName: '<<namePrefix>>-az-aks-kubenet-001'
clusterName: '<clusterName>'
extensionType: 'microsoft.flux'
name: 'flux'
name: '<<namePrefix>>kcemin001'
// Non-required parameters
configurationSettings: {
'image-automation-controller.enabled': 'false'
'image-reflector-controller.enabled': 'false'
'kustomize-controller.enabled': 'true'
'notification-controller.enabled': 'false'
'source-controller.enabled': 'true'
}
releaseNamespace: 'flux-system'
releaseTrain: 'Stable'
version: '0.5.2'
}
}
```
Expand All @@ -175,32 +188,20 @@ module extensions './Microsoft.KubernetesConfiguration/extensions/deploy.bicep'
"parameters": {
// Required parameters
"clusterName": {
"value": "<<namePrefix>>-az-aks-kubenet-001"
"value": "<clusterName>"
},
"extensionType": {
"value": "microsoft.flux"
},
"name": {
"value": "flux"
"value": "<<namePrefix>>kcemin001"
},
// Non-required parameters
"configurationSettings": {
"value": {
"image-automation-controller.enabled": "false",
"image-reflector-controller.enabled": "false",
"kustomize-controller.enabled": "true",
"notification-controller.enabled": "false",
"source-controller.enabled": "true"
}
},
"releaseNamespace": {
"value": "flux-system"
},
"releaseTrain": {
"value": "Stable"
},
"version": {
"value": "0.5.2"
}
}
}
Expand Down