| http_config | R Documentation |
Generates a remote configuration for launching daemons via HTTP API, as may be used by Kubernetes or other such platforms. By default, automatically configures for Posit Workbench using environment variables.
http_config(
url = posit_workbench_url,
method = "POST",
headers = posit_workbench_headers,
data = posit_workbench_data,
...,
cookie = NULL,
token = NULL
)
url |
(character or function) URL endpoint for the launch API. May be a function returning the URL value. |
method |
(character) HTTP method, typically |
headers |
(named character vector or function) HTTP headers sent with the request, supplying any required authentication (e.g. session cookie, bearer token, API key) as well as other API metadata. May be a function returning a named character vector. |
data |
(character or function) JSON or formatted request body containing
the daemon launch command. May be a function returning the data value.
Should include a placeholder |
... |
additional arguments passed to |
cookie |
(character or function) convenience argument that, if non-NULL,
appends a |
token |
(character or function) convenience argument that, if non-NULL,
appends an |
Arguments accepting either a value or a function (url, headers, data,
cookie, token) may be supplied as a function to defer evaluation: a
plain value is captured when the configuration is created, whereas a
function is evaluated at the time each daemon is launched. This is the
recommended way to supply credentials such as session cookies or API
tokens, as the same configuration object may be stored and reused (for
example to scale up later in a session), with a fresh credential fetched
at each launch.
At launch time, the "%s" placeholder in data is replaced by a
mirai::daemon() call, e.g. mirai::daemon("tcp://10.0.0.7:34291") (when
using TLS, the certificate is also inlined in the call). The receiving
platform only has to run this expression using Rscript -e to start a
daemon, which then dials back to the host.
A list in the required format to be supplied to the remote argument
of daemons() or launch_remote().
The default values of url, headers and data configure the launch
automatically on Posit Workbench. The following arguments may additionally be
supplied via ... to customise the launched job:
rscript (character) Rscript executable path. Default "Rscript".
job_name (character) base name for launched jobs. Default
"mirai_daemon".
cluster (character) name of the cluster to use. Default uses the first
available cluster.
resource_profile (character) named resource profile (e.g. "rstudio").
Default uses the first profile available on the chosen cluster.
cpus (integer) number of CPUs for custom resource allocation. Specify
together with or instead of memory to override resource_profile.
memory (integer) memory in MB for custom resource allocation. Specify
together with or instead of cpus to override resource_profile.
ssh_config(), cluster_config() and remote_config() for other
types of remote configuration.
tryCatch(http_config(), error = identity)
# Custom HTTP configuration example:
http_config(
url = "https://api.example.com/launch",
method = "POST",
headers = function() c(
Authorization = sprintf("Bearer %s", Sys.getenv("MY_API_KEY")),
`X-API-Version` = "2"
),
data = '{"command": "%s"}'
)
## Not run:
# Launch 2 daemons using http config default (for Posit Workbench):
daemons(n = 2, url = host_url(), remote = http_config())
# Customise the default Posit Workbench launch (named cluster and profile):
daemons(
n = 2,
url = host_url(),
remote = http_config(cluster = "Kubernetes", resource_profile = "rstudio")
)
# Or specify custom resources (4 CPUs, 8 GB memory):
daemons(
n = 2,
url = host_url(),
remote = http_config(cluster = "Kubernetes", cpus = 4, memory = 8192)
)
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.