Checks your compute environment status.
If you need to know about your R session, you use sessionInfo()
. But what if you need information on your external environment? Things like whether files or directories that you expect exist, or that specific environment variables are set. The envstat
package provides a way to report on your external compute environment, or environment status, outside of R.
Using a simple YAML configuration file, envstat
can report on the availability of the following:
In today’s multi-location working environments, users need to know that the things they require to get their work done are available.
Imagine if you often work from home as well as the office and need a VPN to in order to use RStudio Connect and Package Manager. The envstat
package can tell you whether you have access to the things you need to be productive.
Maybe it’s a shared directory, or an environment variable. envstat
can help by providing a simple, single-function report that tells you what you need to know.
Install from CRAN with:
install.packages("envstat")
You can install the development version of envstat like so:
remotes::install_github("sellorm/envstat")
Once installed you can use envstat::sitrep()
to produce a pretty situation report:
── envstat situation report ───────────────────────────────────────────
── Checking files ──
✓ Found file: ~/tmp/delete_me
── Checking directories ──
✓ Found directory: ~/tmp
── Checking environment variables ──
✓ Env var set: CONNECT_API_KEY
── Checking RStudio Package Manager instances ──
✓ RSPM instance available: https://rstudio.example.com/rspm
── Checking RStudio Connect instances ──
✓ RSConnect instance available: https://rstudio.example.com/rsc
✓ RSConnect instance available: https://connect.megacorp.com
── Checking configured repos are available ──
✓ CRAN repo availabe: https://cran.rstudio.com/
── Final result ──
✓ All checks passed!
The config file needs to live in the root of your home directory and should be called .envstat
.
Here is an example that covers all of the currently supported options;
You can create a example config file in the correct location with envstat::use_envstat()
. Naturally, this example config file will result in errors if you run sitrep()
with it as-is, but it’s a good example of what’s possible.
In the RStudio IDE, you can edit your envstat config file with envstat::edit_envstat()
.
Feel free to omit any sections you don’t need.
file_exists:
- /path/to/myfile
- /path/to/a/different/file
dir_exists:
- /path/to/mydir
repos_available: TRUE
RSPM:
- https://rstudio.example.com/rspm
RSConnect:
- https://rstudio.example.com/rsc
- https://connect.megacorp.com
env_vars:
- CONNECT_API_KEY
- http_proxy
Takes a list of file paths.
Tests whether the specified file exists. This can be useful for checking that you have access to a specific filesystem (for example a Windows share) by checking for a specific file on it. Alternatively, you could use it to check for a specific config file that you use regularly.
Boolean (true/false)
If this option is set to true
, envstat will loop through all of the repositories you have configured in options("repos")
and check if they’re available.
List of RStudio Package Manager URLs. Use the base URL of the Package Manager instance
Checks to see if we can connect to the specified RSPM instances.
List of RStudio Connect URLs. Use the base URL of the Connect instance.
Checks to see if we can connect to the specified Connect instances.
List of environment variables to check.
Use this section to list any environment variables that you need to have set. When run, envstat::sitrep()
will check if the environment variables are set and let you know if they’re not.