Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 9 additions & 6 deletions server/example_configurations/discovery_standalone/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,21 +20,24 @@ The Discovery Service stores and retrieves relations between AAS identifiers and


## Configuration
The example Docker compose configuration `compose.dev.yml` builds a discovery server locally. This is usually only necessary
for development:
This example Docker compose configuration runs a discovery server using the pre-built
`eclipsebasyx/basyx-python-discovery:latest` image from [DockerHub](https://hub.docker.com/r/eclipsebasyx/basyx-python-discovery):
```
$ docker compose up
```

To build the image locally from source instead, use `compose.dev.yml`. This is usually only necessary for development:
```
$ docker compose -f compose.dev.yml up
```
To just run the discovery server, use the pre-built image `eclipsebasyx/basyx-python-discovery:latest`
on [DockerHub](https://hub.docker.com/r/eclipsebasyx/basyx-python-discovery).

## Persistence

The discovery service can run in persistent or non-persistent mode.

### Persistent Mode

Persistent mode configuration is provided in the `compose.dev.yml`.
Persistent mode configuration is provided in both `compose.yml` and `compose.dev.yml`.

Only the AAS-to-asset-ID mapping is persisted. The reverse lookup index is rebuilt in memory when the service starts.

Expand All @@ -44,5 +47,5 @@ If `storage_path` is not set, the discovery service runs in memory only.

## Notes
- Stop the service before manually editing `discovery_store.json`.
- Note that the image is built from the `server` directory. The local `sdk` directory is passed in as an additional build context named `sdk`.
- `compose.dev.yml` builds the image from the `server` directory. The local `sdk` directory is passed in as an additional build context named `sdk`.
To include the package license, a second additional build context `license` passes in the repository root.
10 changes: 10 additions & 0 deletions server/example_configurations/discovery_standalone/compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
name: basyx-python-server
services:
app:
image: eclipsebasyx/basyx-python-discovery:latest
ports:
- "8084:80"
environment:
storage_path: /storage/discovery_store.json
volumes:
- ./storage:/storage
51 changes: 27 additions & 24 deletions server/example_configurations/registry_standalone/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,43 +13,46 @@ The Registry Service provides the endpoint for a given AAS-ID or Submodel-ID. Su
# AAS Registry:
| Function | Description | Example URL |
|--------------------------------------------------|----------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------|
| **GetAllAssetAdministrationShellDescriptors** | Return all AAS descriptor | `GET http://localhost:8083/api/v3.1.1/shell-descriptors` |
| **GetAssetAdministrationShellDescriptorById** | Return a specific AAS descriptor | `GET http://localhost:8083/api/v3.1.1/shell-descriptors/{aasIdentifier}` |
| **PostAssetAdministrationShellDescriptor** | Register/create a new AAS descriptor | `POST http://localhost:8083/api/v3.1.1/shell-descriptors` |
| **PutAssetAdministrationShellDescriptorById** | Create or update an existing AAS descriptor | `PUT http://localhost:8083/api/v3.1.1/shell-descriptors/{aasIdentifier}` |
| **DeleteAssetAdministrationShellDescriptorById** | Delete an AAS descriptor by ID | `DELETE http://localhost:8083/api/v3.1.1/shell-descriptors/{aasIdentifier}` |
| **GetSubmodelDescriptorsThroughSuperPath** | Return all submodel descriptors under AAS descriptor | `GET http://localhost:8083/api/v3.1.1/shell-descriptors/{aasIdentifier}/submodel-descriptors` |
| **PostSubmodelDescriptorThroughSuperPath** | Register/create a new submodel descriptor under AAS descriptor | `POST http://localhost:8083/api/v3.1.1/shell-descriptors/{aasIdentifier}/submodel-descriptors` |
| **GetSubmodelDescriptorThroughSuperPath** | Return a specific submodel descriptor under AAS descriptor | `GET http://localhost:8083/api/v3.1.1/shell-descriptors/{aasIdentifier}/submodel-descriptors/{submodelIdentifier}` |
| **PutSubmodelDescriptorThroughSuperPath** | Create or update a specific submodel descriptor under AAS descriptor | `PUT http://localhost:8083/api/v3.1.1/shell-descriptors/{aasIdentifier}/submodel-descriptors/{submodelIdentifier}` |
| **DeleteSubmodelDescriptorThroughSuperPath** | Delete a specific submodel descriptor under AAS descriptor | `DELETE http://localhost:8083/api/v3.1.1/shell-descriptors/{aasIdentifier}/submodel-descriptors/{submodelIdentifier}` |
| **GetDescription** | Return the self‑description of the AAS registry service | `GET http://localhost:8083/api/v3.1.1/description` |
| **GetAllAssetAdministrationShellDescriptors** | Return all AAS descriptor | `GET http://localhost:8083/api/v3.1/shell-descriptors` |
| **GetAssetAdministrationShellDescriptorById** | Return a specific AAS descriptor | `GET http://localhost:8083/api/v3.1/shell-descriptors/{aasIdentifier}` |
| **PostAssetAdministrationShellDescriptor** | Register/create a new AAS descriptor | `POST http://localhost:8083/api/v3.1/shell-descriptors` |
| **PutAssetAdministrationShellDescriptorById** | Create or update an existing AAS descriptor | `PUT http://localhost:8083/api/v3.1/shell-descriptors/{aasIdentifier}` |
| **DeleteAssetAdministrationShellDescriptorById** | Delete an AAS descriptor by ID | `DELETE http://localhost:8083/api/v3.1/shell-descriptors/{aasIdentifier}` |
| **GetSubmodelDescriptorsThroughSuperPath** | Return all submodel descriptors under AAS descriptor | `GET http://localhost:8083/api/v3.1/shell-descriptors/{aasIdentifier}/submodel-descriptors` |
| **PostSubmodelDescriptorThroughSuperPath** | Register/create a new submodel descriptor under AAS descriptor | `POST http://localhost:8083/api/v3.1/shell-descriptors/{aasIdentifier}/submodel-descriptors` |
| **GetSubmodelDescriptorThroughSuperPath** | Return a specific submodel descriptor under AAS descriptor | `GET http://localhost:8083/api/v3.1/shell-descriptors/{aasIdentifier}/submodel-descriptors/{submodelIdentifier}` |
| **PutSubmodelDescriptorThroughSuperPath** | Create or update a specific submodel descriptor under AAS descriptor | `PUT http://localhost:8083/api/v3.1/shell-descriptors/{aasIdentifier}/submodel-descriptors/{submodelIdentifier}` |
| **DeleteSubmodelDescriptorThroughSuperPath** | Delete a specific submodel descriptor under AAS descriptor | `DELETE http://localhost:8083/api/v3.1/shell-descriptors/{aasIdentifier}/submodel-descriptors/{submodelIdentifier}` |
| **GetDescription** | Return the self‑description of the AAS registry service | `GET http://localhost:8083/api/v3.1/description` |

# Submodel Registry:
| Function | Description | Example URL |
|----------------------------------|--------------------------------------------------------------|-----------------------------------------------------------------------------------|
| **GetAllSubmodelDescriptors** | Return all submodel descriptors | `GET http://localhost:8083/api/v3.0/submodel-descriptors` |
| **PostSubmodelDescriptor** | Register/create a new submodel descriptor | `POST http://localhost:8083/api/v3.0/submodel-descriptors` |
| **GetSubmodelDescriptorById** | Return a specific submodel descriptor | `GET http://localhost:8083/api/v3.0/submodel-descriptors/{submodelIdentifier}` |
| **PutSubmodelDescriptorById** | Create or update a specific submodel descriptor | `PUT http://localhost:8083/api/v3.0/submodel-descriptors/{submodelIdentifier}` |
| **DeleteSubmodelDescriptorById** | Delete a specific submodel descriptor | `DELETE http://localhost:8083/api/v3.0/submodel-descriptors/{submodelIdentifier}` |
| **GetDescription** | Return the self‑description of the submodel registry service | `GET http://localhost:8083/api/v3.0/description` |
| **GetAllSubmodelDescriptors** | Return all submodel descriptors | `GET http://localhost:8083/api/v3.1/submodel-descriptors` |
| **PostSubmodelDescriptor** | Register/create a new submodel descriptor | `POST http://localhost:8083/api/v3.1/submodel-descriptors` |
| **GetSubmodelDescriptorById** | Return a specific submodel descriptor | `GET http://localhost:8083/api/v3.1/submodel-descriptors/{submodelIdentifier}` |
| **PutSubmodelDescriptorById** | Create or update a specific submodel descriptor | `PUT http://localhost:8083/api/v3.1/submodel-descriptors/{submodelIdentifier}` |
| **DeleteSubmodelDescriptorById** | Delete a specific submodel descriptor | `DELETE http://localhost:8083/api/v3.1/submodel-descriptors/{submodelIdentifier}` |
| **GetDescription** | Return the self‑description of the submodel registry service | `GET http://localhost:8083/api/v3.1/description` |



## Configuration

The example Docker compose configuration `compose.dev.yml` builds a registry server locally. This is usually only necessary
for development:
This example Docker compose configuration runs a registry server using the pre-built
`eclipsebasyx/basyx-python-registry:latest` image from [DockerHub](https://hub.docker.com/r/eclipsebasyx/basyx-python-registry):
```
$ docker compose up
```

To build the image locally from source instead, use `compose.dev.yml`. This is usually only necessary for development:
```
$ docker compose -f compose.dev.yml up
```
To just run the registry server, use the pre-built image `eclipsebasyx/basyx-python-registry:latest`
on [DockerHub](https://hub.docker.com/r/eclipsebasyx/basyx-python-registry).

Input files are read from `./input` and stored persistently under `./storage` on your host system.
The server can be accessed at http://localhost:8083/api/v3.1.1/ from your host system.
To get a different setup, the `compose.dev.yml` file can be adapted using the options described in the main server [README.md](../../README.md#options).
The server can be accessed at http://localhost:8083/api/v3.1/ from your host system.
To get a different setup, the `compose.yml` (or `compose.dev.yml`) file can be adapted using the options described in the main server [README.md](../../README.md#options).

Note that the image is built from the `server` directory. The local `sdk` directory is passed in as an additional build context named `sdk`.
Note that `compose.dev.yml` builds the image from the `server` directory. The local `sdk` directory is passed in as an additional build context named `sdk`.
To include the package license, a second additional build context `license` passes in the repository root.
10 changes: 10 additions & 0 deletions server/example_configurations/registry_standalone/compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
services:
app:
image: eclipsebasyx/basyx-python-registry:latest
ports:
- "8083:80"
volumes:
- ./input:/input
- ./storage:/storage
environment:
STORAGE_PERSISTENCY: True
17 changes: 10 additions & 7 deletions server/example_configurations/repository_standalone/README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,18 @@
# Repository Standalone
The example Docker compose configuration `compose.dev.yml` builds a repository server locally. This is usually only necessary
for development:
This example Docker compose configuration runs a repository server using the pre-built
`eclipsebasyx/basyx-python-repository` image from [DockerHub](https://hub.docker.com/r/eclipsebasyx/basyx-python-repository):
```
$ docker compose up
```

To build the image locally from source instead, use `compose.dev.yml`. This is usually only necessary for development:
```
$ docker compose -f compose.dev.yml up
```
To just run the repository server, use the pre-built image `eclipsebasyx/basyx-python-repository`
on [DockerHub](https://hub.docker.com/r/eclipsebasyx/basyx-python-repository).

Input files are read from `./input` and stored persistently under `./storage` on your host system.
The server can be accessed at http://localhost:8080/api/v3.0/ from your host system.
To get a different setup, the `compose.dev.yml` file can be adapted using the options described in the main server [README.md](../../README.md#options).
The server can be accessed at http://localhost:8080/api/v3.1/ from your host system.
To get a different setup, the `compose.yml` (or `compose.dev.yml`) file can be adapted using the options described in the main server [README.md](../../README.md#options).

Note that the image is built from the `server` directory. The local `sdk` directory is passed in as an additional build context named `sdk`.
Note that `compose.dev.yml` builds the image from the `server` directory. The local `sdk` directory is passed in as an additional build context named `sdk`.
To include the package license, a second additional build context `license` passes in the repository root.
11 changes: 11 additions & 0 deletions server/example_configurations/repository_standalone/compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
name: basyx-python-server
services:
app:
image: eclipsebasyx/basyx-python-repository:latest
ports:
- "8080:80"
volumes:
- ./input:/input
- ./storage:/storage
environment:
STORAGE_PERSISTENCY: True
Loading