Skip to content

Refactor server package structure for Registry and Discovery#467

Merged
s-heppner merged 3 commits intoeclipse-basyx:developfrom
rwth-iat:Fix/466
Mar 1, 2026
Merged

Refactor server package structure for Registry and Discovery#467
s-heppner merged 3 commits intoeclipse-basyx:developfrom
rwth-iat:Fix/466

Conversation

@s-heppner
Copy link
Member

@s-heppner s-heppner commented Mar 1, 2026

Previously, the server was built only with the repository API
endpoints in mind. Since we now plan to also support registry and
discovery, we need to adapt the ./server project structure.

For this reason, we did the following refactoring:

  • This moves the pyproject.toml from the app directory into the
    server project's top-level directory (./server/pyproject.toml).
    This aligns the server project directory with the sdk and the
    compliance-tool project directories. See server: Fix package installation #466
  • This also moves the files for Docker image definition into the
    ./server/docker subdirectories, where ./server/docker/common are
    shared files across different Docker images, and
    ./server/docker/repository and others contain the Dockerfile, as
    well as the image specific configuration files. See Refactor server to allow for multiple services #468
  • This moves the Docker compose.yaml into the
    ./server/example_configurations and its subdirectories. Each example
    configuration should have its own README.md specifying what the
    example contains and how to run it. See Refactor server to allow for multiple services #468
  • Lastly, this moves the repository specific main.py to
    .server/app/services/run_repository.py

And this adapts (hopefully) all relevant paths in all the different
files accordingly.

Fixes #466
Fixes #468

Previously, the `server` `pyproject.toml` was located in `server/app`,
which is different to how it is done in the `sdk`.

This aligns the `server` `pyproject.toml` by moving it up one directory
level, fixing the `version.py` path, and adding a top-level
`__init__.py` for the `app` package.

Fixes eclipse-basyx#466
@s-heppner s-heppner changed the title Align server/pyproject.toml to sdk package definition Refactor server package structure for Registry and Discovery Mar 1, 2026
Previously, the `server` was built only with the `repository` API
endpoints in mind. Since we now plan to also support `registry` and
`discovery`, we need to adapt the `./server` project structure.

For this reason, we did the following refactoring:

- This moves the `pyproject.toml` from the `app` directory into the
  server project's top-level directory (`./server/pyproject.toml`).
  This aligns the `server` project directory with the `sdk` and the
  `compliance-tool` project directories. See eclipse-basyx#466
- This also moves the files for Docker image definition into the
  `./server/docker` subdirectories, where `./server/docker/common` are
  shared files across different Docker images, and
  `./server/docker/repository` and others contain the `Dockerfile`, as
  well as the image specific configuration files. See eclipse-basyx#468
- This moves the Docker `compose.yaml` into the
  `./server/example_configurations` and its subdirectories. Each example
  configuration should have its own `README.md` specifying what the
  example contains and how to run it. See eclipse-basyx#468
- Lastly, this moves the repository specific `main.py` to
  `.server/app/services/run_repository.py`

And this adapts (hopefully) all relevant paths in all the different
files accordingly.

Fixes eclipse-basyx#466
Fixes eclipse-basyx#468
- Rename CI job server-package -> server-repository-docker to reflect
  that it specifically builds the repository Docker image
- Narrow pycodestyle scope to 'app test' to match mypy, avoiding
  scanning docker/ and example_configurations/ directories
- Fix broken #running-examples anchor and stale Dockerfile path in
  example_configurations/repository_standalone/README.md
@s-heppner s-heppner merged commit ef46fd8 into eclipse-basyx:develop Mar 1, 2026
15 checks passed
@s-heppner s-heppner deleted the Fix/466 branch March 1, 2026 14:30
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