primary_rmd
Default document for R Markdown deployments.
Type: string
As part of the publishing process, rsconnect
and rsconnect-python
inspect your project environment and capture the information Connect needs to reconstruct it in a file called manifest.json
. You can also generate manifest.json
files by calling rsconnect::writeManifest()
or rsconnect write manifest
for use with git-backed deployment or for debugging.
manifest.json
schemaversion
The manifest schema version.
Type: integer
Allowed values: 1
locale
The locale of the client.
Type: string
platform
The client version of R, e.g., 4.4.2
.
Type: string
metadata
Properties of the deployment.
appmode
Application framework.
Type: string
Allowed values:
content_category
Additional details for select app modes.
Type: string
Allowed values:
plot
site
pin
primary_rmd
Default document for R Markdown deployments.
Type: string
primary_html
Default document for static deployments.
Type: string
has_parameters
Allow R Markdown document parameter customization. Other types of R Markdown documents (Shiny, sites) may include a parameter definition in their YAML front matter, but customization of their parameters is not supported by Connect.
Type: boolean
entrypoint
The file that should treated as the content root.
For some Python frameworks, you can supply an optional module parameter. See understanding entrypoints for more details.
Type: string
python
Information about the client-side Python version and package manager details.
version
The client version of Python.
Type: string
package_manager
The package manager used by the client.
name
The name of the package manager in use.
Type: string
Allowed values: pip
version
The package manager version.
Type: string
package_file
The name of the file enumerating package dependencies.
Type: string
allow_uv
Permit the server to use uv
to reconstruct the package environment.
Type: boolean
jupyter
Information about NBConvert options during notebook rendering.
hide_all_input
Direct NBConvert to hide code cells when rendering the output.
Type: boolean
hide_tagged_input
Direct NBConvert to hide the input of cells tagged with “hide_input”.
Type: boolean
quarto
Information about the client-side quarto version and engine.
version
The client Quarto version.
Type: string
engines
A list of of rendering engines
Type: string[]
Allowed values: ["knitr", "jupyter", "markdown"]
packages
An object where each key is an R package name and each value contains package metadata including source repository information and the package DESCRIPTION.
Type: object
environment
Information about the execution environment.
identifier
A GUID for a valid execution environment to use during build/execution.
Type: string
image
The name of an image to use during content build/execution, such as registry.example.com/sample/connect-content:latest
.
Type: string
python
Python runtime settings.
requires
A PEP 440-style version string specifying Python version the server can match to execute the content.
Type: string
quarto
Quarto runtime settings.
requires
A PEP 440-style version string specifying Python version the server can match to execute the content.
Type: string
r
R runtime settings.
requires
A PEP 440-style version string specifying R version the server can match to execute the content.
Type: string
environment_management
Settings that determine whether Connect is responsible for environment reconstruction.
python
Whether Connect should perform a Python environment restore.
Connect will ignore the value in the manifest if Applications.ManifestEnvironmentManagementSelection
is false
. If no value is provided, Connect’s behavior is controlled by Python.EnvironmentManagement
.
Type: boolean
r
Whether Connect should perform an R environment restore.
Connect will ignore the value in the manifest if Applications.ManifestEnvironmentManagementSelection
is false
.
If no value is provided, Connect’s behavior is controlled by R.EnvironmentManagement
.
Type: boolean
sticky_worker_cookie
Restore Connect behavior of appending worker IDs to Streamlit application paths.
Type: boolean
Default: false
extension
Metadata for applications for the Connect Gallery.
name
The extension name.
Type: string
title
The extension title.
Type: string
description
A brief description of what the extenion does.
Type: string
homepage
A link to a page with more details about the extension.
Type: string
category
Metadata for categorizing the extension in the Gallery UI.
Type: string
tags
Metadata for categorizing the extension in the Gallery UI.
Type: string
minimumConnectVersion
The minimum Connect version required for the extension. Versions of Connect before 2025.04.0
do not have Gallery support.
Type: string
version
A version for the extension.
Type: string
files
An object where each key is a filename and each value contains metadata about that file, such as the MD5 checksum.
Type: object
users
Set by some clients for compatibility with older Connect servers.
Default: null
Allowed values: null
integration_requests
Array of OAuth integration descriptors to automatically match to existing integrations on the server and associate them with content upon deployment.
Connect processes these OAuth integration requests during content deployment. The specified integrations are matched to integrations available on the Connect server. If a matching integration is found, it will be used for the deployment. If no matching integration is found, the deployment fails with an error message indicating that the integration request could not be satisfied.
These fields can be used within an integration request to reference the desired OAuth integration:
Field | Description | Matching Type | Example |
---|---|---|---|
name |
String identifier for the integration | regex match | "my-integration" |
description |
Description of the integration | regex match | "My Azure Integration" |
type |
Integration type | exact match | "azure" |
guid |
Unique identifier for the integration | exact match | "123e4567-e89b-12d3-a456-426614174000" |
auth_type |
Authentication type | exact match | "Viewer" |
config |
Configuration settings for the integration | key-value match | "{"auth_mode": "Confidential"}" |
A “regex match” means that the specified value is treated as a regular expression pattern matched against the corresponding field. For example, if you specify "name": "Azure - "
, it will match any integration with a name that contains "Azure - "
, such as "Azure - prod"
, "Azure - dev"
, etc. This provides flexibility when targeting integrations across different environments where exact names might differ but follow a consistent pattern.
Possible values for type
include:
azure
azure-openai
sharepoint
msgraph
bigquery
drive
sheets
vertex-ai
databricks
github
salesforce
snowflake
connect
aws
custom
Possible values for auth_type
include:
Viewer
Service Account
Visitor API Key
An integration request can contain any combination of the fields listed above, and the correct combination will vary by situation.
If the content will only ever be deployed to a single server, the easiest way to make sure the correct OAuth integration gets automatically associated is by listing the OAuth integration guid
in the integration request:
A Connect administrator can locate the guid
for an OAuth integration by navigating to System > Integrations within Connect and then clicking on the desired integration. The guid
is listed directly beneath the integration name in the resulting popup.
Because the name
field uses a regex match type, you might get unexpected results when trying to match an exact integration by name. To get an exact match on the integration name, use the following regex syntax:
Specifying multiple fields provides more precise targeting of integrations, especially when you need to distinguish between integrations that might have similar names but different configurations.
{
// ...
"integration_requests": [
{
"name": "custom-integration",
"auth_type": "Viewer",
"config": {
"auth_mode": "Confidential"
}
}
]
// ...
}
In this example, only an integration that matches all three criteria will be associated with the content.
You can list multiple integration requests in the manifest, and they all will be associated with the content upon deployment.
To use integration requests, you need to use a deployment method that respects an existing manifest.json
file. The recommended approach is to use rsconnect deploy manifest
. See the rsconnect-python
docs for more information on this deployment method.
Notes:
rsconnect-python
version 1.27.0+ is requiredrsconnect
does not currently contain a deployment method that uses an existing manifest.json file.Other WSGI-compliant application frameworks may be served via this app mode.↩︎
Other ASGI-compliant application frameworks may be served via this app mode. See other ASGI frameworks for more information.↩︎