An Analytics Workspace Binding links an AnalyticsWorkspace to a user, effectively giving user access to that workspace. Each binding has an expiry date, which is taken into consideration when providing the user access to the workspace.
Labels
AWMS automatically implements the xlscsde.nhs.uk/username label on any binding that doesn’t already have the label. As this is used to provide search filtering in the kubernetes API. This prevents having to load all of the workspace bindings and having to filter that way. This not only reduces load on the application but also on the kubernetes API as well. Labels in kubernetes are only allowed to be formatted in specific ways, as a result special characters are removed.
Custom Resource Definition
The Lancashire and South Cumbria Secure Data Environment (LSC-SDE) Analytics Workspace Management Solution (AWMS) leverages Kubernetes Custom Resource Definitions to store and manage workspace bindings
Example:
apiVersion: xlscsde.nhs.uk/v1
kind: AnalyticsWorkspaceBinding
metadata:
labels:
xlscsde.nhs.uk/username: shaun.turner___headinthecloudsolutions.co.uk
name: binding-3edad8355fad4fc187610249ed93d63f
namespace: jupyterhub
spec:
comments: Testing
expires: "2024-12-04"
username: shaun.turner@headinthecloudsolutions.co.uk
workspace: example-workspace
Schema
AnalyticsWorkspaceBindingSpec
Property | Description | Type | Required | Default Value |
---|---|---|---|---|
workspace | The name of the workspace in kubernetes | string | Yes | |
expires | The date at which this binding expires | string (date) | Yes | |
username | The username to match | No | ||
comments | Any comments relating to this binding. | string | No | None |
replicas | The number of replicas to be setup by this resource | integer | No | 0 |
claims | This is not yet implemented | object | No | None |