Skip to main content
The temporal-server render-config command renders the server configuration template with environment variable substitution and outputs the final configuration.

Synopsis

Description

Renders the server configuration by:
  1. Loading the configuration from files or embedded defaults
  2. Applying environment variable substitution
  3. Rendering the final configuration as YAML
  4. Outputting to stdout
This command is useful for:
  • Debugging configuration issues
  • Verifying environment variable substitution
  • Understanding the final merged configuration
  • Generating configuration for documentation

Options

—config, -c

Config directory path relative to root (deprecated).
  • Type: String
  • Default: config
  • Environment variable: TEMPORAL_CONFIG_DIR

—env, -e

Runtime environment for configuration selection (deprecated).
  • Type: String
  • Default: development
  • Environment variable: TEMPORAL_ENVIRONMENT

—zone, —az

Availability zone for configuration (deprecated).
  • Type: String
  • Default: None
  • Environment variable: TEMPORAL_AVAILABILITY_ZONE

—root, -r

Root directory of execution environment (deprecated).
  • Type: String
  • Default: .
  • Environment variable: TEMPORAL_ROOT
Note: These flags are deprecated. For new deployments, use --config-file with the start command.

Output

The command outputs the rendered configuration in YAML format to stdout.

Examples

Render Default Configuration

Output:

Render with Environment Variables

Save Rendered Config to File

Verify Configuration Changes

Extract Specific Configuration

Using yq to extract specific sections:

Use Cases

Debugging Configuration

Verify that environment variables are substituted correctly:

Configuration Documentation

Generate documentation showing actual deployed configuration:

Validate Before Deploy

Check configuration before starting the server:

Template Verification

Verify template syntax without starting the server:

Configuration Merging

When using the legacy config directory approach, configurations are merged in this order:
  1. base.yaml - Base configuration
  2. {environment}.yaml - Environment-specific config
  3. {environment}_{zone}.yaml - Zone-specific overrides
  4. Environment variables

Sensitive Data Handling

Warning: The rendered configuration may contain sensitive data like passwords and API keys. Take precautions:

Troubleshooting

Template Syntax Error

Fix template syntax in the configuration files.

Environment Variable Not Substituted

Ensure the environment variable is exported:

Missing Configuration File

Verify the configuration file exists at the expected path.

Invalid YAML Output

Check for template errors or invalid YAML in source files.

CI/CD Integration

Verify Configuration in CI

Best Practices

  1. Never Commit Rendered Config: Add *-rendered.yaml to .gitignore
  2. Redact Secrets: Remove sensitive data before sharing rendered config
  3. Use in Testing: Render config in tests to verify template correctness
  4. Document Differences: Document why different environments have different configs
  5. Version Templates: Keep configuration templates in version control

See Also