Factory/akri-chart/values.yaml

881 lines
40 KiB
YAML
Raw Normal View History

# 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