Age | Commit message (Collapse) | Author | Files | Lines |
|
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
|
|
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
|
|
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
|
|
`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
|