Skip to content

chore: add astarte_core into the monorepo#1941

Draft
mizzet1 wants to merge 934 commits into
astarte-platform:release-1.3from
mizzet1:add-core-to-monorepo
Draft

chore: add astarte_core into the monorepo#1941
mizzet1 wants to merge 934 commits into
astarte-platform:release-1.3from
mizzet1:add-core-to-monorepo

Conversation

@mizzet1
Copy link
Copy Markdown
Contributor

@mizzet1 mizzet1 commented Apr 22, 2026

No description provided.

rbino and others added 30 commits September 19, 2023 15:17
Signed-off-by: Arnaldo Cesco <arnaldo.cesco@secomind.com>
Forward port changes from v1.0
Encode binaryblobarray in object-aggregated values in Astarte events as
JSON arrays of base64-encoded values rather than a list of
`%Cyanide.Binary{}` structs.

Signed-off-by: Arnaldo Cesco <arnaldo.cesco@secomind.com>
…s-ok

Correctly encode binaryblobarrays in JSON payload of Astarte events
Move the Cyanide 2.0 CHANGELOG.md entry to the correct release version (i.e. this one).

Signed-off-by: Arnaldo Cesco <arnaldo.cesco@secomind.com>
Forward port changes from release-1.1
Signed-off-by: Arnaldo Cesco <arnaldo.cesco@secomind.com>
Use a more popular gradual typing tool, with better error messages.

Signed-off-by: Arnaldo Cesco <arnaldo.cesco@secomind.com>
The PLT cache directory was not created when cache miss, failing the dialyzer task.
Create it.

Signed-off-by: Arnaldo Cesco <arnaldo.cesco@secomind.com>
Signed-off-by: Arnaldo Cesco <arnaldo.cesco@secomind.com>
Signed-off-by: Arnaldo Cesco <arnaldo.cesco@secomind.com>
Signed-off-by: Arnaldo Cesco <arnaldo.cesco@secomind.com>
Update Erlang/OTP to 26.1
IncomingIntrospectionEvent holds now a map
interface-name -> {major, minor}.
Keep the old plain introspection string as
a deprecated field.

Signed-off-by: Arnaldo Cesco <arnaldo.cesco@secomind.com>
The function translate from a realm name to a keyspace name,
derived from realm + astarte_instance_id (optional parameter).

This edit has became necessary before an extensive rewriting of the main astarte repo,
in order to add the database keyspaces separation feature.
See main project repo for further details

Signed-off-by: Eddy Babetto <eddy.babetto@secomind.com>
Update changelog with new keyspace function

Signed-off-by: Eddy Babetto <eddy.babetto@secomind.com>
Add translation function from realm to keyspace
Signed-off-by: Arnaldo Cesco <arnaldo.cesco@secomind.com>
implement to_int and from_int functions as ecto cast! and dump!

by using cast! in InterfaceDescriptor.from_db_result and Mapping.from_db_result!,
they can now also accept atom values

this is useful when calling the function with an exandra object

Signed-off-by: Francesco Noacco <francesco.noacco@secomind.com>
Signed-off-by: Eddy Babetto <eddy.babetto@secomind.com>
Forward-port changes from release-1.0
noaccOS and others added 13 commits March 24, 2026 15:19
move openbao to its own library.
needed in preparation of the TO2 rework, where astarte_fdo will need
access to openbao's key

Signed-off-by: Francesco Noacco <francesco.noacco@secomind.com>
- Add OpenApiSpex dependency for API documentation
- Add API annotations for Pairing API so API documentation
can be autogenerated and exported to yaml using

`mix openapi.spec.yaml --spec Astarte.PairingWeb.ApiSpec --start-app=false --vendor-extensions=false`

Signed-off-by: nedimtokic <nedim.tokic@secomind.com>
…-platform#1870)

Allow using Astarte as proxy to create keypairs in OpenBao of the chosen type.
Endpoint: POST /v1/:realm_name/fdo/owner_key
Payload params: action="create" / key_name / key_algorithm

Controller tests added

Signed-off-by: frossq <francesco.asquini@secomind.com>
- Implement `GET /owner_keys` in `OwnerKeyController` to retrieve keys
  for a specific realm.
- Add `Secrets.Core.get_keys_from_algorithm/2` to handle fetching and
  mapping key names across multiple algorithms.
- Support listing for `:es256`, `:es384`, `:rs256`, and `:rs384`.
- Include controller tests to verify key listing functionality with
  OpenBao namespaces.

Signed-off-by: Eddy Babetto <eddy.babetto@secomind.com>
…ecret

Signed-off-by: frossq <francesco.asquini@secomind.com>
Signed-off-by: Francesco Noacco <francesco.noacco@secomind.com>
Allow using Astarte as proxy to upload keys in OpenBao.
Endpoint: POST /v1/:realm_name/fdo/owner_key
Payload params: action="upload" / key_name / key_data

Controller tests added

Signed-off-by: frossq <francesco.asquini@secomind.com>
Return the list of keys with valid algorithm given an Ownership Voucher received as input
Validate the Voucher last entry public key with the one stored in OpenBao
Signed-off-by: Francesco Noacco <francesco.noacco@secomind.com>
Signed-off-by: Francesco Noacco <francesco.noacco@secomind.com>
Signed-off-by: frossq <francesco.asquini@secomind.com>
Signed-off-by: Riccardo Nalgi <riccardo.nalgi@secomind.com>
Signed-off-by: Alioune Gaye <alioune.gaye@secomind.com>
…1917)

Signed-off-by: Francesco Noacco <francesco.noacco@secomind.com>
Signed-off-by: Francesco Noacco <francesco.noacco@secomind.com>
@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 22, 2026

Codecov Report

❌ Patch coverage is 81.76034% with 172 lines in your changes missing coverage. Please review.
✅ Project coverage is 84.88%. Comparing base (20a3c5b) to head (c29108d).
⚠️ Report is 449 commits behind head on release-1.3.

Files with missing lines Patch % Lines
.../astarte_core/mapping/database_retention_policy.ex 24.00% 19 Missing ⚠️
libs/astarte_core/lib/astarte_core/storage_type.ex 37.03% 17 Missing ⚠️
...ore/lib/astarte_core/triggers/policy/error_type.ex 35.29% 11 Missing ⚠️
...tarte_core/lib/astarte_core/mapping/reliability.ex 64.28% 10 Missing ⚠️
...astarte_core/lib/astarte_core/mapping/retention.ex 64.28% 10 Missing ⚠️
...rte_core/lib/astarte_core/interface/aggregation.ex 64.00% 9 Missing ⚠️
...tarte_core/lib/astarte_core/interface/ownership.ex 66.66% 9 Missing ⚠️
...bs/astarte_core/lib/astarte_core/interface/type.ex 68.00% 8 Missing ⚠️
...starte_core/lib/astarte_core/mapping/value_type.ex 82.22% 8 Missing ⚠️
...e_core/lib/astarte_core/triggers/policy/handler.ex 70.37% 8 Missing ⚠️
... and 26 more
Additional details and impacted files
@@               Coverage Diff               @@
##           release-1.3    #1941      +/-   ##
===============================================
+ Coverage        84.17%   84.88%   +0.70%     
===============================================
  Files              403      598     +195     
  Lines             7307    10874    +3567     
===============================================
+ Hits              6151     9230    +3079     
- Misses            1156     1644     +488     
Files with missing lines Coverage Δ
...ine_api/lib/astarte_appengine_api/device/device.ex 95.45% <100.00%> (-0.13%) ⬇️
...lant/lib/astarte_data_updater_plant/application.ex 100.00% <100.00%> (ø)
...rte_data_updater_plant/data_pipeline_supervisor.ex 100.00% <ø> (ø)
...rte_data_updater_plant/data_updater/core/device.ex 94.77% <100.00%> (-1.47%) ⬇️
...arte_data_updater_plant/data_updater/core/error.ex 97.05% <100.00%> (+1.82%) ⬆️
...dater_plant/data_updater/core/heartbeat_handler.ex 100.00% <100.00%> (ø)
..._data_updater_plant/data_updater/core/interface.ex 89.32% <100.00%> (+0.10%) ⬆️
...pdater_plant/data_updater/core/internal_handler.ex 100.00% <100.00%> (ø)
...r_plant/data_updater/core/introspection_handler.ex 100.00% <100.00%> (ø)
...ata_updater_plant/data_updater/payloads_decoder.ex 85.48% <ø> (-0.46%) ⬇️
... and 63 more

... and 215 files with indirect coverage changes

Flag Coverage Δ
astarte_core 79.66% <77.57%> (?)
astarte_data_access 84.52% <ø> (?)
astarte_events 80.27% <ø> (?)
astarte_fdo 81.79% <ø> (?)
astarte_fdo_core 77.99% <ø> (?)
astarte_generators 97.39% <ø> (?)
astarte_rpc 88.23% <ø> (?)
astarte_secrets 85.16% <ø> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@mizzet1 mizzet1 force-pushed the add-core-to-monorepo branch 9 times, most recently from 340a774 to e69f84a Compare April 22, 2026 14:36
Merges the astarte_core repository into libs/astarte_core/ preserving
its full git history.

git-subtree-dir: libs/astarte_core
git-subtree-mainline: c89cda8
git-subtree-split: c7d1221
@mizzet1 mizzet1 force-pushed the add-core-to-monorepo branch 2 times, most recently from ec6b013 to b82fc5b Compare April 27, 2026 12:39
Signed-off-by: Riccardo Nalgi <riccardo.nalgi@secomind.com>
@mizzet1 mizzet1 force-pushed the add-core-to-monorepo branch from b82fc5b to c29108d Compare May 5, 2026 13:20
@mizzet1 mizzet1 changed the base branch from master to release-1.3 May 5, 2026 13:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.