diff --git a/docs/deploy-viya.md b/docs/deploy-viya.md index 47a7792..e1ee061 100644 --- a/docs/deploy-viya.md +++ b/docs/deploy-viya.md @@ -56,7 +56,7 @@ There are several parts to this proces: 5. Optmisation -### 1. Create Shared Compute Context +### Create Shared Compute Context We strongly recommend a dedicated compute context for running Data Controller. The setup requires an Administrator account. @@ -72,7 +72,11 @@ We strongly recommend a dedicated compute context for running Data Controller. !!! note XCMD is NOT required to use Data Controller. -### 2. Deploy Services +A group should be defined in Environment Manager that has the "create session" permission on this context. + +To avoid giving users the ability to run code on that context (and shared system account) in SAS Studio and other apps, this permission should have the following condition attached: `clientId() == 'sas.jobExecution'` + +### Deploy Services Services are deployed by running a SAS program. @@ -96,7 +100,7 @@ filename dc url "https://git.datacontroller.io/dc/dc/releases/download/latest/vi %inc dc; ``` -### 3. Configure Frontend +### Configure Frontend #### Streaming Deploy @@ -114,18 +118,10 @@ The following attributes may be updated in the index.html file. For streaming d - `contextName` - here you should put the name of the compute context you created in step 1 - `servertype` - should be SASVIYA - `debug` - can stay as `false` for performance, but could be switched to `true` for debugging startup issues -- `useComputeApi` - setting `true` will give the best performance due to the use of hot sessions by the SASjs adapter. However we recommend `false` or `null` for security as explained in the next section. - -### 5. Security - -A group should be defined in Environment Manager that has the "create session" permission on the Shared Compute Context. - -To avoid giving users the ability to run code on that context in SAS Studio and other apps, this permission should have the following condition attached: `clientId() == 'sas.jobExecution'` - -By applying this condition, it will also become impossible to use the `useComputeApi=true` setting in the index.html file. Use 'false' or 'null' instead. +- `useComputeApi` - Setting `true` will give the best performance due to the use of [hot sessions](https://github.com/sasjs/adapter#using-the-compute-api) created client-side by the SASjs adapter. This is great for demo purposes, or when running a single user DC instance, however for typical enterprise use we recommend `false` or `null` so that the compute context usage can be restricted as described [above](/deploy-viya/#create-shared-compute-context) -### 6. First Launch +### First Launch Now the services are deployed (including the service which creates the staging area) we can open the Data Controller web interface and make the necessary configurations: @@ -134,7 +130,7 @@ Now the services are deployed (including the service which creates the staging a * Compute Context - the context configured in Step 1 -### 7. Optimisation +### Optimisation At this point, every DC request will read the `services/public/settings.sas` file to get the DC library (and other) settings. To avoid these API calls (which will speed up the app) we can simply move this code to the autoexec. Steps as follows: