Get 40% offSee the offer

0.9.0 betaDocumentation of the Community Edition, copied on .
On this page

Approvals: who answers, in which order, and when nobody does#

A remediation plan is not approved until every person it requires has approved it. This page is for the person who runs Hyvop and wants to know what the settings do.

The chain#

The people who must approve a plan are the approvers of its ownership contract, then any person a policy requires. Each has a stage; the approvers of one stage are asked together, and the stages one after the other. A person a policy asks for gets a stage of their own after the others. Whoever answers, on the screen or from a mailed link, is checked in the same place: someone who is not a required approver is refused, and so is an answer out of turn.

The order: core.approvals.order#

Value Meaning
empty or chain Core's default. An answer out of turn is refused: "It is not your turn to answer this plan yet: it waits for Ada (Service Owner)".
any Every required approver may answer at once.

Time and escalation#

A step has a time: what the plan's chain gives it, else core.approvals.stepTimeout (5d as shipped; 0 never escalates). Past it, the step is escalated once: the next person of the chain is asked as well and may answer, or, when the chain names nobody further, the FinOps reviewer is told (core.approvals.escalationEmail; empty: the organisation's administrators). The overdue person's approval is still required: an escalation never lets a plan be approved by fewer people than it needs. Reminders go at core.mail.approvals.reminderInterval (every 3d, twice at most, as shipped), so with the defaults a step is reminded on day 3 and escalated on day 5. Escalation notices go by e-mail only.

Mail or show-only: core.approvals.requests#

Value Meaning
by-edition The default: send when the licence allows remediation beyond preview (Enterprise), show-only otherwise (Community). So the Community Edition shows whom it would ask and sends no mail; the Enterprise Edition mails.
send The people whose turn it is are mailed, reminded and escalated, in every edition, when a relay is set (mail.md).
show-only Nothing is mailed, reminded or escalated. The plan shows each step as "would ask", and answers on the screen still count. The order is enforced all the same.

Without a relay nothing is mailed whatever this says (mail.md).

yaml
core:
  approvals:
    order: chain
    stepTimeout: 3d
    escalationEmail: finops@example.org
    requests: by-edition   # the default; send or show-only to set it for every edition

Not covered#

Slack is not a channel yet: approval is by the screen and by e-mail. A step is escalated once; there is no second level.