Vantage Plugin Setup Guide
Note: The Vantage plugin is currently in development and not yet available for installation. This documentation is provided for reference and will be updated when the plugin is released.
This guide walks you through installing and configuring the Vantage plugin for FinFocus. Follow these steps to enable multi-cloud cost aggregation using Vantage’s cost visibility platform.
Table of Contents
Section titled “Table of Contents”Prerequisites
Section titled “Prerequisites”Before installing the Vantage plugin, ensure you have:
Required
Section titled “Required”- FinFocus Core installed (v0.3.0 or later)
- Vantage Account with API access enabled
- Vantage API Token (see Authentication Guide)
- Cost Report Token or Workspace Token from Vantage
System Requirements
Section titled “System Requirements”- Go 1.25.8 or later
make(for building from source)- Docker (optional, for running mock tests)
Vantage Configuration
Section titled “Vantage Configuration”- At least one Cost Report configured in your Vantage workspace
- API access enabled for your account
- Cost data available for your cloud providers (AWS, Azure, GCP, etc.)
Installation
Section titled “Installation”Option 1: Install Pre-Built Binary (Recommended)
Section titled “Option 1: Install Pre-Built Binary (Recommended)”Download the latest release for your platform:
# Linux (amd64)curl -Lo finfocus-vantage https://github.com/rshade/finfocus-plugin-vantage/releases/latest/download/finfocus-vantage-linux-amd64chmod +x finfocus-vantagesudo mv finfocus-vantage /usr/local/bin/
# Linux (arm64)curl -Lo finfocus-vantage https://github.com/rshade/finfocus-plugin-vantage/releases/latest/download/finfocus-vantage-linux-arm64chmod +x finfocus-vantagesudo mv finfocus-vantage /usr/local/bin/
# macOS (amd64)curl -Lo finfocus-vantage https://github.com/rshade/finfocus-plugin-vantage/releases/latest/download/finfocus-vantage-darwin-amd64chmod +x finfocus-vantagesudo mv finfocus-vantage /usr/local/bin/Option 2: Install via FinFocus Plugin Manager
Section titled “Option 2: Install via FinFocus Plugin Manager”Install through FinFocus’s plugin system:
# Install plugin (coming soon)finfocus plugin install vantage
# List installed pluginsfinfocus plugin list
# Verify installationfinfocus plugin validate vantageOption 3: Build from Source
Section titled “Option 3: Build from Source”For development or customization:
# Clone repositorygit clone https://github.com/rshade/finfocus-plugin-vantage.gitcd finfocus-plugin-vantage
# Build binarymake build
# Binary created at: bin/finfocus-vantage./bin/finfocus-vantage --versionVerify Installation
Section titled “Verify Installation”Confirm the plugin is installed correctly:
# Check versionfinfocus-vantage --version# Expected output: finfocus-vantage version 0.1.0
# View helpfinfocus-vantage --helpConfiguration
Section titled “Configuration”Step 1: Create Configuration Directory
Section titled “Step 1: Create Configuration Directory”Create a directory for FinFocus configuration:
mkdir -p ~/.finfocus/plugins/vantagecd ~/.finfocus/plugins/vantageStep 2: Create Configuration File
Section titled “Step 2: Create Configuration File”Create config.yaml with your Vantage settings:
version: 0.1source: vantage
credentials: token: ${FINFOCUS_VANTAGE_TOKEN}
params: # Use Cost Report Token (preferred) or Workspace Token cost_report_token: 'cr_your_report_token_here'
# Date range (ISO 8601 format) start_date: '2024-01-01'
# Granularity: "day" or "month" granularity: 'day'
# Dimensions to group by group_bys: - provider - service - account - region
# Metrics to include metrics: - cost - usage - effective_unit_priceStep 3: Set Environment Variables
Section titled “Step 3: Set Environment Variables”Configure authentication using environment variables:
# Set Vantage API tokenexport FINFOCUS_VANTAGE_TOKEN="your_vantage_api_token"
# Optional: Set specific tokensexport FINFOCUS_VANTAGE_COST_REPORT_TOKEN="cr_your_report_token"
# Persist in shell profileecho 'export FINFOCUS_VANTAGE_TOKEN="your_token"' >> ~/.bashrcsource ~/.bashrcSecurity Best Practice: Never hardcode tokens in configuration files. Always use environment variables or secrets management systems.
Step 4: Verify Configuration
Section titled “Step 4: Verify Configuration”Test your configuration file:
# Verify YAML syntaxyamllint config.yaml
# Test configuration loadingfinfocus-vantage pull --config config.yaml --dry-runVerification
Section titled “Verification”Verify Plugin Registration
Section titled “Verify Plugin Registration”Check that FinFocus recognizes the plugin:
# List registered pluginsfinfocus plugin list
# Expected output:# NAME VERSION STATUS LOCATION# vantage 0.1.0 active ~/.finfocus/plugins/vantageVerify API Connectivity
Section titled “Verify API Connectivity”Test Vantage API connection:
# Test authenticationcurl -H "Authorization: Bearer $FINFOCUS_VANTAGE_TOKEN" \ https://api.vantage.sh/costs
# Expected: 200 OK or 400 (bad params), NOT 401 (auth failure)Verify Cost Data Access
Section titled “Verify Cost Data Access”Test cost data retrieval:
# Dry run to test configurationfinfocus-vantage pull --config config.yaml --dry-run
# Expected output:# Configuration valid# API connection successful# Cost Report: cr_abc123def456# Date range: 2024-01-01 to 2024-12-31# Estimated records: ~15,000Initial Sync
Section titled “Initial Sync”Perform Initial Backfill
Section titled “Perform Initial Backfill”Import historical cost data:
# Backfill last 12 months of cost datafinfocus-vantage backfill --config config.yaml --months 12
# Expected output:# Fetching costs from 2024-01-01 to 2024-12-31...# Progress: [====================] 100%# Total records imported: 25,432# Duration: 45s# Bookmark saved: 2024-12-31Verify Data Import
Section titled “Verify Data Import”Check imported data:
# Query projected costs using FinFocus CLIfinfocus cost projected \ --plugin vantage \ --provider aws \ --start-date 2024-01-01 \ --end-date 2024-01-31
# Query actual costsfinfocus cost actual \ --plugin vantage \ --start-date 2024-01-01 \ --end-date 2024-01-31Setup Scheduled Sync
Section titled “Setup Scheduled Sync”Configure daily incremental sync:
Using Cron:
# Add to crontab (daily at 2 AM UTC)crontab -e
# Add this line:0 2 * * * /usr/local/bin/finfocus-vantage pull --config ~/.finfocus/plugins/vantage/config.yamlUsing systemd Timer:
Create /etc/systemd/system/finfocus-vantage.service:
[Unit]Description=FinFocus Vantage Daily SyncAfter=network.target
[Service]Type=oneshotUser=finfocusEnvironment="FINFOCUS_VANTAGE_TOKEN=your_token"ExecStart=/usr/local/bin/finfocus-vantage pull --config /etc/finfocus/config.yamlCreate /etc/systemd/system/finfocus-vantage.timer:
[Unit]Description=Run FinFocus Vantage Sync Daily
[Timer]OnCalendar=dailyOnCalendar=02:00Persistent=true
[Install]WantedBy=timers.targetEnable and start the timer:
sudo systemctl daemon-reloadsudo systemctl enable finfocus-vantage.timersudo systemctl start finfocus-vantage.timer
# Check timer statussystemctl status finfocus-vantage.timerCommon Setup Issues
Section titled “Common Setup Issues”Issue: Plugin Not Found
Section titled “Issue: Plugin Not Found”Symptoms:
Error: plugin 'vantage' not foundSolutions:
-
Verify installation path:
Terminal window ls -la ~/.finfocus/plugins/vantage/ -
Check plugin registry:
Terminal window finfocus plugin list -
Reinstall plugin:
Terminal window finfocus plugin install vantage
Issue: Authentication Failed
Section titled “Issue: Authentication Failed”Symptoms:
Error: 401 UnauthorizedSolutions:
-
Verify token is set:
Terminal window echo $FINFOCUS_VANTAGE_TOKEN# Should output your token (not empty) -
Test token validity:
Terminal window curl -H "Authorization: Bearer $FINFOCUS_VANTAGE_TOKEN" \https://api.vantage.sh/costs -
Regenerate token in Vantage console
See Authentication Guide for detailed troubleshooting.
Issue: Configuration Parse Error
Section titled “Issue: Configuration Parse Error”Symptoms:
Error: failed to parse config.yamlSolutions:
-
Validate YAML syntax:
Terminal window yamllint config.yaml -
Check required fields:
version: 0.1 # Requiredsource: vantage # Requiredcredentials:token: ${...} # Requiredparams:cost_report_token: 'cr_...' # Requiredgranularity: 'day' # Required
Issue: No Cost Data Returned
Section titled “Issue: No Cost Data Returned”Symptoms:
No cost records foundSolutions:
-
Verify date range has data in Vantage console
-
Check Cost Report Token is valid:
params:cost_report_token: 'cr_valid_token_here' -
Ensure Cost Report has data for selected providers
-
Account for late posting (data lags 2-3 days)
Next Steps
Section titled “Next Steps”After successful setup:
- Configure Authentication - See Authentication Guide for security best practices
- Explore Features - Review Features Guide for supported capabilities
- Understand Cost Mapping - Read Cost Mapping Guide to understand data transformation
- Troubleshoot Issues - Consult Troubleshooting Guide for common problems