convoy docs
Search

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 groupcore.convoy.kumodo.io/v1alpha1
ScopeNamespaced
Subresourcesnone

Contents#

  • inventory has one item per applied object. The list is keyed by group, kind, namespace and name.
  • hooks has one item per lifecycle hook workload. The list is keyed by name and phase.

Writers#

Several components write different fields, with server-side apply:

Field managerComponentFields
convoy-release-inventorycontroller-managerThe identity of each item, renderRef, wave, uid
convoy-health-inventoryobserverstate, assessedRenderRef, firstUnhealthy, message
convoy-release-hookscontroller-managerThe hook items
convoy-hook-statusobserverThe 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#

FieldTypeDescription
hooks[]ReleaseLifecycleHookItemlist type: map, keys: name, phase
hooks[].createdAtTimeCreatedAt is the timestamp when the lifecycle hook workload was created.
hooks[].finishedAtTimeFinishedAt is the timestamp when the lifecycle hook workload finished the job.
hooks[].group requiredstringGroup reflects the API group of the lifecycle hook workload.
hooks[].kind requiredstringKind reflects the kind of the lifecycle hook workload.
hooks[].messagestringMessage is the human-readable message containing the failure reason, if any.
hooks[].name requiredstringName is the name of the lifecycle hook.
hooks[].phase requiredstringPhase is the lifecycle hook phase.
  • PostDelete is the phase of a lifecycle hook that runs after the delete.
  • PostSync is the phase of a lifecycle hook that runs after the sync.
  • PreDelete is the phase of a lifecycle hook that runs before the delete.
  • PreSync is the phase of a lifecycle hook that runs before the sync.
  • SyncFailed is the phase of a lifecycle hook that runs when the sync fails.
hooks[].renderRef requiredstringRenderRef is the hash of the release render. This is used as a gate for decision whether to re-run hook.
hooks[].statestringState is the lifecycle hook state.
  • Failed is the state of a lifecycle hook that has failed.
  • Running is the state of a lifecycle hook that is running.
  • Skipped is the state of a lifecycle hook that has been skipped.
  • Succeeded is the state of a lifecycle hook that has succeeded.
  • TimedOut is the state of a lifecycle hook that has timed out.
hooks[].timeoutDurationTimeout is the timeout for the hook.
hooks[].versionstringVersion reflects the API version of the lifecycle hook workload.
hooks[].weight requiredintegerWeight is the weight of the hook.
hooks[].workloadname requiredstringWorkloadName reflects the name of the lifecycle hook workload.
hooks[].workloadnamespacestringWorkloadNamespace reflects the namespace of the ilifecycle hook workload if any.
inventory[]ResourceInventoryItemlist type: map, keys: group, kind, namespace, name
inventory[].assessedRenderRefstringAssessedRenderRef is the hash of the release render that was assessed.
inventory[].firstUnhealthyTimeFirstUnhealthy contains the timestamp inventoried resource entered unhealthy state for the first time.
inventory[].group requiredstringGroup reflects the API group of the inventoried resource.
inventory[].kind requiredstringKind reflects the kind of the inventoried resource.
inventory[].messagestringMessage contains the message explaining the inventoried resource state (if applicable).
inventory[].name requiredstringName reflects the name of the inventoried resource.
inventory[].namespace requiredstringNamespace reflects the namespace of the inventoried resource if any.
inventory[].renderRefstringRenderRef is the hash of the release render inventoried resource belongs to.
inventory[].statestringState reflects the state of the inventoried resource.
  • Degraded — a rule fails and the deadline has elapsed.
  • Healthy — all applicable rules pass (or none apply).
  • Progressing — a rule fails but the deadline has not elapsed.
  • Unknown — the resource could not be assessed (unreachable / eval error).
inventory[].uidstringUID reflects the uid of the inventoried resource.
inventory[].versionstringVersion reflects the API version of the inventoried resource.
inventory[].waveintegerWave reflects the sync wave inventoried resource belongs to.

In the code

convoy v0.9.0