Skip to content

Latest commit

 

History

History
453 lines (353 loc) · 21.1 KB

CHANGELOG.md

File metadata and controls

453 lines (353 loc) · 21.1 KB

v0.8.4

Announcing Akri v0.8.4!

Akri v0.8.4 is a pre-release of Akri.

To find out more about Akri, check out our documentation and start contributing today!

New Features

The v0.8.4 release contains the following major changes:

  1. Support for Kubernetes Job brokers (#437). Now Akri has support for deploying Jobs to devices discovered by the Akri Agent. Previously, Akri only supported deploying Pods that were not intended to terminate (and would be restarted if they did). Adding Jobs enables more device use scenarios. More background can be found in the Jobs proposal. This is a breaking change as it required changes to Akri's Configuration CRD.
  2. Fix to re-enable applying multiple Configurations that use the same Discovery Handler (#432). This adds back functionality that was removed in v0.6.5 when enabling Akri's new extensibility model.
  3. Akri depends on crictl to track whether Pods deployed by the Akri Controller are still running. This release adds new functionality (#418) such that crictl is pre-installed in the Agent container so that it does not need to be installed on each node.

Fixes, features, and optimizations

  • fix: Make debug echo capacity configurable (#419)
  • fix: Return okay if get 404 when trying to delete an Instance (#420)
  • opt: Update .NET dependencies, removing vulnerabilities and reducing size (#422)
  • feat: Execute test workloads based on labels instead of flags in PR titles (#426)
  • opt: Set K8s distribution with Helm to simplify choosing container runtime socket (#427)
  • fix: Fix all clippy errors and update dependency versions (#442)

View the full change log

Breaking Changes

Akri's Configuration CRD has been updated to support Job brokers. If Akri has previously been installed on a cluster, delete the previous Configuration CRD before installing the latest version of Akri:

kubectl delete crd configurations.akri.sh

Known Issues

N/A

Validated With

Distribution Version
Kubernetes v1.21.0
Kubernetes v1.20.1
Kubernetes v1.19.4
Kubernetes v1.18.12
Kubernetes v1.17.14
Kubernetes v1.16.15
K3s v1.22.6+k3s1
K3s v1.21.5+k3s1
K3s v1.20.6+k3s1
K3s v1.19.10+k3s1
K3s v1.18.9+k3s1
K3s v1.17.17+k3s1
K3s v1.16.14+k3s1
MicroK8s 1.23/stable
MicroK8s 1.22/stable
MicroK8s 1.21/stable
MicroK8s 1.20/stable
MicroK8s 1.19/stable
MicroK8s 1.18/stable
MicroK8s 1.17/stable
MicroK8s 1.16/stable

What's next?

Check out our roadmap to see the features we are looking forward to!

Thanks 👏

Thank you everyone in the community who helped Akri get to this release! Your interest and contributions help Akri prosper.

⭐ Contributors to v0.8.4 ⭐

  • @bfjelds
  • @kate-goldenring
  • @romoh
  • @vincepnguyen
  • @Ragnyll
  • (Please send us (@Kate Goldenring or @Edrick Wong) a direct message on Slack if we left you out!)

Installation

Akri is packaged as a Helm chart. Check out our installation doc on how to install Akri.

helm repo add akri-helm-charts https://project-akri.github.io/akri/
helm install akri akri-helm-charts/akri --version 0.8.4 \
    # additional configuration

Release history

See CHANGELOG.md for more information on what changed in this and previous releases.

v0.7.0

Announcing Akri v0.7.0!

Akri v0.7.0 is a pre-release of Akri.

To find out more about Akri, check out our documentation and start contributing today!

New Features

The v0.7.0 release marks the first release of Akri in a new project-akri GitHub organization. While no breaking changes were introduced, Akri's minor version was bumped to clearly mark this transition of Akri to a Cloud Native Computing Foundation (CNCF) Sandbox project.

This release also introduces:

  • Open governance documentation
  • The switch from MIT to Apache 2 license (#401)
  • The introduction of the Linux Foundation (LF) Core Infrastructure Initiative (CII) Best Practices badge on Akri's README (#403)
  • The enablement of a Developer Certificate of Origin (DCO) of pull requests, which requires requires all commit messages to contain the Signed-off-by line with an email address that matches the commit author.

View the full change log

Breaking Changes

N/A

Known Issues

A Rust security issue was raised on the time crate, which is used ultimately by Akri's k8s-openapi, kube-rs and opcua-client dependencies via chrono. It appears that the version of time that chrono is using is not vulnerable. This issue tracks the progress on chrono and Akri's dependencies.

Validated With

Distribution Version
Kubernetes v1.21.0
Kubernetes v1.20.1
Kubernetes v1.19.4
Kubernetes v1.18.12
Kubernetes v1.17.14
Kubernetes v1.16.15
K3s v1.21.5+k3s1
K3s v1.20.6+k3s1
K3s v1.19.10+k3s1
K3s v1.18.9+k3s1
K3s v1.17.17+k3s1
K3s v1.16.14+k3s1
MicroK8s 1.21/stable
MicroK8s 1.20/stable
MicroK8s 1.19/stable
MicroK8s 1.18/stable
MicroK8s 1.17/stable
MicroK8s 1.16/stable

What's next?

Check out our roadmap to see the features we are looking forward to!

Thanks

Thank you everyone in the community who helped Akri get to this release! You're interest and contributions help Akri prosper.

Contributors to v0.7.0

  • @bfjelds
  • @kate-goldenring
  • @romoh
  • @edrickwong
  • (Please send us (@Kate Goldenring or @Edrick Wong) a direct message on Slack if we left you out!)

Installation

Akri is packaged as a Helm chart. Check out our installation doc on how to install Akri.

helm repo add akri-helm-charts https://project-akri.github.io/akri/
helm install akri akri-helm-charts/akri --version 0.7.0 \
    # additional configuration

Release history

See CHANGELOG.md for more information on what changed in this and previous releases.

v0.6.19

Announcing Akri v0.6.19!

Akri v0.6.19 is a pre-release of Akri.

To find out more about Akri, check out our documentation and start contributing today!

New Features

The v0.6.19 release features ONVIF Discovery Handler and broker optimizations, long-awaited runtime and Kubernetes dependency updates, and moves Akri's documentation to a docs repository.

Fixes, features, and optimizations

  • opt: Updated Akri's runtime (tokio) and Kubernetes dependencies (kube-rs and k8s-openapi), along with the major versions of all other dependencies where possible. (#361)
  • opt: ONVIF Discovery handler optimized to be more performant (#351)
  • opt: Reduced size of ONVIF broker by decreasing size of OpenCV container (#353)
  • feat: Removed documentation from repository (#360) and placed in project-akri/akri-docs. Created documentation site that points to documentation repository.
  • feat: Workflow to mark inactive issues/PRs as stale and eventually close them (#363)
  • fix: Make Discovery Handlers check channel health each discovery loop (#385)
  • fix: Handle multicast response duplicates in ONVIF Discovery Handler (#393)
  • fix: Use kube-rs resource watcher instead of Api::watch (#378)
  • fix: Prevent re-creation instances when only Configuration metadata or status changes (#373)
  • feat: Enable configuring Prometheus metrics port for local runs (#377)

View the full change log

Breaking Changes

N/A

Known Issues

ONVIF discovery does not work in development versions v0.6.17 and v0.6.18 due to (#382). Issue was resolved for v0.6.19 and beyond in (#393).

Validated With

Distribution Version
Kubernetes v1.21.0
Kubernetes v1.20.1
Kubernetes v1.19.4
Kubernetes v1.18.12
Kubernetes v1.17.14
Kubernetes v1.16.15
K3s v1.21.5+k3s1
K3s v1.20.6+k3s1
K3s v1.19.10+k3s1
K3s v1.18.9+k3s1
K3s v1.17.17+k3s1
K3s v1.16.14+k3s1
MicroK8s 1.21/stable
MicroK8s 1.20/stable
MicroK8s 1.19/stable
MicroK8s 1.18/stable
MicroK8s 1.17/stable
MicroK8s 1.16/stable

What's next?

Check out our roadmap to see the features we are looking forward to!

Thanks

Thank you everyone in the community who helped Akri get to this release! You're interest and contributions help Akri prosper.

Contributors to v0.6.19

  • @ammmze
  • @bfjelds
  • @kate-goldenring
  • @romoh
  • @shantanoo-desai
  • (Please let us know via Slack if we left you out!)

Installation

Akri is packaged as a Helm chart. Check out our installation doc on how to install Akri.

helm repo add akri-helm-charts https://project-akri.github.io/akri/
helm install akri akri-helm-charts/akri --version 0.6.19 \
    # additional configuration

Release history

See CHANGELOG.md for more information on what changed in this and previous releases.

v0.6.5

Announcing Akri v0.6.5!

Akri v0.6.5 is a pre-release of Akri.

To find out more about Akri, check out our README and start contributing today!

New Features

The v0.6.5 release introduces Akri's Logo, new features such as a new extensibility model for Discovery Handlers and a Configuration validating webhook, DevOps improvements, and more.

New Discovery Handler extensibility model

  • feat: Discovery Handlers now live behind a gRPC interface (#252), so Discovery Handlers can be written in any language without forking Akri and working within its code. See the [Discovery Handler development document] to get started creating a Discovery Handler.
  • feat: Support of both default "slim" and old "full" Agent images (#279). Prior to this release, the Agent contained udev, ONVIF, and OPC UA Discovery Handlers. As of this release, Akri is moving towards a default of having no embedded Discovery Handlers in the Agent; rather, the desired Discovery Handlers can be deployed separately using Akri's Helm chart. This decreases the attack surface of the Agent and will keep it from exponential growth as new Discovery Handlers are continually supported. Discovery Handlers written in Rust can be conditionally compiled into the Agent -- reference the development documentation for more details. For the time being, Akri will continue to support a an Agent image with udev, ONVIF, and OPC UA Discovery Handlers. It will be used if agent.full=true is set when installing Akri's Helm chart.
  • feat: Updates to Akri's Helm charts with templates for Akri's Discovery Handlers and renaming of values to better fit the new model.

DevOps improvements

  • feat: Workflow to auto-update dependencies (#224)
  • feat: Security audit workflow (#264)
  • feat: Workflow for canceling previously running workflows on PRs, reducing environmental footprint and queuing of GitHub Actions (#284)
  • feat: Build all rust components in one workflow instead of previous strategy for a workflow for each build (#270)
  • fix: More exhaustive linting of Akri Helm charts (#306)

Other enhancements

Misc

  • feat: Akri Logo (#149)
  • fix: Allow overwriting Controller's nodeSelectors (#194)
  • fix: Updated mockall version (#214)
  • fix: Changed default image PullPolicy from Always to Kubernetes default (IfNotPresent) (#207)
  • fix: Improved video streaming application (for udev demo) that polls for new service creation (#173)
  • fix: Patched anomaly detection application (for OPC UA demo) to show values from all brokers (#229)
  • feat: Timestamped labels for local container builds (#234)
  • fix: Removed udev directory mount from Agent DaemonSet (#304)
  • fix: Modified Debug Echo Discovery Handler to specify Device.properties and added check to e2e tests (#288)
  • feat: Support for specifying environment variables broker Pods via a Configuration's brokerProperties.
  • fix: Default memory and CPU resource requests and limits for Akri containers (#305)

View the full change log

Breaking Changes

Akri's Configuration and Instance CRDs were modified. The old version of the CRDs should be deleted with kubectl delete instances.akri.sh configurations.akri.sh, and the new ones will be applied with a new Akri Helm installation.

  • Akri's Configuration CRD's protocol field was replaced with discoveryHandler in order to fit Akri's new Discovery Handler extensibility model and make the Configuration no longer strongly tied to Discovery Handlers. It's unused units field was removed and properties was renamed brokerProperties to be more descriptive.
  • Akri's Instance CRD's unused rbac field was removed and metadate was renamed brokerProperties to be more descriptive and aligned with the Configuration CRD.

Significant changes were made to Akri's Helm chart. Consult the latest user guide and Configurations documentation.

By default, the Agent contains no Discovery Handlers. To deploy Discovery Handlers, they must be explicitly enabled in Akri's Helm chart.

Known Issues

N/A

Validated With

Distribution Version
Kubernetes v1.21.0
Kubernetes v1.20.1
Kubernetes v1.19.4
Kubernetes v1.18.12
Kubernetes v1.17.14
Kubernetes v1.16.15
K3s v1.20.6+k3s1
K3s v1.19.10+k3s1
K3s v1.18.9+k3s1
K3s v1.17.17+k3s1
K3s v1.16.14+k3s1
MicroK8s 1.21/stable
MicroK8s 1.20/stable
MicroK8s 1.19/stable
MicroK8s 1.18/stable
MicroK8s 1.17/stable
MicroK8s 1.16/stable

What's next?

Check out our roadmap to see the features we are looking forward to!

Release history

See CHANGELOG.md for more information on what changed in this and previous releases.

v0.1.5

Announcing Akri v0.1.5!

Akri v0.1.5 is a pre-release of Akri.

To find out more about Akri, check out our README and start contributing today!

New Features

The v0.1.5 release introduces support for OPC UA discovery along with:

  • End to end demo for discovering and utilizing OPC UA servers
  • Sample anomaly detection application for OPC UA demo
  • Sample OPC UA broker
  • OPC UA certificate generator

View the full change log

Breaking Changes

N/A

Known Issues

N/A

Validated With

Distribution Version
Kubernetes v1.20.1
Kubernetes v1.19.4
Kubernetes v1.18.12
Kubernetes v1.17.14
Kubernetes v1.16.15
K3s v1.20.0+k3s2
K3s v1.19.4+k3s1
K3s v1.18.9+k3s1
MicroK8s 1.20/stable
MicroK8s 1.19/stable
MicroK8s 1.18/stable

What's next?

Check out our roadmap to see the features we are looking forward to!

Release history

See CHANGELOG.md for more information on what changed in this and previous releases.

v0.0.44

Announcing Akri v0.0.44!

Akri v0.0.44 is a pre-release of Akri.

To find out more about Akri, check out our README and start contributing today!

New Features

The v0.0.44 release introduces a number of significant improvements!

  • Enable Akri for armv7
  • Create separate Helm charts for releases (akri) and merges (akri-dev)
  • Parameterize Helm for udev beyond simple video scenario
  • Expand udev discovery by supporting filtering by udev rules that look up the device hierarchy such as SUBSYSTEMS, ATTRIBUTES, DRIVERS, KERNELS, and TAGS
  • Parameterize Helm for udev to allow security context
  • Remove requirement for agent to execute in privileged container

View the full change log

Breaking Changes

N/A

Known Issues

  • Documented Helm settings are not currently compatible with K3s v1.19.4+k3s1

Validated With

Distribution Version
Kubernetes v1.19.4
K3s v1.18.9+k3s1
MicroK8s 1.18/stable

What's next?

Check out our roadmap to see the features we are looking forward to!

Release history

See CHANGELOG.md for more information on what changed in this and previous releases.

v0.0.35

Announcing the Akri v0.0.35 pre-release!

Akri v0.0.35 is the first pre-release of Akri.

To find out more about Akri, check out our README and start contributing today!

New Features

The v0.0.35 release introduces a number of significant features!

  • CRDs to allow the discovery and utilization of leaf devices
  • An agent and controller to find, advertise, and utilize leaf devices
  • Discovery for IP cameras using the ONVIF protocol
  • An ONVIF broker to serve the camera frames
  • Discovery for leaf devices exposed through udev
  • A udev camera broker to serve the camera frames
  • A Helm chart to simplify Akri deployment

View the full change log

Breaking Changes

N/A

Known Issues

N/A

What's next?

Check out our roadmap to see the features we are looking forward to!

Release history

See CHANGELOG.md for more information on what changed in this and previous releases.