Files
blackroad-os-pack-finance/docs/FINOPS_PLAYBOOK.md
2025-11-24 03:43:23 -06:00

46 lines
2.0 KiB
Markdown

# Finance Ops Pack Playbook
The Finance Ops Pack adds budgeting, invoicing, and cost-alerting capabilities to any BlackRoad deployment. It is designed to be self-contained so you can drop it into a new environment and immediately gain FinOps visibility.
## Getting started
1. Install the pack
```bash
brctl pack install finance --target=/srv/blackroad
```
2. Configure role bindings for the **Growth Catalyst** and **Policy Steward** roles.
3. Deploy the provided agents via your orchestrator of choice and point them at your Slack workspace and billing providers.
## Service level expectations
| Capability | SLO | Notes |
| --- | --- | --- |
| Burn rate forecasting | 95% weekly cadence | Budgeteer posts a weekly summary to the configured channel. |
| Invoice delivery | 99% of invoices delivered within 5 minutes | Invoice bot relies on Stripe webhooks for delivery confirmation. |
| Cost anomaly alerts | <5 minutes from stream ingestion | Cost watcher streams CloudWatch spend anomalies directly to Slack. |
## KPI glossary
- **MTD Spend**: Month-to-date cost pulled from AWS Cost Explorer or your billing graph.
- **Daily Burn**: Average spend per calendar day since the month started.
- **Forecasted Month-End**: Projected total spend using the current burn rate.
- **Budget Consumption**: Percentage of forecasted spend versus allocated budget.
- **Invoice Latency**: Time from invoice creation to customer delivery.
## Invoice flow
```mermaid
sequenceDiagram
participant Client
participant InvoiceBot
participant Stripe
participant Slack
Client->>InvoiceBot: request invoice(customer, amount)
InvoiceBot->>Stripe: create invoice item + invoice
Stripe-->>InvoiceBot: invoice id + hosted URL
InvoiceBot->>Slack: post PDF + payment link
Slack-->>Client: sends invoice message
```
## Troubleshooting
- Validate that `pack.yaml` exists by running the CI workflow locally.
- Ensure AWS credentials are scoped read-only for Cost Explorer access.
- For Go-based cost streaming, run `GO111MODULE=on go test ./...` to verify the watcher logic.