A KRT yaml file is a declarative file describing the content of the KRT. It has general description of the Version, a GRPC entrypoint for the Runtime Version and nodes that are connected between each other to form workflows that will be accessed through GRPC services defined on the entrypoint.
Here is an example:
version: price-estimator-v3
description: New Room Price predictions.
entrypoint:
proto: public_input.proto
image: konstellation/kre-entrypoint:1.6.0
config:
variables:
- OUTPUT_PRICE_CURRENCY
nodes:
- name: etl
image: konstellation/kre-py:1.23.1
src: src/etl/main.py
- name: model
image: konstellation/kre-py:1.23.1
src: src/model/main.py
- name: output
image: konstellation/kre-py:1.23.1
src: src/output/main.py
- name: save-metric
image: konstellation/kre-py:1.23.1
src: src/save-prediction-metric/main.py
workflows:
- name: ny-room-price
entrypoint: MakePrediction
sequential:
- etl
- model
- output
- name: save-metric
entrypoint: SavePredictionMetric
sequential:
- save-metric
Here is a description of each field divided in five main concepts that make a KRT file:
Descriptive information of the Runtime Version.
This section describes how to access the Runtime Version.
This section describes all variables and files that are environment related and would be configured once the Runtime Version is uploaded to a KAI Server instance. This includes sensible data that should not be included on the KRT file, for example passwords.
All configuration defined here is mandatory, the Runtime Version won’t run if any of them is undefined.
This section includes a list of all existing components in the KRT file. Each component of a Runtime Version is a node. To define each node in the krt file, you need to specify a name, a base image and its main source file.
This section includes the list of workflows contained in the KRT file. Each workflow connects one or more nodes between each other and with a service defined in the entrypoint proto file.