From 63c600d73ee4e0e2a858345d276b9161bf648e81 Mon Sep 17 00:00:00 2001 From: Kate Goldenring Date: Mon, 26 Apr 2021 14:52:37 -0700 Subject: [PATCH] reference Akri's release Helm chart in documentation --- docs/customizing-akri-installation.md | 8 ++++---- docs/debug-echo-configuration.md | 4 ++-- docs/discovery-handler-development.md | 6 +++--- docs/end-to-end-demo-rpi4.md | 2 +- docs/end-to-end-demo.md | 2 +- docs/extensibility.md | 6 +++--- docs/onvif-configuration.md | 8 ++++---- docs/opcua-configuration.md | 16 ++++++++-------- docs/opcua-demo.md | 14 +++++++------- docs/prometheus.md | 4 ++-- docs/requesting-akri-resources.md | 2 +- docs/udev-configuration.md | 8 ++++---- docs/udev-video-sample.md | 8 ++++---- docs/user-guide.md | 16 ++++++++-------- webhooks/validating/configuration/README.md | 2 +- 15 files changed, 53 insertions(+), 53 deletions(-) diff --git a/docs/customizing-akri-installation.md b/docs/customizing-akri-installation.md index 6849e98e4..24739deeb 100644 --- a/docs/customizing-akri-installation.md +++ b/docs/customizing-akri-installation.md @@ -13,7 +13,7 @@ Discovery Handler using Helm (more information about the Akri Helm charts can be To install Akri without any protocol Configurations, run this: ```bash helm repo add akri-helm-charts https://deislabs.github.io/akri/ -helm install akri akri-helm-charts/akri-dev +helm install akri akri-helm-charts/akri ``` This will deploy the Akri Controller and deploy Akri Agents. @@ -44,7 +44,7 @@ If you want your end application to consume frames from both IP cameras and loca installed from the start with both the ONVIF and udev Configurations like so: ```bash helm repo add akri-helm-charts https://deislabs.github.io/akri/ -helm install akri akri-helm-charts/akri-dev \ +helm install akri akri-helm-charts/akri \ --set onvif.configuration.enabled=true \ --set udev.configuration.enabled=true \ --set udev.configuration.discoveryDetails.udevRules[0]='KERNEL=="video[0-9]*"' @@ -214,14 +214,14 @@ kubectl delete akric akri-onvif The Agent discovers devices via Discovery Handlers. Akri supports an Agent image that includes all supported Discovery Handlers. This Agent will be used if `agent.full=true`, like so: ```bash -helm install akri akri-helm-charts/akri-dev \ +helm install akri akri-helm-charts/akri \ --set agent.full=true ``` By default, a slim Agent without any embedded Discovery Handlers is deployed and the required Discovery Handlers can be deployed as DaemonSets by specifying `.discovery.enabled=true` when installing Akri. For example, Akri is installed with the OPC UA and ONVIF Discovery Handlers like so: ```bash -helm install akri akri-helm-charts/akri-dev \ +helm install akri akri-helm-charts/akri \ --set opcua.discovery.enabled=true \ --set onvif.discovery.enabled=true ``` diff --git a/docs/debug-echo-configuration.md b/docs/debug-echo-configuration.md index 6efe46be2..86467a1d3 100644 --- a/docs/debug-echo-configuration.md +++ b/docs/debug-echo-configuration.md @@ -22,7 +22,7 @@ To install Akri with **external** Debug Echo Discovery Handlers and a Configurat devices, run: ```bash helm repo add akri-helm-charts https://deislabs.github.io/akri/ -helm install akri akri-helm-charts/akri-dev \ +helm install akri akri-helm-charts/akri \ --set agent.allowDebugEcho=true \ --set debugEcho.discovery.enabled=true \ --set debugEcho.configuration.enabled=true \ @@ -33,7 +33,7 @@ helm install akri akri-helm-charts/akri-dev \ > remove `debugEcho.discovery.enabled=true` like in the following installation: >```bash >helm repo add akri-helm-charts https://deislabs.github.io/akri/ ->helm install akri akri-helm-charts/akri-dev \ +>helm install akri akri-helm-charts/akri \ > --set agent.allowDebugEcho=true \ > --set agent.full=true \ > --set debugEcho.configuration.enabled=true \ diff --git a/docs/discovery-handler-development.md b/docs/discovery-handler-development.md index e727982f3..e88b940c0 100644 --- a/docs/discovery-handler-development.md +++ b/docs/discovery-handler-development.md @@ -218,7 +218,7 @@ come together as the following Akri installation command: > additional configuration. ```bash helm repo add akri-helm-charts https://deislabs.github.io/akri/ - helm install akri akri-helm-charts/akri-dev \ + helm install akri akri-helm-charts/akri \ --set imagePullSecrets[0].name="crPullSecret" \ --set custom.discovery.enabled=true \ --set custom.discovery.image.repository=$DH_IMAGE \ @@ -233,7 +233,7 @@ come together as the following Akri installation command: > Note: if your Discovery Handler's `discoveryDetails` cannot be easily set using Helm, generate a Configuration file > and modify it as needed. configuration.enabled`.) > ```bash -> helm install akri akri-helm-charts/akri-dev \ +> helm install akri akri-helm-charts/akri \ > --set imagePullSecrets[0].name="crPullSecret" \ > --set custom.discovery.enabled=true \ > --set custom.discovery.image.repository=$DH_IMAGE \ @@ -270,7 +270,7 @@ resources](./requesting-akri-resources.md). Alternatively, you could have Akri a discovered devices. We call these workloads brokers. To quickly see this, deploy empty nginx pods to discovered resources, by updating our Configuration to include a broker PodSpec. ```bash - helm upgrade akri akri-helm-charts/akri-dev \ + helm upgrade akri akri-helm-charts/akri \ --set imagePullSecrets[0].name="crPullSecret" \ --set custom.discovery.enabled=true \ --set custom.discovery.image.repository=$DH_IMAGE \ diff --git a/docs/end-to-end-demo-rpi4.md b/docs/end-to-end-demo-rpi4.md index 2749ad136..5c487f7a9 100644 --- a/docs/end-to-end-demo-rpi4.md +++ b/docs/end-to-end-demo-rpi4.md @@ -105,7 +105,7 @@ In order for the Agent to know how to discover video devices, the udev Discovery 1. Add the Akri Helm chart and run the install command, setting Helm values as described above. ```sh helm repo add akri-helm-charts https://deislabs.github.io/akri/ - helm install akri akri-helm-charts/akri-dev \ + helm install akri akri-helm-charts/akri \ --set udev.discovery.enabled=true \ --set udev.configuration.enabled=true \ --set udev.configuration.name=akri-udev-video \ diff --git a/docs/end-to-end-demo.md b/docs/end-to-end-demo.md index 5173ee7de..ccb9df61e 100644 --- a/docs/end-to-end-demo.md +++ b/docs/end-to-end-demo.md @@ -88,7 +88,7 @@ In order for the Agent to know how to discover video devices, the udev Discovery 1. Add the Akri Helm chart and run the install command, setting Helm values as described above. ```sh helm repo add akri-helm-charts https://deislabs.github.io/akri/ - helm install akri akri-helm-charts/akri-dev \ + helm install akri akri-helm-charts/akri \ $AKRI_HELM_CRICTL_CONFIGURATION \ --set udev.discovery.enabled=true \ --set udev.configuration.enabled=true \ diff --git a/docs/extensibility.md b/docs/extensibility.md index b5a8682a5..0a2f2cc54 100644 --- a/docs/extensibility.md +++ b/docs/extensibility.md @@ -444,7 +444,7 @@ installation command: > additional configuration. ```bash helm repo add akri-helm-charts https://deislabs.github.io/akri/ - helm install akri akri-helm-charts/akri-dev \ + helm install akri akri-helm-charts/akri \ --set imagePullSecrets[0].name="crPullSecret" \ --set custom.discovery.enabled=true \ --set custom.discovery.image.repository=$DH_IMAGE \ @@ -468,7 +468,7 @@ resources](./requesting-akri-resources.md). Alternatively, you could have Akri a discovered devices. We call these workloads brokers. To quickly see this, lets deploy empty nginx pods to discovered resources, by updating our Configuration to include a broker PodSpec. ```bash - helm upgrade akri akri-helm-charts/akri-dev \ + helm upgrade akri akri-helm-charts/akri \ --set imagePullSecrets[0].name="crPullSecret" \ --set custom.discovery.enabled=true \ --set custom.discovery.image.repository=$DH_IMAGE \ @@ -653,7 +653,7 @@ docker push ${BROKER_IMAGE_TAGGED} Now that the HTTP broker has been created, we can substitute it's image in for the simple nginx broker we previously used in our installation command. ```bash - helm upgrade akri akri-helm-charts/akri-dev \ + helm upgrade akri akri-helm-charts/akri \ --set imagePullSecrets[0].name="crPullSecret" \ --set custom.discovery.enabled=true \ --set custom.discovery.image.repository=$DH_IMAGE \ diff --git a/docs/onvif-configuration.md b/docs/onvif-configuration.md index 158b99ff5..c60b27a4d 100644 --- a/docs/onvif-configuration.md +++ b/docs/onvif-configuration.md @@ -56,7 +56,7 @@ Leveraging the above settings, Akri can be installed with the ONVIF Discovery Ha ```bash helm repo add akri-helm-charts https://deislabs.github.io/akri/ -helm install akri akri-helm-charts/akri-dev \ +helm install akri akri-helm-charts/akri \ --set onvif.discovery.enabled=true \ --set onvif.configuration.enabled=true \ --set onvif.configuration.brokerPod.image.repository="ghcr.io/deislabs/akri/onvif-video-broker" \ @@ -76,7 +76,7 @@ The ONVIF Discovery Handler supports basic filter capabilities has been provided For example, the following enables discovery of every camera that does not have an IP address of 10.0.0.1: ```bash helm repo add akri-helm-charts https://deislabs.github.io/akri/ -helm install akri akri-helm-charts/akri-dev \ +helm install akri akri-helm-charts/akri \ --set onvif.discovery.enabled=true \ --set onvif.configuration.enabled=true \ --set onvif.configuration.brokerPod.image.repository="ghcr.io/deislabs/akri/onvif-video-broker" \ @@ -87,7 +87,7 @@ helm install akri akri-helm-charts/akri-dev \ You can enable cluster access for every camera with a specific name, you can modify the Configuration like so: ```bash helm repo add akri-helm-charts https://deislabs.github.io/akri/ -helm install akri akri-helm-charts/akri-dev \ +helm install akri akri-helm-charts/akri \ --set onvif.discovery.enabled=true \ --set onvif.configuration.enabled=true \ --set onvif.configuration.brokerPod.image.repository="ghcr.io/deislabs/akri/onvif-video-broker" \ @@ -101,7 +101,7 @@ The ONVIF Discovery Handler will search for up to `discoveryTimeoutSeconds` for decreased as desired, and defaults to 1 second if not configured. It can be set in the Configuration like this: ```bash helm repo add akri-helm-charts https://deislabs.github.io/akri/ -helm install akri akri-helm-charts/akri-dev \ +helm install akri akri-helm-charts/akri \ --set onvif.discovery.enabled=true \ --set onvif.configuration.enabled=true \ --set onvif.configuration.brokerPod.image.repository="ghcr.io/deislabs/akri/onvif-video-broker" \ diff --git a/docs/opcua-configuration.md b/docs/opcua-configuration.md index ac1b203bf..64ad5fe87 100644 --- a/docs/opcua-configuration.md +++ b/docs/opcua-configuration.md @@ -60,7 +60,7 @@ pod, you can update the Configuration like this by setting `opcua.configuration. Leveraging the above settings, Akri can be installed with the OPC UA Discovery Handler and an OPC UA Configuration that specifies discovery via the default LDS DiscoveryURL: ```bash helm repo add akri-helm-charts https://deislabs.github.io/akri/ -helm install akri akri-helm-charts/akri-dev \ +helm install akri akri-helm-charts/akri \ --set opcua.discovery.enabled=true \ --set opcua.configuration.enabled=true ``` @@ -69,7 +69,7 @@ If you have a workload that you would like to automatically be deployed to each empty nginx pod for each server. Instead, you should point to your image, say `ghcr.io//opcua-broker`. ```bash helm repo add akri-helm-charts https://deislabs.github.io/akri/ -helm install akri akri-helm-charts/akri-dev \ +helm install akri akri-helm-charts/akri \ --set opcua.discovery.enabled=true \ --set opcua.configuration.enabled=true \ --set opcua.configuration.brokerPod.image.repository=nginx @@ -90,7 +90,7 @@ using the default `opc.tcp://localhost:4840/` LDS DiscoveryURL, an operator can Local Discovery Servers, like in the following example: ```bash helm repo add akri-helm-charts https://deislabs.github.io/akri/ -helm install akri akri-helm-charts/akri-dev \ +helm install akri akri-helm-charts/akri \ --set opcua.discovery.enabled=true \ --set opcua.configuration.enabled=true \ --set opcua.configuration.discoveryDetails.discoveryUrls[0]="opc.tcp://10.1.2.3:4840/" \ @@ -101,7 +101,7 @@ helm install akri akri-helm-charts/akri-dev \ If you know the DiscoveryURLs for the OPC UA Servers you want Akri to discover, manually list them when deploying Akri, like in the following: ```bash helm repo add akri-helm-charts https://deislabs.github.io/akri/ -helm install akri akri-helm-charts/akri-dev \ +helm install akri akri-helm-charts/akri \ --set opcua.discovery.enabled=true \ --set opcua.configuration.enabled=true \ --set opcua.configuration.discoveryDetails.discoveryUrls[0]="opc.tcp://10.123.456.7:4855/" @@ -112,7 +112,7 @@ OPC UA discovery can also receive a list of both OPC UA LDS DiscoveryURLs and sp ```bash helm repo add akri-helm-charts https://deislabs.github.io/akri/ -helm install akri akri-helm-charts/akri-dev \ +helm install akri akri-helm-charts/akri \ --set opcua.discovery.enabled=true \ --set opcua.configuration.enabled=true \ --set opcua.configuration.discoveryDetails.discoveryUrls[0]="opc.tcp://10.1.2.3:4840/" \ @@ -130,7 +130,7 @@ as specified by [OPC UA Specification](https://reference.opcfoundation.org/v104/ the server named "Duke", do the following. ```bash helm repo add akri-helm-charts https://deislabs.github.io/akri/ -helm install akri akri-helm-charts/akri-dev \ +helm install akri akri-helm-charts/akri \ --set opcua.discovery.enabled=true \ --set opcua.configuration.enabled=true \ --set opcua.configuration.discoveryDetails.applicationNames.action=Exclude \ @@ -139,7 +139,7 @@ helm install akri akri-helm-charts/akri-dev \ Alternatively, to only discover the server named "Go Tar Heels!", do the following: ```bash helm repo add akri-helm-charts https://deislabs.github.io/akri/ -helm install akri akri-helm-charts/akri-dev \ +helm install akri akri-helm-charts/akri \ --set opcua.discovery.enabled=true \ --set opcua.configuration.enabled=true \ --set opcua.configuration.discoveryDetails.applicationNames.action=Include \ @@ -174,7 +174,7 @@ template](../deployment/helm/templates/opcua.configuration.yaml). This is the pa certificates. The following is an example how to enable security: ```bash helm repo add akri-helm-charts https://deislabs.github.io/akri/ -helm install akri akri-helm-charts/akri-dev \ +helm install akri akri-helm-charts/akri \ --set opcua.discovery.enabled=true \ --set opcua.configuration.enabled=true \ --set opcua.configuration.mountCertificates='true' diff --git a/docs/opcua-demo.md b/docs/opcua-demo.md index 520998908..c362d24a3 100644 --- a/docs/opcua-demo.md +++ b/docs/opcua-demo.md @@ -185,7 +185,7 @@ to the OPC Foundation's .NET Console Reference Server. security, uncomment `--set opcua.configuration.mountCertificates='true'`. ```sh helm repo add akri-helm-charts https://deislabs.github.io/akri/ - helm install akri akri-helm-charts/akri-dev \ + helm install akri akri-helm-charts/akri \ --set opcua.discovery.enabled=true \ --set opcua.configuration.enabled=true \ --set opcua.configuration.name=akri-opcua-monitoring \ @@ -307,7 +307,7 @@ Kubernetes) cluster. `--set opcua.configuration.mountCertificates='true'` if using security. Watch as the broker terminates and then four come online in a Running state. ```sh - helm upgrade akri akri-helm-charts/akri-dev \ + helm upgrade akri akri-helm-charts/akri \ --set opcua.discovery.enabled=true \ --set opcua.configuration.enabled=true \ --set opcua.configuration.name=akri-opcua-monitoring \ @@ -363,7 +363,7 @@ install Akri with the OPC UA Configuration, passing in the LDS DiscoveryURL inst Replace "Windows host IP address" with the IP address of the Windows machine you installed the LDS on (and is hosting the servers). Be sure to uncomment mounting certificates if you are enabling security: ```sh -helm install akri akri-helm-charts/akri-dev \ +helm install akri akri-helm-charts/akri \ --set opcua.discovery.enabled=true \ --set opcua.configuration.enabled=true \ --set opcua.configuration.name=akri-opcua-monitoring \ @@ -388,7 +388,7 @@ include or exclude a list of application names (the `applicationName` property o specified by UA Specification 12). For example, to discover all servers registered with the default LDS except for the server named "SomeServer0", do the following. ```bash -helm install akri akri-helm-charts/akri-dev \ +helm install akri akri-helm-charts/akri \ --set opcua.discovery.enabled=true \ --set opcua.configuration.enabled=true \ --set opcua.configuration.name=akri-opcua-monitoring \ @@ -402,7 +402,7 @@ helm install akri akri-helm-charts/akri-dev \ ``` Alternatively, to only discover the server named "SomeServer0", do the following: ```bash -helm install akri akri-helm-charts/akri-dev \ +helm install akri akri-helm-charts/akri \ --set opcua.discovery.enabled=true \ --set opcua.configuration.enabled=true \ --set opcua.configuration.name=akri-opcua-monitoring \ @@ -425,7 +425,7 @@ additional information passed to it at all. Decide whether to pass environment v set the broker pod image to be your container image, say `ghcr.io//opcua-broker`. ```sh helm repo add akri-helm-charts https://deislabs.github.io/akri/ -helm install akri akri-helm-charts/akri-dev \ +helm install akri akri-helm-charts/akri \ --set opcua.discovery.enabled=true \ --set opcua.configuration.enabled=true \ --set opcua.configuration.discoveryDetails.discoveryUrls[0]="opc.tcp://:/" \ @@ -441,7 +441,7 @@ apply it to your Kubernetes cluster. ### Creating a new OPC UA Configuration Helm allows us to parametrize the commonly modified fields in our Configuration files, and we have provided many. Run -`helm inspect values akri-helm-charts/akri-dev` to see what values of the generic OPC UA Configuration can be +`helm inspect values akri-helm-charts/akri` to see what values of the generic OPC UA Configuration can be customized, such as the Configuration and Instance `ServiceSpec`s, `capacity`, and broker `PodSpec`. We saw in the previous section how broker Pod environment variables can be specified via `--set opcua.configuration.brokerProperties.KEY='VALUE'`. For more advanced configuration changes that are not aided by the diff --git a/docs/prometheus.md b/docs/prometheus.md index 62224fd34..e08830b31 100644 --- a/docs/prometheus.md +++ b/docs/prometheus.md @@ -48,7 +48,7 @@ installing Akri. Install Akri and expose the Controller and Agent's metrics to Prometheus by running: ```sh helm repo add akri-helm-charts https://deislabs.github.io/akri/ -helm install akri akri-helm-charts/akri-dev \ +helm install akri akri-helm-charts/akri \ --set prometheus.enabled=true ``` > **Note**: This documentation assumes you are using vanilla Kubernetes. Be sure to reference the [user @@ -100,7 +100,7 @@ process metrics and the custom `akri_frame_count` metric to port 8080 at a `/met Configuration name of `akri-udev-video`, by running: ```sh helm repo add akri-helm-charts https://deislabs.github.io/akri/ - helm install akri akri-helm-charts/akri-dev \ + helm install akri akri-helm-charts/akri \ --set udev.enabled=true \ --set udev.name=akri-udev-video \ --set udev.udevRules[0]='KERNEL=="video[0-9]*"' \ diff --git a/docs/requesting-akri-resources.md b/docs/requesting-akri-resources.md index 5bbbd5547..6a5fe9a9c 100644 --- a/docs/requesting-akri-resources.md +++ b/docs/requesting-akri-resources.md @@ -8,7 +8,7 @@ Lets walk through how this works, using the ONVIF Discovery Handler as an exampl omitting a broker pod image. ```bash helm repo add akri-helm-charts https://deislabs.github.io/akri/ -helm install akri akri-helm-charts/akri-dev \ +helm install akri akri-helm-charts/akri \ --set onvif.discovery.enabled=true \ --set onvif.configuration.enabled=true ``` diff --git a/docs/udev-configuration.md b/docs/udev-configuration.md index 74c358ba8..b0b9d50f1 100644 --- a/docs/udev-configuration.md +++ b/docs/udev-configuration.md @@ -110,7 +110,7 @@ To test which devices Akri will discover with a udev rule, you can run the rule Leveraging the above settings, Akri can be installed with the udev Discovery Handler and a udev Configuration with our udev rule specified. ```bash helm repo add akri-helm-charts https://deislabs.github.io/akri/ -helm install akri akri-helm-charts/akri-dev \ +helm install akri akri-helm-charts/akri \ --set udev.discovery.enabled=true \ --set udev.configuration.enabled=true \ --set udev.configuration.discoveryDetails.udevRules[0]='SUBSYSTEM=="sound"\, ATTR{vendor}=="Great Vendor"' @@ -129,7 +129,7 @@ our Helm chart, we suggest creating a Configuration file using Helm and then man The udev Discovery Handler will find all devices that are described by ANY of the udev rules. For example, to discover devices made by either Great Vendor or Awesome Vendor, you could add a second udev rule. ```bash helm repo add akri-helm-charts https://deislabs.github.io/akri/ -helm install akri akri-helm-charts/akri-dev \ +helm install akri akri-helm-charts/akri \ --set udev.discovery.enabled=true \ --set udev.configuration.enabled=true \ --set udev.configuration.discoveryDetails.udevRules[0]='SUBSYSTEM=="sound"\, ATTR{vendor}=="Great Vendor"' \ @@ -152,7 +152,7 @@ environment variable and proceed to interact with the device. To add a broker to empty nginx pod for each instance. Instead, you can point to your image, say `ghcr.io//sound-broker`. ```bash helm repo add akri-helm-charts https://deislabs.github.io/akri/ -helm install akri akri-helm-charts/akri-dev \ +helm install akri akri-helm-charts/akri \ --set udev.discovery.enabled=true \ --set udev.configuration.enabled=true \ --set udev.configuration.discoveryDetails.udevRules[0]='SUBSYSTEM=="sound"\, ATTR{vendor}=="Great Vendor"' \ @@ -172,7 +172,7 @@ By default in the generic udev Configuration, the udev broker is run in privileg Helm. For example, to instead run all processes in the Pod with user ID 1000 and group 1000, do the following: ```bash helm repo add akri-helm-charts https://deislabs.github.io/akri/ -helm install akri akri-helm-charts/akri-dev \ +helm install akri akri-helm-charts/akri \ --set udev.discovery.enabled=true \ --set udev.configuration.enabled=true \ --set udev.configuration.discoveryDetails.udevRules[0]='SUBSYSTEM=="sound"\, ATTR{vendor}=="Great Vendor"' \ diff --git a/docs/udev-video-sample.md b/docs/udev-video-sample.md index b95e8d7ac..26c5081a6 100644 --- a/docs/udev-video-sample.md +++ b/docs/udev-video-sample.md @@ -7,7 +7,7 @@ Udev is a device manager for the Linux kernel. The udev discovery handler parses To use create a udev Configuration for video devices for your cluster, you can simply set `udev.configuration.enabled=true` and a udev rule of `--set udev.configuration.udevRules[0]='KERNEL==\"video[0-9]*\"'` when installing the Akri Helm chart. Also enable udev discovery via `udev.discovery.enabled=true`. Optionally, set a name for your generated Configuration by setting `udev.configuraion.name=akri-udev-video` and add a broker image in the case you want Pods automatically deployed to discovered devices. More information about the Akri Helm charts can be found in the [user guide](./user-guide.md#understanding-akri-helm-charts). ```bash helm repo add akri-helm-charts https://deislabs.github.io/akri/ -helm install akri akri-helm-charts/akri-dev \ +helm install akri akri-helm-charts/akri \ --set udev.discovery.enabled=true \ --set udev.configuration.enabled=true \ --set udev.configuration.name=akri-udev-video \ @@ -29,7 +29,7 @@ Instead of finding all video4linux device nodes, the udev rule can be modified t For example, the rule can be narrowed by matching cameras with specific properties. To see the properties of a camera on a node, do `udevadm info --query=property --name /dev/video0`, passing in the proper devnode name. In this example, `ID_VENDOR=Microsoft` was one of the outputted properties. To only find cameras made by Microsoft, the rule can be modified like the following: ```bash helm repo add akri-helm-charts https://deislabs.github.io/akri/ -helm install akri akri-helm-charts/akri-dev \ +helm install akri akri-helm-charts/akri \ --set udev.discovery.enabled=true \ --set udev.configuration.enabled=true \ --set udev.configuration.name=akri-udev-video \ @@ -40,7 +40,7 @@ helm install akri akri-helm-charts/akri-dev \ As another example, to make sure that the camera has a capture capability rather than just being a video output device, modify the udev rule as follows: ```bash helm repo add akri-helm-charts https://deislabs.github.io/akri/ -helm install akri akri-helm-charts/akri-dev \ +helm install akri akri-helm-charts/akri \ --set udev.discovery.enabled=true \ --set udev.configuration.enabled=true \ --set udev.configuration.name=akri-udev-video \ @@ -51,7 +51,7 @@ helm install akri akri-helm-charts/akri-dev \ ### Modifying the broker PodSpec The `brokerPodSpec` property is a full [PodSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.18/#podspec-v1-core) and can be modified as such. For example, to configure the frame rate, resolution, and image type the broker streams from the discovered video cameras, environment variables can be modified in the PodSpec. To examine what settings are supported by a camera, install `v4l-utils` and run `sudo v4l2-ctl -d /dev/video0 --list-formats-ext` on the node. By default, the environment variables are set to MJPG format, 640x480 resolution, and 10 frames per second. If the broker sees that those settings are not supported by the camera, it will query the v4l device for supported settings and use the first format, resolution, and fps in the lists returned. The environment variables can be changed when installing the Akri Helm chart. For example, tell the broker to stream JPEG format, 1000x800 resolution, and 30 frames per second by setting those environment variables when installing Akri. ```bash - helm install akri akri-helm-charts/akri-dev \ + helm install akri akri-helm-charts/akri \ --set udev.discovery.enabled=true \ --set udev.configuration.enabled=true \ --set udev.configuration.name=akri-udev-video \ diff --git a/docs/user-guide.md b/docs/user-guide.md index 3f4088d07..1163e536e 100644 --- a/docs/user-guide.md +++ b/docs/user-guide.md @@ -31,7 +31,7 @@ helm install akri akri-helm-charts/akri To use the latest containers of the Akri components, add `--set useLatestContainers=true` when installing Akri like so: ```sh -helm install akri akri-helm-charts/akri-dev \ +helm install akri akri-helm-charts/akri \ --set useLatestContainers=true ``` @@ -63,26 +63,26 @@ Let's walk through building an Akri installation command: ``` 2. Install Akri's Controller and Agent, specifying the crictl configuration from [the cluster setup steps](./setting-up-cluster.md) in not using vanilla Kubernetes: ```sh - helm install akri akri-helm-charts/akri-dev \ + helm install akri akri-helm-charts/akri \ $AKRI_HELM_CRICTL_CONFIGURATION ``` - > Note: To use Akri's latest dev releases, specify `akri-helm-charts/akri-dev` + > Note: To use Akri's latest dev releases, specify `akri-helm-charts/akri` 3. Upgrade the installation to deploy the Discovery Handler you wish to use. Discovery Handlers are deployed as DaemonSets like the Agent when `.discovery.enabled` is set. ```sh - helm upgrade akri akri-helm-charts/akri-dev \ + helm upgrade akri akri-helm-charts/akri \ --set .discovery.enabled=true ``` > Note: To install a full Agent with embedded udev, OPC UA, and ONVIF Discovery Handlers, set `agent.full=true` instead of enabling the Discovery Handlers. Note, this we restart the > Agent Pods. > ```sh - > helm upgrade akri akri-helm-charts/akri-dev \ + > helm upgrade akri akri-helm-charts/akri \ > --set agent.full=true > ``` 4. Upgrade the installation to apply a Configuration, which requests discovery of certain devices by a Discovery Handler. A Configuration is applied by setting `.configuration.enabled`. While some Configurations may not require any discovery details to be set, oftentimes setting details is preferable for narrowing the Discovery Handlers' search. These are set under `.configuration.discoveryDetails`. For example, udev rules are passed to the udev Discovery Handler to specify which devices in the Linux device file system it should search for by setting `udev.configuration.discoveryDetails.udevRules`. Akri can be instructed to automatically deploy workloads called "brokers" to each discovered device by setting a broker Pod image in a Configuration via `--set .configuration.brokerPod.image.repository=`. Learn more about creating brokers in the [broker development document](./broker-development.md). ```sh - helm upgrade akri akri-helm-charts/akri-dev \ + helm upgrade akri akri-helm-charts/akri \ --set .discovery.enabled=true \ --set .configuration.enabled=true \ # set any discovery details in the Configuration @@ -92,7 +92,7 @@ Let's walk through building an Akri installation command: Installation could have been done in one step rather than a series of upgrades: ```sh helm repo add akri-helm-charts https://deislabs.github.io/akri/ -helm install akri akri-helm-charts/akri-dev \ +helm install akri akri-helm-charts/akri \ --set .discovery.enabled=true \ --set .configuration.enabled=true \ # set any discovery details in the Configuration @@ -100,7 +100,7 @@ helm install akri akri-helm-charts/akri-dev \ ``` As a real example, Akri's Controller, Agents, udev Discovery Handlers, and a udev Configuration that specifies the discovery of only USB video devices and an nginx broker image are installed like so: ```sh -helm install akri akri-helm-charts/akri-dev \ +helm install akri akri-helm-charts/akri \ --set udev.discovery.enabled=true \ --set udev.configuration.enabled=true \ --set udev.configuration.discoveryDetails.udevRules[0]='KERNEL=="video[0-9]*"' \ diff --git a/webhooks/validating/configuration/README.md b/webhooks/validating/configuration/README.md index 433c67b66..439ab43f7 100644 --- a/webhooks/validating/configuration/README.md +++ b/webhooks/validating/configuration/README.md @@ -59,7 +59,7 @@ WEBHOOK=... NAMESPACE=... CABUNDLE=... -helm install webhook akri-helm-charts/akri-dev \ +helm install webhook akri-helm-charts/akri \ --namespace=${DEFAULT} \ --set=webhookConfiguration.enabled=true \ --set=webhookConfiguration.name=${WEBHOOK} \