Skip to content

Commit

Permalink
Confidential Compute with SGX (#526)
Browse files Browse the repository at this point in the history
* SGX

Signed-off-by: Gordonby <gordon.byers@microsoft.com>

* vmsku update

* bicep fix

Signed-off-by: Gordonby <gordon.byers@microsoft.com>

* better message

Signed-off-by: Gordonby <gordon.byers@microsoft.com>

---------

Signed-off-by: Gordonby <gordon.byers@microsoft.com>
  • Loading branch information
Gordon Byers authored Feb 23, 2023
1 parent f7935da commit 657c052
Show file tree
Hide file tree
Showing 7 changed files with 690 additions and 2 deletions.
7 changes: 7 additions & 0 deletions bicep/main.bicep
Original file line number Diff line number Diff line change
Expand Up @@ -855,6 +855,9 @@ param kedaAddon bool = false
@description('Enables Open Service Mesh')
param openServiceMeshAddon bool = false

@description('Enables SGX Confidential Compute plugin')
param sgxPlugin bool = false

@description('Enables the Blob CSI driver')
param blobCSIDriver bool = false

Expand Down Expand Up @@ -1145,6 +1148,10 @@ var aks_addons = union({
enabled: openServiceMeshAddon
config: {}
}
ACCSGXDevicePlugin: {
enabled: sgxPlugin
config: {}
}
}, createLaw && omsagent ? {
omsagent: {
enabled: createLaw && omsagent
Expand Down
21 changes: 21 additions & 0 deletions helper/src/components/addonsTab.js
Original file line number Diff line number Diff line change
Expand Up @@ -531,6 +531,27 @@ export default function ({ tabValues, updateFn, featureFlag, invalidArray }) {
/>
</Stack.Item>


<Separator className="notopmargin" />

<Stack.Item align="start">
<Label required={true}>
Confidential Computing
(<a target="_new" href="https://learn.microsoft.com/azure/confidential-computing/confidential-enclave-nodes-aks-get-started">docs</a>)
</Label>
<MessageBar messageBarType={MessageBarType.info} styles={{ root: { marginBottom: "10px" } }}>
Enabling this option installs the SGX Device Plugin, but will require a node pool using a VM SKU that supports SGX. Choose `SGX Enclave` for the compute on the cluster tab.
</MessageBar>
<Checkbox
styles={{ root: { marginLeft: "50px" } }}
inputProps={{ "data-testid": "addons-sgx-checkbox" }}
checked={addons.sgxPlugin}
onChange={(ev, v) => updateFn("sgxPlugin", v)}
label="Install the sgxPlugin on compatible VM node pools"
disabled={cluster.computeType !== 'sgx'}
/>
</Stack.Item>

</Stack>
);
}
6 changes: 6 additions & 0 deletions helper/src/components/clusterTab.js
Original file line number Diff line number Diff line change
Expand Up @@ -198,6 +198,12 @@ export default function ({ defaults, tabValues, updateFn, featureFlag, invalidAr
iconProps: { iconName: 'Game' },
text: 'GPU Workloads',
disabled: true
},
{
key: 'sgx',
iconProps: { iconName: 'LaptopSecure' },
text: 'SGX Enclave',
disabled: false
}
]}
/>
Expand Down
1 change: 1 addition & 0 deletions helper/src/components/deployTab.js
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,7 @@ export default function DeployTab({ defaults, updateFn, tabValues, invalidArray,
...(addons.fluxGitOpsAddon !== defaults.addons.fluxGitOpsAddon && { fluxGitOpsAddon: addons.fluxGitOpsAddon}),
...(addons.daprAddon !== defaults.addons.daprAddon && { daprAddon: addons.daprAddon }),
...(addons.daprAddonHA !== defaults.addons.daprAddonHA && { daprAddonHA: addons.daprAddonHA }),
...(addons.sgxPlugin !== defaults.addons.sgxPlugin && { sgxPlugin: addons.sgxPlugin })
}

const preview_params = {
Expand Down
3 changes: 2 additions & 1 deletion helper/src/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,8 @@
"kvId": "",
"gitops": "none",
"containerLogsV2": false,
"containerLogsV2BasicLogs": false
"containerLogsV2BasicLogs": false,
"sgxPlugin": false
},
"net": {
"vnetFirewallManagementSubnetAddressPrefix": "10.240.51.0/26",
Expand Down
3 changes: 2 additions & 1 deletion helper/src/skuFamilies.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,6 @@
{"key": "standardDSv3Family", "text": "General Purpose V3", "computeType": "gp"},
{"key": "standardDDSv4Family", "text": "General Purpose V4", "computeType": "gp"},
{"key": "standardFSv2Family", "text": "Compute Optimized","computeType": "gp"},
{"key": "standardBSFamily", "text": "Burstable (dev/test)","computeType": "gp"}
{"key": "standardBSFamily", "text": "Burstable (dev/test)","computeType": "gp"},
{"key": "standardDCSv3Family", "text": "Confidential v3","computeType": "sgx"}
]
Loading

0 comments on commit 657c052

Please sign in to comment.