summaryrefslogtreecommitdiffstats
path: root/README.md
AgeCommit message (Collapse)AuthorFilesLines
2023-05-20Remove deprecated D-Bus interfaceDenys Dmytriyenko1-4/+1
As applaunchd now uses gRPC as its API and launches applications as systemd services, plus all applications have been converted now, it is time to remove the old D-Bus interface. Bug-AGL: SPEC-4801 Signed-off-by: Denys Dmytriyenko <denys@konsulko.com> Change-Id: Icec29c13d9310cfb043b87e44f4c5f3f0c986ccc
2022-09-10Add gRPC API implementationScott Murray1-7/+17
Changes: - Rename the existing daemon to applaunchd-dbus, and add a new version that exposes a gRPC based implementation of the API based on the protobuf definition added in a top-level protos directory. Having both the D-Bus and gRPC APIs exposed by a single daemon was posing difficulties around startup dependencies stemming from D-Bus activation of the daemon. Since the end goal is dropping the D-Bus API entirely, it is easier to just add a second daemon for gRPC that will eventually be the only one present. - To facilitate building the two implementations, a significant amount of code refactoring has been done to move things from the D-Bus API implementing app_launcher.[ch] to systemd_manager.[ch] so the code can be reused. - All use of the systemd D-Bus library except for the path encoding helper function has been replaced with GDBus. The systemd interface wrapper code was generated with gdbus-codegen from XML files captured via introspection on a running system. The motivation for this change was to avoid multithreading issues with sd_bus exposed when calling into it from the gRPC threads. - The copyright headers in the source files have been tweaked to remove the Apache license boilerplate in favour of a SPDX license tag. Notes: - The gRPC API differs slightly from the D-Bus one in that it has a single status streaming RPC method as opposed to the separate signals for application started or terminated that the D-Bus API has. - The gRPC API is currently unauthenticated, the aim is to circle back and implement authentication once a consensus can be reached on what mechanism should be used (fixed JWT configuration, OAuth, etc.). Bug-AGL: SPEC-4559 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I828f38a58b60e9959162b98054982124d4fa4380
2022-07-27Rework to use systemd for app enumerationneedlefish_13.93.0needlefish/13.93.0lamprey_12.1.6lamprey_12.1.5lamprey/12.1.6lamprey/12.1.513.93.012.1.612.1.5Scott Murray1-3/+3
Rework to replace the Glib .desktop file based app enumeration scheme with querying systemd for units matching the pattern agl-app*@*.service and parsing out the application ID from the unit instance name. At the moment this assumes the use of template units, but that could be changed to open up using non-templated units if desired. Application icons are now assumed to be named with the application ID, and the systemd unit file "Description" field is read and used as the application display name. This avoids needing metadata outside of the systemd unit files. Bug-AGL: SPEC-4466 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: Ida7dc8f7fdb96722df0886eb9a72ee14b0856083
2021-12-20applaunchd: Initial commitArnaud Ferraris1-0/+27
`applaunchd` is a new service, dedicated to starting and monitoring applications. It is part of the Application Framework rework. Bug-AGL: SPEC-4160 Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com> Change-Id: I9543957f9065670e9112556f5cd2b31d0b2ab9d9