Panfactum LogoPanfactum
Infrastructure ModulesDirect ModulesKuberneteskube_grist
kube_grist
Beta
Direct
Source Code Link

Grist

This module deploys a Grist instance to the Kubernetes cluster.

Usage

Auth

When you first set up Grist, you will set a root_email. This should be your email address as this will provide you the necessary permissions to configure the Grist instance via the Web UI.

While authentication is linked to Panfactum SSO (via Vault), permissions for each user must be manually set within Grist. In other words, a user's ability to access Grist will be gated by central Panfactum IdP, but the permissions assigned thereafter are not automatically computed as in many of the other Panfactum-managed systems.

Note that when you first install Grist, your name will be set to "Support." You can change this manually in the web UI. All other users will have their names automatically set when they first log in.

Providers

The following providers are needed by this module:

  • aws (5.80.0)

  • helm (2.12.1)

  • kubectl (2.1.3)

  • kubernetes (2.34.0)

  • pf (0.0.7)

  • random (3.6.3)

  • vault (4.5.0)

Required Inputs

The following input variables are required:

domain

Description: The domain from which Grist will serve traffic

Type: string

organization_name

Description: Name of the organization to set up in Grist.

Type: string

root_email

Description: The email address to use for the root Grist administrator. Warning: must be changed manually once applied.

Type: string

vault_domain

Description: The domain of the Vault instance running in the cluster.

Type: string

Optional Inputs

The following input variables are optional (have default values):

action_history_max_gb

Description: Maximum number of gigabytes allowed in ActionHistory before pruning.

Type: number

Default: 1

action_history_max_rows

Description: Maximum number of rows allowed in ActionHistory before pruning.

Type: number

Default: 1000

aws_iam_ip_allow_list

Description: A list of IPs that can use the service account token to authenticate with AWS API

Type: list(string)

Default: []

cdn_mode_enabled

Description: Whether to enable CDN mode for the Vault ingress

Type: bool

Default: true

db_recovery_directory

Description: The name of the directory in the backup bucket that contains the PostgreSQL backups and WAL archives

Type: string

Default: null

db_recovery_mode_enabled

Description: Whether to enable recovery mode for the PostgreSQL database

Type: bool

Default: false

db_recovery_target_time

Description: If provided, will recover the PostgreSQL database to the indicated target time in RFC 3339 format rather than to the latest data.

Type: string

Default: null

debug_logs_enabled

Description: Whether debug logs are enabled.

Type: bool

Default: false

geo_restriction_list

Description: A list of ISO 3166 country codes for the geographic restriction list (works for both whitelist and blacklist)

Type: list(string)

Default: []

geo_restriction_type

Description: What type of geographic restrictions to you want to apply to CDN clients

Type: string

Default: "none"

grist_version

Description: The version of Grist to use

Type: string

Default: "1.3.2"

hidden_ui_elements

Description: UI elements to hide. See GRIST_HIDE_UI_ELEMENTS.

Type: list(string)

Default:

[
  "billing",
  "createSite",
  "multiSite"
]

ingress_enabled

Description: Whether to enable ingress to the Grist server

Type: bool

Default: true

log_level

Description: The log level for the Grist pods

Type: string

Default: "debug"

minimum_memory_mb

Description: The memory floor for the Grist servers (in MB).

Type: number

Default: 300

monitoring_enabled

Description: Whether to add active monitoring to the deployed systems

Type: bool

Default: false

namespace

Description: Kubernetes namespace to deploy the resources into

Type: string

Default: "grist"

panfactum_scheduler_enabled

Description: Whether to use the Panfactum pod scheduler with enhanced bin-packing

Type: bool

Default: true

pull_through_cache_enabled

Description: Whether to use the ECR pull through cache for the deployed images

Type: bool

Default: true

session_max_length_hours

Description: The max length of the user session before requiring re-authentication.

Type: number

Default: 16

sla_target

Description: The Panfactum SLA level for the module deployment. 1 = lowest uptime (99.9%), lowest cost -- 3 = highest uptime (99.999%), highest Cost

Type: number

Default: 3

telemetry_enabled

Description: Whether usage data will be reported to Grist for product-improvement purposes.

Type: bool

Default: true

vpa_enabled

Description: Whether the VPA resources should be enabled

Type: bool

Default: true

Outputs

The following outputs are exported:

db_admin_role

Description: n/a

db_reader_role

Description: n/a

db_recovery_directory

Description: The name of the directory in the backup bucket that contains the PostgreSQL backups and WAL archives

db_superuser_role

Description: n/a

domain

Description: n/a

namespace

Description: The name of the namespace where NocoDB will be deployed.

redis_admin_role

Description: n/a

redis_reader_role

Description: n/a

redis_superuser_role

Description: n/a

root_email

Description: The email for the superuser user.

Usage

No notes