Skip to content

Troubleshooting

This guide addresses common issues encountered when using FinFocus, including installation problems, AWS credential errors, cost calculation issues, and E2E test failures.

Symptom: finfocus plugin install returns an error or hangs.

Solutions:

  1. Network: Check your internet connection. Plugins are downloaded from GitHub Releases.
  2. Rate Limits: GitHub API rate limits may apply. Try setting GITHUB_TOKEN.
  3. Permissions: Ensure the ~/.finfocus/plugins/ directory is writable.
Terminal window
mkdir -p ~/.finfocus/plugins
chmod -R 755 ~/.finfocus/plugins

Symptom: command not found: finfocus

Solution: Add the installation directory to your PATH.

Terminal window
export PATH=$PATH:$HOME/go/bin
# or where you installed it

Symptom: AccessDeniedException when running actual cost queries.

Solution:

The configured AWS credentials must have ce:GetCostAndUsage permission. Ensure your IAM policy includes:

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["ce:GetCostAndUsage", "ce:GetDimensionValues", "ce:GetTags"],
"Resource": "*"
}
]
}

See AWS Cost Explorer API Permissions for additional guidance on Cost Explorer access and IAM policy best practices.

Symptom: Profile 'default' not found

Solution:

Check ~/.aws/credentials or export credentials directly:

Terminal window
export AWS_PROFILE=my-profile

Symptom: Projected costs show $0.00 for supported resources.

Causes:

  1. Unsupported Region: The resource is in a region not supported by the embedded database.
  2. Missing Properties: Required properties (like instanceType) are missing from the Pulumi plan.
  3. Plugin Issue: The aws-public plugin might not be installed or discovered.

Debug:

Run with debug logging to see plugin selection:

Terminal window
finfocus --debug cost projected --pulumi-json plan.json

Symptom: Actual costs are significantly higher than projected.

Explanation:

  • Taxes/Credits: Actual costs include taxes and credits; projected do not.
  • Data Transfer: Data transfer costs are hard to predict and are usually excluded from projections.
  • Storage: S3 API requests and tiered storage costs accumulate over time.

Symptom: make test-e2e runs for >20 minutes.

Solution:

  1. Check Resources: Cloud resource creation (e.g., RDS) can be slow.

  2. Increase Timeout:

    Terminal window
    go test -timeout 30m ./test/e2e/...
  3. Region Latency: Switch AWS_REGION to a closer region (e.g., us-east-1 -> us-west-2).

Symptom: E2E tests failed but resources remain in AWS.

Solution:

Use the cleanup utility or manually delete resources tagged with finfocus-e2e.

Terminal window
# Example manual cleanup
aws ec2 terminate-instances --instance-ids i-xxxx