Inputs
The following input variables are supported:
arm_nodes_enabled
Description: Whether the database pods can be scheduled on arm64 nodes
Type: bool
Default: true
burstable_nodes_enabled
Description: Whether the database pods can be scheduled on burstable nodes
Type: bool
Default: true
cert_manager_namespace
Description: The namespace where cert-manager is deployed.
Type: string
Default: "cert-manager"
controller_nodes_enabled
Description: Whether to allow pods to schedule on EKS Node Group nodes (controller nodes)
Type: bool
Default: false
duplicate_window_seconds
Description: The window of time in seconds to consider for duplicate message detection.
Type: number
Default: 120
fsync_interval_seconds
Description: Interval in seconds at which data will be synced to disk on each node. Setting this to 0 will force an fsync after each message (which will lower overall throughput dramatically).
Type: number
Default: 10
helm_version
Description: The version of the bitnamilegacy/nats helm chart to use
Type: string
Default: "8.5.1"
instance_type_anti_affinity_required
Description: Whether to enable anti-affinity to prevent pods from being scheduled on the same instance type. Defaults to true iff sla_target >= 2.
Type: bool
Default: null
log_level
Description: The log level for the NATS pods. Must be one of: info, debug, trace
Type: string
Default: "info"
max_age_hours
Description: The maximum age of a message in the stream in hours. -1 for unlimited.
Type: number
Default: -1
max_connections
Description: The maximum number of client connections to the NATS cluster
Type: number
Default: 64000
max_control_line_kb
Description: The maximum length of a protocol line including combined length of subject and queue group (in KB).
Type: number
Default: 4
max_messages
Description: The maximum number of messages in the stream. -1 for unlimited.
Type: number
Default: -1
max_outstanding_catchup_mb
Description: The maximum in-flight bytes for stream catch-up.
Type: number
Default: 128
max_payload_mb
Description: The maximum size of a message payload (in MB).
Type: number
Default: 8
max_size_mb
Description: The maximum size of the stream in MB. -1 for unlimited.
Type: number
Default: -1
minimum_memory_mb
Description: The minimum memory in MB to use for the NATS nodes
Type: number
Default: 100
monitoring_enabled
Description: Whether to allow monitoring CRs to be deployed in the namespace
Type: bool
Default: false
namespace
Description: The namespace to deploy the EventBus into.
Type: string
Default: n/a
panfactum_scheduler_enabled
Description: Whether to use the Panfactum pod scheduler with enhanced bin-packing
Type: bool
Default: true
persistence_backups_enabled
Description: Whether to enable backups of the NATS durable storage.
Type: bool
Default: true
persistence_initial_storage_gb
Description: How many GB to initially allocate for persistent storage (will grow automatically as needed). Can only be set on cluster creation.
Type: number
Default: 1
persistence_storage_class_name
Description: The StorageClass to use for the PVs used to store filesystem data. Can only be set on cluster creation.
Type: string
Default: "ebs-standard-retained"
persistence_storage_increase_gb
Description: The amount of GB to increase storage by if free space drops below the threshold
Type: number
Default: 1
persistence_storage_increase_threshold_percent
Description: Dropping below this percent of free storage will trigger an automatic increase in storage size
Type: number
Default: 20
persistence_storage_limit_gb
Description: The maximum number of gigabytes of storage to provision for each NATS node
Type: number
Default: null
ping_interval_seconds
Description: Interval in seconds at which pings are sent to clients, leaf nodes, and routes.
Type: number
Default: 20
pull_through_cache_enabled
Description: Whether to use the ECR pull through cache for the deployed images
Type: bool
Default: false
spot_nodes_enabled
Description: Whether the database pods can be scheduled on spot nodes
Type: bool
Default: true
vault_credential_lifetime_hours
Description: The lifetime of database credentials generated by Vault
Type: number
Default: 16
vault_internal_pki_backend_mount_path
Description: The mount path of the PKI backend for internal certificates.
Type: string
Default: "pki/internal"
vault_internal_url
Description: The internal URL of the Vault cluster.
Type: string
Default: "http://vault-active.vault.svc.cluster.local:8200"
voluntary_disruption_window_cron_schedule
Description: The times when disruption windows should start
Type: string
Default: "0 4 * * *"
voluntary_disruption_window_enabled
Description: Whether to confine voluntary disruptions of pods in this module to specific time windows
Type: bool
Default: false
voluntary_disruption_window_seconds
Description: The length of the disruption window in seconds
Type: number
Default: 3600
voluntary_disruptions_enabled
Description: Whether to enable voluntary disruptions of pods in this module.
Type: bool
Default: true
vpa_enabled
Description: Whether the VPA resources should be enabled
Type: bool
Default: true
write_deadline_seconds
Description: The maximum number of seconds the server will block when writing messages to consumers.
Type: number
Default: 55
Outputs
No outputs.
Providers
The following providers are needed by this module:
kubectl (2.1.6)
kubernetes (2.35.0)
pf (0.0.7)
random (3.8.1)