Service that should be operated under a provenance controller and can answer queries about individual bundles in the storage of this provenance controller. It is queried by a traversal service, which traverses provenance chains and fetches results of a given query for individual bundles from their respective provenance controllers.
Build the docker image from the project root directory:
docker build -t prov-access-service .Run the container:
docker run -p 8082:8080 --env-file .env prov-access-serviceBy default, the service listens on port 8080. You can change the default port using the PA_SERVICE_PORT environment variable (see .env).
Note: This service is normally deployed alongside a traversal service (PT-Service) and provenance storage (CPF-Storage) as part of the full demo setup described in the original project's README.
| Variable | Description | Default |
|---|---|---|
PA_SERVICE_PORT |
Port the service listens on. | 8080 |
Once the service is running, the Swagger UI is available at:
http://localhost:8082/swagger-ui/index.html#
Note that the service container must be running for the Swagger UI to load.
The Swagger UI provides multiple executable query examples to test the service.
See the PT-Service API to list available validity checks and traversal priorities. Queries are explained further in this README.
For version preference, two options are available: SPECIFIED and LATEST.
Authorization is mocked. To be granted access to all bundles, use bearer token full_access_token. One other token is recognized: denied_processing_bundle_access, for demonstrating behavior when access to a bundle is denied.
The following diagrams contain information relevant for structuring a query. The methods declared in the interfaces are omitted from their implementations to save space and put emphasis on the fields that are used to specify a query.
Possible Kind values are listed here: https://javadoc.io/doc/org.openprovenance.prov/prov-model/latest/prov.model/org/openprovenance/prov/model/StatementOrBundle.Kind.html