From 869923b37822fbffebd6ffb27966b2dafc505a19 Mon Sep 17 00:00:00 2001 From: annikakrilov <119340097+annikakrilov@users.noreply.github.com> Date: Mon, 18 Dec 2023 11:56:40 -0700 Subject: [PATCH] RStudio - Posit --- README.md | 8 +++--- charts/rstudio-connect/README.md | 12 ++++----- charts/rstudio-launcher-rbac/README.md | 4 +-- charts/rstudio-library/README.md | 4 +-- charts/rstudio-pm/README.md | 12 ++++----- charts/rstudio-workbench/README.md | 36 +++++++++++++------------- docs/customize.md | 12 ++++----- 7 files changed, 44 insertions(+), 44 deletions(-) diff --git a/README.md b/README.md index fc6015d0..32cf71fb 100644 --- a/README.md +++ b/README.md @@ -23,14 +23,14 @@ Individual helm charts have their own documentation -- [RStudio Connect](./charts/rstudio-connect) -- [RStudio Workbench](./charts/rstudio-workbench) +- [Posit Connect](./charts/rstudio-connect) +- [Posit Workbench](./charts/rstudio-workbench) - [Posit Package Manager](./charts/rstudio-pm) Examples: - [All Examples](./examples) - - [RStudio Connect](./examples/connect/) + - [Posit Connect](./examples/connect/) - [Standalone RBAC for the Job Launcher](./examples/rbac) ### Other Charts @@ -46,7 +46,7 @@ Supporting and miscellaneous charts with varying levels of maintenance, usefulne **IMPORTANT:** -These charts are provided as a convenience to RStudio customers. If you have +These charts are provided as a convenience to Posit customers. If you have questions about these charts, you can ask them in the [issues](https://github.com/rstudio/helm/issues/new/choose) in the repository or to your support representative, who will route them appropriately. diff --git a/charts/rstudio-connect/README.md b/charts/rstudio-connect/README.md index e4afddc5..d66b48e6 100644 --- a/charts/rstudio-connect/README.md +++ b/charts/rstudio-connect/README.md @@ -2,9 +2,9 @@ ![Version: 0.5.10](https://img.shields.io/badge/Version-0.5.10-informational?style=flat-square) ![AppVersion: 2023.10.0](https://img.shields.io/badge/AppVersion-2023.10.0-informational?style=flat-square) -#### _Official Helm chart for RStudio Connect_ +#### _Official Helm chart for Posit Connect_ -Business Users and Collaborators use R and Python data products on [RStudio Connect](https://www.rstudio.com/products/connect/) +Business Users and Collaborators use R and Python data products on [Posit Connect](https://posit.co/products/enterprise/connect/) that are published by Data Scientists. ## Best Practices @@ -121,10 +121,10 @@ The Helm `config` values are converted into the `rstudio-connect.gcfg` service c | affinity | object | `{}` | A map used verbatim as the pod's "affinity" definition | | args | list | `[]` | The pod's run arguments. By default, it uses the container's default | | command | list | `[]` | The pod's run command. By default, it uses the container's default | -| config | object | [RStudio Connect Configuration Reference](https://docs.rstudio.com/connect/admin/appendix/configuration/) | A nested map of maps that generates the rstudio-connect.gcfg file | +| config | object | [Posit Connect Configuration Reference](https://docs.posit.co/connect/admin/appendix/configuration/) | A nested map of maps that generates the rstudio-connect.gcfg file | | extraObjects | list | `[]` | Extra objects to deploy (value evaluated as a template) | | fullnameOverride | string | `""` | The full name of the release (can be overridden) | -| image | object | `{"imagePullPolicy":"IfNotPresent","imagePullSecrets":[],"repository":"ghcr.io/rstudio/rstudio-connect","tag":"","tagPrefix":"ubuntu2204-"}` | Defines the RStudio Connect image to deploy | +| image | object | `{"imagePullPolicy":"IfNotPresent","imagePullSecrets":[],"repository":"ghcr.io/rstudio/rstudio-connect","tag":"","tagPrefix":"ubuntu2204-"}` | Defines the Posit Connect image to deploy | | image.imagePullPolicy | string | `"IfNotPresent"` | The imagePullPolicy for the main pod image | | image.imagePullSecrets | list | `[]` | an array of kubernetes secrets for pulling the main pod image from private registries | | image.repository | string | `"ghcr.io/rstudio/rstudio-connect"` | The repository to use for the main pod image | @@ -138,7 +138,7 @@ The Helm `config` values are converted into the `rstudio-connect.gcfg` service c | initContainers | bool | `false` | The initContainer spec that will be used verbatim | | launcher.additionalRuntimeImages | list | `[]` | Optional. Additional images to append to the end of the "launcher.customRuntimeYaml" (in the "images" key). If `customRuntimeYaml` is a "map", then "additionalRuntimeImages" will only be used if it is a "list". | | launcher.customRuntimeYaml | string | `"base"` | Optional. The runtime.yaml definition of Kubernetes runtime containers. Defaults to "base", which pulls in the default runtime.yaml file. If changing this value, be careful to include the images that you have already used. If set to "pro", will pull in the "pro" versions of the default runtime images (i.e. including the pro drivers at the cost of a larger image). Starting with Connect v2023.05.0, this configuration is used to bootstrap the initial set of execution environments the first time the server starts. If any execution environments already exist in the database, these values are ignored; execution environments are not created or modified during subsequent restarts. | -| launcher.defaultInitContainer | object | `{"enabled":true,"imagePullPolicy":"","repository":"ghcr.io/rstudio/rstudio-connect-content-init","securityContext":{},"tag":"","tagPrefix":"ubuntu2204-"}` | Image definition for the default RStudio Connect Content InitContainer | +| launcher.defaultInitContainer | object | `{"enabled":true,"imagePullPolicy":"","repository":"ghcr.io/rstudio/rstudio-connect-content-init","securityContext":{},"tag":"","tagPrefix":"ubuntu2204-"}` | Image definition for the default Posit Connect Content InitContainer | | launcher.defaultInitContainer.enabled | bool | `true` | Whether to enable the defaultInitContainer. If disabled, you must ensure that the session components are available another way. | | launcher.defaultInitContainer.imagePullPolicy | string | `""` | The imagePullPolicy for the default initContainer | | launcher.defaultInitContainer.repository | string | `"ghcr.io/rstudio/rstudio-connect-content-init"` | The repository to use for the Content InitContainer image | @@ -216,7 +216,7 @@ The Helm `config` values are converted into the `rstudio-connect.gcfg` service c | strategy | object | `{"rollingUpdate":{"maxSurge":"100%","maxUnavailable":0},"type":"RollingUpdate"}` | Defines the update strategy for a deployment | | tolerations | list | `[]` | An array used verbatim as the pod's "tolerations" definition | | topologySpreadConstraints | list | `[]` | An array used verbatim as the pod's "topologySpreadConstraints" definition | -| versionOverride | string | `""` | A Connect version to override the "tag" for the RStudio Connect image and the Content Init image. Necessary until https://github.com/helm/helm/issues/8194 | +| versionOverride | string | `""` | A Connect version to override the "tag" for the Posit Connect image and the Content Init image. Necessary until https://github.com/helm/helm/issues/8194 | ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) diff --git a/charts/rstudio-launcher-rbac/README.md b/charts/rstudio-launcher-rbac/README.md index c09f746d..bcfab7bd 100644 --- a/charts/rstudio-launcher-rbac/README.md +++ b/charts/rstudio-launcher-rbac/README.md @@ -2,7 +2,7 @@ ![Version: 0.2.18](https://img.shields.io/badge/Version-0.2.18-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.2.18](https://img.shields.io/badge/AppVersion-0.2.18-informational?style=flat-square) -#### _RBAC definition for the RStudio Job Launcher_ +#### _RBAC definition for the Posit Job Launcher_ ## For Production @@ -35,7 +35,7 @@ helm search repo rstudio/rstudio-launcher-rbac -l > NOTE: this chart is intended primarily for use by individuals who _do not_ > want to use our other Helm charts. This chart ONLY deploys RBAC or generates RBAC yaml directly > -> It is _not needed_ if you are using other RStudio Helm charts +> It is _not needed_ if you are using other Posit Helm charts To generate RBAC yaml for use with `kubectl apply`: ``` diff --git a/charts/rstudio-library/README.md b/charts/rstudio-library/README.md index 3d41b94d..cfdc6b81 100644 --- a/charts/rstudio-library/README.md +++ b/charts/rstudio-library/README.md @@ -2,7 +2,7 @@ ![Version: 0.1.27](https://img.shields.io/badge/Version-0.1.27-informational?style=flat-square) ![Type: library](https://img.shields.io/badge/Type-library-informational?style=flat-square) ![AppVersion: 0.1.27](https://img.shields.io/badge/AppVersion-0.1.27-informational?style=flat-square) -#### _Helm library helpers for use by Official RStudio charts_ +#### _Helm library helpers for use by Official Posit charts_ ## For Production @@ -23,7 +23,7 @@ To ensure a stable production deployment, please: A ["library" chart](https://helm.sh/docs/topics/library_charts/) exists to provide helper functions for use by other helm charts. -The functions and helpers defined in the `rstudio-library` chart are utilized by the other RStudio Helm charts. +The functions and helpers defined in the `rstudio-library` chart are utilized by the other Posit Helm charts. It cannot be used directly. diff --git a/charts/rstudio-pm/README.md b/charts/rstudio-pm/README.md index 8ae10348..721e6dd5 100644 --- a/charts/rstudio-pm/README.md +++ b/charts/rstudio-pm/README.md @@ -1,10 +1,10 @@ -# RStudio Package Manager +# Posit Package Manager ![Version: 0.5.17](https://img.shields.io/badge/Version-0.5.17-informational?style=flat-square) ![AppVersion: 2023.08.4](https://img.shields.io/badge/AppVersion-2023.08.4-informational?style=flat-square) -#### _Official Helm chart for RStudio Package Manager_ +#### _Official Helm chart for Posit Package Manager_ -IT Administrators use [RStudio Package Manager](https://www.rstudio.com/products/package-manager/) to control and manage +IT Administrators use [Posit Package Manager](https://posit.co/products/enterprise/package-manager/) to control and manage R and Python packages that Data Scientists need to create and share data products. ## For Production @@ -91,7 +91,7 @@ Set a license server directly in your values file (`license.server`) or during ` ## S3 Configuration Package Manager [can be configured to store its data in S3 -buckets](https://docs.rstudio.com/rspm/admin/files-directories/#data-destinations), +buckets](https://docs.posit.co/rspm/admin/file-storage/file-storage/#data-destinations), which eliminates the need to provision shared storage for multiple replicas. A `values.yaml` file using S3 might contain something like the following: @@ -197,7 +197,7 @@ The Helm `config` values are converted into the `rstudio-pm.gcfg` service config | replicas | int | `1` | replicas is the number of replica pods to maintain for this service | | resources | object | `{"limits":{"cpu":"2000m","enabled":false,"ephemeralStorage":"200Mi","memory":"4Gi"},"requests":{"cpu":"100m","enabled":false,"ephemeralStorage":"100Mi","memory":"2Gi"}}` | resources define requests and limits for the rstudio-pm pod | | rootCheckIsFatal | bool | `true` | Whether the check for root accounts in the config file is fatal. This is meant to simplify migration to the new helm chart version. | -| rstudioPMKey | bool | `false` | rstudioPMKey is the rstudio-pm key used for the RStudio Package Manager service | +| rstudioPMKey | bool | `false` | rstudioPMKey is the rstudio-pm key used for the Posit Package Manager service | | service.annotations | object | `{}` | Annotations for the service, for example to specify [an internal load balancer](https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer) | | service.clusterIP | string | `""` | The cluster-internal IP to use with `service.type` ClusterIP | | service.loadBalancerIP | string | `""` | The external IP to use with `service.type` LoadBalancer, when supported by the cloud provider | @@ -226,7 +226,7 @@ The Helm `config` values are converted into the `rstudio-pm.gcfg` service config | strategy | object | `{"rollingUpdate":{"maxSurge":"100%","maxUnavailable":0},"type":"RollingUpdate"}` | The update strategy used by the main service pod. | | tolerations | list | `[]` | An array used verbatim as the pod's "tolerations" definition | | topologySpreadConstraints | list | `[]` | An array used verbatim as the pod's "topologySpreadConstraints" definition | -| versionOverride | string | `""` | A Package Manager version to override the "tag" for the RStudio Package Manager image. Necessary until https://github.com/helm/helm/issues/8194 | +| versionOverride | string | `""` | A Package Manager version to override the "tag" for the Posit Package Manager image. Necessary until https://github.com/helm/helm/issues/8194 | ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) diff --git a/charts/rstudio-workbench/README.md b/charts/rstudio-workbench/README.md index 6f2a502a..4ac8bc24 100644 --- a/charts/rstudio-workbench/README.md +++ b/charts/rstudio-workbench/README.md @@ -1,10 +1,10 @@ -# RStudio Workbench +# Posit Workbench ![Version: 0.6.11](https://img.shields.io/badge/Version-0.6.11-informational?style=flat-square) ![AppVersion: 2023.09.1](https://img.shields.io/badge/AppVersion-2023.09.1-informational?style=flat-square) -#### _Official Helm chart for RStudio Workbench_ +#### _Official Helm chart for Posit Workbench_ -Data Scientists use [RStudio Workbench](https://www.rstudio.com/products/workbench/) to analyze data and create data +Data Scientists use [Posit Workbench](https://posit.co/products/enterprise/workbench/) to analyze data and create data products using R and Python. ## IMPORTANT @@ -83,7 +83,7 @@ In addition to the above required configuration, we recommend setting the follow * Set the `launcherPem` value to ensure that it stays the same between releases. This will ensure that users can continue to properly connect to older sessions even after a redeployment of the chart. See the - [RSW Admin Guide](https://docs.rstudio.com/ide/server-pro/job-launcher.html#authentication) for details on generating the file. + [Posit Workbench Admin Guide](https://docs.posit.co/ide/server-pro/job_launcher/job_launcher.html) for details on generating the file. * Set the `global.secureCookieKey` so that user authentication continues to work between deployments. A valid value can be obtained by simply running the `uuid` command. * Some use-cases may require special PAM profiles to run. By default, no PAM profiles other than the basic `auth` profile will be used to authenticate users. @@ -125,18 +125,18 @@ Set a license server directly in your values file (`license.server`) or during ` ## General Principles - In most places, we opt to pass Helm values directly into ConfigMaps. We automatically translate these into the - valid `.ini` or `.dcf` file formats required by RStudio Workbench. Those config files and their mount locations are + valid `.ini` or `.dcf` file formats required by Posit Workbench. Those config files and their mount locations are below. -- If you need to modify the jobs launched by RStudio Workbench, you want to use `job-json-overrides`. There is a section on this below +- If you need to modify the jobs launched by Posit Workbench, you want to use `job-json-overrides`. There is a section on this below and [a support article](https://support.rstudio.com/hc/en-us/articles/360051652094-Using-Job-Json-Overrides-with-RStudio-Server-Pro-and-Kubernetes) on the topic in general. -- The prestart scripts for RStudio Workbench and RStudio Launcher are highly customized to: - - Get the service account information off of the RStudio Workbench pod for use in launching jobs +- The prestart scripts for Posit Workbench and Posit Launcher are highly customized to: + - Get the service account information off of the Posit Workbench pod for use in launching jobs - Generate `launcher.pub` as needed (if `launcher.pem` is provided). If it is not provided, the Helm chart will generate it automatically but this information can be lost if deleting the chart or moving to a new cluster. This can cause users to be locked out sessions started by a previous deployment. -- RStudio Workbench does not export prometheus metrics on its own. Instead, we run a sidecar graphite exporter - [as described here](https://support.rstudio.com/hc/en-us/articles/360044800273-Monitoring-RStudio-Team-Using-Prometheus-and-Graphite) +- Posit Workbench does not export prometheus metrics on its own. Instead, we run a sidecar graphite exporter + [as described here](https://support.rstudio.com/hc/en-us/articles/360044800273-Monitoring-RStudio-Team-Using-Prometheus-and-Graphite). ## Configuration files @@ -220,12 +220,12 @@ config: ## User Provisioning -Provisioning users in RStudio Workbench containers is challenging. Session images have users created automatically (with +Provisioning users in Posit Workbench containers is challenging. Session images have users created automatically (with consistent UIDs / GIDs), but creating users in the Workbench containers is a responsibility that falls to the administrator today. The most common way to provision users is via `sssd`. -The [latest RStudio Workbench container](https://github.com/rstudio/rstudio-docker-products/tree/main/workbench#user-provisioning) +The [latest Posit Workbench container](https://github.com/rstudio/rstudio-docker-products/tree/main/workbench#user-provisioning) has `sssd` included and running by default (see `userProvisioning` configuration files above). The other way that this can be managed is via a lightweight "startup service" (runs once at startup and then sleeps forever) @@ -234,19 +234,19 @@ However, it is important to be careful of a few points: - UID / GID consistency: linux usernames and their matching to UID/GID must be consistent across all nodes and across time. Failing this can cause security issues and access by some users to files they should not be allowed to see -- usernames cannot have `@`. The `@` sign (often used in emails with SSO) is a problem for RStudio Workbench because +- usernames cannot have `@`. The `@` sign (often used in emails with SSO) is a problem for Posit Workbench because some operating systems disallow `@` signs in linux usernames - `supervisord` is configured by default to exit if any of its child processes exit. If you use `config.startupCustom` to configure a user management service, be careful that it does not exit unnecessarily -We do not provide such a service out of the box because we intend for RStudio Workbench to solve this problem in a +We do not provide such a service out of the box because we intend for Posit Workbench to solve this problem in a future release. Please get in touch with your account representative if you have feedback or questions about this workflow. ### PAM -When starting sessions on RStudio Workbench, PAM configuration is often very important, even if PAM is not being used as -an authentication mechanism. The RStudio Workbench helm chart allows creating custom PAM files via the `config.pam` +When starting sessions on Posit Workbench, PAM configuration is often very important, even if PAM is not being used as +an authentication mechanism. The Posit Workbench helm chart allows creating custom PAM files via the `config.pam` values section. Each key under `config.pam` will become a PAM config file, and will be mounted into `/etc/pam.d/` in the container. For @@ -263,7 +263,7 @@ config: # will be used verbatim ``` -## RStudio Profiles +## Posit Profiles Profiles are used to define product behavior (in `.ini` file format) based on user and group membership. @@ -408,7 +408,7 @@ Use of [Sealed Secrets](https://github.com/bitnami-labs/sealed-secrets) disables | config.pam | object | `{}` | a map of pam config files. Will be mounted into the container directly / per file, in order to avoid overwriting system pam files | | config.profiles | object | `{}` | a map of server-scoped config files (akin to `config.server`), but with specific behavior that supports profiles. See README for more information. | | config.secret | string | `nil` | a map of secret, server-scoped config files. Mounted to `/mnt/secret-configmap/rstudio/` with 0600 permissions | -| config.server | object | [RStudio Workbench Configuration Reference](https://docs.rstudio.com/ide/server-pro/rstudio_server_configuration/rstudio_server_configuration.html). See defaults with `helm show values` | a map of server config files. Mounted to `/mnt/configmap/rstudio/` | +| config.server | object | [Posit Workbench Configuration Reference](https://docs.posit.co/ide/server-pro/reference/rserver_conf.html). See defaults with `helm show values` | a map of server config files. Mounted to `/mnt/configmap/rstudio/` | | config.serverDcf | object | `{"launcher-mounts":[]}` | a map of server-scoped config files (akin to `config.server`), but with .dcf file formatting (i.e. `launcher-mounts`, `launcher-env`, etc.) | | config.session | object | `{"notifications.conf":{},"repos.conf":{"RSPM":"https://packagemanager.rstudio.com/cran/__linux__/jammy/latest"},"rsession.conf":{},"rstudio-prefs.json":{}}` | a map of session-scoped config files. Mounted to `/mnt/session-configmap/rstudio/` on both server and session, by default. | | config.sessionSecret | object | `{}` | a map of secret, session-scoped config files (odbc.ini, etc.). Mounted to `/mnt/session-secret/` on both server and session, by default | diff --git a/docs/customize.md b/docs/customize.md index 60a591f3..c100d743 100644 --- a/docs/customize.md +++ b/docs/customize.md @@ -1,12 +1,12 @@ # Customize Kubernetes Jobs -This doc discusses customizing Kubernetes Jobs in the context of the RStudio Job Launcher. -This is relevant for both RStudio Workbench and RStudio Connect when the job launcher is enabled. +This doc discusses customizing Kubernetes Jobs in the context of the Posit Job Launcher. +This is relevant for both Posit Workbench and Posit Connect when the job launcher is enabled. ## Job Json Overrides The original mechanism for modifying kubernetes jobs using the Job Launcher is to use -[`job-json-overrides`](https://docs.rstudio.com/job-launcher/kube.html#kube-json). +[`job-json-overrides`](https://docs.posit.co/ide/server-pro/job_launcher/job_launcher.html). [There is a support article discussing the topic and examples in a legacy context here](https://support.rstudio.com/hc/en-us/articles/360051652094-Using-Job-Json-Overrides-with-RStudio-Server-Pro-and-Kubernetes) @@ -36,10 +36,10 @@ See examples below. ### Override Syntax -The `job-json-override` spec is discussed in detail [in the RStudio Launcher documentation](https://docs.rstudio.com/job-launcher/kube.html#kube-json). +The `job-json-override` spec is discussed in detail [in the Posit Launcher documentation](https://docs.posit.co/ide/server-pro/job_launcher/job_launcher.html). It uses the [JSON Pointer RFC](https://tools.ietf.org/html/rfc6901). -Some points that will be helpful to reference: +Some points that are helpful to reference: - An array suffixed with `-` will "append" to the array (i.e. `/spec/templates/spec/volumes/-` will leave pre-defined volumes intact, but add a new entry) @@ -61,7 +61,7 @@ Add a placement constraint to the session pod with key `kubernetes.io/key` and v ``` **NOTE**: it is possible to use -the [`placement-constraints` configuration](https://docs.rstudio.com/job-launcher/kube.html#kube-profiles) within the " +the [`placement-constraints` configuration](https://docs.posit.co/ide/server-pro/job_launcher/job_launcher.html) within the " Profiles" configuration. However, this modifies the Workbench UI and is not enabled by default. (It requires user input to have the profiles included)