Skip to content
This repository has been archived by the owner on Mar 31, 2022. It is now read-only.

Commit

Permalink
Merge pull request #171 from International-Data-Spaces-Association/de…
Browse files Browse the repository at this point in the history
…velop

Release v4.1.0
  • Loading branch information
juliapampus authored Mar 2, 2021
2 parents 2606b5e + 617a387 commit 046905c
Show file tree
Hide file tree
Showing 44 changed files with 1,815 additions and 643 deletions.
21 changes: 21 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,27 @@
# Changelog
All notable changes to this project will be documented in this file.

## [4.1.0] - 2021-03-02

### Added
- Handle `ResourceUpdateMessage`: Update the local copy of resource upon receiving a `ResourceUpdateMessage`.
- Add attribute for endpoint documentation reference to `ResourceMetadata`.
- Store `ownerURI`, `contractID`, `artifactID`, and `originalUUID` in `RequestedResource`.
- Add support for query params, path variables, and additional headers when requesting artifacts.
- Add input validation for query params, path variables, and headers.
- Add usage control framework checking to the classes `PolicyEnforcement` and `PolicyHandler`.
- Add example files for deployment in Kubernetes.

### Changed
- Configure Spring to fail on unknown properties in request bodies.
- Move settings for policy negotiation and allowing unsupported patterns to `application.properties`.
- Refactor HttpUtils to use the IDS Framework's `HttpService`.
- Add data string as request body instead of request parameter.

### Fixed
- Exclusive use of the `ConfigurationContainer` for processing the connector's self-description and
configurations to avoid state errors (relevant for the broker communication).

## [4.0.2] - 2021-02-04

### Added
Expand Down
15 changes: 9 additions & 6 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Build the jar
FROM maven:latest AS maven
LABEL maintainer="Julia Pampus <[email protected]>"

COPY pom.xml /tmp/

Expand All @@ -10,11 +10,14 @@ COPY src /tmp/src/

RUN mvn clean package -DskipTests -Dmaven.javadoc.skip=true

FROM adoptopenjdk/openjdk11:jre-11.0.8_10-alpine
RUN mkdir /app
# Copy the jar and build image
FROM gcr.io/distroless/java:11
COPY --from=maven --chown=65532:65532 /tmp/target/*.jar /app/app.jar

COPY --from=maven /tmp/target/*.jar /app/app.jar
WORKDIR /app

WORKDIR /app/
EXPOSE 8080

ENTRYPOINT ["java","-jar","app.jar"]
USER nonroot

ENTRYPOINT ["java","-jar","app.jar"]
34 changes: 19 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,31 +9,32 @@

<p align="center">
<a href="mailto:[email protected]">Contact</a> •
<a href="https://github.com/FraunhoferISST/DataspaceConnector/issues">Issues</a> •
<a href="#con">Contribute</a> •
<a href="#license">License</a>
<a href="https://github.com/FraunhoferISST/DataspaceConnector/issues">Issues</a> •
<a href="#license">License</a> •
<a href="https://github.com/FraunhoferISST/DataspaceConnector/wiki">Wiki</a>
</p>


The Dataspace Connector is an implementation of an IDS connector component following the
[IDS Reference Architecture Model](https://www.internationaldataspaces.org/wp-content/uploads/2019/03/IDS-Reference-Architecture-Model-3.0.pdf).
It integrates the [IDS Information Model](https://github.com/International-Data-Spaces-Association/InformationModel)
and uses the [IDS Framework](https://github.com/FraunhoferISST/IDS-Connector-Framework)
and uses the [IDS Connector Framework](https://github.com/FraunhoferISST/IDS-Connector-Framework)
for IDS functionalities and message handling. It provides a REST API for loading, updating, and
deleting resources with data and its metadata, persisted in a local database. Next to the internal
database, external REST endpoints may be connected as data sources. The Dataspace Connector
deleting resources with local or remote data enriched by its metadata. The Dataspace Connector
supports IDS conform message handling with other IDS connectors and IDS brokers and implements
usage control for eight IDS usage policy patterns.

## Content
- [Wiki](https://github.com/FraunhoferISST/DataspaceConnector/wiki)
- [Database Configuration](https://github.com/FraunhoferISST/DataspaceConnector/wiki/database-configuration)
- [Development](https://github.com/FraunhoferISST/DataspaceConnector/wiki/development)
- [Deployment](https://github.com/FraunhoferISST/DataspaceConnector/wiki/deployment)
- [Examples](https://github.com/FraunhoferISST/DataspaceConnector/wiki/examples)
- [Frequently Asked Questions](https://github.com/FraunhoferISST/DataspaceConnector/wiki/faq)
- [Getting started](https://github.com/FraunhoferISST/DataspaceConnector/wiki/getting-started)
- [IDS Communication Guide](https://github.com/FraunhoferISST/DataspaceConnector/wiki/ids-communication-guide)
- [IDS Connector Architecture](https://github.com/FraunhoferISST/DataspaceConnector/wiki/ids-connector-architecture)
- [Kubernetes](https://github.com/International-Data-Spaces-Association/DataspaceConnector/wiki/Kubernetes)
- [Logging](https://github.com/FraunhoferISST/DataspaceConnector/wiki/logging)
- [Roadmap](https://github.com/FraunhoferISST/DataspaceConnector/wiki/roadmap)
- [Software Documentation](https://github.com/FraunhoferISST/DataspaceConnector/wiki/software-documentation)
Expand All @@ -53,7 +54,7 @@ A project overview and short descriptions of each wiki section are presented
If you want to build and run locally, ensure that at least Java 11 is installed. Then, follow these steps:

1. Clone this repository.
2. Execute `cd dataspace-connector` and `mvnw clean package`.
2. Execute `cd DataspaceConnector` and `./mvnw clean package`.
3. Navigate to `/target` and run `java -jar dataspace-connector-{VERSION}.jar`.
4. If everything worked fine, the connector is available at https://localhost:8080/. The API can
be accessed at https://localhost:8080/admin/api.
Expand All @@ -68,13 +69,13 @@ The [ConfigManager](https://github.com/FraunhoferISST/IDS-ConfigurationManager)
[GUI](https://github.com/fkie/ids-configmanager-ui) aim to facilitate the configuration of the
Dataspace Connector and further IDS connector implementations. Both projects are also open source.

| Library/ Component | Version | License | Owner | Contact |
| ------- | ------- | ------- | ----- | ------- |
| [IDS Information Model Library](https://maven.iais.fraunhofer.de/artifactory/eis-ids-public/de/fraunhofer/iais/eis/ids/infomodel/) | 4.0.0 | Apache 2.0 | Fraunhofer IAIS | [Sebastian Bader](mailto:[email protected]) |
| [IDS Information Model Serializer Library](https://maven.iais.fraunhofer.de/artifactory/eis-ids-public/de/fraunhofer/iais/eis/ids/infomodel-serializer/) | 4.0.0 | Apache 2.0 | Fraunhofer IAIS | [Sebastian Bader](mailto:[email protected]) |
| [IDS Framework](https://github.com/FraunhoferISST/IDS-Connector-Framework) | 4.0.1 | Apache 2.0 | Fraunhofer ISST | [Tim Berthold](mailto:[email protected]) |
| [IDS Broker](https://broker.ids.isst.fraunhofer.de/) | 4.0.0 | open core | Fraunhofer IAIS | [Sebastian Bader](mailto:sebastian.bader@iais.fraunhofer.de) |
| [DAPS](https://daps.aisec.fraunhofer.de/) | 2.0 | not open source | Fraunhofer AISEC | [Gerd Brost](mailto:[email protected]) |
| Library/ Component | License | Owner | Contact |
| ------- | ------- | ----- | ------- |
| [IDS Information Model Library](https://maven.iais.fraunhofer.de/artifactory/eis-ids-public/de/fraunhofer/iais/eis/ids/infomodel/) | Apache 2.0 | Fraunhofer IAIS | [Sebastian Bader](mailto:[email protected]) |
| [IDS Information Model Serializer Library](https://maven.iais.fraunhofer.de/artifactory/eis-ids-public/de/fraunhofer/iais/eis/ids/infomodel-serializer/) | Apache 2.0 | Fraunhofer IAIS | [Sebastian Bader](mailto:[email protected]) |
| [IDS Framework](https://github.com/FraunhoferISST/IDS-Connector-Framework) | Apache 2.0 | Fraunhofer ISST | [Tim Berthold](mailto:[email protected]) |
| [IDS Broker](https://broker.ids.isst.fraunhofer.de/) | open core | Fraunhofer IAIS | [Matthias Böckmann](mailto:matthias.boeckmann@iais.fraunhofer.de) |
| [DAPS](https://daps.aisec.fraunhofer.de/) | not open source | Fraunhofer AISEC | [Gerd Brost](mailto:[email protected]) |

## Contributing

Expand All @@ -94,7 +95,10 @@ The core development is driven by
* [Ronja Quensel](https://github.com/ronjaquensel), [Fraunhofer ISST](https://www.isst.fraunhofer.de/en.html)

with significant contributions, comments, and support by (in alphabetical order):
* ...
* [Haydar Qarawlus](https://github.com/hqarawlus), [Fraunhofer ISST](https://www.isst.fraunhofer.de/en.html)
* [Johannes Pieperbeck](https://github.com/jpieperbeck), [Fraunhofer ISST](https://www.isst.fraunhofer.de/en.html)
* [René Brinkhege](https://github.com/renebrinkhege), [Fraunhofer ISST](https://www.isst.fraunhofer.de/en.html)
* [Steffen Biehs](https://github.com/steffen-biehs), [Fraunhofer ISST](https://www.isst.fraunhofer.de/en.html)

## License
Copyright © 2020 Fraunhofer ISST. This project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) for details.
51 changes: 51 additions & 0 deletions deployment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: dataspace-connector
name: dataspace-connector
spec:
replicas: 1
selector:
matchLabels:
app: dataspace-connector
template:
metadata:
labels:
app: dataspace-connector
spec:
containers:
- image: localhost:5000/dataspace-connector:latest
imagePullPolicy: IfNotPresent
name: dataspace-connector
ports:
- containerPort: 8080
env:
- name: SPRING_DATASOURCE_URL
value: "jdbc:postgresql://postgres:5432/test"
- name: SPRING_DATASOURCE_USERNAME
value: "admin"
- name: SPRING_DATASOURCE_PASSWORD
value: "password"
- name: SPRING_DATASOURCE_PLATFORM
value: "postgres"
- name: SPRING_DATASOURCE_DRIVER-CLASS-NAME
value: "org.postgresql.Driver"
- name: SPRING_JPA_DATABASE-PLATFORM
value: "org.hibernate.dialect.PostgreSQLDialect"
- name: CONFIGURATION_PATH
value: "file:///connector-certs/config.json"
volumeMounts:
- name: certs-volume
mountPath: /connector-certs
resources:
requests:
memory: 512Mi
cpu: 0.1
limits:
memory: 2Gi
cpu: 1
volumes:
- name: certs-volume
secret:
secretName: dataspace-connector-certs
Loading

0 comments on commit 046905c

Please sign in to comment.