Skip to content

chore: initial import#25

Draft
lh-sag wants to merge 1 commit intoeclipse-opensovd:inc/liebherrfrom
lh-sag:inc/liebherr
Draft

chore: initial import#25
lh-sag wants to merge 1 commit intoeclipse-opensovd:inc/liebherrfrom
lh-sag:inc/liebherr

Conversation

@lh-sag
Copy link

@lh-sag lh-sag commented Feb 9, 2026

Summary

Incubator for OpenSOVD Core

Checklist

  • I have tested my changes locally
  • I have added or updated documentation
  • I have linked related issues or discussions
  • I have added or updated tests

Related

Notes for Reviewers

Copy link
Contributor

@IoanAndrasi IoanAndrasi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great work for initial work, what I would also mention is that some files are very well documented with comments while others lack's comments.

id: claude-review
uses: anthropics/claude-code-action@v1
with:
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Who is providing this secret key ?
If token usage is hit maybe we need another secret key as backup ?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We will get copilot support, not sure when.

}

struct TopologyInner {
state: RwLock<TopologyState>,
Copy link
Contributor

@IoanAndrasi IoanAndrasi Feb 11, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't we use tokio::sync::RwLock for all locks which is more ideal for async context ?
std::sync::RwLock blocks the threads which increase the risk of task starvation.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for your remark. As long as we do not hold the lock across async points we are safe, rust type system will catch this anyhow. The code is correct.
But you triggered some thoughts whether we can get rid of Arc since we hold a RW lock. Let me come back to you once the idea is settled to show you an alternative.

Router::new()
.route("/components", get(component_list))
.route("/components/{component_id}", get(component_capabilities))
.route("/components/{component_id}/hosts", get(component_hosts))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't we follow the standard and use /components/{components_id}/related-apps ?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@IoanAndrasi looking at the v1.1 ISO related-apps is deprecated. If you need it for backward compatibility we can add it.

@lh-sag lh-sag changed the base branch from main to inc/liebherr February 18, 2026 08:31
@lh-sag
Copy link
Author

lh-sag commented Feb 18, 2026

Changed merge target to inc/liebherr

@lh-sag lh-sag force-pushed the inc/liebherr branch 2 times, most recently from 0f4f3c3 to 362947d Compare February 19, 2026 22:16
@IoanAndrasi
Copy link
Contributor

One thing I noticed is that the repo doesn’t include a config.toml, which means the Rust build settings aren’t configured yet.
Also, the build doesn’t seem to support the aarch64 target.
Could you add the config.toml and update the config to include aarch64 support?

@IoanAndrasi
Copy link
Contributor

I have also tested docker container on personal pc and work laptop and on both I encountered the same issue, when I run for the first time dev container it fails to attach to image, after I remove, "overrideCommand": false from devcontainer.json, and try to rebuild the docker image then dev container works.
After it works and shutdown I can revert the change in devcontainer.json and its working fine.
It might be a VS Code error ?

@IoanAndrasi
Copy link
Contributor

I ran python integration tests as mentioned in docs/testsing.md with uv run pytest and 16 tests fail.
image
test_auth.py uses maybe wrong parameters ? its using auth-jwt-key but on cli gateway is auth-jwt-secret, after I do this change in test_auth.py it passes.
image
After applying the above fix, there are 6 tests that fails probably because of some token missing for authorization, I see its expecting 200 status code but its 403.

@IoanAndrasi
Copy link
Contributor

IoanAndrasi commented Feb 20, 2026

According to IANA, Sovd is recommended to run on port 7690.
image

@lh-sag
Copy link
Author

lh-sag commented Feb 20, 2026

I have also tested docker container on personal pc and work laptop and on both I encountered the same issue, when I run for the first time dev container it fails to attach to image, after I remove, "overrideCommand": false from devcontainer.json, and try to rebuild the docker image then dev container works. After it works and shutdown I can revert the change in devcontainer.json and its working fine. It might be a VS Code error ?

This is fixed. I upgraded to python 3.14 which lacks certain pre-build packages and during compilation from sources it run into OOM due to constrains in the devcontainer. Switched to python 3.13 and this works now.

I ran python integration tests as mentioned in docs/testsing.md with uv run pytest and 16 tests fail. image test_auth.py uses maybe wrong parameters ? its using auth-jwt-key but on cli gateway is auth-jwt-secret, after I do this change in test_auth.py it passes. image After applying the above fix, there are 6 tests that fails probably because of some token missing for authorization, I see its expecting 200 status code but its 403.

This is a cascading failure as the crypt module was not build. Should be fixed by now.

@lh-sag
Copy link
Author

lh-sag commented Feb 23, 2026

One thing I noticed is that the repo doesn’t include a config.toml, which means the Rust build settings aren’t configured yet. Also, the build doesn’t seem to support the aarch64 target. Could you add the config.toml and update the config to include aarch64 support?

The CI builds for all platforms and architectures. If you want to (cross) build locally I recommend https://github.com/cross-rs/cross

Do build for aarch64 cross build --target aarch64-unknown-linux-gnu

Give it a try and let me know whether it works for you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants