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 schemaversionThe manifest schema version.
Type: integer
Allowed values: 1
localeThe locale of the client.
Type: string
platformThe client version of R, e.g., 4.4.2.
Type: string
metadataProperties of the deployment.
appmodeApplication framework.
Type: string
Allowed values:
content_categoryAdditional details for select app modes.
Type: string
Allowed values:
plotsitepinprimary_rmdDefault document for R Markdown deployments.
Type: string
primary_htmlDefault document for static deployments.
Type: string
has_parametersAllow 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
entrypointThe 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
pythonInformation about the client-side Python version and package manager details.
versionThe client version of Python.
Type: string
package_managerThe package manager used by the client.
nameThe name of the package manager in use.
Type: string
Allowed values: pip
versionThe package manager version.
Type: string
package_fileThe name of the file enumerating package dependencies.
Type: string
allow_uvPermit the server to use uv to reconstruct the package environment.
Type: boolean
jupyterInformation about NBConvert options during notebook rendering.
hide_all_inputDirect NBConvert to hide code cells when rendering the output.
Type: boolean
hide_tagged_inputDirect NBConvert to hide the input of cells tagged with “hide_input”.
Type: boolean
quartoInformation about the client-side quarto version and engine.
versionThe client Quarto version.
Type: string
enginesA list of of rendering engines
Type: string[]
Allowed values: ["knitr", "jupyter", "markdown"]
packagesAn 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
environmentInformation about the execution environment.
identifierA GUID for a valid execution environment to use during build/execution.
Type: string
imageThe name of an image to use during content build/execution, such as registry.example.com/sample/connect-content:latest.
Type: string
pythonPython runtime settings.
requiresA PEP 440-style version string specifying Python version the server can match to execute the content.
Type: string
quartoQuarto runtime settings.
requiresA PEP 440-style version string specifying Python version the server can match to execute the content.
Type: string
rR runtime settings.
requiresA PEP 440-style version string specifying R version the server can match to execute the content.
Type: string
environment_managementSettings that determine whether Connect is responsible for environment reconstruction.
pythonWhether 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
rWhether 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_cookieRestore Connect behavior of appending worker IDs to Streamlit application paths.
Type: boolean
Default: false
extensionMetadata for applications for the Connect Gallery.
nameThe extension name.
Type: string
titleThe extension title.
Type: string
descriptionA brief description of what the extenion does.
Type: string
homepageA link to a page with more details about the extension.
Type: string
categoryMetadata for categorizing the extension in the Gallery UI.
Type: string
tagsMetadata for categorizing the extension in the Gallery UI.
Type: string
minimumConnectVersionThe minimum Connect version required for the extension. Versions of Connect before 2025.04.0 do not have Gallery support.
Type: string
versionA version for the extension.
Type: string
filesAn object where each key is a filename and each value contains metadata about that file, such as the MD5 checksum.
Type: object
usersSet by some clients for compatibility with older Connect servers.
Default: null
Allowed values: null
integration_requestsArray 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:
azureazure-openaisharepointmsgraphbigquerydrivesheetsvertex-aidatabricksgithubsalesforcesnowflakeconnectawscustomPossible values for auth_type include:
ViewerService AccountVisitor API KeyAn 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.↩︎