Glossary
This glossary defines key terms used in Koreo grouped by related concept.
Workflows & Functions
Function
Refers to a ValueFunction or ResourceFunction.
ValueFunction
A pure Function which may be used to perform validations, compute values, or restructure data. Learn more about ValueFunctions here.
ResourceFunction
A Function which manages or reads values from a Managed Resource. These Functions are an interface to external state, which they may set and load. When managing a resource, they define a control loop.
Workflow
Defines a collection of Steps to be run and manages their execution. Learn more about Workflows here.
Step
A Workflow step specifies Logic to be run, how inputs from other steps will map into the Logic's inputs, if a Condition should be reported, and if any state should be extracted and returned (either to a calling Workflow or parent resource).
Logic
Refers to a Function or Workflow. Most often the term is used to refer to the Function or Workflow to be run as a Workflow step.
Koreo Expression
A simple expression language that is modeled after CEL, provides capabilities needed for basic logic, arithmetic, string manipulation, and data reshaping used in Workflows and Functions. Learn more about Koreo Expressions here.
ResourceTemplate
Provides a simple means of specifying static values as a base Target Resource Specification. A ResourceTemplate may be dynamically loaded by a ResourceFunction, allowing for configuration based template selection. The static values may be overlaid with values provided to (or computed by) a ResourceFunction.
Outcome
Refers to the return type of a Function or Workflow. Outcome types are:
Ok
: Successful evaluation.Skip
: Skipped without evaluation.DepSkip
: Dependency not ready.Retry
: Reattempt after delay.PermFail
: Permanent failure requiring intervention.
Ok
An Outcome that indicates a successful evaluation. A return value may be present, if expected.
Skip
An Outcome that indicates the Logic was skipped without an attempt to evaluate due to an input or other condition.
DepSkip
An Outcome that indicates a dependency is not yet ready. It means the Logic was skipped without an attempt to evaluate.
Retry
An Outcome that indicates the Logic should be retried after a specified delay. Typically this indicates an active waiting status that is expected to self-resolve over time.
PermFail
An Outcome that indicates a permanent failure condition that will require intervention in order to resolve.
State
Some or all of a Logic's return value which will be set on the
parent resource's status.state
property.
Kubernetes Concepts
Condition
A convention used in Kubernetes resources to communicate status information. Koreo may optionally set Conditions on a parent resource based on the Outcome from a step.
Managed Resource
A Kubernetes resource that a ResourceFunction is managing
to ensures its specification matches a
Target Resource Specification or reads values
from (for readonly
functions).
Target Resource Specification
The specification that a resource is expected to match after all Koreo Expressions have been evaluated and all overlays applied. This is the fully materialized resource view that will be applied to the cluster.
The Target Resource Specification can be assembled in a ResourceFunction with
variety of ways: resource
provides a way to specify an inline static configuration,
resourceTemplateRef
allows dynamically loading a static "base" configuration,
and overlays
provide a mechanism to apply overlays as atomic units
onto the Target Resource Specification. These methods can be combined to create
a "layered" approach to resource materialization in a deterministic manner.
Parent Resource
A Kubernetes resource which is used to trigger Workflow reconciliations and provide configuration to the Workflow instance.
Reconcile
To run a control loop in order to ensure the Conditions and observed state match the desired state. If they do not match, the differences will be reconciled to bring them into alignment.
Control Loop
A control loop observes Conditions and state. If the observed Conditions or state do not meet the target state, then the control loop will attempt to bring them into alignment with the target state by making adjustments.
Testing & Validation
Contract Testing
Used to ensure that correctly structured API calls are made based on a set of inputs.
FunctionTest
Koreo's built in control-loop-friendly testing framework. Allows for unit-testing style validation in addition to contract testing.
Function Under Test
Refers to a ValueFunction or ResourceFunction that is being tested by a FunctionTest.