Skip to content

connectivity: kuksa-databroker: update to 0.6.1 - #243

Open
mlohvynenko wants to merge 107 commits into
aosedge:developfrom
mlohvynenko:update_kuksa
Open

connectivity: kuksa-databroker: update to 0.6.1#243
mlohvynenko wants to merge 107 commits into
aosedge:developfrom
mlohvynenko:update_kuksa

Conversation

@mlohvynenko

Copy link
Copy Markdown
Member

No description provided.

mlohvynenko and others added 30 commits March 27, 2025 17:02
Signed-off-by: Mykhailo Lohvynenko <Mykhailo_Lohvynenko@epam.com>
Signed-off-by: Mykola Solianko <mykola_solianko@epam.com>
Signed-off-by: Mykola Solianko <mykola_solianko@epam.com>
… SSH

Signed-off-by: Mykola Solianko <mykola_solianko@epam.com>
We need to add aos-provfirewall to all nodes to
lock access to open ports from the outside.

Signed-off-by: Mykola Solianko <mykola_solianko@epam.com>
When we deprovision the unit, we need to remove the
firewall rules that block access to the ports.

Signed-off-by: Mykola Solianko <mykola_solianko@epam.com>
Signed-off-by: Mykola Solianko <mykola_solianko@epam.com>
Signed-off-by: Mykola Kobets <mykola_kobets@epam.com>
Signed-off-by: Mykola Kobets <mykola_kobets@epam.com>
Signed-off-by: Mykola Kobets <mykola_kobets@epam.com>
Add python3-aiohttp and python3-socketio packages.

Signed-off-by: Oleksandr Grytsov <oleksandr_grytsov@epam.com>
Signed-off-by: Oleksandr Grytsov <oleksandr_grytsov@epam.com>
Signed-off-by: Oleksandr Grytsov <oleksandr_grytsov@epam.com>
Signed-off-by: Oleksandr Grytsov <oleksandr_grytsov@epam.com>
* add optional field `task`;
* make `bbake_conf` field optional.

Signed-off-by: Oleksandr Grytsov <oleksandr_grytsov@epam.com>
Signed-off-by: Oleksandr Grytsov <oleksandr_grytsov@epam.com>
Signed-off-by: Oleksandr Grytsov <oleksandr_grytsov@epam.com>
Signed-off-by: Oleksandr Grytsov <oleksandr_grytsov@epam.com>
SM and IAM installs aos_core_common_cpp headers during populating sdk. It
causes files conflicts. Remove installing headers as temporary WA. Need to
be fixed in SM, IAM and MP repos.

Signed-off-by: Oleksandr Grytsov <oleksandr_grytsov@epam.com>
Signed-off-by: Oleksandr Grytsov <oleksandr_grytsov@epam.com>
This patch ensures that all logs from initramfs are redirected to kmseg,
so they are visible in the kernel log buffer and journalctl.

Signed-off-by: Mykhailo Lohvynenko <Mykhailo_Lohvynenko@epam.com>
Signed-off-by: Mykola Kobets <mykola_kobets@epam.com>
Mount directories are created during disk setup, but they are not
removed when the disk setup delete command is executed.
This patch makes disk setup create and delete comands consistent.

Signed-off-by: Mykhailo Lohvynenko <Mykhailo_Lohvynenko@epam.com>
These python package recipes are taken from the meta-agl
repository (meta-agl/meta-agl-kuksa/recipes-devtools/python).

Signed-off-by: Mykhailo Lohvynenko <Mykhailo_Lohvynenko@epam.com>
Signed-off-by: Mykhailo Lohvynenko <Mykhailo_Lohvynenko@epam.com>
Signed-off-by: Mykhailo Lohvynenko <Mykhailo_Lohvynenko@epam.com>
Signed-off-by: Mykhailo Lohvynenko <Mykhailo_Lohvynenko@epam.com>
Signed-off-by: Mykhailo Lohvynenko <Mykhailo_Lohvynenko@epam.com>
Signed-off-by: Mykola Solianko <mykola_solianko@epam.com>
al1img and others added 28 commits June 5, 2026 19:20
In yocto it is not enough to put root cert into specific directory. It should
be updated then using update-ca-certificates tool. We can't call this tool
in post inst script as we have readonly rootfs. ca-certificates recipe performs
update certificates as it has access to sysroot update-ca-certificates tool.
The proper way to deploy root cert to yocto rootfs is to add it in specifi
directory as part of ca-certificates recipe.

Signed-off-by: Oleksandr Grytsov <oleksandr_grytsov@epam.com>
Reviewed-by: Mykola Kobets <mykola_kobets@epam.com>
Reviewed-by: Mykola Solianko <mykola_solianko@epam.com>
Reviewed-by: Mykhailo Lohvynenko <mykhailo_lohvynenko@epam.com>
Remove bundle-generator.bbclass and metadata-generator.bbclass as
metadata generation is moved to unified Python scripts.

Signed-off-by: Mykola Solianko <mykola_solianko@epam.com>
Reviewed-by: Oleksandr Grytsov <oleksandr_grytsov@epam.com>
Reviewed-by: Mykola Kobets <mykola_kobets@epam.com>
Reviewed-by: Mykhailo Lohvynenko <mykhailo_lohvynenko@epam.com>
Add metadata_builder.py with Pydantic-based data models for AOS
update items. Provides BundleBuilder class that organizes build
artifacts into per-item subdirectories and generates config.yaml
metadata with publisher and publish configuration.

Signed-off-by: Mykola Solianko <mykola_solianko@epam.com>
Reviewed-by: Oleksandr Grytsov <oleksandr_grytsov@epam.com>
Reviewed-by: Mykola Kobets <mykola_kobets@epam.com>
Reviewed-by: Mykhailo Lohvynenko <mykhailo_lohvynenko@epam.com>
Use BundleBuilder for metadata generation. Each layer is built into
its own subdirectory under output_dir/layers/. Layer directory is
cleared before each build.

Signed-off-by: Mykola Solianko <mykola_solianko@epam.com>
Reviewed-by: Oleksandr Grytsov <oleksandr_grytsov@epam.com>
Reviewed-by: Mykola Kobets <mykola_kobets@epam.com>
Reviewed-by: Mykhailo Lohvynenko <mykhailo_lohvynenko@epam.com>
Use BundleBuilder for metadata generation. Each component is built
into its own subdirectory under output_dir/fota/. Incremental type
is now determined per-item from config instead of per-bundle.

Signed-off-by: Mykola Solianko <mykola_solianko@epam.com>
Reviewed-by: Oleksandr Grytsov <oleksandr_grytsov@epam.com>
Reviewed-by: Mykola Kobets <mykola_kobets@epam.com>
Reviewed-by: Mykhailo Lohvynenko <mykhailo_lohvynenko@epam.com>
Remove digest-based intermediate archive and pack rootfs diff directly
into {OS}-{arch}-{version}.tar.gz. Remove unused variables and metadata
generation. Add AOS_LAYER_OS and AOS_LAYER_ARCH configuration.

Signed-off-by: Mykola Solianko <mykola_solianko@epam.com>
Reviewed-by: Oleksandr Grytsov <oleksandr_grytsov@epam.com>
Reviewed-by: Mykola Kobets <mykola_kobets@epam.com>
Reviewed-by: Mykhailo Lohvynenko <mykhailo_lohvynenko@epam.com>
Layer version is now provided from build configuration yaml
via layer_builder.py instead of being hardcoded in each recipe.

Signed-off-by: Mykola Solianko <mykola_solianko@epam.com>
Reviewed-by: Oleksandr Grytsov <oleksandr_grytsov@epam.com>
Reviewed-by: Mykola Kobets <mykola_kobets@epam.com>
Reviewed-by: Mykhailo Lohvynenko <mykhailo_lohvynenko@epam.com>
Packing layer should be performed out of root. Otherwise it makes issue during
layer rebuild.

Signed-off-by: Oleksandr Grytsov <oleksandr_grytsov@epam.com>
Reviewed-by: Mykhailo Lohvynenko <mykhailo_lohvynenko@epam.com>
Reviewed-by: Mykola Kobets <mykola_kobets@epam.com>
Reviewed-by: Mykola Solianko <mykola_solianko@epam.com>
This requires to have same digest for layers with the same content.

Signed-off-by: Oleksandr Grytsov <oleksandr_grytsov@epam.com>
Reviewed-by: Mykhailo Lohvynenko <mykhailo_lohvynenko@epam.com>
Reviewed-by: Mykola Kobets <mykola_kobets@epam.com>
Reviewed-by: Mykola Solianko <mykola_solianko@epam.com>
Layers can now declare a single `dependency: {item, versions}` referring
to another item by name. layer_builder topologically sorts items, then
passes the parent's bitbake target as AOS_PARENT_LAYER, so the diff
rootfs is computed against the parent layer instead of the base image.

metadata_builder._create_dependencies now consumes the same singular
`dependency` form and emits a single-element dependencies list. The
fota builder is updated to use the same yaml shape (metadata only,
no build-time effect), replacing the previous plural `dependencies`.

Signed-off-by: Mykola Solianko <mykola_solianko@epam.com>
Reviewed-by: Oleksandr Grytsov <oleksandr_grytsov@epam.com>
Reviewed-by: Mykola Kobets <mykola_kobets@epam.com>
Reviewed-by: Mykhailo Lohvynenko <mykhailo_lohvynenko@epam.com>
This patch adds support for handling update item configuration,
which contains runtime parameters for update items.

Signed-off-by: Mykhailo Lohvynenko <mykhailo_lohvynenko@epam.com>
Reviewed-by: Mykola Kobets <mykola_kobets@epam.com>
Reviewed-by: Mykola Solianko <mykola_solianko@epam.com>
Reviewed-by: Oleksandr Grytsov <oleksandr_grytsov@epam.com>
This patch ensures that the source folder for the update item is
set to the directory containing the built component,
otherwise aos-signer uses codename of the component,
which leads to file not found errors.

Signed-off-by: Mykhailo Lohvynenko <mykhailo_lohvynenko@epam.com>
Reviewed-by: Mykola Kobets <mykola_kobets@epam.com>
Reviewed-by: Mykola Solianko <mykola_solianko@epam.com>
Reviewed-by: Oleksandr Grytsov <oleksandr_grytsov@epam.com>
Add missing dash before numeric-owner parameter. Return back fakeroot for
whole do_create_layer function.

Signed-off-by: Oleksandr Grytsov <oleksandr_grytsov@epam.com>
Reviewed-by: Mykola Solianko <mykola_solianko@epam.com>
Reviewed-by: Mykhailo Lohvynenko <mykhailo_lohvynenko@epam.com>
Reviewed-by: Mykola Kobets <mykola_kobets@epam.com>
* add output_dir property as protected member is accessible from other scripts;
* group public methods and protected methods.

Signed-off-by: Oleksandr Grytsov <oleksandr_grytsov@epam.com>
Reviewed-by: Mykola Solianko <mykola_solianko@epam.com>
Reviewed-by: Mykhailo Lohvynenko <mykhailo_lohvynenko@epam.com>
Reviewed-by: Mykola Kobets <mykola_kobets@epam.com>
Signed-off-by: Oleksandr Grytsov <oleksandr_grytsov@epam.com>
Reviewed-by: Mykola Solianko <mykola_solianko@epam.com>
Reviewed-by: Mykhailo Lohvynenko <mykhailo_lohvynenko@epam.com>
Reviewed-by: Mykola Kobets <mykola_kobets@epam.com>
crates.io starts to verify user-agent and forbids downloads with no used agent
specified. Explicitly add Mozilla user agent to wget command.

Signed-off-by: Oleksandr Grytsov <oleksandr_grytsov@epam.com>
Reviewed-by: Mykola Kobets <mykola_kobets@epam.com>
Reviewed-by: Mykhailo Lohvynenko <mykhailo_lohvynenko@epam.com>
Reviewed-by: Mykola Solianko <mykola_solianko@epam.com>
Signed-off-by: Mykhailo Lohvynenko <mykhailo_lohvynenko@epam.com>
Reviewed-by: Mykola Kobets <mykola_kobets@epam.com>
Reviewed-by: Mykola Solianko <mykola_solianko@epam.com>
Reviewed-by: Oleksandr Grytsov <oleksandr_grytsov@epam.com>
Signed-off-by: Mykhailo Lohvynenko <mykhailo_lohvynenko@epam.com>
Reviewed-by: Mykola Kobets <mykola_kobets@epam.com>
Reviewed-by: Mykola Solianko <mykola_solianko@epam.com>
Reviewed-by: Oleksandr Grytsov <oleksandr_grytsov@epam.com>
To make quota works on remote node after provisioning, we need to restart
rpc-rquotad.service on main node after provisioning is finished.

Signed-off-by: Oleksandr Grytsov <oleksandr_grytsov@epam.com>
Reviewed-by: Mykola Solianko <mykola_solianko@epam.com>
Reviewed-by: Mykhailo Lohvynenko <mykhailo_lohvynenko@epam.com>
Reviewed-by: Mykola Kobets <mykola_kobets@epam.com>
Signed-off-by: Mykhailo Lohvynenko <mykhailo_lohvynenko@epam.com>
Reviewed-by: Mykola Kobets <mykola_kobets@epam.com>
Reviewed-by: Mykola Solianko <mykola_solianko@epam.com>
Signed-off-by: Mykhailo Lohvynenko <mykhailo_lohvynenko@epam.com>
Reviewed-by: Mykola Kobets <mykola_kobets@epam.com>
Reviewed-by: Oleksandr Grytsov <oleksandr_grytsov@epam.com>
Remove the AOS_CONTAINER_RUNNER variable and seal
crun as the  container runner.

Signed-off-by: Mykhailo Lohvynenko <mykhailo_lohvynenko@epam.com>
Reviewed-by: Mykola Kobets <mykola_kobets@epam.com>
Reviewed-by: Oleksandr Grytsov <oleksandr_grytsov@epam.com>
Depend on nftables and dnsmasq instead of the CNI plugins, recommend the
nftables and tc kernel modules in place of the iptables ones, and drop
the aos-firewall, aos-dnsname and cni recipes.

Signed-off-by: Mykola Solianko <mykola_solianko@epam.com>
Reviewed-by: Mykola Kobets <mykola_kobets@epam.com>
Reviewed-by: Oleksandr Grytsov <oleksandr_grytsov@epam.com>
Reviewed-by: Mykhailo Lohvynenko <mykhailo_lohvynenko@epam.com>
Replace the iptables INPUT rules with an nftables table (inet aos-provfw);
deprovision tears it down with nft. Depend on nftables and the conntrack
modules instead of iptables.

Signed-off-by: Mykola Solianko <mykola_solianko@epam.com>
Reviewed-by: Mykola Kobets <mykola_kobets@epam.com>
Reviewed-by: Oleksandr Grytsov <oleksandr_grytsov@epam.com>
Reviewed-by: Mykhailo Lohvynenko <mykhailo_lohvynenko@epam.com>
The service manager and provisioning firewall are both on nftables now, so
nothing uses iptables. Remove the iptables.rules bbappend (its FORWARD-drop
default conflicts with the SM nftables forward chain) and refresh the kernel
options list.

Signed-off-by: Mykola Solianko <mykola_solianko@epam.com>
Reviewed-by: Mykola Kobets <mykola_kobets@epam.com>
Reviewed-by: Oleksandr Grytsov <oleksandr_grytsov@epam.com>
Reviewed-by: Mykhailo Lohvynenko <mykhailo_lohvynenko@epam.com>
After the iptables removal the global forward default-drop survived only in
the SM-owned inet aos table, which vanishes when SM is down. Ship that table
(forward chain policy drop + ct rules, empty postrouting nat chain) as a boot
nftables ruleset loaded before aos-sm, additively so SM augments the same
table at runtime.

Signed-off-by: Mykola Solianko <mykola_solianko@epam.com>
Reviewed-by: Mykola Kobets <mykola_kobets@epam.com>
Reviewed-by: Oleksandr Grytsov <oleksandr_grytsov@epam.com>
Reviewed-by: Mykhailo Lohvynenko <mykhailo_lohvynenko@epam.com>
Signed-off-by: Oleksandr Grytsov <oleksandr_grytsov@epam.com>
Reviewed-by: Mykhailo Lohvynenko <mykhailo_lohvynenko@epam.com>
Signed-off-by: Mykhailo Lohvynenko <mykhailo_lohvynenko@epam.com>
@al1img
al1img force-pushed the develop branch 2 times, most recently from 6b6bf78 to c9660df Compare June 7, 2026 20:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

4 participants