Posit Connect server configuration

All values under the config key are merged to create the final rstudio-connect.gcfg configuration file that is used by Posit Connect. The keys and values are included as-is in the final config. For example, if your values.yaml contains:

values.yaml
config:
  Abc:
    xyz: "This is a config value"
  MultiExample:
    Color:
      - "black"
      - "blue"
  'NamedSection "Alpha"':
    Url: http://example.org
  'Section With Spaces':
    Enabled: "Always true"

Then your resulting rstudio-connect.gcfg will include:

/etc/rstudio-connect/rstudio-connect.gcfg
[Abc]
xyz = "This is a config value"

[MultiExample]
Color = "black"
Color = "blue"

[Named Section "Alpha"]
Url = http://example.org

[Section With Spaces]
Enabled = "Always true"

As a more practical example, given the following YAML configuration:

values.yaml
config:
  HTTPS:
    MinimumTLS: "1.2"
  Logging:
    ServiceLog: STDOUT
    ContentLog: SERVICE

Helm produces a GCFG configuration like this:

/etc/rstudio-connect/rstudio-connect.gcfg
[HTTPS]
MinimumTLS = "1.2"

[Logging]
ServiceLog = STDOUT
ContentLog = SERVICE

Dealing with special characters

String values which contain special characters can require further attention. For example, values containing ; or # can be interpreted as comments in your resulting rstudio-connect.gcfg configuration. This is most likely to affect chart values nested under config.*, but the problem is not exclusive to these values.

Here are some examples of special cases:

Note

Each of these examples wraps the value in single-quotes in order to preserve the double-quotes in the final configuration

values.yaml
config:
  SpecialCharacters:
    Property1: '"simple"'
    Property2: '"a string with spaces"'
    Property3: '"escape \"quotes\" in a string like this"'
    Property4: '"A string containing # and ;"'

The your resulting rstudio-connect.gcfg will include:

/etc/rstudio-connect/rstudio-connect.gcfg
[SpecialCharacters]
Property1 = "simple"
Property2 = "a string with spaces"
Property3 = "escape \"quotes\" in a string like this"
Property4 = "A string containing # and ;"

Installing an alternate version of Posit Connect

By default, the Helm chart’s appVersion specifies the version of Posit Connect that is used for your installation.

This value can be modified by setting the following in your values.yaml:

values.yaml
versionOverride: "connect-version-override"

Setting resource requirements for Connect

The minimum recommended system requirements when running Posit Connect in production can be specified using the resources.requests configuration key of the Helm chart. To specify a maximum resource limit, use the resources.limits configuration instead.

Note

The configurations below apply only to the Posit Connect server container. Connect supports resource requests/limits on a per-content basis. See the section on Runtime/Scheduler configuration for more information.

Note

Pods that exceed the resource allocations defined by resources.limits can be evicted by Kubernetes.

values.yaml
resources:
  requests:
    enabled: true
    memory: "8G"
    cpu: "4"