Skip to content

Commit

Permalink
Merge pull request #2898 from microsoft/arcbox_ws_2025
Browse files Browse the repository at this point in the history
ArcBox - Windows Server 2025
  • Loading branch information
likamrat authored Jan 21, 2025
2 parents d8cdd3d + f376764 commit 7e3f8e6
Show file tree
Hide file tree
Showing 20 changed files with 5,054 additions and 1,207 deletions.
472 changes: 415 additions & 57 deletions azure_jumpstart_arcbox/ARM/azuredeploy.json

Large diffs are not rendered by default.

412 changes: 266 additions & 146 deletions azure_jumpstart_arcbox/ARM/clientVm/clientVm.json

Large diffs are not rendered by default.

470 changes: 250 additions & 220 deletions azure_jumpstart_arcbox/ARM/kubernetes/aks.json

Large diffs are not rendered by default.

497 changes: 258 additions & 239 deletions azure_jumpstart_arcbox/ARM/kubernetes/ubuntuRancher.json

Large diffs are not rendered by default.

233 changes: 233 additions & 0 deletions azure_jumpstart_arcbox/ARM/kubernetes/ubuntuRancherNodes.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,233 @@
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.32.4.45862",
"templateHash": "439311248032936140"
}
},
"parameters": {
"vmName": {
"type": "string",
"defaultValue": "[format('{0}-K3s-Node', parameters('namingPrefix'))]",
"metadata": {
"description": "The name of you Virtual Machine"
}
},
"adminUsername": {
"type": "string",
"defaultValue": "arcdemo",
"metadata": {
"description": "Username for the Virtual Machine"
}
},
"sshRSAPublicKey": {
"type": "securestring",
"defaultValue": "",
"metadata": {
"description": "RSA public key used for securing SSH access to ArcBox resources. This parameter is only needed when deploying the DataOps or DevOps flavors."
}
},
"ubuntuOSVersion": {
"type": "string",
"defaultValue": "22_04-lts-gen2",
"allowedValues": [
"22_04-lts-gen2"
],
"metadata": {
"description": "The Ubuntu version for the VM. This will pick a fully patched image of this given Ubuntu version"
}
},
"azureLocation": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Location for all resources."
}
},
"subnetId": {
"type": "string",
"metadata": {
"description": "Resource Id of the subnet in the virtual network"
}
},
"stagingStorageAccountName": {
"type": "string",
"metadata": {
"description": "Name for the staging storage account using to hold kubeconfig. This value is passed into the template as an output from mgmtStagingStorage.json"
}
},
"logAnalyticsWorkspace": {
"type": "string",
"metadata": {
"description": "Name of the Log Analytics workspace used with cluster extensions"
}
},
"templateBaseUrl": {
"type": "string",
"metadata": {
"description": "The base URL used for accessing artifacts and automation artifacts"
}
},
"flavor": {
"type": "string",
"allowedValues": [
"ITPro",
"DevOps",
"DataOps"
],
"metadata": {
"description": "The flavor of ArcBox you want to deploy. Valid values are: 'Full', 'ITPro'"
}
},
"storageContainerName": {
"type": "string",
"metadata": {
"description": "Storage account container name for artifacts"
}
},
"namingPrefix": {
"type": "string",
"defaultValue": "ArcBox",
"maxLength": 7,
"metadata": {
"description": "The naming prefix for the nested virtual machines. Example: ArcBox-Win2k19"
}
}
},
"variables": {
"networkInterfaceName": "[format('{0}-NIC', parameters('vmName'))]",
"osDiskType": "Premium_LRS",
"vmSize": "[if(equals(parameters('flavor'), 'DevOps'), 'Standard_B2ms', 'Standard_B8ms')]",
"diskSize": "[if(equals(parameters('flavor'), 'DataOps'), 512, 64)]"
},
"resources": [
{
"type": "Microsoft.Network/networkInterfaces",
"apiVersion": "2022-01-01",
"name": "[variables('networkInterfaceName')]",
"location": "[parameters('azureLocation')]",
"properties": {
"ipConfigurations": [
{
"name": "ipconfig1",
"properties": {
"subnet": {
"id": "[parameters('subnetId')]"
},
"privateIPAllocationMethod": "Dynamic"
}
}
]
}
},
{
"type": "Microsoft.Compute/virtualMachines",
"apiVersion": "2022-03-01",
"name": "[parameters('vmName')]",
"location": "[parameters('azureLocation')]",
"identity": {
"type": "SystemAssigned"
},
"properties": {
"hardwareProfile": {
"vmSize": "[variables('vmSize')]"
},
"storageProfile": {
"osDisk": {
"name": "[format('{0}-OSDisk', parameters('vmName'))]",
"caching": "ReadWrite",
"createOption": "FromImage",
"managedDisk": {
"storageAccountType": "[variables('osDiskType')]"
},
"diskSizeGB": "[variables('diskSize')]"
},
"imageReference": {
"publisher": "canonical",
"offer": "0001-com-ubuntu-server-jammy",
"sku": "[parameters('ubuntuOSVersion')]",
"version": "latest"
}
},
"networkProfile": {
"networkInterfaces": [
{
"id": "[resourceId('Microsoft.Network/networkInterfaces', variables('networkInterfaceName'))]"
}
]
},
"osProfile": {
"computerName": "[parameters('vmName')]",
"adminUsername": "[parameters('adminUsername')]",
"linuxConfiguration": {
"disablePasswordAuthentication": true,
"ssh": {
"publicKeys": [
{
"path": "[format('/home/{0}/.ssh/authorized_keys', parameters('adminUsername'))]",
"keyData": "[parameters('sshRSAPublicKey')]"
}
]
}
}
}
},
"dependsOn": [
"[resourceId('Microsoft.Network/networkInterfaces', variables('networkInterfaceName'))]"
]
},
{
"type": "Microsoft.Authorization/roleAssignments",
"apiVersion": "2022-04-01",
"name": "[guid(resourceId('Microsoft.Compute/virtualMachines', parameters('vmName')), 'Microsoft.Authorization/roleAssignments', 'Owner')]",
"properties": {
"principalId": "[reference(resourceId('Microsoft.Compute/virtualMachines', parameters('vmName')), '2022-03-01', 'full').identity.principalId]",
"roleDefinitionId": "[resourceId('Microsoft.Authorization/roleDefinitions', '8e3af657-a8ff-443c-a75c-2fe8c4bcb635')]",
"principalType": "ServicePrincipal"
},
"dependsOn": [
"[resourceId('Microsoft.Compute/virtualMachines', parameters('vmName'))]"
]
},
{
"type": "Microsoft.Authorization/roleAssignments",
"apiVersion": "2022-04-01",
"name": "[guid(resourceId('Microsoft.Compute/virtualMachines', parameters('vmName')), 'Microsoft.Authorization/roleAssignments', 'Storage Blob Data Contributor')]",
"properties": {
"principalId": "[reference(resourceId('Microsoft.Compute/virtualMachines', parameters('vmName')), '2022-03-01', 'full').identity.principalId]",
"roleDefinitionId": "[resourceId('Microsoft.Authorization/roleDefinitions', 'ba92f5b4-2d11-453d-a403-e96b0029c9fe')]",
"principalType": "ServicePrincipal"
},
"dependsOn": [
"[resourceId('Microsoft.Compute/virtualMachines', parameters('vmName'))]"
]
},
{
"type": "Microsoft.Compute/virtualMachines/extensions",
"apiVersion": "2022-03-01",
"name": "[format('{0}/{1}', parameters('vmName'), 'installscript_k3s')]",
"location": "[parameters('azureLocation')]",
"properties": {
"publisher": "Microsoft.Azure.Extensions",
"type": "CustomScript",
"typeHandlerVersion": "2.1",
"autoUpgradeMinorVersion": true,
"settings": {},
"protectedSettings": {
"commandToExecute": "[format('bash installK3s.sh {0} {1} {2} {3} {4} {5} {6} {7}', parameters('adminUsername'), subscription().subscriptionId, parameters('vmName'), parameters('azureLocation'), parameters('stagingStorageAccountName'), parameters('logAnalyticsWorkspace'), parameters('templateBaseUrl'), parameters('storageContainerName'))]",
"fileUris": [
"[format('{0}artifacts/installK3s.sh', parameters('templateBaseUrl'))]"
]
}
},
"dependsOn": [
"[resourceId('Microsoft.Compute/virtualMachines', parameters('vmName'))]",
"[resourceId('Microsoft.Authorization/roleAssignments', guid(resourceId('Microsoft.Compute/virtualMachines', parameters('vmName')), 'Microsoft.Authorization/roleAssignments', 'Owner'))]",
"[resourceId('Microsoft.Authorization/roleAssignments', guid(resourceId('Microsoft.Compute/virtualMachines', parameters('vmName')), 'Microsoft.Authorization/roleAssignments', 'Storage Blob Data Contributor'))]"
]
}
]
}
Loading

0 comments on commit 7e3f8e6

Please sign in to comment.