ReleaseInventory
The durable record of the objects and hooks that convoy applied for a Release.
convoy creates one ReleaseInventory per Release, with the same name and namespace. Do not
edit it. convoy uses it to prune, to assess health and to track hooks. It survives restarts of
the convoy components.
| API group | core.convoy.kumodo.io/v1alpha1 |
| Scope | Namespaced |
| Subresources | none |
Contents#
inventoryhas one item per applied object. The list is keyed bygroup,kind,namespaceandname.hookshas one item per lifecycle hook workload. The list is keyed bynameandphase.
Writers#
Several components write different fields, with server-side apply:
| Field manager | Component | Fields |
|---|---|---|
convoy-release-inventory | controller-manager | The identity of each item, renderRef, wave, uid |
convoy-health-inventory | observer | state, assessedRenderRef, firstUnhealthy, message |
convoy-release-hooks | controller-manager | The hook items |
convoy-hook-status | observer | The state of the hook workloads |
The inventory copies the shard label of its Release. When the Release is deleted, convoy deletes the inventory before it clears the Release finalizer.
Fields#
| Field | Type | Description |
|---|---|---|
hooks | []ReleaseLifecycleHookItemlist type: map, keys: name, phase | |
hooks[].createdAt | Time | CreatedAt is the timestamp when the lifecycle hook workload was created. |
hooks[].finishedAt | Time | FinishedAt is the timestamp when the lifecycle hook workload finished the job. |
hooks[].group required | string | Group reflects the API group of the lifecycle hook workload. |
hooks[].kind required | string | Kind reflects the kind of the lifecycle hook workload. |
hooks[].message | string | Message is the human-readable message containing the failure reason, if any. |
hooks[].name required | string | Name is the name of the lifecycle hook. |
hooks[].phase required | string | Phase is the lifecycle hook phase.
|
hooks[].renderRef required | string | RenderRef is the hash of the release render. This is used as a gate for decision whether to re-run hook. |
hooks[].state | string | State is the lifecycle hook state.
|
hooks[].timeout | Duration | Timeout is the timeout for the hook. |
hooks[].version | string | Version reflects the API version of the lifecycle hook workload. |
hooks[].weight required | integer | Weight is the weight of the hook. |
hooks[].workloadname required | string | WorkloadName reflects the name of the lifecycle hook workload. |
hooks[].workloadnamespace | string | WorkloadNamespace reflects the namespace of the ilifecycle hook workload if any. |
inventory | []ResourceInventoryItemlist type: map, keys: group, kind, namespace, name | |
inventory[].assessedRenderRef | string | AssessedRenderRef is the hash of the release render that was assessed. |
inventory[].firstUnhealthy | Time | FirstUnhealthy contains the timestamp inventoried resource entered unhealthy state for the first time. |
inventory[].group required | string | Group reflects the API group of the inventoried resource. |
inventory[].kind required | string | Kind reflects the kind of the inventoried resource. |
inventory[].message | string | Message contains the message explaining the inventoried resource state (if applicable). |
inventory[].name required | string | Name reflects the name of the inventoried resource. |
inventory[].namespace required | string | Namespace reflects the namespace of the inventoried resource if any. |
inventory[].renderRef | string | RenderRef is the hash of the release render inventoried resource belongs to. |
inventory[].state | string | State reflects the state of the inventoried resource.
|
inventory[].uid | string | UID reflects the uid of the inventoried resource. |
inventory[].version | string | Version reflects the API version of the inventoried resource. |
inventory[].wave | integer | Wave reflects the sync wave inventoried resource belongs to. |
In the code
convoy v0.9.0
internal/inventory.(*apiStore).shardLabelsinternal/inventory/apistore.go:70internal/observer.(*HealthController).assessinternal/observer/health.go:318