Say a mark-only provider's retirement as mark only

A provider that cannot disable keeps the consumer reachable until a person
deletes it (hq ADR 0230); the listing and the approval say so instead of
claiming access was disabled.
This commit is contained in:
jochen
2026-10-06 14:41:15 +02:00
parent 68009b16fe
commit 3b2adda1c8
3 changed files with 48 additions and 10 deletions
+15 -8
View File
@@ -49,6 +49,9 @@ type RetiredConsumer struct {
SizeBytes *int64 `json:"size_bytes,omitempty"`
// Kind is "consumer", or a backend's own word for something set aside ("set-aside-database").
Kind string `json:"kind,omitempty"`
// Access is "disabled" when the provider disabled it, "kept" for a mark-only provider whose consumer
// keeps its access until a person deletes it (ADR 0230); absent is disabled.
Access string `json:"access,omitempty"`
}
// Retirement is one provider's word about consumers the mesh stopped asking for.
@@ -230,12 +233,16 @@ type RetirementRejected struct {
// RetirementState is a provider's answer to provisioner_retirement.
type RetirementState struct {
Resource string `json:"resource"`
Node string `json:"node"`
Held []string `json:"held"`
StablePasses int `json:"stable_passes"`
Bound string `json:"bound"`
Waiting *RetirementWaiting `json:"waiting"`
Rejected *RetirementRejected `json:"rejected"`
Retired []RetiredConsumer `json:"retired"`
Resource string `json:"resource"`
Node string `json:"node"`
Held []string `json:"held"`
StablePasses int `json:"stable_passes"`
// StableForSeconds is how long the same unasked set must hold as well (ADR 0230: ten minutes).
StableForSeconds int `json:"stable_for_seconds,omitempty"`
// RetiresBy is "disable", or "mark-only" for a provider that cannot disable a consumer.
RetiresBy string `json:"retires_by,omitempty"`
Bound string `json:"bound"`
Waiting *RetirementWaiting `json:"waiting"`
Rejected *RetirementRejected `json:"rejected"`
Retired []RetiredConsumer `json:"retired"`
}