mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-12-27 18:31:15 +08:00
Add generate-sas-tokens script. (#31842)
This commit is contained in:
parent
4d0706551b
commit
a9eb339823
54
scripts/azure-pipelines/generate-sas-tokens.ps1
Normal file
54
scripts/azure-pipelines/generate-sas-tokens.ps1
Normal file
@ -0,0 +1,54 @@
|
||||
|
||||
function Get-SasToken {
|
||||
Param(
|
||||
[Parameter(Mandatory=$true)]
|
||||
[int]$KeyNumber,
|
||||
[Parameter(Mandatory=$true)]
|
||||
[ValidateNotNullOrEmpty()]
|
||||
[string]$ResourceGroupName,
|
||||
[Parameter(Mandatory=$true)]
|
||||
[ValidateNotNullOrEmpty()]
|
||||
[string]$StorageAccountName,
|
||||
[Parameter(Mandatory=$true)]
|
||||
[ValidateNotNullOrEmpty()]
|
||||
[string]$ContainerName,
|
||||
[Parameter(Mandatory=$true)]
|
||||
[ValidateNotNullOrEmpty()]
|
||||
[string]$Permission
|
||||
)
|
||||
|
||||
$keys = Get-AzStorageAccountKey -ResourceGroupName $ResourceGroupName -Name $StorageAccountName
|
||||
$key = $keys[$KeyNumber - 1]
|
||||
$ctx = New-AzStorageContext -StorageAccountName $StorageAccountName -StorageAccountKey $key.Value
|
||||
$start = Get-Date -AsUTC
|
||||
$end = $start.AddDays(90)
|
||||
$token = New-AzStorageContainerSASToken -Name $ContainerName -Permission $Permission -StartTime $start -ExpiryTime $end -Context $ctx
|
||||
return $token.Substring(1)
|
||||
}
|
||||
|
||||
# Asset Cache:
|
||||
# Read, Create, List
|
||||
$assetSas = Get-SasToken -KeyNumber 1 -ResourceGroupName vcpkg-asset-cache -StorageAccountName vcpkgassetcacheeastasia -ContainerName cache -Permission rcl
|
||||
|
||||
# Binary Cache:
|
||||
# Read, Create, List, Write
|
||||
$binarySas = Get-SasToken -KeyNumber 1 -ResourceGroupName vcpkg-binary-cache -StorageAccountName vcpkgbinarycache -ContainerName cache -Permission rclw
|
||||
$binaryEASas = Get-SasToken -KeyNumber 1 -ResourceGroupName vcpkg-binary-cache -StorageAccountName vcpkgbinarycacheeastasia -ContainerName cache -Permission rclw
|
||||
|
||||
$response = "Asset Cache SAS: Update`n" + `
|
||||
"https://dev.azure.com/vcpkg/public/_library?itemType=VariableGroups&view=VariableGroupView&variableGroupId=6&path=vcpkg-asset-caching-credentials`n" + `
|
||||
"and`n" + `
|
||||
"https://devdiv.visualstudio.com/DefaultCollection/DevDiv/_library?itemType=VariableGroups&view=VariableGroupView&variableGroupId=355&path=vcpkg-asset-caching-credentials`n" + `
|
||||
"`n" + `
|
||||
"token:`n" + `
|
||||
"$assetSas`n" + `
|
||||
"`n" + `
|
||||
"Binary Cache SAS: Update`n" + `
|
||||
"https://dev.azure.com/vcpkg/public/_library?itemType=VariableGroups&view=VariableGroupView&variableGroupId=8&path=vcpkg-binary-caching-credentials`n" + `
|
||||
"`n" + `
|
||||
"sas-bin:`n" + `
|
||||
"$binarySas`n" + `
|
||||
"sas-bin-ea:`n" + `
|
||||
"$binaryEASas`n"
|
||||
|
||||
Write-Host $response
|
@ -19,3 +19,5 @@
|
||||
* [ ] Submit PR with those changes.
|
||||
* [ ] Submit a full CI rebuild with those changes: https://dev.azure.com/vcpkg/public/_build?definitionId=29
|
||||
refs/pull/NUMBER/head
|
||||
* [ ] Run `generate-sas-tokens.ps1` and update the relevant libraries on dev.azure.com/vcpkg and
|
||||
devdiv.visualstudio.com.
|
||||
|
Loading…
x
Reference in New Issue
Block a user