881 lines
40 KiB
YAML
881 lines
40 KiB
YAML
# Default values for akri.
|
|
# This is a YAML-formatted file.
|
|
# Declare variables to be passed into your templates.
|
|
|
|
# useLatestContainers is specified if the latest or latest-dev
|
|
# tags should be used. This will be overridden if *.image.tag
|
|
# is specified.
|
|
useLatestContainers: false
|
|
|
|
# useDevelopmentContainers is specified if the non-release (*-dev)
|
|
# tags should be used. This will be overridden if *.image.tag
|
|
# is specified.
|
|
useDevelopmentContainers: false
|
|
|
|
# imagePullSecrets is the array of secrets needed to pull images.
|
|
# This can be set from the helm command line using `--set imagePullSecrets[0].name="mysecret"`
|
|
imagePullSecrets: []
|
|
|
|
# kubernetesDistro describes the Kubernetes distro Akri is running on. It is used to conditionally set
|
|
# distribution specific values such as container runtime socket. Options: microk8s | k3s | k8s
|
|
kubernetesDistro: ""
|
|
|
|
# generalize references to `apiGroups` and `apiVersion` values for Akri CRDs
|
|
crds:
|
|
group: akri.sh
|
|
version: v0
|
|
|
|
rbac:
|
|
# enabled defines whether to apply rbac to Akri
|
|
enabled: true
|
|
|
|
prometheus:
|
|
# enabled defines whether metrics ports are exposed on
|
|
# the Controller and Agent
|
|
enabled: false
|
|
# endpoint is the path the port exposed for metrics
|
|
endpoint: /metrics
|
|
# port is the port that the metrics service is exposed on
|
|
port: 8080
|
|
# portName is the name of the metrics port
|
|
portName: metrics
|
|
|
|
controller:
|
|
# enabled defines whether to apply the Akri Controller
|
|
enabled: true
|
|
image:
|
|
# repository is the Akri Controller container reference
|
|
repository: "%%IMG_REPO%%/%%IMG_PREFIX%%akri-controller"
|
|
# tag is the Akri Controller container tag
|
|
# controller.yaml will default to v(AppVersion)[-dev]
|
|
# with `-dev` added if `useDevelopmentContainers` is specified
|
|
tag:
|
|
# pullPolicy is the Akri Controller pull policy
|
|
pullPolicy: "Always"
|
|
# ensures container doesn't run with unnecessary priviledges
|
|
securityContext:
|
|
runAsUser: 1000
|
|
allowPrivilegeEscalation: false
|
|
runAsNonRoot: true
|
|
readOnlyRootFilesystem: true
|
|
capabilities:
|
|
drop: ["ALL"]
|
|
# onlyOnControlPlane dictates whether the Akri Controller will only run on nodes with
|
|
# the label with (key, value) of ("node-role.kubernetes.io/master", "")
|
|
onlyOnControlPlane: false
|
|
# allowOnControlPlane dictates whether a toleration will be added to allow to Akri Controller
|
|
# to run on the control plane node
|
|
allowOnControlPlane: true
|
|
# nodeSelectors is the array of nodeSelectors used to target nodes for the Akri Controller to run on
|
|
# This can be set from the helm command line using `--set controller.nodeSelectors.label="value"`
|
|
nodeSelectors: {}
|
|
resources:
|
|
# memoryRequest defines the minimum amount of RAM that must be available to this Pod
|
|
# for it to be scheduled by the Kubernetes Scheduler
|
|
memoryRequest: 11Mi
|
|
# cpuRequest defines the minimum amount of CPU that must be available to this Pod
|
|
# for it to be scheduled by the Kubernetes Scheduler
|
|
cpuRequest: 10m
|
|
# memoryLimit defines the maximum amount of RAM this Pod can consume.
|
|
memoryLimit: 100Mi
|
|
# cpuLimit defines the maximum amount of CPU this Pod can consume.
|
|
cpuLimit: 26m
|
|
|
|
agent:
|
|
# enabled defines whether to apply the Akri Agent
|
|
enabled: true
|
|
image:
|
|
# repository is the Akri Agent container reference
|
|
repository: "%%IMG_REPO%%/%%IMG_PREFIX%%akri-agent"
|
|
# tag is the Akri Agent container tag
|
|
# agent.yaml will default to v(AppVersion)[-dev]
|
|
# with `-dev` added if `useDevelopmentContainers` is specified
|
|
tag:
|
|
# pullPolicy is the Akri Agent pull policy
|
|
pullPolicy: ""
|
|
securityContext:
|
|
privileged: true
|
|
host:
|
|
# discoveryHandlers is the location of Akri Discovery Handler sockets and
|
|
# the agent registration service
|
|
discoveryHandlers: /var/lib/akri
|
|
# kubeletDevicePlugins is the location of the kubelet device-plugin sockets
|
|
kubeletDevicePlugins: /var/lib/kubelet/device-plugins
|
|
# containerRuntimeSocket is the default node path of the container runtime socket.
|
|
# For MicroK8s, set to "/var/snap/microk8s/common/run/containerd.sock"
|
|
# For K3s, set to "/run/k3s/containerd/containerd.sock"
|
|
# For standard K8s, set to "/run/containerd/containerd.sock"
|
|
containerRuntimeSocket: ""
|
|
# udev is the node path of udev, usually at `/run/udev`
|
|
udev:
|
|
# allowDebugEcho dictates whether the Akri Agent will allow DebugEcho Configurations
|
|
allowDebugEcho: false
|
|
# nodeSelectors is the array of nodeSelectors used to target nodes for the Akri Agent to run on
|
|
# This can be set from the helm command line using `--set agent.nodeSelectors.label="value"`
|
|
nodeSelectors: {}
|
|
resources:
|
|
# memoryRequest defines the minimum amount of RAM that must be available to this Pod
|
|
# for it to be scheduled by the Kubernetes Scheduler
|
|
memoryRequest: 11Mi
|
|
# cpuRequest defines the minimum amount of CPU that must be available to this Pod
|
|
# for it to be scheduled by the Kubernetes Scheduler
|
|
cpuRequest: 10m
|
|
# memoryLimit defines the maximum amount of RAM this Pod can consume.
|
|
memoryLimit: 79Mi
|
|
# cpuLimit defines the maximum amount of CPU this Pod can consume.
|
|
cpuLimit: 26m
|
|
|
|
custom:
|
|
configuration:
|
|
# enabled defines whether to load a custom configuration
|
|
enabled: false
|
|
# name is the Kubernetes resource name that will be created for this
|
|
# custom configuration
|
|
name: akri-custom
|
|
# discoveryHandlerName is the name of the Discovery Handler the Configuration is using
|
|
discoveryHandlerName:
|
|
# brokerProperties is a map of properties that will be passed to any instances
|
|
# created as a result of applying this custom configuration
|
|
brokerProperties: {}
|
|
# capacity is the capacity for any instances created as a result of
|
|
# applying this custom configuration
|
|
capacity: 1
|
|
# discoveryDetails is the string of discovery details that is
|
|
# passed to a Discovery Handler which can parse it into an expected format.
|
|
discoveryDetails: ""
|
|
brokerPod:
|
|
image:
|
|
# repository is the custom broker container reference
|
|
repository:
|
|
# tag is the custom broker image tag
|
|
tag: latest
|
|
# pullPolicy is the custom pull policy
|
|
pullPolicy: ""
|
|
resources:
|
|
# memoryRequest defines the minimum amount of RAM that must be available to this Pod
|
|
# for it to be scheduled by the Kubernetes Scheduler
|
|
memoryRequest: 11Mi
|
|
# cpuRequest defines the minimum amount of CPU that must be available to this Pod
|
|
# for it to be scheduled by the Kubernetes Scheduler
|
|
cpuRequest: 10m
|
|
# memoryLimit defines the maximum amount of RAM this Pod can consume.
|
|
memoryLimit: 24Mi
|
|
# cpuLimit defines the maximum amount of CPU this Pod can consume.
|
|
cpuLimit: 24m
|
|
brokerJob:
|
|
# container used by custom
|
|
image:
|
|
# repository is the custom broker container reference
|
|
repository:
|
|
# tag is the custom broker image tag
|
|
tag: latest
|
|
# pullPolicy is the custom pull policy
|
|
pullPolicy: ""
|
|
# command to be executed in the Pod. An array of arguments. Can be set like:
|
|
# --set custom.configuration.brokerJob.command[0]="sh" \
|
|
# --set custom.configuration.brokerJob.command[1]="-c" \
|
|
# --set custom.configuration.brokerJob.command[2]="echo 'Hello World'"
|
|
command:
|
|
# restartPolicy for the Job. Can either be OnFailure or Never.
|
|
restartPolicy: OnFailure
|
|
resources:
|
|
# memoryRequest defines the minimum amount of RAM that must be available to this Pod
|
|
# for it to be scheduled by the Kubernetes Scheduler
|
|
memoryRequest: 11Mi
|
|
# cpuRequest defines the minimum amount of CPU that must be available to this Pod
|
|
# for it to be scheduled by the Kubernetes Scheduler
|
|
cpuRequest: 10m
|
|
# memoryLimit defines the maximum amount of RAM this Pod can consume.
|
|
memoryLimit: 24Mi
|
|
# cpuLimit defines the maximum amount of CPU this Pod can consume.
|
|
cpuLimit: 24m
|
|
# backoffLimit defines the Kubernetes Job backoff failure policy. More info:
|
|
# https://kubernetes.io/docs/concepts/workloads/controllers/job/#pod-backoff-failure-policy
|
|
backoffLimit: 2
|
|
# parallelism defines how many Pods of a Job should run in parallel. More info:
|
|
# https://kubernetes.io/docs/concepts/workloads/controllers/job/#parallel-jobs
|
|
parallelism: 1
|
|
# completions defines how many Pods of a Job should successfully complete. More info:
|
|
# https://kubernetes.io/docs/concepts/workloads/controllers/job
|
|
completions: 1
|
|
# createInstanceServices is specified if a service should automatically be
|
|
# created for each broker pod
|
|
createInstanceServices: true
|
|
instanceService:
|
|
# name is the description of the instance service
|
|
name: akri-custom-instance-service
|
|
# type is the service type of the instance service
|
|
type: ClusterIP
|
|
# port is the service port of the instance service
|
|
port: 6052
|
|
# targetPort is the service targetPort of the instance service
|
|
targetPort: 6052
|
|
# protocol is the service protocol of the instance service
|
|
protocol: TCP
|
|
# createConfigurationService is specified if a single service should automatically be
|
|
# created for all broker pods of a Configuration
|
|
createConfigurationService: true
|
|
configurationService:
|
|
# name is the description of the configuration service
|
|
name: akri-custom-configuration-service
|
|
# type is the service type of the instance service
|
|
type: ClusterIP
|
|
# port is the service port of the instance service
|
|
port: 6052
|
|
# targetPort is the service targetPort of the instance service
|
|
targetPort: 6052
|
|
# protocol is the service protocol of the instance service
|
|
protocol: TCP
|
|
# discovery defines a set of values for a custom discovery handler DaemonSet
|
|
discovery:
|
|
# exposes discovery handler name as akri.sh/discoveryHandlerName annotation on the DaemonSet
|
|
discoveryHandlerName: ''
|
|
# enabled defines whether discovery handler pods will be deployed in a slim Agent scenario
|
|
enabled: false
|
|
# name is the Kubernetes resource name that will be created for this
|
|
# custom Discovery Handler DaemonSet
|
|
name: akri-custom-discovery
|
|
image:
|
|
# repository is the custom broker container reference
|
|
repository:
|
|
# tag is the custom broker image tag
|
|
tag: latest
|
|
# pullPolicy is the pull policy
|
|
pullPolicy: ""
|
|
# useNetworkConnection specifies whether the discovery handler should make a networked connection
|
|
# with Agents, using its pod IP address when registering
|
|
useNetworkConnection: false
|
|
# port specifies (when useNetworkConnection is true) the port on which the discovery handler advertises its discovery service
|
|
port: 10000
|
|
# nodeSelectors is the array of nodeSelectors used to target nodes for the discovery handler to run on
|
|
# This can be set from the helm command line using `--set custom.discovery.nodeSelectors.label="value"`
|
|
nodeSelectors: {}
|
|
resources:
|
|
# memoryRequest defines the minimum amount of RAM that must be available to this Pod
|
|
# for it to be scheduled by the Kubernetes Scheduler
|
|
memoryRequest: 11Mi
|
|
# cpuRequest defines the minimum amount of CPU that must be available to this Pod
|
|
# for it to be scheduled by the Kubernetes Scheduler
|
|
cpuRequest: 10m
|
|
# memoryLimit defines the maximum amount of RAM this Pod can consume.
|
|
memoryLimit: 24Mi
|
|
# cpuLimit defines the maximum amount of CPU this Pod can consume.
|
|
cpuLimit: 24m
|
|
|
|
debugEcho:
|
|
configuration:
|
|
# enabled defines whether to load a debugEcho configuration
|
|
enabled: false
|
|
# name is the Kubernetes resource name that will be created for this
|
|
# debugEcho configuration
|
|
name: akri-debug-echo
|
|
# brokerProperties is a map of properties that will be passed to any instances
|
|
# created as a result of applying this debugEcho configuration
|
|
brokerProperties: {}
|
|
# capacity is the capacity for any instances created as a result of
|
|
# applying this debugEcho configuration
|
|
capacity: 2
|
|
discoveryDetails:
|
|
# descriptions is the list of instances created as a result of
|
|
# applying this debugEcho configuration
|
|
descriptions:
|
|
- "foo0"
|
|
- "foo1"
|
|
# shared defines whether instances created as a result of
|
|
# applying this debugEcho configuration are shared
|
|
shared: true
|
|
brokerPod:
|
|
# container used by debugEcho
|
|
image:
|
|
# repository is the debugEcho broker container reference
|
|
repository:
|
|
# tag is the debugEcho broker image tag
|
|
tag: latest
|
|
# pullPolicy is the debugEcho pull policy
|
|
pullPolicy: ""
|
|
resources:
|
|
# memoryRequest defines the minimum amount of RAM that must be available to this Pod
|
|
# for it to be scheduled by the Kubernetes Scheduler
|
|
memoryRequest: 10Mi
|
|
# cpuRequest defines the minimum amount of CPU that must be available to this Pod
|
|
# for it to be scheduled by the Kubernetes Scheduler
|
|
cpuRequest: 10m
|
|
# memoryLimit defines the maximum amount of RAM this Pod can consume.
|
|
memoryLimit: 30Mi
|
|
# cpuLimit defines the maximum amount of CPU this Pod can consume.
|
|
cpuLimit: 29m
|
|
brokerJob:
|
|
# container used by debugEcho
|
|
image:
|
|
# repository is the debugEcho broker container reference
|
|
repository:
|
|
# tag is the debugEcho broker image tag
|
|
tag: latest
|
|
# pullPolicy is the debugEcho pull policy
|
|
pullPolicy: ""
|
|
# command to be executed in the Pod. An array of arguments. Can be set like:
|
|
# --set debugEcho.configuration.brokerJob.command[0]="sh" \
|
|
# --set debugEcho.configuration.brokerJob.command[1]="-c" \
|
|
# --set debugEcho.configuration.brokerJob.command[2]="echo 'Hello World'" \
|
|
command:
|
|
# restartPolicy for the Job. Can either be OnFailure or Never.
|
|
restartPolicy: OnFailure
|
|
resources:
|
|
# memoryRequest defines the minimum amount of RAM that must be available to this Pod
|
|
# for it to be scheduled by the Kubernetes Scheduler
|
|
memoryRequest: 10Mi
|
|
# cpuRequest defines the minimum amount of CPU that must be available to this Pod
|
|
# for it to be scheduled by the Kubernetes Scheduler
|
|
cpuRequest: 10m
|
|
# memoryLimit defines the maximum amount of RAM this Pod can consume.
|
|
memoryLimit: 30Mi
|
|
# cpuLimit defines the maximum amount of CPU this Pod can consume.
|
|
cpuLimit: 29m
|
|
# backoffLimit defines the Kubernetes Job backoff failure policy. More info:
|
|
# https://kubernetes.io/docs/concepts/workloads/controllers/job/#pod-backoff-failure-policy
|
|
backoffLimit: 2
|
|
# parallelism defines how many Pods of a Job should run in parallel. More info:
|
|
# https://kubernetes.io/docs/concepts/workloads/controllers/job/#parallel-jobs
|
|
parallelism: 1
|
|
# completions defines how many Pods of a Job should successfully complete. More info:
|
|
# https://kubernetes.io/docs/concepts/workloads/controllers/job
|
|
completions: 1
|
|
# createInstanceServices is specified if a service should automatically be
|
|
# created for each broker pod
|
|
createInstanceServices: true
|
|
instanceService:
|
|
# name is the description of the instance service
|
|
name: akri-debug-echo-foo-instance-service
|
|
# type is the service type of the instance service
|
|
type: ClusterIP
|
|
# port is the service port of the instance service
|
|
port: 6052
|
|
# targetPort is the service targetPort of the instance service
|
|
targetPort: 6052
|
|
# protocol is the service protocol of the instance service
|
|
protocol: TCP
|
|
# createConfigurationService is specified if a single service should automatically be
|
|
# created for all broker pods of a Configuration
|
|
createConfigurationService: true
|
|
configurationService:
|
|
# name is the description of the configuration service
|
|
name: akri-debug-echo-foo-configuration-service
|
|
# type is the service type of the instance service
|
|
type: ClusterIP
|
|
# port is the service port of the instance service
|
|
port: 6052
|
|
# targetPort is the service targetPort of the instance service
|
|
targetPort: 6052
|
|
# protocol is the service protocol of the instance service
|
|
protocol: TCP
|
|
# discovery defines a set of values for a debugEcho discovery handler DaemonSet
|
|
discovery:
|
|
# enabled defines whether discovery handler pods will be deployed in a slim Agent scenario
|
|
enabled: false
|
|
image:
|
|
# repository is the container reference
|
|
repository: "%%IMG_REPO%%/%%IMG_PREFIX%%akri-debug-echo-discovery-handler"
|
|
# tag is the container tag
|
|
# debug-echo-configuration.yaml will default to v(AppVersion)[-dev]
|
|
# with `-dev` added if `useDevelopmentContainers` is specified
|
|
tag:
|
|
# pullPolicy is the pull policy
|
|
pullPolicy: ""
|
|
# useNetworkConnection specifies whether the discovery handler should make a networked connection
|
|
# with Agents, using its pod IP address when registering
|
|
useNetworkConnection: false
|
|
# port specifies (when useNetworkConnection is true) the port on which the discovery handler advertises its discovery service
|
|
port: 10000
|
|
# nodeSelectors is the array of nodeSelectors used to target nodes for the discovery handler to run on
|
|
# This can be set from the helm command line using `--set debugEcho.discovery.nodeSelectors.label="value"`
|
|
nodeSelectors: {}
|
|
resources:
|
|
# memoryRequest defines the minimum amount of RAM that must be available to this Pod
|
|
# for it to be scheduled by the Kubernetes Scheduler
|
|
memoryRequest: 11Mi
|
|
# cpuRequest defines the minimum amount of CPU that must be available to this Pod
|
|
# for it to be scheduled by the Kubernetes Scheduler
|
|
cpuRequest: 10m
|
|
# memoryLimit defines the maximum amount of RAM this Pod can consume.
|
|
memoryLimit: 24Mi
|
|
# cpuLimit defines the maximum amount of CPU this Pod can consume.
|
|
cpuLimit: 26m
|
|
|
|
onvif:
|
|
configuration:
|
|
# enabled defines whether to load a onvif configuration
|
|
enabled: false
|
|
# name is the Kubernetes resource name that will be created for this
|
|
# onvif configuration
|
|
name: akri-onvif
|
|
# brokerProperties is a map of properties that will be passed to any instances
|
|
# created as a result of applying this onvif configuration
|
|
brokerProperties: {}
|
|
discoveryDetails:
|
|
ipAddresses:
|
|
action: Exclude
|
|
items: []
|
|
macAddresses:
|
|
action: Exclude
|
|
items: []
|
|
scopes:
|
|
action: Exclude
|
|
items: []
|
|
uuids:
|
|
action: Exclude
|
|
items: []
|
|
discoveryTimeoutSeconds: 1
|
|
# discoveryProperties is a map of properties fthat will be passed to discovery handler,
|
|
# the properties can be direct specified or read from Secret or ConfigMap
|
|
discoveryProperties:
|
|
# capacity is the capacity for any instances created as a result of
|
|
# applying this onvif configuration
|
|
capacity: 1
|
|
brokerPod:
|
|
image:
|
|
# repository is the onvif broker container reference
|
|
repository:
|
|
# tag is the onvif broker image tag
|
|
tag: latest
|
|
# pullPolicy is the Akri onvif broker pull policy
|
|
pullPolicy: ""
|
|
resources:
|
|
# memoryRequest defines the minimum amount of RAM that must be available to this Pod
|
|
# for it to be scheduled by the Kubernetes Scheduler
|
|
memoryRequest: 98Mi
|
|
# cpuRequest defines the minimum amount of CPU that must be available to this Pod
|
|
# for it to be scheduled by the Kubernetes Scheduler
|
|
cpuRequest: 134m
|
|
# memoryLimit defines the maximum amount of RAM this Pod can consume.
|
|
memoryLimit: 400Mi
|
|
# cpuLimit defines the maximum amount of CPU this Pod can consume.
|
|
cpuLimit: 2800m
|
|
brokerJob:
|
|
# container used by onvif
|
|
image:
|
|
# repository is the onvif broker container reference
|
|
repository:
|
|
# tag is the onvif broker image tag
|
|
tag: latest
|
|
# pullPolicy is the onvif pull policy
|
|
pullPolicy: ""
|
|
# command to be executed in the Pod. An array of arguments. Can be set like:
|
|
# --set onvif.configuration.brokerJob.command[0]="sh" \
|
|
# --set onvif.configuration.brokerJob.command[1]="-c" \
|
|
# --set onvif.configuration.brokerJob.command[2]="echo 'Hello World'"
|
|
command:
|
|
# restartPolicy for the Job. Can either be OnFailure or Never.
|
|
restartPolicy: OnFailure
|
|
resources:
|
|
# memoryRequest defines the minimum amount of RAM that must be available to this Pod
|
|
# for it to be scheduled by the Kubernetes Scheduler
|
|
memoryRequest: 98Mi
|
|
# cpuRequest defines the minimum amount of CPU that must be available to this Pod
|
|
# for it to be scheduled by the Kubernetes Scheduler
|
|
cpuRequest: 134m
|
|
# memoryLimit defines the maximum amount of RAM this Pod can consume.
|
|
memoryLimit: 400Mi
|
|
# cpuLimit defines the maximum amount of CPU this Pod can consume.
|
|
cpuLimit: 2800m
|
|
# backoffLimit defines the Kubernetes Job backoff failure policy. More info:
|
|
# https://kubernetes.io/docs/concepts/workloads/controllers/job/#pod-backoff-failure-policy
|
|
backoffLimit: 2
|
|
# parallelism defines how many Pods of a Job should run in parallel. More info:
|
|
# https://kubernetes.io/docs/concepts/workloads/controllers/job/#parallel-jobs
|
|
parallelism: 1
|
|
# completions defines how many Pods of a Job should successfully complete. More info:
|
|
# https://kubernetes.io/docs/concepts/workloads/controllers/job
|
|
completions: 1
|
|
# createInstanceServices is specified if a service should automatically be
|
|
# created for each broker pod
|
|
createInstanceServices: true
|
|
instanceService:
|
|
# name is the description of the instance service
|
|
name: akri-onvif-instance-service
|
|
# type is the service type of the instance service
|
|
type: ClusterIP
|
|
# portName is the name of the port
|
|
portName: grpc
|
|
# port is the service port of the instance service
|
|
port: 80
|
|
# targetPort is the service targetPort of the instance service
|
|
targetPort: 8083
|
|
# protocol is the service protocol of the instance service
|
|
protocol: TCP
|
|
# createConfigurationService is specified if a single service should automatically be
|
|
# created for all broker pods of a Configuration
|
|
createConfigurationService: true
|
|
configurationService:
|
|
# name is the description of the configuration service
|
|
name: akri-onvif-configuration-service
|
|
# type is the service type of the instance service
|
|
type: ClusterIP
|
|
# portName is the name of the port
|
|
portName: grpc
|
|
# port is the service port of the instance service
|
|
port: 80
|
|
# targetPort is the service targetPort of the instance service
|
|
targetPort: 8083
|
|
# protocol is the service protocol of the instance service
|
|
protocol: TCP
|
|
# discovery defines a set of values for a onvif discovery handler DaemonSet
|
|
discovery:
|
|
# enabled defines whether discovery handler pods will be deployed in a slim Agent scenario
|
|
enabled: false
|
|
image:
|
|
# repository is the container reference
|
|
repository: "%%IMG_REPO%%/%%IMG_PREFIX%%akri-onvif-discovery-handler"
|
|
# tag is the container tag
|
|
# onvif-configuration.yaml will default to v(AppVersion)[-dev]
|
|
# with `-dev` added if `useDevelopmentContainers` is specified
|
|
tag:
|
|
# pullPolicy is the pull policy
|
|
pullPolicy: ""
|
|
# useNetworkConnection specifies whether the discovery handler should make a networked connection
|
|
# with Agents, using its pod IP address when registering
|
|
useNetworkConnection: false
|
|
# port specifies (when useNetworkConnection is true) the port on which the discovery handler advertises its discovery service
|
|
port: 10000
|
|
# nodeSelectors is the array of nodeSelectors used to target nodes for the discovery handler to run on
|
|
# This can be set from the helm command line using `--set onvif.discovery.nodeSelectors.label="value"`
|
|
nodeSelectors: {}
|
|
resources:
|
|
# memoryRequest defines the minimum amount of RAM that must be available to this Pod
|
|
# for it to be scheduled by the Kubernetes Scheduler
|
|
memoryRequest: 11Mi
|
|
# cpuRequest defines the minimum amount of CPU that must be available to this Pod
|
|
# for it to be scheduled by the Kubernetes Scheduler
|
|
cpuRequest: 10m
|
|
# memoryLimit defines the maximum amount of RAM this Pod can consume.
|
|
memoryLimit: 24Mi
|
|
# cpuLimit defines the maximum amount of CPU this Pod can consume.
|
|
cpuLimit: 24m
|
|
|
|
opcua:
|
|
configuration:
|
|
# enabled defines whether to load an OPC UA configuration
|
|
enabled: false
|
|
# name is the Kubernetes resource name that will be created for this
|
|
# OPC UA configuration
|
|
name: akri-opcua
|
|
# brokerProperties is a map of properties that will be passed to any instances
|
|
# created as a result of applying this OPC UA configuration
|
|
brokerProperties: {}
|
|
discoveryDetails:
|
|
# discoveryUrls is a list of DiscoveryUrls for OPC UA servers
|
|
discoveryUrls:
|
|
- "opc.tcp://localhost:4840/"
|
|
# applicationNames is a filter applied to the discovered OPC UA servers to either exclusively
|
|
# include or exclude servers with application names in the applicationNames list.
|
|
applicationNames:
|
|
action: Exclude
|
|
items: []
|
|
# mountCertificates determines whether to mount into the broker pods k8s Secrets
|
|
# containing OPC UA client credentials for connecting to OPC UA severs with the
|
|
# same signing certificate authority.
|
|
# If set to false, the brokers will attempt to make an insecure connection with the servers.
|
|
mountCertificates: false
|
|
# capacity is the capacity for any instances created as a result of
|
|
# applying this OPC UA configuration
|
|
capacity: 1
|
|
brokerPod:
|
|
image:
|
|
# repository is the OPC UA broker container reference
|
|
repository:
|
|
# tag is the OPC UA broker image tag
|
|
tag: latest
|
|
# pullPolicy is the OPC UA broker pull policy
|
|
pullPolicy: ""
|
|
resources:
|
|
# memoryRequest defines the minimum amount of RAM that must be available to this Pod
|
|
# for it to be scheduled by the Kubernetes Scheduler
|
|
memoryRequest: 76Mi
|
|
# cpuRequest defines the minimum amount of CPU that must be available to this Pod
|
|
# for it to be scheduled by the Kubernetes Scheduler
|
|
cpuRequest: 9m
|
|
# memoryLimit defines the maximum amount of RAM this Pod can consume.
|
|
memoryLimit: 200Mi
|
|
# cpuLimit defines the maximum amount of CPU this Pod can consume.
|
|
cpuLimit: 30m
|
|
brokerJob:
|
|
# container used by opcua
|
|
image:
|
|
# repository is the opcua broker container reference
|
|
repository:
|
|
# tag is the opcua broker image tag
|
|
tag: latest
|
|
# pullPolicy is the opcua pull policy
|
|
pullPolicy: ""
|
|
# command to be executed in the Pod. An array of arguments. Can be set like:
|
|
# --set opcua.configuration.brokerJob.command[0]="sh" \
|
|
# --set opcua.configuration.brokerJob.command[1]="-c" \
|
|
# --set opcua.configuration.brokerJob.command[2]="echo 'Hello World'"
|
|
command:
|
|
# restartPolicy for the Job. Can either be OnFailure or Never.
|
|
restartPolicy: OnFailure
|
|
resources:
|
|
# memoryRequest defines the minimum amount of RAM that must be available to this Pod
|
|
# for it to be scheduled by the Kubernetes Scheduler
|
|
memoryRequest: 76Mi
|
|
# cpuRequest defines the minimum amount of CPU that must be available to this Pod
|
|
# for it to be scheduled by the Kubernetes Scheduler
|
|
cpuRequest: 9m
|
|
# memoryLimit defines the maximum amount of RAM this Pod can consume.
|
|
memoryLimit: 200Mi
|
|
# cpuLimit defines the maximum amount of CPU this Pod can consume.
|
|
cpuLimit: 30m
|
|
# backoffLimit defines the Kubernetes Job backoff failure policy. More info:
|
|
# https://kubernetes.io/docs/concepts/workloads/controllers/job/#pod-backoff-failure-policy
|
|
backoffLimit: 2
|
|
# parallelism defines how many Pods of a Job should run in parallel. More info:
|
|
# https://kubernetes.io/docs/concepts/workloads/controllers/job/#parallel-jobs
|
|
parallelism: 1
|
|
# completions defines how many Pods of a Job should successfully complete. More info:
|
|
# https://kubernetes.io/docs/concepts/workloads/controllers/job
|
|
completions: 1
|
|
# createInstanceServices is specified if a service should automatically be
|
|
# created for each broker pod
|
|
createInstanceServices: true
|
|
instanceService:
|
|
# name is the description of the instance service
|
|
name: akri-opcua-instance-service
|
|
# type is the service type of the instance service
|
|
type: ClusterIP
|
|
# port is the service port of the instance service
|
|
port: 80
|
|
# targetPort is the service targetPort of the instance service
|
|
targetPort: 8083
|
|
# protocol is the service protocol of the instance service
|
|
protocol: TCP
|
|
# createConfigurationService is specified if a single service should automatically be
|
|
# created for all broker pods of a Configuration
|
|
createConfigurationService: true
|
|
configurationService:
|
|
# name is the description of the configuration service
|
|
name: akri-opcua-configuration-service
|
|
# type is the service type of the instance service
|
|
type: ClusterIP
|
|
# port is the service port of the instance service
|
|
port: 80
|
|
# targetPort is the service targetPort of the instance service
|
|
targetPort: 8083
|
|
# protocol is the service protocol of the instance service
|
|
protocol: TCP
|
|
# discovery defines a set of values for a opcua discovery handler DaemonSet
|
|
discovery:
|
|
# enabled defines whether discovery handler pods will be deployed in a slim Agent scenario
|
|
enabled: false
|
|
image:
|
|
# repository is the container reference
|
|
repository: "%%IMG_REPO%%/%%IMG_PREFIX%%akri-opcua-discovery-handler"
|
|
# tag is the container tag
|
|
# opcua-configuration.yaml will default to v(AppVersion)[-dev]
|
|
# with `-dev` added if `useDevelopmentContainers` is specified
|
|
tag:
|
|
# pullPolicy is the pull policy
|
|
pullPolicy: ""
|
|
# useNetworkConnection specifies whether the discovery handler should make a networked connection
|
|
# with Agents, using its pod IP address when registering
|
|
useNetworkConnection: false
|
|
# port specifies (when useNetworkConnection is true) the port on which the discovery handler advertises its discovery service
|
|
port: 10000
|
|
# nodeSelectors is the array of nodeSelectors used to target nodes for the discovery handler to run on
|
|
# This can be set from the helm command line using `--set opcua.discovery.nodeSelectors.label="value"`
|
|
nodeSelectors: {}
|
|
resources:
|
|
# memoryRequest defines the minimum amount of RAM that must be available to this Pod
|
|
# for it to be scheduled by the Kubernetes Scheduler
|
|
memoryRequest: 11Mi
|
|
# cpuRequest defines the minimum amount of CPU that must be available to this Pod
|
|
# for it to be scheduled by the Kubernetes Scheduler
|
|
cpuRequest: 10m
|
|
# memoryLimit defines the maximum amount of RAM this Pod can consume.
|
|
memoryLimit: 24Mi
|
|
# cpuLimit defines the maximum amount of CPU this Pod can consume.
|
|
cpuLimit: 24m
|
|
|
|
udev:
|
|
configuration:
|
|
# enabled defines whether to load a udev configuration
|
|
enabled: false
|
|
# name is the Kubernetes resource name that will be created for this
|
|
# udev configuration
|
|
name: akri-udev
|
|
# brokerProperties is a map of properties that will be passed to any instances
|
|
# created as a result of applying this udev configuration
|
|
brokerProperties: {}
|
|
discoveryDetails:
|
|
# groupRecursive defines whether to group discovered parent/children under the same instance
|
|
groupRecursive: false
|
|
# udevRules is the list of udev rules used to find instances created as a result of
|
|
# applying this udev configuration
|
|
udevRules:
|
|
# capacity is the capacity for any instances created as a result of
|
|
# applying this udev configuration
|
|
capacity: 1
|
|
brokerPod:
|
|
image:
|
|
# repository is the udev broker container reference
|
|
repository:
|
|
# tag is the udev broker image tag
|
|
tag: latest
|
|
# pullPolicy is the udev broker pull policy
|
|
pullPolicy: ""
|
|
resources:
|
|
# memoryRequest defines the minimum amount of RAM that must be available to this Pod
|
|
# for it to be scheduled by the Kubernetes Scheduler
|
|
memoryRequest: 10Mi
|
|
# cpuRequest defines the minimum amount of CPU that must be available to this Pod
|
|
# for it to be scheduled by the Kubernetes Scheduler
|
|
cpuRequest: 10m
|
|
# memoryLimit defines the maximum amount of RAM this Pod can consume.
|
|
memoryLimit: 30Mi
|
|
# cpuLimit defines the maximum amount of CPU this Pod can consume.
|
|
cpuLimit: 29m
|
|
securityContext: {}
|
|
brokerJob:
|
|
# container used by udev
|
|
image:
|
|
# repository is the udev broker container reference
|
|
repository:
|
|
# tag is the udev broker image tag
|
|
tag: latest
|
|
# pullPolicy is the udev pull policy
|
|
pullPolicy: ""
|
|
# command to be executed in the Pod. An array of arguments. Can be set like:
|
|
# --set udev.configuration.brokerJob.command[0]="sh" \
|
|
# --set udev.configuration.brokerJob.command[1]="-c" \
|
|
# --set udev.configuration.brokerJob.command[2]="echo 'Hello World'"
|
|
command:
|
|
# restartPolicy for the Job. Can either be OnFailure or Never.
|
|
restartPolicy: OnFailure
|
|
resources:
|
|
# memoryRequest defines the minimum amount of RAM that must be available to this Pod
|
|
# for it to be scheduled by the Kubernetes Scheduler
|
|
memoryRequest: 10Mi
|
|
# cpuRequest defines the minimum amount of CPU that must be available to this Pod
|
|
# for it to be scheduled by the Kubernetes Scheduler
|
|
cpuRequest: 10m
|
|
# memoryLimit defines the maximum amount of RAM this Pod can consume.
|
|
memoryLimit: 30Mi
|
|
# cpuLimit defines the maximum amount of CPU this Pod can consume.
|
|
cpuLimit: 29m
|
|
# backoffLimit defines the Kubernetes Job backoff failure policy. More info:
|
|
# https://kubernetes.io/docs/concepts/workloads/controllers/job/#pod-backoff-failure-policy
|
|
backoffLimit: 2
|
|
# parallelism defines how many Pods of a Job should run in parallel. More info:
|
|
# https://kubernetes.io/docs/concepts/workloads/controllers/job/#parallel-jobs
|
|
parallelism: 1
|
|
# completions defines how many Pods of a Job should successfully complete. More info:
|
|
# https://kubernetes.io/docs/concepts/workloads/controllers/job
|
|
completions: 1
|
|
# createInstanceServices is specified if a service should automatically be
|
|
# created for each broker pod
|
|
createInstanceServices: true
|
|
instanceService:
|
|
# portName is the name of the port
|
|
portName: grpc
|
|
# type is the service type of the instance service
|
|
type: ClusterIP
|
|
# port is the service port of the instance service
|
|
port: 80
|
|
# targetPort is the service targetPort of the instance service
|
|
targetPort: 8083
|
|
# protocol is the service protocol of the instance service
|
|
protocol: TCP
|
|
# createConfigurationService is specified if a single service should automatically be
|
|
# created for all broker pods of a Configuration
|
|
createConfigurationService: true
|
|
configurationService:
|
|
# portName is the name of the port
|
|
portName: grpc
|
|
# type is the service type of the instance service
|
|
type: ClusterIP
|
|
# port is the service port of the instance service
|
|
port: 80
|
|
# targetPort is the service targetPort of the instance service
|
|
targetPort: 8083
|
|
# protocol is the service protocol of the instance service
|
|
protocol: TCP
|
|
# discovery defines a set of values for a udev discovery handler DaemonSet
|
|
discovery:
|
|
# enabled defines whether discovery handler pods will be deployed in a slim Agent scenario
|
|
enabled: false
|
|
image:
|
|
# repository is the container reference
|
|
repository: "%%IMG_REPO%%/%%IMG_PREFIX%%akri-udev-discovery-handler"
|
|
# tag is the container tag
|
|
# udev-configuration.yaml will default to v(AppVersion)[-dev]
|
|
# with `-dev` added if `useDevelopmentContainers` is specified
|
|
tag:
|
|
# pullPolicy is the pull policy
|
|
pullPolicy: ""
|
|
# useNetworkConnection specifies whether the discovery handler should make a networked connection
|
|
# with Agents, using its pod IP address when registering
|
|
useNetworkConnection: false
|
|
# port specifies (when useNetworkConnection is true) the port on which the discovery handler advertises its discovery service
|
|
port: 10000
|
|
# nodeSelectors is the array of nodeSelectors used to target nodes for the discovery handler to run on
|
|
# This can be set from the helm command line using `--set udev.discovery.nodeSelectors.label="value"`
|
|
nodeSelectors: {}
|
|
host:
|
|
# udev is the node path of udev, usually at `/run/udev`
|
|
udev: /run/udev
|
|
resources:
|
|
# memoryRequest defines the minimum amount of RAM that must be available to this Pod
|
|
# for it to be scheduled by the Kubernetes Scheduler
|
|
memoryRequest: 11Mi
|
|
# cpuRequest defines the minimum amount of CPU that must be available to this Pod
|
|
# for it to be scheduled by the Kubernetes Scheduler
|
|
cpuRequest: 10m
|
|
# memoryLimit defines the maximum amount of RAM this Pod can consume.
|
|
memoryLimit: 24Mi
|
|
# cpuLimit defines the maximum amount of CPU this Pod can consume.
|
|
cpuLimit: 24m
|
|
|
|
# Admission Controllers (Webhooks)
|
|
webhookConfiguration:
|
|
# enabled defines whether to apply the Akri Admission Controller (Webhook) for Akri Configurations
|
|
enabled: true
|
|
# name of the webhook
|
|
name: akri-webhook-configuration
|
|
# base64-encoded CA certificate (PEM) used by Kubernetes to validate the Webhook's certificate, if
|
|
# unset, will generate a self-signed certificate valid for 100y
|
|
caBundle: null
|
|
image:
|
|
# repository is the Akri Webhook for Configurations image reference
|
|
repository: "%%IMG_REPO%%/%%IMG_PREFIX%%akri-webhook-configuration"
|
|
# tag is the container tag
|
|
# webhook-configuration.yaml will default to v(AppVersion)[-dev]
|
|
# with `-dev` added if `useDevelopmentContainers` is specified
|
|
tag:
|
|
# pullPolicy is the Akri Webhook pull policy
|
|
pullPolicy: Always
|
|
certImage:
|
|
# reference is the webhook-certgen image reference
|
|
reference: registry.k8s.io/ingress-nginx/kube-webhook-certgen
|
|
# tag is the webhook-certgen image tag
|
|
tag: v1.1.1
|
|
# pullPolicy is the webhook-certgen pull policy
|
|
pullPolicy: IfNotPresent
|
|
# onlyOnControlPlane dictates whether the Akri Webhook will only run on nodes with
|
|
# the label with (key, value) of ("node-role.kubernetes.io/master", "")
|
|
onlyOnControlPlane: false
|
|
# allowOnControlPlane dictates whether a toleration will be added to allow to Akri Webhook
|
|
# to run on the control plane node
|
|
allowOnControlPlane: true
|
|
# nodeSelectors is the array of nodeSelectors used to target nodes for the Akri Webhook to run on
|
|
# This can be set from the helm command line using `--set webhookConfiguration.nodeSelectors.label="value"`
|
|
nodeSelectors: {}
|
|
resources:
|
|
# memoryRequest defines the minimum amount of RAM that must be available to this Pod
|
|
# for it to be scheduled by the Kubernetes Scheduler
|
|
memoryRequest: 100Mi
|
|
# cpuRequest defines the minimum amount of CPU that must be available to this Pod
|
|
# for it to be scheduled by the Kubernetes Scheduler
|
|
cpuRequest: 15m
|
|
# memoryLimit defines the maximum amount of RAM this Pod can consume.
|
|
memoryLimit: 100Mi
|
|
# cpuLimit defines the maximum amount of CPU this Pod can consume.
|
|
cpuLimit: 26m
|