Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updates to README before release #104

Merged
merged 2 commits into from
Sep 20, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 17 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@

[![Lint codebase](https://github.com/AxisCommunications/acap-runtime/actions/workflows/lint.yml/badge.svg)](https://github.com/AxisCommunications/acap-runtime/actions/workflows/lint.yml)
[![CI/CD](https://github.com/AxisCommunications/acap-runtime/actions/workflows/ci-cd.yml/badge.svg)](https://github.com/AxisCommunications/acap-runtime/actions/workflows/ci-cd.yml)
[![Proto build](https://github.com/AxisCommunications/acap-runtime/actions/workflows/build-proto-image.yml/badge.svg)](https://github.com/AxisCommunications/acap-runtime/actions/workflows/build-proto-image.yml)

ACAP Runtime is a network protocol based service, using [gRPC][gRPC].
This makes the service available to clients written in different languages on
Expand All @@ -13,10 +14,18 @@ the same device. ACAP Runtime is also described in the [ACAP documentation][acap
If you are new to the world of ACAPs take a moment to check out
[What is ACAP?][acap-documentation]

<!-- omit in toc -->
## Notable Releases
<!-- markdownlint-disable MD013 -->
| Release | AXIS OS min. version | Comment |
| -----------------------: | -------------------: |---------------------------------|
| [2.0.0][latest-release] | 11.10 | Latest release |
| [1.3.1][1.3.1-release] | 10.12 | Legacy release AXIS OS 2022 LTS |

> [!NOTE]
>
> Up until release v1.3.1 ACAP Runtime was distributed both as an ACAP Application eap-file and as a Docker Image.
> All comming releases will be done only as Docker Images.
> Up until release 1.3.1 ACAP Runtime was distributed both in the form of an ACAP application eap-file and as a Docker image.
> From release 2.0.0 and onwards ACAP Runtime will be distributed as a Docker image only.

<!-- omit in toc -->
## Table of contents
Expand Down Expand Up @@ -53,7 +62,7 @@ A client for the ACAP Runtime gRPC server could be developed either using the
[ACAP Computer Vision SDK][acap-documentation-cv]. See the [Examples](#examples)
section for examples of how ACAP Runtime is used together with ACAP Computer Vision SDK.

> **Note**
> [!NOTE]
>
> The ACAP Runtime service can run with TLS authentication or without.
> Be aware that running without TLS authentication is extremely insecure and we
Expand All @@ -66,8 +75,8 @@ authentication when using ACAP Runtime.
The following requirements need to be met.

- Axis device:
- [Docker ACAP][docker-acap] or [Docker Compose ACAP][docker-compose-acap] installed and running.
- AXIS OS version 10.12 or higher.
- [Docker ACAP][docker-acap] or [Docker Compose ACAP][docker-compose-acap] version 2.0.0 or higher, installed and running.
- AXIS OS version 11.10 or higher.
- Certificate files if [TLS](#tls) is used.

- Computer:
Expand Down Expand Up @@ -255,7 +264,7 @@ where `<ARCH>` is either `armv7hf` or `aarch64`.

## Building protofiles for Python

The repository includes a Dockerfile (`Dockerfile.proto`) for building the APIs protofiles for Python. The Dockerfile generates the necessary Python files from the protobuf definitions, allowing gRPC communication with the ACAP Runtime service. This means that applications can copy these prebuilt files from ACAP Runtime container image instead of having to build the protofiles themselves.
The repository includes a Dockerfile (`Dockerfile.proto`) for building the APIs protofiles for Python. The Dockerfile generates the necessary Python files from the protobuf definitions, allowing gRPC communication with the ACAP Runtime service. This means that applications can copy these prebuilt files from `axisecp/acap-runtime:<Release version>-protofiles` image instead of having to build the protofiles themselves.

To build the protofiles:

Expand Down Expand Up @@ -308,6 +317,7 @@ Take a look at the [CONTRIBUTING.md](CONTRIBUTING.md) file.

<!-- Links to external references -->
<!-- markdownlint-disable MD034 -->
[1.3.1-release]: https://github.com/AxisCommunications/acap-runtime/releases/tag/1.3.1
[acap-documentation]: https://axiscommunications.github.io/acap-documentation/docs/introduction/what-is-acap.html
[acap-documentation-native]: https://axiscommunications.github.io/acap-documentation/docs/introduction/acap-sdk-overview.html#acap-native-sdk
[acap-documentation-native-ml]: https://axiscommunications.github.io/acap-documentation/docs/api/native-sdk-api.html#machine-learning-api
Expand All @@ -320,6 +330,7 @@ Take a look at the [CONTRIBUTING.md](CONTRIBUTING.md) file.
[dockerDesktop]: https://docs.docker.com/desktop/
[dockerEngine]: https://docs.docker.com/engine/
[gRPC]: https://grpc.io/
[latest-release]: https://github.com/AxisCommunications/acap-runtime/releases/latest
[minimal-ml-inference]: https://github.com/AxisCommunications/acap-computer-vision-sdk-examples/tree/main/minimal-ml-inference
[openssl-req]: https://www.openssl.org/docs/man3.0/man1/openssl-req.html
[object-detector-python]: https://github.com/AxisCommunications/acap-computer-vision-sdk-examples/tree/main/object-detector-python
Expand Down