Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
0e0a11c
updated settings + dep. parameter files
ahmadabdalla Jan 25, 2022
a771bf3
updated 'arm' parameter files name prefix
ahmadabdalla Jan 25, 2022
0e363b4
Merge remote-tracking branch 'origin/main' into users/ahmad/tokensPre…
ahmadabdalla Jan 27, 2022
9de5058
updated from main, prefix for service fabric
ahmadabdalla Jan 27, 2022
531acf9
updated kv secrets and upload file to use token replace
ahmadabdalla Jan 27, 2022
ed463a3
updated ADO dep. pipeline for tokens handling
ahmadabdalla Jan 27, 2022
bfde6ea
added test cases for name prefix detection
ahmadabdalla Jan 29, 2022
e63da30
updated settings & documentation
ahmadabdalla Jan 29, 2022
cc6cb6b
Updated global test to detect name prefix value only
ahmadabdalla Jan 29, 2022
792a0a1
Merge remote-tracking branch 'origin/main' into users/ahmad/tokensPre…
ahmadabdalla Jan 30, 2022
b3fcc39
updated GH dep. pipeline (image resource)
ahmadabdalla Jan 30, 2022
7d6cf79
updated new dependency to use tokens
ahmadabdalla Jan 30, 2022
0f7c95b
updated ADO dep. pipeline for image
ahmadabdalla Jan 31, 2022
5cdc673
Merge remote-tracking branch 'origin/main' into users/ahmad/tokensPre…
ahmadabdalla Feb 1, 2022
e905341
updated from main and removed pester test
ahmadabdalla Feb 1, 2022
06b564d
Update .github/workflows/platform.dependencies.yml
ahmadabdalla Feb 1, 2022
fc9a2a6
Update .github/workflows/platform.dependencies.yml
ahmadabdalla Feb 1, 2022
680b2aa
Update .github/workflows/platform.dependencies.yml
ahmadabdalla Feb 1, 2022
e9d095d
Update .azuredevops/platformPipelines/platform.dependencies.yml
ahmadabdalla Feb 1, 2022
7b7a07a
Update .azuredevops/platformPipelines/platform.dependencies.yml
ahmadabdalla Feb 1, 2022
326f10a
Update .azuredevops/platformPipelines/platform.dependencies.yml
ahmadabdalla Feb 1, 2022
3914977
Update .azuredevops/platformPipelines/platform.dependencies.yml
ahmadabdalla Feb 1, 2022
b8477e1
Update .github/workflows/platform.dependencies.yml
ahmadabdalla Feb 1, 2022
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
60 changes: 57 additions & 3 deletions .azuredevops/platformPipelines/platform.dependencies.yml
Original file line number Diff line number Diff line change
Expand Up @@ -186,11 +186,23 @@ stages:
azureSubscription: $(serviceConnection)
ScriptType: 'InlineScript'
Inline: |

$parameterFilePath = Join-Path '$(Build.SourcesDirectory)' '$(dependencyPath)' '$(resourceType)' 'parameters' 'parameters.json'
# Load used functions
. (Join-Path '$(Build.SourcesDirectory)' 'utilities' 'pipelines' 'sharedScripts' 'Export-ContentToBlob.ps1')
. (Join-Path '$(Build.SourcesDirectory)' 'utilities' 'pipelines' 'tokensReplacement' 'Convert-TokensInParameterFile.ps1')

# Replace tokens in parameter file
$Settings = Get-Content -Path (Join-Path '$(Build.SourcesDirectory)' 'settings.json') | ConvertFrom-Json
$ConvertTokensInputs = @{
ParameterFilePath = $parameterFilePath
LocalCustomParameterFileTokens = $Settings.parameterFileTokens.localTokens.tokens
TokenPrefix = $Settings.parameterFileTokens.tokenPrefix
TokenSuffix = $Settings.parameterFileTokens.tokenSuffix
}
$null = Convert-TokensInParameterFile @ConvertTokensInputs -Verbose

# Get storage account name
$parameterFilePath = Join-Path '$(Build.SourcesDirectory)' '$(dependencyPath)' '$(resourceType)' 'parameters' 'parameters.json'
$storageAccountParameters = (ConvertFrom-Json (Get-Content -path $parameterFilePath -Raw)).parameters

# Upload files to storage account
Expand Down Expand Up @@ -293,17 +305,31 @@ stages:
azureSubscription: $(serviceConnection)
ScriptType: 'InlineScript'
Inline: |

# Load used functions
. (Join-Path '$(Build.SourcesDirectory)' 'utilities' 'pipelines' 'tokensReplacement' 'Convert-TokensInParameterFile.ps1')

# Prepare replace tokens in parameter file
$Settings = Get-Content -Path (Join-Path '$(Build.SourcesDirectory)' 'settings.json') | ConvertFrom-Json
$ConvertTokensInputs = @{
LocalCustomParameterFileTokens = $Settings.parameterFileTokens.localTokens.tokens
TokenPrefix = $Settings.parameterFileTokens.tokenPrefix
TokenSuffix = $Settings.parameterFileTokens.tokenSuffix
}

# Retrieving parameters from previous job outputs and parameter files
Write-Verbose "Retrieving parameters from previous job outputs" -Verbose
$imageTemplateName = (ConvertFrom-Json '$(deploymentOutput)').name
$imageTemplateResourceGroup = (ConvertFrom-Json '$(deploymentOutput)').resourceGroupName

Write-Verbose "Retrieving parameters from storage account parameter files" -Verbose
$parameterFilePath = Join-Path '$(Build.SourcesDirectory)' '$(dependencyPath)' '$(saResourceType)' 'parameters' 'parameters.json'
$null = Convert-TokensInParameterFile @ConvertTokensInputs -ParameterFilePath $parameterFilePath -Verbose
$storageAccountParameters = (ConvertFrom-Json (Get-Content -path $parameterFilePath -Raw)).parameters

Write-Verbose "Retrieving parameters from image template parameter files" -Verbose
$parameterFilePath = Join-Path '$(Build.SourcesDirectory)' '$(dependencyPath)' '$(resourceType)' 'parameters' 'parameters.json'
$null = Convert-TokensInParameterFile @ConvertTokensInputs -ParameterFilePath $parameterFilePath -Verbose
$imageTemplateParameters = (ConvertFrom-Json (Get-Content -path $parameterFilePath -Raw)).parameters

# Initializing parameters before the blob copy
Expand Down Expand Up @@ -578,8 +604,22 @@ stages:
azureSubscription: $(serviceConnection)
ScriptType: 'InlineScript'
Inline: |
# Get key vault name

$parameterFilePath = Join-Path '$(Build.SourcesDirectory)' '$(dependencyPath)' '$(resourceType)' 'parameters' 'parameters.json'
# Load used functions
. (Join-Path '$(Build.SourcesDirectory)' 'utilities' 'pipelines' 'tokensReplacement' 'Convert-TokensInParameterFile.ps1')

# Replace tokens in parameter file
$Settings = Get-Content -Path (Join-Path '$(Build.SourcesDirectory)' 'settings.json') | ConvertFrom-Json
$ConvertTokensInputs = @{
ParameterFilePath = $parameterFilePath
LocalCustomParameterFileTokens = $Settings.parameterFileTokens.localTokens.tokens
TokenPrefix = $Settings.parameterFileTokens.tokenPrefix
TokenSuffix = $Settings.parameterFileTokens.tokenSuffix
}
$null = Convert-TokensInParameterFile @ConvertTokensInputs -Verbose

# Get key vault name
$keyVaultParameters = (ConvertFrom-Json (Get-Content -Path $parameterFilePath -Raw)).parameters
$keyVaultName = $keyVaultParameters.name.value

Expand Down Expand Up @@ -661,8 +701,22 @@ stages:
azureSubscription: $(serviceConnection)
ScriptType: 'InlineScript'
Inline: |
# Get key vault name

$parameterFilePath = Join-Path '$(Build.SourcesDirectory)' '$(dependencyPath)' '$(resourceType)' 'parameters' 'sqlmi.parameters.json'
# Load used functions
. (Join-Path '$(Build.SourcesDirectory)' 'utilities' 'pipelines' 'tokensReplacement' 'Convert-TokensInParameterFile.ps1')

# Replace tokens in parameter file
$Settings = Get-Content -Path (Join-Path '$(Build.SourcesDirectory)' 'settings.json') | ConvertFrom-Json
$ConvertTokensInputs = @{
ParameterFilePath = $parameterFilePath
LocalCustomParameterFileTokens = $Settings.parameterFileTokens.localTokens.tokens
TokenPrefix = $Settings.parameterFileTokens.tokenPrefix
TokenSuffix = $Settings.parameterFileTokens.tokenSuffix
}
$null = Convert-TokensInParameterFile @ConvertTokensInputs -Verbose

# Get key vault name
$keyVaultParameters = (ConvertFrom-Json (Get-Content -Path $parameterFilePath -Raw)).parameters
$keyVaultName = $keyVaultParameters.name.value

Expand Down
68 changes: 64 additions & 4 deletions .github/workflows/platform.dependencies.yml
Original file line number Diff line number Diff line change
Expand Up @@ -243,11 +243,23 @@ jobs:
uses: azure/powershell@v1
with:
inlineScript: |

$parameterFilePath = Join-Path $env:GITHUB_WORKSPACE '${{ env.dependencyPath }}' '${{ env.namespace }}' 'parameters' 'parameters.json'
# Load used functions
. (Join-Path $env:GITHUB_WORKSPACE 'utilities' 'pipelines' 'sharedScripts' 'Export-ContentToBlob.ps1')
. (Join-Path $env:GITHUB_WORKSPACE 'utilities' 'pipelines' 'tokensReplacement' 'Convert-TokensInParameterFile.ps1')

# Replace tokens in parameter file
$Settings = Get-Content -Path "settings.json" | ConvertFrom-Json
$ConvertTokensInputs = @{
ParameterFilePath = $parameterFilePath
LocalCustomParameterFileTokens = $Settings.parameterFileTokens.localTokens.tokens
TokenPrefix = $Settings.parameterFileTokens.tokenPrefix
TokenSuffix = $Settings.parameterFileTokens.tokenSuffix
}
$null = Convert-TokensInParameterFile @ConvertTokensInputs -Verbose

# Get storage account name
$parameterFilePath = Join-Path $env:GITHUB_WORKSPACE '${{ env.dependencyPath }}' '${{ env.namespace }}' 'parameters' 'parameters.json'
$storageAccountParameters = (ConvertFrom-Json (Get-Content -path $parameterFilePath -Raw)).parameters

# Upload files to storage account
Expand Down Expand Up @@ -386,17 +398,31 @@ jobs:
uses: azure/powershell@v1
with:
inlineScript: |

# Load used functions
. (Join-Path $env:GITHUB_WORKSPACE 'utilities' 'pipelines' 'tokensReplacement' 'Convert-TokensInParameterFile.ps1')

# Prepare replace tokens in parameter file
$Settings = Get-Content -Path "settings.json" | ConvertFrom-Json
$ConvertTokensInputs = @{
LocalCustomParameterFileTokens = $Settings.parameterFileTokens.localTokens.tokens
TokenPrefix = $Settings.parameterFileTokens.tokenPrefix
TokenSuffix = $Settings.parameterFileTokens.tokenSuffix
}

# Retrieving parameters from previous job outputs and parameter files
Write-Verbose "Retrieving parameters from previous job outputs" -Verbose
$imageTemplateName = '${{ needs.job_deploy_imgt.outputs.imageTemplateName }}'
$imageTemplateResourceGroup = '${{ needs.job_deploy_imgt.outputs.imageTemplateResourceGroup }}'

Write-Verbose "Retrieving parameters from storage account parameter files" -Verbose
$parameterFilePath = Join-Path $env:GITHUB_WORKSPACE '${{ env.dependencyPath }}' '${{ env.saNamespace }}' 'parameters' 'parameters.json'
$null = Convert-TokensInParameterFile @ConvertTokensInputs -ParameterFilePath $parameterFilePath -Verbose
$storageAccountParameters = (ConvertFrom-Json (Get-Content -path $parameterFilePath -Raw)).parameters

Write-Verbose "Retrieving parameters from image template parameter files" -Verbose
$parameterFilePath = Join-Path $env:GITHUB_WORKSPACE '${{ env.dependencyPath }}' '${{ env.imgtNamespace }}' 'parameters' 'parameters.json'
$null = Convert-TokensInParameterFile @ConvertTokensInputs -ParameterFilePath $parameterFilePath -Verbose
$imageTemplateParameters = (ConvertFrom-Json (Get-Content -path $parameterFilePath -Raw)).parameters

# Initializing parameters before the blob copy
Expand Down Expand Up @@ -618,7 +644,12 @@ jobs:
fail-fast: false
matrix:
parameterFilePaths:
['apgw.parameters.json', 'bas.parameters.json', 'lb.parameters.json', 'fw.parameters.json']
[
'apgw.parameters.json',
'bas.parameters.json',
'lb.parameters.json',
'fw.parameters.json',
]
steps:
- name: 'Checkout'
uses: actions/checkout@v2
Expand Down Expand Up @@ -818,8 +849,22 @@ jobs:
uses: azure/powershell@v1
with:
inlineScript: |
# Get key vault name

$parameterFilePath = Join-Path $env:GITHUB_WORKSPACE 'utilities' 'pipelines' 'dependencies' '${{ env.namespace }}' 'parameters' 'parameters.json'
# Load used functions
. (Join-Path $env:GITHUB_WORKSPACE 'utilities' 'pipelines' 'tokensReplacement' 'Convert-TokensInParameterFile.ps1')

# Replace tokens in parameter file
$Settings = Get-Content -Path "settings.json" | ConvertFrom-Json
$ConvertTokensInputs = @{
ParameterFilePath = $parameterFilePath
LocalCustomParameterFileTokens = $Settings.parameterFileTokens.localTokens.tokens
TokenPrefix = $Settings.parameterFileTokens.tokenPrefix
TokenSuffix = $Settings.parameterFileTokens.tokenSuffix
}
$null = Convert-TokensInParameterFile @ConvertTokensInputs -Verbose

# Get key vault name
$keyVaultParameters = (ConvertFrom-Json (Get-Content -Path $parameterFilePath -Raw)).parameters
$keyVaultName = $keyVaultParameters.name.value

Expand Down Expand Up @@ -924,6 +969,7 @@ jobs:

# Set agent up
Set-EnvironmentOnAgent -PSModules $Modules

- name: Azure Login
uses: azure/login@v1
with:
Expand All @@ -933,8 +979,22 @@ jobs:
uses: azure/powershell@v1
with:
inlineScript: |
# Get key vault name

$parameterFilePath = Join-Path $env:GITHUB_WORKSPACE 'utilities' 'pipelines' 'dependencies' '${{ env.namespace }}' 'parameters' 'sqlmi.parameters.json'
# Load used functions
. (Join-Path $env:GITHUB_WORKSPACE 'utilities' 'pipelines' 'tokensReplacement' 'Convert-TokensInParameterFile.ps1')

# Replace tokens in parameter file
$Settings = Get-Content -Path "settings.json" | ConvertFrom-Json
$ConvertTokensInputs = @{
ParameterFilePath = $parameterFilePath
LocalCustomParameterFileTokens = $Settings.parameterFileTokens.localTokens.tokens
TokenPrefix = $Settings.parameterFileTokens.tokenPrefix
TokenSuffix = $Settings.parameterFileTokens.tokenSuffix
}
$null = Convert-TokensInParameterFile @ConvertTokensInputs -Verbose

# Get key vault name
$keyVaultParameters = (ConvertFrom-Json (Get-Content -Path $parameterFilePath -Raw)).parameters
$keyVaultName = $keyVaultParameters.name.value

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"contentVersion": "1.0.0.0",
"parameters": {
"name": {
"value": "sxxazasweumin001"
"value": "<<namePrefix>>azasweumin001"
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"contentVersion": "1.0.0.0",
"parameters": {
"name": {
"value": "sxxazasweux001"
"value": "<<namePrefix>>azasweux001"
},
"skuName": {
"value": "D1"
Expand All @@ -22,16 +22,16 @@
"value": 7
},
"diagnosticStorageAccountId": {
"value": "/subscriptions/<<subscriptionId>>/resourceGroups/validation-rg/providers/Microsoft.Storage/storageAccounts/adpsxxazsax001"
"value": "/subscriptions/<<subscriptionId>>/resourceGroups/validation-rg/providers/Microsoft.Storage/storageAccounts/adp<<namePrefix>>azsax001"
},
"diagnosticWorkspaceId": {
"value": "/subscriptions/<<subscriptionId>>/resourcegroups/validation-rg/providers/microsoft.operationalinsights/workspaces/adp-sxx-az-law-x-001"
"value": "/subscriptions/<<subscriptionId>>/resourcegroups/validation-rg/providers/microsoft.operationalinsights/workspaces/adp-<<namePrefix>>-az-law-x-001"
},
"diagnosticEventHubAuthorizationRuleId": {
"value": "/subscriptions/<<subscriptionId>>/resourceGroups/validation-rg/providers/Microsoft.EventHub/namespaces/adp-sxx-az-evhns-x-001/AuthorizationRules/RootManageSharedAccessKey"
"value": "/subscriptions/<<subscriptionId>>/resourceGroups/validation-rg/providers/Microsoft.EventHub/namespaces/adp-<<namePrefix>>-az-evhns-x-001/AuthorizationRules/RootManageSharedAccessKey"
},
"diagnosticEventHubName": {
"value": "adp-sxx-az-evh-x-001"
"value": "adp-<<namePrefix>>-az-evh-x-001"
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@
"contentVersion": "1.0.0.0",
"parameters": {
"name": {
"value": "sxx-az-am-max-001"
"value": "<<namePrefix>>-az-am-max-001"
},
"publisherEmail": {
"value": "apimgmt-noreply@mail.windowsazure.com"
},
"publisherName": {
"value": "sxx-az-amorg-x-001"
"value": "<<namePrefix>>-az-amorg-x-001"
},
"cuaId": {
"value": "00000-0-000000"
Expand Down Expand Up @@ -40,7 +40,7 @@
"grantTypes": [
"authorizationCode"
],
"clientCredentialsKeyVaultId": "/subscriptions/<<subscriptionId>>/resourceGroups/validation-rg/providers/Microsoft.KeyVault/vaults/adp-sxx-az-kv-x-001",
"clientCredentialsKeyVaultId": "/subscriptions/<<subscriptionId>>/resourceGroups/validation-rg/providers/Microsoft.KeyVault/vaults/adp-<<namePrefix>>-az-kv-x-001",
"clientIdSecretName": "apimclientid",
"clientSecretSecretName": "apimclientsecret",
"clientRegistrationEndpoint": "http://localhost",
Expand Down Expand Up @@ -145,7 +145,7 @@
},
"userAssignedIdentities": {
"value": {
"/subscriptions/<<subscriptionId>>/resourcegroups/validation-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adp-sxx-az-msi-x-001": {}
"/subscriptions/<<subscriptionId>>/resourcegroups/validation-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adp-<<namePrefix>>-az-msi-x-001": {}
}
},
"roleAssignments": {
Expand All @@ -162,16 +162,16 @@
"value": 7
},
"diagnosticStorageAccountId": {
"value": "/subscriptions/<<subscriptionId>>/resourceGroups/validation-rg/providers/Microsoft.Storage/storageAccounts/adpsxxazsax001"
"value": "/subscriptions/<<subscriptionId>>/resourceGroups/validation-rg/providers/Microsoft.Storage/storageAccounts/adp<<namePrefix>>azsax001"
},
"diagnosticWorkspaceId": {
"value": "/subscriptions/<<subscriptionId>>/resourcegroups/validation-rg/providers/microsoft.operationalinsights/workspaces/adp-sxx-az-law-x-001"
"value": "/subscriptions/<<subscriptionId>>/resourcegroups/validation-rg/providers/microsoft.operationalinsights/workspaces/adp-<<namePrefix>>-az-law-x-001"
},
"diagnosticEventHubAuthorizationRuleId": {
"value": "/subscriptions/<<subscriptionId>>/resourceGroups/validation-rg/providers/Microsoft.EventHub/namespaces/adp-sxx-az-evhns-x-001/AuthorizationRules/RootManageSharedAccessKey"
"value": "/subscriptions/<<subscriptionId>>/resourceGroups/validation-rg/providers/Microsoft.EventHub/namespaces/adp-<<namePrefix>>-az-evhns-x-001/AuthorizationRules/RootManageSharedAccessKey"
},
"diagnosticEventHubName": {
"value": "adp-sxx-az-evh-x-001"
"value": "adp-<<namePrefix>>-az-evh-x-001"
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@
"contentVersion": "1.0.0.0",
"parameters": {
"name": {
"value": "sxx-az-am-x-001"
"value": "<<namePrefix>>-az-am-x-001"
},
"publisherEmail": {
"value": "apimgmt-noreply@mail.windowsazure.com"
},
"publisherName": {
"value": "sxx-az-amorg-x-001"
"value": "<<namePrefix>>-az-amorg-x-001"
},
"cuaId": {
"value": "00000-0-000000"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"contentVersion": "1.0.0.0",
"parameters": {
"name": {
"value": "sxx-pass-vm-disk"
"value": "<<namePrefix>>-pass-vm-disk"
},
"policyDefinitionID": {
"value": "/providers/Microsoft.Authorization/policyDefinitions/06a78e20-9358-41c9-923c-fb736d382a4d"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"contentVersion": "1.0.0.0",
"parameters": {
"name": {
"value": "sxx-pass-tag"
"value": "<<namePrefix>>-pass-tag"
},
"displayName": {
"value": "Add a tag to resources"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"contentVersion": "1.0.0.0",
"parameters": {
"name": {
"value": "sxx-deny-keyvault-public-min"
"value": "<<namePrefix>>-deny-keyvault-public-min"
},
"policyRule": {
"value": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"contentVersion": "1.0.0.0",
"parameters": {
"name": {
"value": "sxx-add-tag-to-sub-policy"
"value": "<<namePrefix>>-add-tag-to-sub-policy"
},
"displayName": {
"value": "[Test] This policy adds tags to a subscription"
Expand Down
Loading