Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Configuration Reference: orchestration

91/91 parameters documented


orchestration

Root-level orchestration parameters

Path: orchestration

ParameterTypeDefaultDescription
enable_performance_loggingbooltrueEnable detailed performance logging for orchestration actors
shutdown_timeout_msu6430000Maximum time in milliseconds to wait for orchestration subsystems to stop during graceful shutdown

orchestration.enable_performance_logging

Enable detailed performance logging for orchestration actors

  • Type: bool
  • Default: true
  • Valid Range: true/false
  • System Impact: Emits timing metrics for task processing, step enqueueing, and result evaluation; disable in production if log volume is a concern

orchestration.shutdown_timeout_ms

Maximum time in milliseconds to wait for orchestration subsystems to stop during graceful shutdown

  • Type: u64
  • Default: 30000
  • Valid Range: 1000-300000
  • System Impact: If shutdown exceeds this timeout, the process exits forcefully to avoid hanging indefinitely; 30s is conservative for most deployments

batch_processing

Path: orchestration.batch_processing

ParameterTypeDefaultDescription
checkpoint_stall_minutesu3215Minutes without a checkpoint update before a batch is considered stalled
default_batch_sizeu321000Default number of items in a single batch when not specified by the handler
enabledbooltrueEnable the batch processing subsystem for large-scale step execution
max_parallel_batchesu3250Maximum number of batch operations that can execute concurrently

orchestration.batch_processing.checkpoint_stall_minutes

Minutes without a checkpoint update before a batch is considered stalled

  • Type: u32
  • Default: 15
  • Valid Range: 1-1440
  • System Impact: Stalled batches are flagged for investigation or automatic recovery; lower values detect issues faster

orchestration.batch_processing.default_batch_size

Default number of items in a single batch when not specified by the handler

  • Type: u32
  • Default: 1000
  • Valid Range: 1-100000
  • System Impact: Larger batches improve throughput but increase memory usage and per-batch latency

orchestration.batch_processing.enabled

Enable the batch processing subsystem for large-scale step execution

  • Type: bool
  • Default: true
  • Valid Range: true/false
  • System Impact: When false, batch step handlers cannot be used; all steps must be processed individually

orchestration.batch_processing.max_parallel_batches

Maximum number of batch operations that can execute concurrently

  • Type: u32
  • Default: 50
  • Valid Range: 1-1000
  • System Impact: Bounds resource usage from concurrent batch processing; increase for high-throughput batch workloads

decision_points

Path: orchestration.decision_points

ParameterTypeDefaultDescription
enable_detailed_loggingboolfalseEnable verbose logging of decision point evaluation including expression results
enable_metricsbooltrueEnable metrics collection for decision point evaluations
enabledbooltrueEnable the decision point evaluation subsystem for conditional workflow branching
max_decision_depthu3220Maximum depth of nested decision point chains
max_steps_per_decisionu32100Maximum number of steps that can be generated by a single decision point evaluation
warn_threshold_depthu3210Decision depth above which a warning is logged
warn_threshold_stepsu3250Number of steps per decision above which a warning is logged

orchestration.decision_points.enable_detailed_logging

Enable verbose logging of decision point evaluation including expression results

  • Type: bool
  • Default: false
  • Valid Range: true/false
  • System Impact: Produces high-volume logs; enable only for debugging specific decision point behavior

orchestration.decision_points.enable_metrics

Enable metrics collection for decision point evaluations

  • Type: bool
  • Default: true
  • Valid Range: true/false
  • System Impact: Tracks evaluation counts, timings, and branch selection distribution

orchestration.decision_points.enabled

Enable the decision point evaluation subsystem for conditional workflow branching

  • Type: bool
  • Default: true
  • Valid Range: true/false
  • System Impact: When false, all decision points are skipped and conditional steps are not evaluated

orchestration.decision_points.max_decision_depth

Maximum depth of nested decision point chains

  • Type: u32
  • Default: 20
  • Valid Range: 1-100
  • System Impact: Prevents infinite recursion from circular decision point references

orchestration.decision_points.max_steps_per_decision

Maximum number of steps that can be generated by a single decision point evaluation

  • Type: u32
  • Default: 100
  • Valid Range: 1-10000
  • System Impact: Safety limit to prevent decision points from creating unbounded step graphs

orchestration.decision_points.warn_threshold_depth

Decision depth above which a warning is logged

  • Type: u32
  • Default: 10
  • Valid Range: 1-100
  • System Impact: Observability: identifies deeply nested decision chains that may indicate design issues

orchestration.decision_points.warn_threshold_steps

Number of steps per decision above which a warning is logged

  • Type: u32
  • Default: 50
  • Valid Range: 1-10000
  • System Impact: Observability: identifies decision points that generate unusually large step sets

dlq

Path: orchestration.dlq

ParameterTypeDefaultDescription
enabledbooltrueEnable the Dead Letter Queue subsystem for handling unrecoverable tasks

orchestration.dlq.enabled

Enable the Dead Letter Queue subsystem for handling unrecoverable tasks

  • Type: bool
  • Default: true
  • Valid Range: true/false
  • System Impact: When false, stale or failed tasks remain in their error state without DLQ routing

staleness_detection

Path: orchestration.dlq.staleness_detection

ParameterTypeDefaultDescription
batch_sizeu32100Number of potentially stale tasks to evaluate in a single detection sweep
detection_interval_secondsu32300Interval in seconds between staleness detection sweeps
dry_runboolfalseRun staleness detection in observation-only mode without taking action
enabledbooltrueEnable periodic scanning for stale tasks

orchestration.dlq.staleness_detection.batch_size

Number of potentially stale tasks to evaluate in a single detection sweep

  • Type: u32
  • Default: 100
  • Valid Range: 1-10000
  • System Impact: Larger batches process more stale tasks per sweep but increase per-sweep query cost

orchestration.dlq.staleness_detection.detection_interval_seconds

Interval in seconds between staleness detection sweeps

  • Type: u32
  • Default: 300
  • Valid Range: 30-3600
  • System Impact: Lower values detect stale tasks faster but increase database query frequency

orchestration.dlq.staleness_detection.dry_run

Run staleness detection in observation-only mode without taking action

  • Type: bool
  • Default: false
  • Valid Range: true/false
  • System Impact: Logs what would be DLQ’d without actually transitioning tasks; useful for tuning thresholds

orchestration.dlq.staleness_detection.enabled

Enable periodic scanning for stale tasks

  • Type: bool
  • Default: true
  • Valid Range: true/false
  • System Impact: When false, no automatic staleness detection runs; tasks must be manually DLQ’d

actions

Path: orchestration.dlq.staleness_detection.actions

ParameterTypeDefaultDescription
auto_move_to_dlqbooltrueAutomatically move stale tasks to the DLQ after transitioning to error
auto_transition_to_errorbooltrueAutomatically transition stale tasks to the Error state
emit_eventsbooltrueEmit domain events when staleness is detected
event_channelString"task_staleness_detected"PGMQ channel name for staleness detection events

orchestration.dlq.staleness_detection.actions.auto_move_to_dlq

Automatically move stale tasks to the DLQ after transitioning to error

  • Type: bool
  • Default: true
  • Valid Range: true/false
  • System Impact: When true, stale tasks are routed to the DLQ; when false, they remain in Error state for manual review

orchestration.dlq.staleness_detection.actions.auto_transition_to_error

Automatically transition stale tasks to the Error state

  • Type: bool
  • Default: true
  • Valid Range: true/false
  • System Impact: When true, stale tasks are moved to Error before DLQ routing; when false, tasks stay in their current state

orchestration.dlq.staleness_detection.actions.emit_events

Emit domain events when staleness is detected

  • Type: bool
  • Default: true
  • Valid Range: true/false
  • System Impact: When true, staleness events are published to the event_channel for external alerting or custom handling

orchestration.dlq.staleness_detection.actions.event_channel

PGMQ channel name for staleness detection events

  • Type: String
  • Default: "task_staleness_detected"
  • Valid Range: 1-255 characters
  • System Impact: Consumers can subscribe to this channel for alerting or custom staleness handling

thresholds

Path: orchestration.dlq.staleness_detection.thresholds

ParameterTypeDefaultDescription
steps_in_process_minutesu3230Minutes a task can have steps in process before being considered stale
task_max_lifetime_hoursu3224Absolute maximum lifetime for any task regardless of state
waiting_for_dependencies_minutesu3260Minutes a task can wait for step dependencies before being considered stale
waiting_for_retry_minutesu3230Minutes a task can wait for step retries before being considered stale

orchestration.dlq.staleness_detection.thresholds.steps_in_process_minutes

Minutes a task can have steps in process before being considered stale

  • Type: u32
  • Default: 30
  • Valid Range: 1-1440
  • System Impact: Tasks in StepsInProcess state exceeding this age may have hung workers; flags for investigation

orchestration.dlq.staleness_detection.thresholds.task_max_lifetime_hours

Absolute maximum lifetime for any task regardless of state

  • Type: u32
  • Default: 24
  • Valid Range: 1-168
  • System Impact: Hard cap; tasks exceeding this age are considered stale even if actively processing

orchestration.dlq.staleness_detection.thresholds.waiting_for_dependencies_minutes

Minutes a task can wait for step dependencies before being considered stale

  • Type: u32
  • Default: 60
  • Valid Range: 1-1440
  • System Impact: Tasks in WaitingForDependencies state exceeding this age are flagged for DLQ consideration

orchestration.dlq.staleness_detection.thresholds.waiting_for_retry_minutes

Minutes a task can wait for step retries before being considered stale

  • Type: u32
  • Default: 30
  • Valid Range: 1-1440
  • System Impact: Tasks in WaitingForRetry state exceeding this age are flagged for DLQ consideration

event_systems

Path: orchestration.event_systems

orchestration

Path: orchestration.event_systems.orchestration

ParameterTypeDefaultDescription
deployment_modeDeploymentMode"Hybrid"Event delivery mode: ‘Hybrid’ (LISTEN/NOTIFY + polling fallback), ‘EventDrivenOnly’, or ‘PollingOnly’
system_idString"orchestration-event-system"Unique identifier for the orchestration event system instance

orchestration.event_systems.orchestration.deployment_mode

Event delivery mode: ‘Hybrid’ (LISTEN/NOTIFY + polling fallback), ‘EventDrivenOnly’, or ‘PollingOnly’

  • Type: DeploymentMode
  • Default: "Hybrid"
  • Valid Range: Hybrid | EventDrivenOnly | PollingOnly
  • System Impact: Hybrid is recommended; EventDrivenOnly has lowest latency but no fallback; PollingOnly has highest latency but no LISTEN/NOTIFY dependency

orchestration.event_systems.orchestration.system_id

Unique identifier for the orchestration event system instance

  • Type: String
  • Default: "orchestration-event-system"
  • Valid Range: non-empty string
  • System Impact: Used in logging and metrics to distinguish this event system from others

health

Path: orchestration.event_systems.orchestration.health

ParameterTypeDefaultDescription
enabledbooltrueEnable health monitoring for the orchestration event system
error_rate_threshold_per_minuteu3220Error rate per minute above which the event system reports as unhealthy
max_consecutive_errorsu3210Number of consecutive errors before the event system reports as unhealthy
performance_monitoring_enabledbooltrueEnable detailed performance metrics collection for event processing

orchestration.event_systems.orchestration.health.enabled

Enable health monitoring for the orchestration event system

  • Type: bool
  • Default: true
  • Valid Range: true/false
  • System Impact: When false, no health checks or error tracking run for this event system

orchestration.event_systems.orchestration.health.error_rate_threshold_per_minute

Error rate per minute above which the event system reports as unhealthy

  • Type: u32
  • Default: 20
  • Valid Range: 1-10000
  • System Impact: Rate-based health signal; complements max_consecutive_errors for burst error detection

orchestration.event_systems.orchestration.health.max_consecutive_errors

Number of consecutive errors before the event system reports as unhealthy

  • Type: u32
  • Default: 10
  • Valid Range: 1-1000
  • System Impact: Triggers health status degradation after sustained failures; resets on any success

orchestration.event_systems.orchestration.health.performance_monitoring_enabled

Enable detailed performance metrics collection for event processing

  • Type: bool
  • Default: true
  • Valid Range: true/false
  • System Impact: Tracks processing latency percentiles and throughput; adds minor overhead

processing

Path: orchestration.event_systems.orchestration.processing

ParameterTypeDefaultDescription
batch_sizeu3220Number of events dequeued in a single batch read
max_concurrent_operationsu3250Maximum number of events processed concurrently by the orchestration event system
max_retriesu323Maximum retry attempts for a failed event processing operation

orchestration.event_systems.orchestration.processing.batch_size

Number of events dequeued in a single batch read

  • Type: u32
  • Default: 20
  • Valid Range: 1-1000
  • System Impact: Larger batches improve throughput but increase per-batch processing time

orchestration.event_systems.orchestration.processing.max_concurrent_operations

Maximum number of events processed concurrently by the orchestration event system

  • Type: u32
  • Default: 50
  • Valid Range: 1-10000
  • System Impact: Controls parallelism for task request, result, and finalization processing

orchestration.event_systems.orchestration.processing.max_retries

Maximum retry attempts for a failed event processing operation

  • Type: u32
  • Default: 3
  • Valid Range: 0-100
  • System Impact: Events exceeding this retry count are dropped or sent to the DLQ
backoff

Path: orchestration.event_systems.orchestration.processing.backoff

ParameterTypeDefaultDescription
initial_delay_msu64100Initial backoff delay in milliseconds after first event processing failure
jitter_percentf640.1Maximum jitter as a fraction of the computed backoff delay
max_delay_msu6410000Maximum backoff delay in milliseconds between event processing retries
multiplierf642.0Multiplier applied to the backoff delay after each consecutive failure

timing

Path: orchestration.event_systems.orchestration.timing

ParameterTypeDefaultDescription
claim_timeout_secondsu32300Maximum time in seconds an event claim remains valid
fallback_polling_interval_secondsu325Interval in seconds between fallback polling cycles when LISTEN/NOTIFY is unavailable
health_check_interval_secondsu3230Interval in seconds between health check probes for the orchestration event system
processing_timeout_secondsu3260Maximum time in seconds allowed for processing a single event
visibility_timeout_secondsu3230Time in seconds a dequeued message remains invisible to other consumers

orchestration.event_systems.orchestration.timing.claim_timeout_seconds

Maximum time in seconds an event claim remains valid

  • Type: u32
  • Default: 300
  • Valid Range: 1-3600
  • System Impact: Prevents abandoned claims from blocking event processing indefinitely

orchestration.event_systems.orchestration.timing.fallback_polling_interval_seconds

Interval in seconds between fallback polling cycles when LISTEN/NOTIFY is unavailable

  • Type: u32
  • Default: 5
  • Valid Range: 1-60
  • System Impact: Only active in Hybrid mode when event-driven delivery fails; lower values reduce latency but increase DB load

orchestration.event_systems.orchestration.timing.health_check_interval_seconds

Interval in seconds between health check probes for the orchestration event system

  • Type: u32
  • Default: 30
  • Valid Range: 1-3600
  • System Impact: Controls how frequently the event system verifies its own connectivity and responsiveness

orchestration.event_systems.orchestration.timing.processing_timeout_seconds

Maximum time in seconds allowed for processing a single event

  • Type: u32
  • Default: 60
  • Valid Range: 1-3600
  • System Impact: Events exceeding this timeout are considered failed and may be retried

orchestration.event_systems.orchestration.timing.visibility_timeout_seconds

Time in seconds a dequeued message remains invisible to other consumers

  • Type: u32
  • Default: 30
  • Valid Range: 1-3600
  • System Impact: If processing is not completed within this window, the message becomes visible again for redelivery

task_readiness

Path: orchestration.event_systems.task_readiness

ParameterTypeDefaultDescription
deployment_modeDeploymentMode"Hybrid"Event delivery mode for task readiness: ‘Hybrid’, ‘EventDrivenOnly’, or ‘PollingOnly’
system_idString"task-readiness-event-system"Unique identifier for the task readiness event system instance

orchestration.event_systems.task_readiness.deployment_mode

Event delivery mode for task readiness: ‘Hybrid’, ‘EventDrivenOnly’, or ‘PollingOnly’

  • Type: DeploymentMode
  • Default: "Hybrid"
  • Valid Range: Hybrid | EventDrivenOnly | PollingOnly
  • System Impact: Hybrid is recommended; task readiness events trigger step processing and benefit from low-latency delivery

orchestration.event_systems.task_readiness.system_id

Unique identifier for the task readiness event system instance

  • Type: String
  • Default: "task-readiness-event-system"
  • Valid Range: non-empty string
  • System Impact: Used in logging and metrics to distinguish task readiness events from other event systems

health

Path: orchestration.event_systems.task_readiness.health

ParameterTypeDefaultDescription
enabledbooltrueEnable health monitoring for the task readiness event system
error_rate_threshold_per_minuteu3220Error rate per minute above which the task readiness system reports as unhealthy
max_consecutive_errorsu3210Number of consecutive errors before the task readiness system reports as unhealthy
performance_monitoring_enabledbooltrueEnable detailed performance metrics for task readiness event processing

orchestration.event_systems.task_readiness.health.enabled

Enable health monitoring for the task readiness event system

  • Type: bool
  • Default: true
  • Valid Range: true/false
  • System Impact: When false, no health checks run for task readiness processing

orchestration.event_systems.task_readiness.health.error_rate_threshold_per_minute

Error rate per minute above which the task readiness system reports as unhealthy

  • Type: u32
  • Default: 20
  • Valid Range: 1-10000
  • System Impact: Rate-based health signal complementing max_consecutive_errors

orchestration.event_systems.task_readiness.health.max_consecutive_errors

Number of consecutive errors before the task readiness system reports as unhealthy

  • Type: u32
  • Default: 10
  • Valid Range: 1-1000
  • System Impact: Triggers health status degradation; resets on any successful readiness check

orchestration.event_systems.task_readiness.health.performance_monitoring_enabled

Enable detailed performance metrics for task readiness event processing

  • Type: bool
  • Default: true
  • Valid Range: true/false
  • System Impact: Tracks readiness check latency and throughput; useful for tuning batch_size and concurrency

processing

Path: orchestration.event_systems.task_readiness.processing

ParameterTypeDefaultDescription
batch_sizeu3250Number of task readiness events dequeued in a single batch
max_concurrent_operationsu32100Maximum number of task readiness events processed concurrently
max_retriesu323Maximum retry attempts for a failed task readiness event

orchestration.event_systems.task_readiness.processing.batch_size

Number of task readiness events dequeued in a single batch

  • Type: u32
  • Default: 50
  • Valid Range: 1-1000
  • System Impact: Larger batches improve throughput for readiness evaluation; 50 balances latency and throughput

orchestration.event_systems.task_readiness.processing.max_concurrent_operations

Maximum number of task readiness events processed concurrently

  • Type: u32
  • Default: 100
  • Valid Range: 1-10000
  • System Impact: Higher than orchestration (100 vs 50) because readiness checks are lightweight SQL queries

orchestration.event_systems.task_readiness.processing.max_retries

Maximum retry attempts for a failed task readiness event

  • Type: u32
  • Default: 3
  • Valid Range: 0-100
  • System Impact: Readiness events are idempotent so retries are safe; limits retry storms
backoff

Path: orchestration.event_systems.task_readiness.processing.backoff

ParameterTypeDefaultDescription
initial_delay_msu64100Initial backoff delay in milliseconds after first task readiness processing failure
jitter_percentf640.1Maximum jitter as a fraction of the computed backoff delay for readiness retries
max_delay_msu6410000Maximum backoff delay in milliseconds for task readiness retries
multiplierf642.0Multiplier applied to the backoff delay after each consecutive readiness failure

timing

Path: orchestration.event_systems.task_readiness.timing

ParameterTypeDefaultDescription
claim_timeout_secondsu32300Maximum time in seconds a task readiness event claim remains valid
fallback_polling_interval_secondsu325Interval in seconds between fallback polling cycles for task readiness
health_check_interval_secondsu3230Interval in seconds between health check probes for the task readiness event system
processing_timeout_secondsu3260Maximum time in seconds allowed for processing a single task readiness event
visibility_timeout_secondsu3230Time in seconds a dequeued task readiness message remains invisible to other consumers

orchestration.event_systems.task_readiness.timing.claim_timeout_seconds

Maximum time in seconds a task readiness event claim remains valid

  • Type: u32
  • Default: 300
  • Valid Range: 1-3600
  • System Impact: Prevents abandoned readiness claims from blocking task evaluation

orchestration.event_systems.task_readiness.timing.fallback_polling_interval_seconds

Interval in seconds between fallback polling cycles for task readiness

  • Type: u32
  • Default: 5
  • Valid Range: 1-60
  • System Impact: Fallback interval when LISTEN/NOTIFY is unavailable; lower values improve responsiveness

orchestration.event_systems.task_readiness.timing.health_check_interval_seconds

Interval in seconds between health check probes for the task readiness event system

  • Type: u32
  • Default: 30
  • Valid Range: 1-3600
  • System Impact: Controls how frequently the task readiness system verifies its own connectivity

orchestration.event_systems.task_readiness.timing.processing_timeout_seconds

Maximum time in seconds allowed for processing a single task readiness event

  • Type: u32
  • Default: 60
  • Valid Range: 1-3600
  • System Impact: Readiness events exceeding this timeout are considered failed

orchestration.event_systems.task_readiness.timing.visibility_timeout_seconds

Time in seconds a dequeued task readiness message remains invisible to other consumers

  • Type: u32
  • Default: 30
  • Valid Range: 1-3600
  • System Impact: Prevents duplicate processing of readiness events during normal operation

grpc

Path: orchestration.grpc

ParameterTypeDefaultDescription
bind_addressString"${TASKER_ORCHESTRATION_GRPC_BIND_ADDRESS:-0.0.0.0:9190}"Socket address for the gRPC server
enable_health_servicebooltrueEnable the gRPC health checking service (grpc.health.v1)
enable_reflectionbooltrueEnable gRPC server reflection for service discovery
enabledbooltrueEnable the gRPC API server alongside the REST API
keepalive_interval_secondsu3230Interval in seconds between gRPC keepalive ping frames
keepalive_timeout_secondsu3220Time in seconds to wait for a keepalive ping acknowledgment before closing the connection
max_concurrent_streamsu32200Maximum number of concurrent gRPC streams per connection
max_frame_sizeu3216384Maximum size in bytes of a single HTTP/2 frame
tls_enabledboolfalseEnable TLS encryption for gRPC connections

orchestration.grpc.bind_address

Socket address for the gRPC server

  • Type: String
  • Default: "${TASKER_ORCHESTRATION_GRPC_BIND_ADDRESS:-0.0.0.0:9190}"
  • Valid Range: host:port
  • System Impact: Must not conflict with the REST API bind_address; default 9190 avoids Prometheus port conflict

orchestration.grpc.enable_health_service

Enable the gRPC health checking service (grpc.health.v1)

  • Type: bool
  • Default: true
  • Valid Range: true/false
  • System Impact: Required for gRPC-native health checks used by load balancers and container orchestrators

orchestration.grpc.enable_reflection

Enable gRPC server reflection for service discovery

  • Type: bool
  • Default: true
  • Valid Range: true/false
  • System Impact: Allows tools like grpcurl to list and inspect services; safe to enable in development, consider disabling in production

orchestration.grpc.enabled

Enable the gRPC API server alongside the REST API

  • Type: bool
  • Default: true
  • Valid Range: true/false
  • System Impact: When false, no gRPC endpoints are available; clients must use REST

orchestration.grpc.keepalive_interval_seconds

Interval in seconds between gRPC keepalive ping frames

  • Type: u32
  • Default: 30
  • Valid Range: 1-3600
  • System Impact: Detects dead connections; lower values detect failures faster but increase network overhead

orchestration.grpc.keepalive_timeout_seconds

Time in seconds to wait for a keepalive ping acknowledgment before closing the connection

  • Type: u32
  • Default: 20
  • Valid Range: 1-300
  • System Impact: Connections that fail to acknowledge within this window are considered dead and closed

orchestration.grpc.max_concurrent_streams

Maximum number of concurrent gRPC streams per connection

  • Type: u32
  • Default: 200
  • Valid Range: 1-10000
  • System Impact: Limits multiplexed request parallelism per connection; 200 is conservative for orchestration workloads

orchestration.grpc.max_frame_size

Maximum size in bytes of a single HTTP/2 frame

  • Type: u32
  • Default: 16384
  • Valid Range: 16384-16777215
  • System Impact: Larger frames reduce framing overhead for large messages but increase memory per-stream

orchestration.grpc.tls_enabled

Enable TLS encryption for gRPC connections

  • Type: bool
  • Default: false
  • Valid Range: true/false
  • System Impact: When true, tls_cert_path and tls_key_path must be provided; required for production gRPC deployments

mpsc_channels

Path: orchestration.mpsc_channels

command_processor

Path: orchestration.mpsc_channels.command_processor

ParameterTypeDefaultDescription
command_buffer_sizeusize5000Bounded channel capacity for the orchestration command processor

orchestration.mpsc_channels.command_processor.command_buffer_size

Bounded channel capacity for the orchestration command processor

  • Type: usize
  • Default: 5000
  • Valid Range: 100-100000
  • System Impact: Buffers incoming orchestration commands; larger values absorb traffic spikes but use more memory

event_listeners

Path: orchestration.mpsc_channels.event_listeners

ParameterTypeDefaultDescription
pgmq_event_buffer_sizeusize50000Bounded channel capacity for PGMQ event listener notifications

orchestration.mpsc_channels.event_listeners.pgmq_event_buffer_size

Bounded channel capacity for PGMQ event listener notifications

  • Type: usize
  • Default: 50000
  • Valid Range: 1000-1000000
  • System Impact: Large buffer (50000) absorbs high-volume PGMQ LISTEN/NOTIFY events without backpressure on PostgreSQL

event_systems

Path: orchestration.mpsc_channels.event_systems

ParameterTypeDefaultDescription
event_channel_buffer_sizeusize10000Bounded channel capacity for the orchestration event system internal channel

orchestration.mpsc_channels.event_systems.event_channel_buffer_size

Bounded channel capacity for the orchestration event system internal channel

  • Type: usize
  • Default: 10000
  • Valid Range: 100-100000
  • System Impact: Buffers events between the event listener and event processor; larger values absorb notification bursts

web

Path: orchestration.web

ParameterTypeDefaultDescription
bind_addressString"${TASKER_WEB_BIND_ADDRESS:-0.0.0.0:8080}"Socket address for the REST API server
enabledbooltrueEnable the REST API server for the orchestration service
request_timeout_msu3230000Maximum time in milliseconds for an HTTP request to complete before timeout

orchestration.web.bind_address

Socket address for the REST API server

  • Type: String
  • Default: "${TASKER_WEB_BIND_ADDRESS:-0.0.0.0:8080}"
  • Valid Range: host:port
  • System Impact: Determines where the orchestration REST API listens; use 0.0.0.0 for container deployments

Environment Recommendations:

EnvironmentValueRationale
production0.0.0.0:8080Standard port; use TASKER_WEB_BIND_ADDRESS env var to override in CI
test0.0.0.0:8080Default port for test fixtures

orchestration.web.enabled

Enable the REST API server for the orchestration service

  • Type: bool
  • Default: true
  • Valid Range: true/false
  • System Impact: When false, no HTTP endpoints are available; the service operates via messaging only

orchestration.web.request_timeout_ms

Maximum time in milliseconds for an HTTP request to complete before timeout

  • Type: u32
  • Default: 30000
  • Valid Range: 100-300000
  • System Impact: Requests exceeding this timeout return HTTP 408; protects against slow client connections

auth

Path: orchestration.web.auth

ParameterTypeDefaultDescription
api_keyString""Static API key for simple key-based authentication
api_key_headerString"X-API-Key"HTTP header name for API key authentication
enabledboolfalseEnable authentication for the REST API
jwt_audienceString"tasker-api"Expected ‘aud’ claim in JWT tokens
jwt_issuerString"tasker-core"Expected ‘iss’ claim in JWT tokens
jwt_private_keyString""PEM-encoded private key for signing JWT tokens (if this service issues tokens)
jwt_public_keyString"${TASKER_JWT_PUBLIC_KEY:-}"PEM-encoded public key for verifying JWT token signatures
jwt_public_key_pathString"${TASKER_JWT_PUBLIC_KEY_PATH:-}"File path to a PEM-encoded public key for JWT verification
jwt_token_expiry_hoursu3224Default JWT token validity period in hours

orchestration.web.auth.api_key

Static API key for simple key-based authentication

  • Type: String
  • Default: ""
  • Valid Range: non-empty string or empty to disable
  • System Impact: When non-empty and auth is enabled, clients can authenticate by sending this key in the api_key_header

orchestration.web.auth.api_key_header

HTTP header name for API key authentication

  • Type: String
  • Default: "X-API-Key"
  • Valid Range: valid HTTP header name
  • System Impact: Clients send their API key in this header; default is X-API-Key

orchestration.web.auth.enabled

Enable authentication for the REST API

  • Type: bool
  • Default: false
  • Valid Range: true/false
  • System Impact: When false, all API endpoints are unauthenticated; enable in production with JWT or API key auth

orchestration.web.auth.jwt_audience

Expected ‘aud’ claim in JWT tokens

  • Type: String
  • Default: "tasker-api"
  • Valid Range: non-empty string
  • System Impact: Tokens with a different audience are rejected during validation

orchestration.web.auth.jwt_issuer

Expected ‘iss’ claim in JWT tokens

  • Type: String
  • Default: "tasker-core"
  • Valid Range: non-empty string
  • System Impact: Tokens with a different issuer are rejected during validation

orchestration.web.auth.jwt_private_key

PEM-encoded private key for signing JWT tokens (if this service issues tokens)

  • Type: String
  • Default: ""
  • Valid Range: valid PEM private key or empty
  • System Impact: Required only if the orchestration service issues its own JWT tokens; leave empty when using external identity providers

orchestration.web.auth.jwt_public_key

PEM-encoded public key for verifying JWT token signatures

  • Type: String
  • Default: "${TASKER_JWT_PUBLIC_KEY:-}"
  • Valid Range: valid PEM public key or empty
  • System Impact: Required for JWT validation; prefer jwt_public_key_path for file-based key management in production

orchestration.web.auth.jwt_public_key_path

File path to a PEM-encoded public key for JWT verification

  • Type: String
  • Default: "${TASKER_JWT_PUBLIC_KEY_PATH:-}"
  • Valid Range: valid file path or empty
  • System Impact: Alternative to inline jwt_public_key; supports key rotation by replacing the file

orchestration.web.auth.jwt_token_expiry_hours

Default JWT token validity period in hours

  • Type: u32
  • Default: 24
  • Valid Range: 1-720
  • System Impact: Tokens older than this are rejected; shorter values improve security but require more frequent re-authentication

database_pools

Path: orchestration.web.database_pools

ParameterTypeDefaultDescription
max_total_connections_hintu3250Advisory hint for the total number of database connections across all orchestration pools
web_api_connection_timeout_secondsu3230Maximum time to wait when acquiring a connection from the web API pool
web_api_idle_timeout_secondsu32600Time before an idle web API connection is closed
web_api_max_connectionsu3230Maximum number of connections the web API pool can grow to under load
web_api_pool_sizeu3220Target number of connections in the web API database pool

orchestration.web.database_pools.max_total_connections_hint

Advisory hint for the total number of database connections across all orchestration pools

  • Type: u32
  • Default: 50
  • Valid Range: 1-1000
  • System Impact: Used for capacity planning; not enforced but logged if actual connections exceed this hint

orchestration.web.database_pools.web_api_connection_timeout_seconds

Maximum time to wait when acquiring a connection from the web API pool

  • Type: u32
  • Default: 30
  • Valid Range: 1-300
  • System Impact: API requests that cannot acquire a connection within this window return an error

orchestration.web.database_pools.web_api_idle_timeout_seconds

Time before an idle web API connection is closed

  • Type: u32
  • Default: 600
  • Valid Range: 1-3600
  • System Impact: Controls how quickly the web API pool shrinks after traffic subsides

orchestration.web.database_pools.web_api_max_connections

Maximum number of connections the web API pool can grow to under load

  • Type: u32
  • Default: 30
  • Valid Range: 1-500
  • System Impact: Hard ceiling for web API database connections; prevents connection exhaustion from traffic spikes

orchestration.web.database_pools.web_api_pool_size

Target number of connections in the web API database pool

  • Type: u32
  • Default: 20
  • Valid Range: 1-200
  • System Impact: Determines how many concurrent database queries the REST API can execute

Generated by tasker-ctl docsTasker Configuration System