Skip to content

Common-Provenance-Framework/provenance-storage-java

 
 

Repository files navigation

Provenance Storage (Java)

Multi-module Maven project for the provenance storage system and trusted party service.

Modules

  • distributed-prov-system-service: Provenance storage service (Spring Boot)
  • trusted-party-service: Trusted party service (Spring Boot)

Requirements

  • Java 21+
  • Maven 3.9+
  • Neo4j (for distributed-prov-system-service)
  • PostgreSQL (for trusted-party-service)

Local configuration (recommended)

Local secrets should not be committed. Copy the templates below and keep your local profile files ignored by Git:

  • distributed-prov-system-service/src/main/resources/application-local.yaml.example -> copy to application-local.yaml
  • trusted-party-service/src/main/resources/application-local.yaml.example -> copy to application-local.yaml

Run with the local profile:

  • IntelliJ: set environment variable SPRING_PROFILES_ACTIVE=local
  • CLI: --spring.profiles.active=local

Environment variables (alternative)

You can also supply values via environment variables instead of a local profile. See:

  • distributed-prov-system-service/src/main/resources/application.yaml
  • trusted-party-service/src/main/resources/application.yaml

Running (Maven)

From the repo root:

  • ./mvnw -pl distributed-prov-system-service spring-boot:run
  • ./mvnw -pl trusted-party-service spring-boot:run

Add -Dspring-boot.run.profiles=local if using local profile.

Docker (Compose)

Ensure you have local certificates in ./certs:

  • certs/cert-dev/cert.pem
  • certs/cert-dev/ec_key.pem
  • certs/trusted_certs/

Then run:

  • docker compose up

After startup, the APIs are available at:

Monitoring (Docker Compose):

Actuator & Metrics

Both services expose Actuator endpoints. These are useful for health checks and Prometheus scraping:

Security

Do not commit private keys. Keep certificates and local secrets outside Git or in ignored local profile files.

About

Repo containing distributed-prov-system-service and trusted-party-service for PROV/CPM storage, validation, signature verification, and token issuance in a distributed setup.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Java 99.8%
  • Dockerfile 0.2%