Sermos Yaml¶
Definition of the sermos.yaml file. This is only relevant/used for managed deployments through Sermos.ai. If self-hosting, safely disregard this yaml format, no sermos.yaml is required for your application.
If using, a basic file may look like:
imageConfig:
- name: private-worker-image
imageUri: rhoai/private-worker-image:latest
registryDomain: index.docker.io/v1/
registryUser: rhoai
registryPassword: abc123
- name: public-api-image
imageUri: myregistry/public-api-image
environmentVariables:
- name: GLOBAL_ENV_VAR
value: globally-available-env-var
serviceConfig:
- name: demo-api
serviceType: external
serviceId: ${SERVICE_ID_API} # Rendered using `sermos deploy` if available in the environment.
imageName: public-api-image
command: gunicorn --log-level info -k gevent -b 0.0.0.0:5000 sermos_demo_client.app:create_app()
port: 5000
replicaCount: 1
cpuLimit: 0.5
memoryLimit: 0.5
environmentVariables:
- name: FLASK_SECRET_KEY
value: ${FLASK_SECRET_KEY}
- name: sermos-worker
serviceType: celery-worker
serviceId: ${SERVICE_ID_WORKER}
imageName: private-worker-image
command: celery -A sermos_demo_client.celery worker --without-gossip --without-mingle -c '1' -l INFO --queue default-task-queue
replicaCount: 1
cpuLimit: 0.5
memoryLimit: 0.5
registeredTasks:
- handler: sermos_demo_client.workers.demo_worker.demo_worker_task
- handler: sermos_demo_client.workers.demo_worker.demo_model_task
environmentVariables:
- name: WORKER_NAME
value: sermos-worker
pipelines:
demo-pipeline:
name: demo-pipeline
description: Demo Pipeline.
schemaVersion: 1
config:
dagAdjacency:
node_a:
- node_b
- node_c
metadata:
maxRetry: 3
maxTtl: 60
queue: default-task-queue
taskDefinitions:
node_a:
handler: sermos_demo_client.workers.demo_pipeline.demo_pipeline_node_a
node_b:
handler: sermos_demo_client.workers.demo_pipeline.demo_pipeline_node_b
queue: node-b-queue
node_c:
handler: sermos_demo_client.workers.demo_pipeline.demo_pipeline_node_c
scheduledTasks:
demo-model-task:
name: Demo Model Task
enabled: true
config:
scheduleType: interval
task: sermos_demo_client.workers.demo_worker.demo_model_task
queue: default-task-queue
schedule:
every: 60
period: seconds
schemaVersion: 1
Yaml Format¶
- sermos_yaml.SermosYamlSchema = <class 'sermos.sermos_yaml.SermosYamlSchema'>¶