また、IDSAはEclipse Foundationと協力し、Eclipse Dataspace Working
Group(EDWG)を設立しています。この協力により、データスペースのための普遍的な標準とソフトウェアコンポーネントの開発が加速されます。IDSAは、オープンソースの開発者ネットワークを活用し、信頼できるデータ共有フレームワークの構築を進めています【9】。
# 確認 docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES b7f31408c498 kindest/node:v1.27.3 "/usr/local/bin/entr…" 2 minutes ago Up 2 minutes 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp, 127.0.0.1:32825->6443/tcp mvd-control-plane
ingress NGINXコントローラをk8s上にデプロイ
1 2 3 4 5 6 7 8
# Deploy an NGINX ingress kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/static/provider/kind/deploy.yaml
# Wait for the ingress controller to become available kubectl wait --namespace ingress-nginx \ --for=condition=ready pod \ --selector=app.kubernetes.io/component=controller \ --timeout=90s
今回のMVD環境をデプロイ
1 2 3 4 5
# Deploy the dataspace, type 'yes' when prompted cd deployment terraform init terraform apply
echo "Seed data to 'provider-qna' and 'provider-manufacturing'" for url in 'http://127.0.0.1/provider-manufacturing/cp' 'http://127.0.0.1/provider-qna/cp' do newman run \ --folder "Seed" \ --env-var "HOST=$url" \ ./deployment/postman/MVD.postman_collection.json done
Seed data to 'provider-qna' and 'provider-manufacturing' newman MVD+IATP ❏ Seed ↳ Create Asset 1 POST http://127.0.0.1/provider-manufacturing/cp/api/management/v3/assets [200 OK, 331B, 66ms] ✓ Status is OK or conflict ↳ Create Asset 2 POST http://127.0.0.1/provider-manufacturing/cp/api/management/v3/assets [200 OK, 331B, 23ms] ✓ Status is OK or conflict ↳ Create Membership Policy POST http://127.0.0.1/provider-manufacturing/cp/api/management/v3/policydefinitions [200 OK, 342B, 71ms] ✓ Status is OK or conflict
cd ${OE_WORKDIR}/user-authentication-system/ export POSTGRESQL_URL='postgres://dhuser:passw0rd@localhost:5432/dhlocal?sslmode=disable' migrate -path setup/migrations -database ${POSTGRESQL_URL} up
go run cmd/add_local_user/main.go Successfully created user with email: oem_a@example.com and set custom claims. Password: oemA&user_01 Successfully created user with email: supplier_b@example.com and set custom claims. Password: supplierB&user_01
// create user by each record for _, record := range records { email := record[0] password := record[1] operatorID := record[2] operator := Operator{operatorID, email, password} addOperator(ctx, authClient, operator) }
type IPartsHandler interface { // GetPartsModel // Summary: This is function which defines #8 GetPartsList. GetPartsModel(c echo.Context) error // PutPartsModel // Summary: This is function which defines #5 PutPartsItem. PutPartsModel(c echo.Context) error }
この中で、provide_data_http関数がどこに定義されているかというと、common.swagger_server.services.provide_data_http.provide_data_httpなど。これは
common
の中にあるが、実はセットアップスクリプトでシンボリックリンクが貼られている。
diff --git a/gradle.properties b/gradle.properties index 4511d8eb5..1c57d1403 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,7 +1,8 @@ group=org.eclipse.edc -version=0.8.1-SNAPSHOT +version=0.8.1 # for now, we're using the same version for the autodoc plugin and the processor, but that could change in the future -annotationProcessorVersion=0.8.1-SNAPSHOT -edcGradlePluginsVersion=0.8.1-SNAPSHOT +annotationProcessorVersion=0.8.1 +edcGradlePluginsVersion=0.8.1 edcScmUrl=https://github.com/eclipse-edc/Connector.git edcScmConnection=scm:git:git@github.com:eclipse-edc/Connector.git +org.gradle.jvmargs=-Xmx4096M \ No newline at end of file diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index bdd4f8d83..ac3efafe5 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -9,7 +9,7 @@ atomikos = "6.0.0" awaitility = "4.2.1" bouncyCastle-jdk18on = "1.78.1" cloudEvents = "4.0.1" -edc = "0.8.1-SNAPSHOT" +edc = "0.8.1" failsafe = "3.3.2" h2 = "2.3.230" httpMockServer = "5.15.0"
protectedvoidupdate(E entity) { store.save(entity); monitor.debug(() -> "[%s] %s %s is now in state %s" .formatted(this.getClass().getSimpleName(), entity.getClass().getSimpleName(), entity.getId(), entity.stateAsString())); }
vartestCriteria=newArrayList<>(consumerOffer.getContractDefinition().getAssetsSelector()); testCriteria.add(newCriterion(Asset.PROPERTY_ID, "=", consumerOffer.getOfferId().assetIdPart())); if (assetIndex.countAssets(testCriteria) <= 0) { return failure("Asset ID from the ContractOffer is not included in the ContractDefinition"); }
@Override public <T> Predicate<T> toPredicate(Criterion criterion) { var predicate = operatorPredicates.get(criterion.getOperator().toLowerCase()); if (predicate == null) { throw new IllegalArgumentException(format("Operator [%s] is not supported.", criterion.getOperator())); }
return t -> {
var operandLeft = (String) criterion.getOperandLeft();