CLI Configuration
The Overmind CLI supports several configuration options to customize change analysis. Configuration can be specified via command-line flags or configuration files in your project.
Blast Radius Parametersβ
Control the depth and scope of dependency analysis with these CLI parameters.
Blast radius parameters (--blast-radius-link-depth, --blast-radius-max-items, --change-analysis-target-duration) are only available with overmind changes submit-plan. When using overmind terraform plan, blast radius settings are controlled by your account defaults in the Overmind UI.
--blast-radius-link-depthβ
Sets how many levels deep Overmind should follow resource relationships when calculating blast radius.
# Shallow analysis - faster, might miss some dependencies
overmind changes submit-plan tfplan.json --blast-radius-link-depth 1
# Deep analysis - thorough, takes longer
overmind changes submit-plan tfplan.json --blast-radius-link-depth 5
# Default behavior (uses account settings)
overmind changes submit-plan tfplan.json
When to adjust:
- Lower values (1-2): For quick checks or simple changes
- Higher values (4-6): For critical changes where you need complete dependency mapping with no time constraints
- Default (account settings): Works well for most infrastructure changes
--blast-radius-max-itemsβ
Limits the total number of resources included in blast radius calculation to prevent analysis from becoming overwhelming.
# Limit to 100 resources for focused analysis
overmind changes submit-plan tfplan.json --blast-radius-max-items 100
# Allow larger blast radius for complex changes
overmind changes submit-plan tfplan.json --blast-radius-max-items 1000
# Default behavior (uses account settings)
overmind changes submit-plan tfplan.json
Practical usage:
- Lower limits: Faster analysis, good for routine changes
- Higher limits: Complete analysis for complex infrastructure
- Very high limits: Use cautiously as analysis time increases significantly
--change-analysis-target-durationβ
Sets the target duration for change analysis planning. This is NOT a hard deadline - the blast radius phase uses 67% of this target to determine when to stop gracefully, and the remaining 33% is available for hypothesis formation and risk investigation.
Important: The analysis can run slightly past this target time. The job is only hard-stopped at the service maximum of 30 minutes to ensure you don't lose all work if the analysis takes a bit longer than expected.
# Quick target for fast feedback
overmind changes submit-plan tfplan.json --change-analysis-target-duration 5m
# Extended target for complex changes
overmind changes submit-plan tfplan.json --change-analysis-target-duration 20m
# Default behavior (10 minutes)
overmind changes submit-plan tfplan.json
When to adjust:
- Shorter targets (3-5m): For rapid feedback cycles on routine changes where you're willing to accept less complete blast radius coverage
- Standard target (10m): Default that works well for most infrastructure changes
- Longer targets (15-30m): For complex dependency graphs requiring comprehensive analysis
- Valid range: 1 minute to 30 minutes
Note: You can specify --change-analysis-target-duration independently without setting --blast-radius-link-depth or --blast-radius-max-items. When you do this, your account's default settings will be used for link depth and max items, while only the target duration is customized.
How it works:
- Blast radius phase: Gets 67% of the target duration. When this soft timeout is reached, blast radius stops gracefully and returns partial results.
- Form hypotheses & investigate: Uses the remaining 33% of the target duration plus any buffer up to the hard max (30 minutes).
- Hard maximum: The job is only forcibly stopped at 30 minutes. If you set a 10-minute target and the job needs 11 minutes, you still get your results.
Combining parameters:
# Balanced configuration for most changes
overmind changes submit-plan tfplan.json \
--blast-radius-link-depth 3 \
--blast-radius-max-items 500 \
--change-analysis-target-duration 10m
# Fast configuration for quick feedback
overmind changes submit-plan tfplan.json \
--blast-radius-link-depth 2 \
--blast-radius-max-items 200 \
--change-analysis-target-duration 5m
# Comprehensive configuration for critical changes
overmind changes submit-plan tfplan.json \
--blast-radius-link-depth 5 \
--blast-radius-max-items 1000 \
--change-analysis-target-duration 20m
--blast-radius-max-time (Deprecated)β
This flag is deprecated and will be removed in a future release. Use --change-analysis-target-duration instead.
Tagsβ
You can add tags to categorize and filter changes. Tags are available for both overmind terraform plan and overmind changes submit-plan commands.
--tagsβ
Apply key-value tags to your changes for organization and filtering.
Usage:
# Single tag
overmind terraform plan --tags "env=production"
# Multiple tags (comma-separated)
overmind terraform plan --tags "env=production,team=platform"
# Multiple tags (repeated flag)
overmind terraform plan --tags "env=production" --tags "team=platform"
Format: Tags must be specified in key=value format.
Examples:
# Tag a production change
overmind terraform plan --tags "env=production"
# Tag with multiple values
overmind terraform plan \
--tags "env=staging" \
--tags "team=infrastructure"
# Use with submit-plan
overmind changes submit-plan tfplan.json --tags "env=production"
Configuration Filesβ
Overmind supports local configuration files to maintain consistency across team deployments and automate common tasks. These files live in the .overmind/ directory within your Terraform project.
Signals Configurationβ
Default location: .overmind/signal-config.yaml
CLI parameter: --signal-config
Defines signals that help Overmind identify changes with typically lower risk. Changes receive reduced risk scores and can be handled with less scrutiny. These override the default signals that are configured in the Overmind web interface.
There are 2 types of signals that can be configured on a per repository basis:
- Routine Changes: Defines patterns that help Overmind identify changes with typically lower risk. Changes receive reduced risk scores and can be handled with less scrutiny.
- GitHub App Signals: Defines signals that help Overmind identify changes with typically lower risk. Changes receive reduced risk scores and can be handled with less scrutiny. This is only available if the Overmind GitHub App is installed and configured.
Signal configuration is only available with overmind changes submit-plan. When using overmind terraform plan, signal configuration is handled server-side using settings configured in the Overmind UI.
Usage:
# Signal config is automatically applied from default location
overmind changes submit-plan tfplan.json
# Override with a different config
overmind changes submit-plan tfplan.json --signal-config team-config.yaml
File format:
routine_changes_config:
sensitivity: 0.7 # >= 0
duration_in_days: 14 # >= 1
events_per_day: 5 # >= 1
github_organisation_profile:
primary_branch_name: main
Configuration options:
Routine Changes Configuration:
- sensitivity: How responsive to frequency variations (must be positive)
- duration_in_days: How many days of history to consider (minimum 1)
- events_per_day: Expected frequency of changes per day (minimum 1)
GitHub App Signals Configuration:
- primary_branch_name: The name of the primary branch for the repository
This configuration helps Overmind determine what constitutes "low risk" vs "high risk" changes for your infrastructure.
Configuration File Discoveryβ
The CLI looks for configuration files in this order:
- Explicit flags: Files specified with CLI parameters (e.g.,
--signal-config custom-config.yaml) - Project directory:
.overmind/folder in current working directory - UI fallback: Configuration from the Overmind web interface
Example Project Structureβ
Here is an example project structure:
your-terraform-project/
βββ .overmind/
β βββ signal-config.yaml
β βββ plan.out
βββ main.tf
βββ variables.tf
βββ terraform.tfstate
Configuration Best Practicesβ
Team Configurationβ
Version control your config files:
# Include in your repository
git add .overmind/signal-config.yaml
Performance Tuningβ
Blast radius tuning is available when using overmind changes submit-plan:
For routine changes:
# Quick analysis for frequent deployments
overmind changes submit-plan tfplan.json \
--blast-radius-link-depth 2 \
--blast-radius-max-items 200 \
--blast-radius-max-time 5m
For critical changes:
# Deep analysis for important infrastructure
overmind changes submit-plan tfplan.json \
--blast-radius-link-depth 5 \
--blast-radius-max-items 1000 \
--blast-radius-max-time 20m
When using overmind terraform plan, blast radius settings are controlled by your account defaults configured in the Overmind UI.
CI/CD Integrationβ
Option 1: Use overmind terraform plan (recommended)
The simplest approachβOvermind handles plan creation and analysis automatically:
# GitHub Actions example
- name: Analyze Terraform Changes
run: |
overmind terraform plan \
--ticket-link "${{ github.event.pull_request.html_url }}" \
--tags "env=production"
Option 2: Use overmind changes submit-plan
For pipelines where you need fine-grained control over blast radius settings or already have an existing plan file:
# GitHub Actions example
- name: Create Terraform Plan
run: terraform plan -out=tfplan && terraform show -json tfplan > tfplan.json
- name: Submit Plan to Overmind
run: |
overmind changes submit-plan tfplan.json \
--tags "env=production" \
--blast-radius-link-depth 3 \
--blast-radius-max-items 500 \
--blast-radius-max-time 10m
GitHub App Configuration Checklistβ
Once the Overmind GitHub App is installed, verify the following before relying on GitHub-driven signals:
- Install the app on the right repos: Connect the repositories that correspond to your Terraform environments or deployment orchestrations.
- Generate
signal-config.yaml: Use the app setup flow or copy the template above, then commit it to.overmind/alongside your other configuration files. - Validate CLI usage: Run
overmind terraform planto include branch context and deployment cadence in risk analysis. - Review signals output: After submitting a plan, open the change in Overmind to confirm GitHub App Signals appear. Refer to the GitHub App Signals documentation if adjustments are needed.
Troubleshooting Configurationβ
Configuration not loading:
- Verify file paths and YAML syntax
- Check that files are readable by the CLI
- Ensure you're running from the correct directory
Performance issues:
- Reduce
--blast-radius-max-itemsfor faster analysis - Lower
--blast-radius-link-depthfor simpler changes - Decrease
--blast-radius-max-timefor quicker results with partial analysis
Getting file formats:
- Use the Overmind web interface to configure rules and export the format
- Run
overmind terraform plan --helpfor parameter details
For additional help, visit our support documentation or join our Discord community.