MicroExecutor Specification
In the values.yaml
file, under the microexecutors
field it is possible to define a custom microexecutor deployment.
The YAML spec is the following:
# microexecutor name, should be prefixed with "me-" (required)
name: me-example
image:
# container image URL (required)
name: 100076361442.dkr.ecr.eu-south-1.amazonaws.com/kokos-example
# container image tag (required)
tag: latest
# internal port where the microexecutor is listening, will be mapped to port 80 of the service (required)
internalPort: 8080
# external port exposed by the service, defaults to 80 (optional)
externalPort: 80
# extra ports exposed by the container (optional)
extraPorts: []
# - name: my-port
# internalPort: 9000
# externalPort: 9000
# # protocol is optional, defaults to "TCP"
# protocol: TCP
# number of pod replicas, defaults to 1 (optional)
replicaCount: 1
# Ingress configurations (optional)
# - `internalPort` is required
# - at least one of `applicationContext` or `hostname` must be specified
# - `className` is optional and will default to the default ingress class name
# - `annotations` is optional
ingress:
internalPort: 8181
applicationContext: my-context
hostname: test.example.com
className: traefik
annotations: {}
# custom deployment annotations (optional)
customDeploymentAnnotations: {}
# pod resource limits and requests (optional)
resources: {}
# custom creation of volumes through PVCs (optional)
# to use the PVCs inside the microexecutor, they must be mounted using the `extraVolumes` and `extraVolumeMounts` fields
# - `name` is required and must be unique
# - `storage` is required
# - `storageClassName` is optional, omitting it will make it so the PVC uses the default storage class of the cluster
# - `accessModes` is optional, omitting it will default to the value defined in `.global.persistence.kokos.accessModes`
createVolumeClaims: []
# - name: my-new-volume
# storage: 1Gi
# storageClassName: ""
# accessModes: []
# custom volumes (optional)
extraVolumes: []
# - name: my-volume
# persistentVolumeClaim:
# claimName: pvc-smb-share0
# custom volume mounts (optional)
extraVolumeMounts: []
# - name: my-volume
# mountPath: /mnt/test-mount
# environment variables as key-value pairs (optional)
env:
EXAMPLE_ENV: my-value
EXAMPLE_ENV_2: my-value-2
# configuration file (optional)
cfg:
# name of the configuration file
filename: me-example.yaml
# [OPTIONAL] absolute mount path of the file (if omitted, the default is: "/home/kokos/etc/kokos/${ME-NAME}")
# if you specify a mountpath, it HAS to include the trailing slash and NOT have the filename+extension (a good example is: /home/kokos/testpath/ )
mountPath: /home/kokos/my-custom-path/
# the configuration file's content
data: |
exampleDatabaseName: postgresql
# custom configuration files (optional)
extraConfigs: []
# - name: my-config
# filename: my-config.yaml
# # do not forget the trailing slash!
# mountPath: /home/kokos/my-custom-path/
# data: |
# exampleDatabaseName: postgresql
# add additional sidecar containers
sidecars: []
# - name: my-container
# image: my-image:mytag
# imagePullPolicy: Always
# ports:
# - name: portname
# containerPort: 1234