Open SamEdwardes opened 1 year ago
I see this is in the config hard coded, does this need to be updated along with the actual version installed into /opt/R
?
https://github.com/rstudio/rstudio-docker-products/blob/dev/package-manager/rstudio-pm.gcfg#L14
The actual version installed into /opt/R is 4.2.0. So I think we should:
Heads up @tylfin and @rodrigobrim if you have any thoughts on this
Hi, @SamEdwardes.
Can you try setting the R version on your Helm values.yaml?
config:
Server:
RVersion: /opt/R/4.2.0
Yes, I can confirm it works if you override the default with:
config:
Server:
RVersion: /opt/R/4.2.0
But the default config in the Dockerfile points to an old version of R:
$ docker run -it --rm rstudio/rstudio-package-manager:jammy-2022.11.4 /bin/sh
$ cat /etc/rstudio-pm/rstudio-pm.gcfg
; RStudio Package Manager configuration file
[Server]
; Address is a public URL for this RStudio Package Manager server. Must be configured
; to enable features like including links to your content in emails. If
; Package Manager is deployed behind an HTTP proxy, this should be the URL for Package Manager
; in terms of that proxy.
;
; Address = https://rstudio-pm.company.com
Address =
;
; Git sources require a configured R installation. R is often installed at `/usr/lib/R`
; or `/usr/lib64/R`.
RVersion = /opt/R/3.6.2/
;
; Customize the data directory if necessary. This is where all packages and metadata are
; stored by default. Refer to Admin Guide for details.
;DataDir = /mnt/rspm/data
;
; Use a consistent location for the Launcher directory. The default location
; is based on the hostname, and the hostname may be different in each container.
; When customizing the data directory, this should be set to {DataDir}/launcher_internal
LauncherDir = /var/lib/rstudio-pm/launcher_internal
[HTTP]
; RStudio Package Manager will listen on this network address for HTTP connections.
Listen = :4242
[HTTPS]
; Path to a TLS certificate file. If the certificate is signed by a certificate authority, the
; certificate file should be the concatenation of the server's certificate followed by the CA's
; certificate. Must be paired with `HTTPS.Key`.
;Certificate = ""
;
; Path to a private key file corresponding to the certificate specified with `HTTPS.Certificate`.
; Required when `HTTPS.Certificate` is specified.
;Key = ""
[CRAN]
; Customize the default schedule for CRAN sync.
;SyncSchedule = "0 0 * * *"
[Bioconductor]
; Customize the default schedule for Bioconductor syncs.
;SyncSchedule = "0 2 * * *"
[PyPI]
; Customize the default schedule for PyPI syncs.
;SyncSchedule = "0 1 * * *"
; Configure Git if you are intending to build and share packages stored in Git repositories.
[Git]
; The amount of time to wait between polling git repos to look for package changes.
;PollInterval = 5m
;
; The maximum number of times to attempt building a git package when the build fails.
;BuildRetries = 3
AllowUnsandboxedGitBuilds = true
Docker image fixes have been implemented. Just need helm chart released in https://github.com/rstudio/helm/pull/402
Any updates on including this in the Helm chart? thank you!
@tylfin @shepherdjerred Now that PPM has autodetection of R/Python, should our Helm charts default to relying on that, rather than hard-coding paths as the default, to make them more reliable/future-proof?
That would make sense, Joe. We can remove the Server.RVersion
in our values.yaml
file. This will cause the property to be unset, which will default to auto-detection.
The Docker image has R installed, so it would be successfully detected. We already take the auto-detection approach for the vanilla Docker image.
I made a PR to the helm chart that will by default, have PPM use the R and Python auto-detection (https://github.com/rstudio/helm/pull/474).
However, we should also make changes to this repo. The two PPM config files:
Should be updated to use these settings:
[Server]
# An empty string will configure Package Manager to autodetect Python
PythonVersion =
# An empty string will configure Package Manager to autodetect R
RVersion =
Background
When using the Helm charts I was having trouble with Package Manager. After doing some research:
Reprex