Skip to content

docs(README): document per-account service overrides #117

@cristim

Description

@cristim

Summary

Per-account service overrides have been a feature since migration 000011_cloud_accounts.up.sql:78 (mid-2024 era), and now have full UI coverage thanks to #72 (inline payment edit) and #106 (create modal). None of this is documented in README.md or any user-facing docs. A user landing on the dashboard for the first time sees the panel + the Add override modal but has no narrative for what overrides ARE, when they should be used, or how they interact with the global Settings → Purchasing defaults.

What to add

A short section in README.md (or whichever doc is the user entry-point) covering:

  1. Concept: each account can override the global term/payment/coverage defaults for any (provider, service) pair. Overrides are stored per (account_id, provider, service) and the engine reads them when generating recommendations for that account.
  2. When to use: examples — "this account is dev, prefer 1yr no-upfront for RDS"; "this production account always wants 3yr all-upfront for ElastiCache regardless of the global setting".
  3. How to create: navigate to Settings → Accounts → expand an account row → click "Service overrides" → modal opens → pick service + override fields → Save. Cite the AWS-only V1 boundary (ux(settings): create-override modal for Azure and GCP accounts (V2 of #106) #109 tracks Azure/GCP).
  4. How to edit: inline-edit Payment on existing rows (ux(settings): add payment option selector to AWS account overrides modal #72); Reset deletes the override; ux(settings): inline edit Term/Coverage + Enabled toggle on existing override rows (V2 of #72) #110 will widen this to Term/Coverage/Enabled.
  5. What "Inherit" means: a field left blank inherits the global default as configured in Settings → Purchasing — sparse PUT semantics, not a stored "Inherit" value.
  6. Migration considerations: existing scripted setups that use PUT /api/accounts/:id/service-overrides/... continue to work — the UI and the API target the same row.

Out of scope

  • Backend-only knobs not surfaced in the UI (the include/exclude array fields). Document them once a UI for them lands.
  • Migration steps for tenants that pre-existed before the override feature — there are none; the feature is additive on existing accounts.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions