diff --git a/.github/workflows/run-e2e-tests.yml b/.github/workflows/run-e2e-tests.yml
index bf3043719..6aa711831 100644
--- a/.github/workflows/run-e2e-tests.yml
+++ b/.github/workflows/run-e2e-tests.yml
@@ -44,79 +44,62 @@ jobs:
- name: "Setup Helm"
uses: azure/setup-helm@v4
- with:
- version: v3.8.1
- name: "Setup Kubectl"
uses: azure/setup-kubectl@v4
-
- - name: "Set up OpenTofu"
- uses: opentofu/setup-opentofu@v2
-
- uses: actions/checkout@v6
-
- uses: eclipse-edc/.github/.github/actions/setup-build@main
- name: "Build runtime images"
working-directory: ./
run: |
- ./gradlew -Ppersistence=true dockerize
-
+ ./gradlew dockerize
- name: "Create k8s Kind Cluster"
uses: helm/kind-action@v1.14.0
with:
- config: deployment/kind.config.yaml
cluster_name: dcp-demo
- name: "Load runtime images into KinD"
- run: kind load docker-image controlplane:latest dataplane:latest identity-hub:latest catalog-server:latest issuerservice:latest -n dcp-demo
-
- - name: "Install nginx ingress controller"
+ run: |
+ kind load docker-image -n dcp-demo \
+ ghcr.io/eclipse-edc/mvd/controlplane:latest \
+ ghcr.io/eclipse-edc/mvd/dataplane:latest \
+ ghcr.io/eclipse-edc/mvd/identity-hub:latest \
+ ghcr.io/eclipse-edc/mvd/issuerservice:latest
+
+ - name: "Install Traefik Gateway controller"
run: |-
- echo "::notice title=nginx ingress on KinD::For details how to run nginx ingress on KinD check https://kind.sigs.k8s.io/docs/user/ingress/#ingress-nginx"
- kubectl apply -f https://kind.sigs.k8s.io/examples/ingress/deploy-ingress-nginx.yaml
- kubectl wait --namespace ingress-nginx \
- --for=condition=ready pod \
- --selector=app.kubernetes.io/component=controller \
- --timeout=90s
+ helm repo add traefik https://traefik.github.io/charts
+ helm repo update
+ helm upgrade --install --namespace traefik traefik traefik/traefik --create-namespace -f values.yaml
+ # Wait for traefik to be ready
+ kubectl rollout status deployment/traefik -n traefik --timeout=120s
+ # forward port 80 -> 8080
+ kubectl -n traefik port-forward svc/traefik 8080:80 &
- - name: "Tofu init"
- working-directory: ./deployment
- run: |-
- tofu init -reconfigure
- - name: "Tofu plan"
- working-directory: ./deployment
- run: |-
- tofu plan -out=$GITHUB_SHA.out
+ # install Gateway API CRDs
+ kubectl apply --server-side --force-conflicts -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.4.1/experimental-install.yaml
+
+ sleep 5 # to be safe`
- - name: "Tofu apply"
- working-directory: ./deployment
+ - name: "Deploy MVD"
run: |-
- tofu apply "$GITHUB_SHA.out"
+ kubectl apply -k k8s/
- - name: "Seed dataspace"
+ - name: "Wait for MVD to be ready"
run: |-
- chmod +x seed-k8s.sh
- ./seed-k8s.sh
+ kubectl wait -A \
+ --selector=type=edc-job \
+ --for=condition=complete job --all \
+ --timeout=180s
- name: "Run E2E Test"
run: |-
./gradlew -DincludeTags="EndToEndTest" test -DverboseTest=true
- - name: "Run Newman"
- continue-on-error: true
- working-directory: ./deployment/postman
- run: |-
- newman run "MVD.postman_collection.json" -e "MVD K8S.postman_environment.json" --folder "ControlPlane Management" --delay-request 5000 --verbose
-
- - name: "Print log if test failed"
- if: failure()
- run: |-
- kubectl logs deployment/provider-qna-controlplane -n mvd
-
- name: "Destroy the KinD cluster"
run: >-
kind delete cluster -n dcp-demo
diff --git a/.github/workflows/verify.yaml b/.github/workflows/verify.yaml
index 61707ba9d..401863222 100644
--- a/.github/workflows/verify.yaml
+++ b/.github/workflows/verify.yaml
@@ -62,13 +62,3 @@ jobs:
- uses: eclipse-edc/.github/.github/actions/setup-build@main
- name: Run Checkstyle
run: ./gradlew checkstyleMain checkstyleTest
-
- validate-terraform:
- runs-on: ubuntu-latest
- steps:
- - uses: hashicorp/setup-terraform@v4
- - uses: actions/checkout@v6
- - name: Check Terraform files are properly formatted (run "terraform fmt -recursive" to fix)
- run: |
- terraform fmt -recursive
- git diff --exit-code
\ No newline at end of file
diff --git a/.run/Connector Consumer Corp.run.xml b/.run/Connector Consumer Corp.run.xml
deleted file mode 100644
index 8267531f0..000000000
--- a/.run/Connector Consumer Corp.run.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.run/Connector _provider-manufacturing_.run.xml b/.run/Connector _provider-manufacturing_.run.xml
deleted file mode 100644
index 6f6e95af6..000000000
--- a/.run/Connector _provider-manufacturing_.run.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.run/Connector _provider-qna_.run.xml b/.run/Connector _provider-qna_.run.xml
deleted file mode 100644
index e0884a6dd..000000000
--- a/.run/Connector _provider-qna_.run.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.run/IdentityHub Consumer Corp.run.xml b/.run/IdentityHub Consumer Corp.run.xml
deleted file mode 100644
index 86896c70b..000000000
--- a/.run/IdentityHub Consumer Corp.run.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.run/IdentityHub Provider Corp.run.xml b/.run/IdentityHub Provider Corp.run.xml
deleted file mode 100644
index 2fd35b8b5..000000000
--- a/.run/IdentityHub Provider Corp.run.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.run/IssuerService.run.xml b/.run/IssuerService.run.xml
deleted file mode 100644
index ec950ca19..000000000
--- a/.run/IssuerService.run.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.run/Provider Catalog Server.run.xml b/.run/Provider Catalog Server.run.xml
deleted file mode 100644
index 0a8ea2688..000000000
--- a/.run/Provider Catalog Server.run.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.run/dataspace.run.xml b/.run/dataspace.run.xml
deleted file mode 100644
index 07a8593da..000000000
--- a/.run/dataspace.run.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.run/remote/Catalog Server PROVIDER.run.xml b/.run/remote/Catalog Server PROVIDER.run.xml
deleted file mode 100644
index 42ec8dd1b..000000000
--- a/.run/remote/Catalog Server PROVIDER.run.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.run/remote/Connector .run.xml b/.run/remote/Connector .run.xml
deleted file mode 100644
index 08726f829..000000000
--- a/.run/remote/Connector .run.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.run/remote/IdentityHub CONSUMER.run.xml b/.run/remote/IdentityHub CONSUMER.run.xml
deleted file mode 100644
index 22be6d2c7..000000000
--- a/.run/remote/IdentityHub CONSUMER.run.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.run/remote/IdentityHub PROVIDER.run.xml b/.run/remote/IdentityHub PROVIDER.run.xml
deleted file mode 100644
index 3fbbad1b3..000000000
--- a/.run/remote/IdentityHub PROVIDER.run.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/README.md b/README.md
index b0d71a4df..efa4cacb3 100644
--- a/README.md
+++ b/README.md
@@ -741,7 +741,7 @@ a token in the Authorization header, which authorizes the verifier to obtain the
consumer's IdentityHub.
We achieve this by intercepting the DSP request and adding the correct scope - here:
-`"org.eclipse.edc.vc.type:MembershipCredential:read"` - to the request builder. Technically, this is achieved by
+`"org.eclipse.dspace.dcp.vc.type:MembershipCredential:read"` - to the request builder. Technically, this is achieved by
registering a `postValidator` function for the relevant policy scopes, check out the
[DcpPatchExtension.java](extensions/dcp-impl/src/main/java/org/eclipse/edc/demo/dcp/core/DcpPatchExtension.java) class.
@@ -769,7 +769,7 @@ relevant scope string to the access token upon DSP egress. A policy, that requir
The
[DataAccessCredentialScopeExtractor.java](extensions/dcp-impl/src/main/java/org/eclipse/edc/demo/dcp/core/DataAccessCredentialScopeExtractor.java)
-class would convert this into a scope string `org.eclipse.edc.vc.type:DataProcessorCredential:read` and add it to the
+class would convert this into a scope string `org.eclipse.dspace.dcp.vc.type:DataProcessorCredential:read` and add it to the
consumer's access token.
### 8.4 Policy evaluation functions
@@ -934,7 +934,7 @@ deliver a credential of type `DemoCredential` to the consumer's IdentityHub.
### 10.4 Default scope-to-criterion transformer
When IdentityHub receives a Presentation query, that carries an access token, it must be able to convert a scope string
-into a filter expression, for example `org.eclipse.edc.vc.type:DataProcessorCredential:read` is converted into
+into a filter expression, for example `org.eclipse.dspace.dcp.vc.type:DataProcessorCredential:read` is converted into
`verifiableCredential.credential.type = DataProcessorCredential`. This filter expression is then used by IdentityHub to
query for `DataProcessorCredentials` in the database.
diff --git a/build.gradle.kts b/build.gradle.kts
index ae06123f4..eb529ac92 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -39,8 +39,8 @@ subprojects {
tasks.register("dockerize", DockerBuildImage::class) {
val dockerContextDir = project.projectDir
dockerFile.set(file("$dockerContextDir/src/main/docker/Dockerfile"))
- images.add("${project.name}:${project.version}")
- images.add("${project.name}:latest")
+ images.add("ghcr.io/eclipse-edc/mvd/${project.name}:${project.version}")
+ images.add("ghcr.io/eclipse-edc/mvd/${project.name}:latest")
// specify platform with the -Dplatform flag:
if (System.getProperty("platform") != null)
platform.set(System.getProperty("platform"))
diff --git a/deployment/assets/consumer_private.pem b/deployment/assets/consumer_private.pem
deleted file mode 100644
index 81c28bac2..000000000
--- a/deployment/assets/consumer_private.pem
+++ /dev/null
@@ -1,5 +0,0 @@
------BEGIN EC PRIVATE KEY-----
-MHcCAQEEIARDUGJgKy1yzxkueIJ1k3MPUWQ/tbQWQNqW6TjyHpdcoAoGCCqGSM49
-AwEHoUQDQgAE1l0Lof0a1yBc8KXhesAnoBvxZw5roYnkAXuqCYfNK3ex+hMWFuiX
-GUxHlzShAehR6wvwzV23bbC0tcFcVgW//A==
------END EC PRIVATE KEY-----
\ No newline at end of file
diff --git a/deployment/assets/consumer_public.pem b/deployment/assets/consumer_public.pem
deleted file mode 100644
index 977a19576..000000000
--- a/deployment/assets/consumer_public.pem
+++ /dev/null
@@ -1,4 +0,0 @@
------BEGIN PUBLIC KEY-----
-MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE1l0Lof0a1yBc8KXhesAnoBvxZw5r
-oYnkAXuqCYfNK3ex+hMWFuiXGUxHlzShAehR6wvwzV23bbC0tcFcVgW//A==
------END PUBLIC KEY-----
\ No newline at end of file
diff --git a/deployment/assets/credentials/k8s/consumer/dataprocessor-credential.json b/deployment/assets/credentials/k8s/consumer/dataprocessor-credential.json
deleted file mode 100644
index f7c8f50dc..000000000
--- a/deployment/assets/credentials/k8s/consumer/dataprocessor-credential.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- "id": "40e24588-b510-41ca-966c-c1e0f57d1b15",
- "participantContextId": "did:web:consumer-identityhub%3A7083:consumer",
- "timestamp": 1700659822500,
- "issuerId": "did:web:dataspace-issuer",
- "holderId": "did:web:consumer-identityhub%3A7083:consumer",
- "state": 500,
- "issuancePolicy": null,
- "reissuancePolicy": null,
- "verifiableCredential": {
- "format": "VC1_0_JWT",
- "rawVc": "eyJraWQiOiJkaWQ6d2ViOmRhdGFzcGFjZS1pc3N1ZXIja2V5LTEiLCJ0eXAiOiJKV1QiLCJhbGciOiJFZERTQSJ9.eyJpc3MiOiJkaWQ6d2ViOmRhdGFzcGFjZS1pc3N1ZXIiLCJhdWQiOiJkaWQ6d2ViOmNvbnN1bWVyLWlkZW50aXR5aHViJTNBNzA4MzphbGljZSIsInN1YiI6ImRpZDp3ZWI6Y29uc3VtZXItaWRlbnRpdHlodWIlM0E3MDgzOmFsaWNlIiwidmMiOnsiQGNvbnRleHQiOlsiaHR0cHM6Ly93d3cudzMub3JnLzIwMTgvY3JlZGVudGlhbHMvdjEiLCJodHRwczovL3czaWQub3JnL3NlY3VyaXR5L3N1aXRlcy9qd3MtMjAyMC92MSIsImh0dHBzOi8vd3d3LnczLm9yZy9ucy9kaWQvdjEiLHsibXZkLWNyZWRlbnRpYWxzIjoiaHR0cHM6Ly93M2lkLm9yZy9tdmQvY3JlZGVudGlhbHMvIiwiY29udHJhY3RWZXJzaW9uIjoibXZkLWNyZWRlbnRpYWxzOmNvbnRyYWN0VmVyc2lvbiIsImxldmVsIjoibXZkLWNyZWRlbnRpYWxzOmxldmVsIn1dLCJpZCI6Imh0dHA6Ly9vcmcueW91cmRhdGFzcGFjZS5jb20vY3JlZGVudGlhbHMvMjM0NyIsInR5cGUiOlsiVmVyaWZpYWJsZUNyZWRlbnRpYWwiLCJEYXRhUHJvY2Vzc29yQ3JlZGVudGlhbCJdLCJpc3N1ZXIiOiJkaWQ6d2ViOmRhdGFzcGFjZS1pc3N1ZXIiLCJpc3N1YW5jZURhdGUiOiIyMDIzLTA4LTE4VDAwOjAwOjAwWiIsImNyZWRlbnRpYWxTdWJqZWN0Ijp7ImlkIjoiZGlkOndlYjpjb25zdW1lci1pZGVudGl0eWh1YiUzQTcwODM6Y29uc3VtZXIiLCJjb250cmFjdFZlcnNpb24iOiIxLjAuMCIsImxldmVsIjoicHJvY2Vzc2luZyJ9fSwiaWF0IjoxNzQ4ODQ0OTE5fQ.Asd_5HEu-UaV3bSZ3DlkIlI5yiAik18JcAtKwK6HVx3MAW5uR907lEJfgdO29eHfTR9_qiHG5OitXYCpL_sxBQ",
- "credential": {
- "credentialSubject": [
- {
- "claims": {
- "id": "did:web:consumer-identityhub%3A7083:consumer",
- "contractVersion": "1.0.0",
- "level": "processing"
- }
- }
- ],
- "id": "http://org.yourdataspace.com/credentials/1235",
- "type": [
- "VerifiableCredential",
- "DataProcessorCredential"
- ],
- "issuer": {
- "id": "did:web:dataspace-issuer",
- "additionalProperties": {}
- },
- "issuanceDate": 1702339200.000000000,
- "expirationDate": null,
- "credentialStatus": null,
- "description": null,
- "name": null
- }
- }
-}
diff --git a/deployment/assets/credentials/k8s/consumer/dataprocessor_vc.json b/deployment/assets/credentials/k8s/consumer/dataprocessor_vc.json
deleted file mode 100644
index fb5154731..000000000
--- a/deployment/assets/credentials/k8s/consumer/dataprocessor_vc.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "@context": [
- "https://www.w3.org/2018/credentials/v1",
- "https://w3id.org/security/suites/jws-2020/v1",
- "https://www.w3.org/ns/did/v1",
- {
- "mvd-credentials": "https://w3id.org/mvd/credentials/",
- "contractVersion": "mvd-credentials:contractVersion",
- "level": "mvd-credentials:level"
- }
- ],
- "id": "http://org.yourdataspace.com/credentials/2347",
- "type": [
- "VerifiableCredential",
- "DataProcessorCredential"
- ],
- "issuer": "did:web:dataspace-issuer",
- "issuanceDate": "2023-08-18T00:00:00Z",
- "credentialSubject": {
- "id": "did:web:consumer-identityhub%3A7083:consumer",
- "contractVersion": "1.0.0",
- "level": "processing"
- }
-}
\ No newline at end of file
diff --git a/deployment/assets/credentials/k8s/consumer/membership-credential.json b/deployment/assets/credentials/k8s/consumer/membership-credential.json
deleted file mode 100644
index c8d45368d..000000000
--- a/deployment/assets/credentials/k8s/consumer/membership-credential.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
- "id": "40e24588-b510-41ca-966c-c1e0f57d1b14",
- "participantContextId": "did:web:consumer-identityhub%3A7083:consumer",
- "timestamp": 1700659822500,
- "issuerId": "did:web:dataspace-issuer",
- "holderId": "did:web:consumer-identityhub%3A7083:consumer",
- "state": 500,
- "issuancePolicy": null,
- "reissuancePolicy": null,
- "verifiableCredential": {
- "rawVc": "eyJraWQiOiJkaWQ6d2ViOmRhdGFzcGFjZS1pc3N1ZXIja2V5LTEiLCJ0eXAiOiJKV1QiLCJhbGciOiJFZERTQSJ9.eyJpc3MiOiJkaWQ6d2ViOmRhdGFzcGFjZS1pc3N1ZXIiLCJhdWQiOiJkaWQ6d2ViOmNvbnN1bWVyLWlkZW50aXR5aHViJTNBNzA4MzphbGljZSIsInN1YiI6ImRpZDp3ZWI6Y29uc3VtZXItaWRlbnRpdHlodWIlM0E3MDgzOmFsaWNlIiwidmMiOnsiQGNvbnRleHQiOlsiaHR0cHM6Ly93d3cudzMub3JnLzIwMTgvY3JlZGVudGlhbHMvdjEiLCJodHRwczovL3czaWQub3JnL3NlY3VyaXR5L3N1aXRlcy9qd3MtMjAyMC92MSIsImh0dHBzOi8vd3d3LnczLm9yZy9ucy9kaWQvdjEiLHsibXZkLWNyZWRlbnRpYWxzIjoiaHR0cHM6Ly93M2lkLm9yZy9tdmQvY3JlZGVudGlhbHMvIiwibWVtYmVyc2hpcCI6Im12ZC1jcmVkZW50aWFsczptZW1iZXJzaGlwIiwibWVtYmVyc2hpcFR5cGUiOiJtdmQtY3JlZGVudGlhbHM6bWVtYmVyc2hpcFR5cGUiLCJ3ZWJzaXRlIjoibXZkLWNyZWRlbnRpYWxzOndlYnNpdGUiLCJjb250YWN0IjoibXZkLWNyZWRlbnRpYWxzOmNvbnRhY3QiLCJzaW5jZSI6Im12ZC1jcmVkZW50aWFsczpzaW5jZSJ9XSwiaWQiOiJodHRwOi8vb3JnLnlvdXJkYXRhc3BhY2UuY29tL2NyZWRlbnRpYWxzLzIzNDciLCJ0eXBlIjpbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwiTWVtYmVyc2hpcENyZWRlbnRpYWwiXSwiaXNzdWVyIjoiZGlkOndlYjpkYXRhc3BhY2UtaXNzdWVyIiwiaXNzdWFuY2VEYXRlIjoiMjAyMy0wOC0xOFQwMDowMDowMFoiLCJjcmVkZW50aWFsU3ViamVjdCI6eyJpZCI6ImRpZDp3ZWI6Y29uc3VtZXItaWRlbnRpdHlodWIlM0E3MDgzOmNvbnN1bWVyIiwibWVtYmVyc2hpcCI6eyJtZW1iZXJzaGlwVHlwZSI6IkZ1bGxNZW1iZXIiLCJ3ZWJzaXRlIjoid3d3LndoYXRldmVyLmNvbSIsImNvbnRhY3QiOiJmaXp6LmJ1enpAd2hhdGV2ZXIuY29tIiwic2luY2UiOiIyMDIzLTAxLTAxVDAwOjAwOjAwWiJ9fX0sImlhdCI6MTc0ODg0NDkxOX0.xcb9qKJ_BGGj_KvSM9lZIdJW01FSdDjALXxhmH8CehkOPy2nXGnWKIbjHJZmW60NtU7kqRC23THU7OWFs28EDw",
- "format": "VC1_0_JWT",
- "credential": {
- "credentialSubject": [
- {
- "claims": {
- "membershipType": "FullMember",
- "website": "www.some-other-website.com",
- "contact": "bar.baz@company.com",
- "since": "2023-01-01T00:00:00Z"
- },
- "id": "did:web:consumer-identityhub%3A7083:consumer"
- }
- ],
- "id": "http://org.yourdataspace.com/credentials/2347",
- "type": [
- "VerifiableCredential",
- "MembershipCredential"
- ],
- "issuer": {
- "id": "did:web:dataspace-issuer",
- "additionalProperties": {}
- },
- "issuanceDate": 1702339200.000000000,
- "expirationDate": null,
- "credentialStatus": null,
- "description": null,
- "name": null
- }
- }
-}
diff --git a/deployment/assets/credentials/k8s/consumer/membership_vc.json b/deployment/assets/credentials/k8s/consumer/membership_vc.json
deleted file mode 100644
index d3f4ae745..000000000
--- a/deployment/assets/credentials/k8s/consumer/membership_vc.json
+++ /dev/null
@@ -1,31 +0,0 @@
-{
- "@context": [
- "https://www.w3.org/2018/credentials/v1",
- "https://w3id.org/security/suites/jws-2020/v1",
- "https://www.w3.org/ns/did/v1",
- {
- "mvd-credentials": "https://w3id.org/mvd/credentials/",
- "membership": "mvd-credentials:membership",
- "membershipType": "mvd-credentials:membershipType",
- "website": "mvd-credentials:website",
- "contact": "mvd-credentials:contact",
- "since": "mvd-credentials:since"
- }
- ],
- "id": "http://org.yourdataspace.com/credentials/2347",
- "type": [
- "VerifiableCredential",
- "MembershipCredential"
- ],
- "issuer": "did:web:dataspace-issuer",
- "issuanceDate": "2023-08-18T00:00:00Z",
- "credentialSubject": {
- "id": "did:web:consumer-identityhub%3A7083:consumer",
- "membership": {
- "membershipType": "FullMember",
- "website": "www.whatever.com",
- "contact": "fizz.buzz@whatever.com",
- "since": "2023-01-01T00:00:00Z"
- }
- }
-}
\ No newline at end of file
diff --git a/deployment/assets/credentials/k8s/provider/dataprocessor-credential.json b/deployment/assets/credentials/k8s/provider/dataprocessor-credential.json
deleted file mode 100644
index 7ed5bee2c..000000000
--- a/deployment/assets/credentials/k8s/provider/dataprocessor-credential.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- "id": "40e24588-b510-41ca-966c-c1e0f57d1ca7",
- "participantContextId": "did:web:provider-identityhub%3A7083:provider",
- "timestamp": 1700659822500,
- "issuerId": "did:web:dataspace-issuer",
- "holderId": "did:web:provider-identityhub%3A7083:provider",
- "state": 500,
- "issuancePolicy": null,
- "reissuancePolicy": null,
- "verifiableCredential": {
- "format": "VC1_0_JWT",
- "rawVc": "eyJraWQiOiJkaWQ6d2ViOmRhdGFzcGFjZS1pc3N1ZXIja2V5LTEiLCJ0eXAiOiJKV1QiLCJhbGciOiJFZERTQSJ9.eyJpc3MiOiJkaWQ6d2ViOmRhdGFzcGFjZS1pc3N1ZXIiLCJhdWQiOiJkaWQ6d2ViOnByb3ZpZGVyLWlkZW50aXR5aHViJTNBNzA4Mzpib2IiLCJzdWIiOiJkaWQ6d2ViOnByb3ZpZGVyLWlkZW50aXR5aHViJTNBNzA4Mzpib2IiLCJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vdzNpZC5vcmcvc2VjdXJpdHkvc3VpdGVzL2p3cy0yMDIwL3YxIiwiaHR0cHM6Ly93d3cudzMub3JnL25zL2RpZC92MSIseyJtdmQtY3JlZGVudGlhbHMiOiJodHRwczovL3czaWQub3JnL212ZC9jcmVkZW50aWFscy8iLCJjb250cmFjdFZlcnNpb24iOiJtdmQtY3JlZGVudGlhbHM6Y29udHJhY3RWZXJzaW9uIiwibGV2ZWwiOiJtdmQtY3JlZGVudGlhbHM6bGV2ZWwifV0sImlkIjoiaHR0cDovL29yZy55b3VyZGF0YXNwYWNlLmNvbS9jcmVkZW50aWFscy8yMzQ3IiwidHlwZSI6WyJWZXJpZmlhYmxlQ3JlZGVudGlhbCIsIkRhdGFQcm9jZXNzb3JDcmVkZW50aWFsIl0sImlzc3VlciI6ImRpZDp3ZWI6ZGF0YXNwYWNlLWlzc3VlciIsImlzc3VhbmNlRGF0ZSI6IjIwMjMtMDgtMThUMDA6MDA6MDBaIiwiY3JlZGVudGlhbFN1YmplY3QiOnsiaWQiOiJkaWQ6d2ViOnByb3ZpZGVyLWlkZW50aXR5aHViJTNBNzA4Mzpwcm92aWRlciIsImxldmVsIjoicHJvY2Vzc2luZyIsImNvbnRyYWN0VmVyc2lvbiI6IjEuMC4wIn19LCJpYXQiOjE3NDg4NDQ5MTl9.lgSIzaPA9mm1LTEssDlfG2bcKUyhjWfjl85yEMHcKxAjl3kyFw1lBSokCR85f2bm-ZBHiAfCh9M9W1jixjPTCg",
- "credential": {
- "credentialSubject": [
- {
- "claims": {
- "id": "did:web:provider-identityhub%3A7083:provider",
- "contractVersion": "1.0.0",
- "level": "processing"
- }
- }
- ],
- "id": "http://org.yourdataspace.com/credentials/1265",
- "type": [
- "VerifiableCredential",
- "DataProcessorCredential"
- ],
- "issuer": {
- "id": "did:web:dataspace-issuer",
- "additionalProperties": {}
- },
- "issuanceDate": 1702339200.000000000,
- "expirationDate": null,
- "credentialStatus": null,
- "description": null,
- "name": null
- }
- }
-}
diff --git a/deployment/assets/credentials/k8s/provider/dataprocessor_vc.json b/deployment/assets/credentials/k8s/provider/dataprocessor_vc.json
deleted file mode 100644
index ff3160ebb..000000000
--- a/deployment/assets/credentials/k8s/provider/dataprocessor_vc.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "@context": [
- "https://www.w3.org/2018/credentials/v1",
- "https://w3id.org/security/suites/jws-2020/v1",
- "https://www.w3.org/ns/did/v1",
- {
- "mvd-credentials": "https://w3id.org/mvd/credentials/",
- "contractVersion": "mvd-credentials:contractVersion",
- "level": "mvd-credentials:level"
- }
- ],
- "id": "http://org.yourdataspace.com/credentials/2347",
- "type": [
- "VerifiableCredential",
- "DataProcessorCredential"
- ],
- "issuer": "did:web:dataspace-issuer",
- "issuanceDate": "2023-08-18T00:00:00Z",
- "credentialSubject": {
- "id": "did:web:provider-identityhub%3A7083:provider",
- "level": "processing",
- "contractVersion": "1.0.0"
- }
-}
\ No newline at end of file
diff --git a/deployment/assets/credentials/k8s/provider/membership-credential.json b/deployment/assets/credentials/k8s/provider/membership-credential.json
deleted file mode 100644
index 076ef60e0..000000000
--- a/deployment/assets/credentials/k8s/provider/membership-credential.json
+++ /dev/null
@@ -1,43 +0,0 @@
-{
- "id": "40e24588-b510-41ca-966c-c1e0f57d1b14",
- "participantContextId": "did:web:provider-identityhub%3A7083:provider",
- "timestamp": 1700659822500,
- "issuerId": "did:web:dataspace-issuer",
- "holderId": "did:web:provider-identityhub%3A7083:provider",
- "state": 500,
- "issuancePolicy": null,
- "reissuancePolicy": null,
- "verifiableCredential": {
- "rawVc": "eyJraWQiOiJkaWQ6d2ViOmRhdGFzcGFjZS1pc3N1ZXIja2V5LTEiLCJ0eXAiOiJKV1QiLCJhbGciOiJFZERTQSJ9.eyJpc3MiOiJkaWQ6d2ViOmRhdGFzcGFjZS1pc3N1ZXIiLCJhdWQiOiJkaWQ6d2ViOnByb3ZpZGVyLWlkZW50aXR5aHViJTNBNzA4Mzpib2IiLCJzdWIiOiJkaWQ6d2ViOnByb3ZpZGVyLWlkZW50aXR5aHViJTNBNzA4Mzpib2IiLCJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vdzNpZC5vcmcvc2VjdXJpdHkvc3VpdGVzL2p3cy0yMDIwL3YxIiwiaHR0cHM6Ly93d3cudzMub3JnL25zL2RpZC92MSIseyJtdmQtY3JlZGVudGlhbHMiOiJodHRwczovL3czaWQub3JnL212ZC9jcmVkZW50aWFscy8iLCJtZW1iZXJzaGlwIjoibXZkLWNyZWRlbnRpYWxzOm1lbWJlcnNoaXAiLCJtZW1iZXJzaGlwVHlwZSI6Im12ZC1jcmVkZW50aWFsczptZW1iZXJzaGlwVHlwZSIsIndlYnNpdGUiOiJtdmQtY3JlZGVudGlhbHM6d2Vic2l0ZSIsImNvbnRhY3QiOiJtdmQtY3JlZGVudGlhbHM6Y29udGFjdCIsInNpbmNlIjoibXZkLWNyZWRlbnRpYWxzOnNpbmNlIn1dLCJpZCI6Imh0dHA6Ly9vcmcueW91cmRhdGFzcGFjZS5jb20vY3JlZGVudGlhbHMvMjM0NyIsInR5cGUiOlsiVmVyaWZpYWJsZUNyZWRlbnRpYWwiLCJNZW1iZXJzaGlwQ3JlZGVudGlhbCJdLCJpc3N1ZXIiOiJkaWQ6d2ViOmRhdGFzcGFjZS1pc3N1ZXIiLCJpc3N1YW5jZURhdGUiOiIyMDIzLTA4LTE4VDAwOjAwOjAwWiIsImNyZWRlbnRpYWxTdWJqZWN0Ijp7ImlkIjoiZGlkOndlYjpwcm92aWRlci1pZGVudGl0eWh1YiUzQTcwODM6cHJvdmlkZXIiLCJtZW1iZXJzaGlwIjp7Im1lbWJlcnNoaXBUeXBlIjoiRnVsbE1lbWJlciIsIndlYnNpdGUiOiJ3d3cud2hhdGV2ZXIuY29tIiwiY29udGFjdCI6Im1peC5tYXhAd2hhdGV2ZXIuY29tIiwic2luY2UiOiIyMDIzLTAxLTAxVDAwOjAwOjAwWiJ9fX0sImlhdCI6MTc0ODg0NDkxOH0.iX84wIF6unwmOWPtyRHAYv-YaoDSTzHl1ioZcfa-Y6aMGzbgD4EDhjKY9syR5mdYYIvqs__cAN-d3MOKbMgjDA",
- "format": "VC1_0_JWT",
- "credential": {
- "credentialSubject": [
- {
- "claims": {
- "membership": {
- "membershipType": "FullMember",
- "website": "www.company-website.com",
- "contact": "max.mustermann@company.com",
- "since": "2023-05-08T00:00:00Z"
- }
- },
- "id": "did:web:provider-identityhub%3A7083:provider"
- }
- ],
- "id": "http://org.yourdataspace.com/credentials/1234",
- "type": [
- "VerifiableCredential",
- "MembershipCredential"
- ],
- "issuer": {
- "id": "did:web:dataspace-issuer",
- "additionalProperties": {}
- },
- "issuanceDate": 1702339200.000000000,
- "expirationDate": null,
- "credentialStatus": null,
- "description": null,
- "name": null
- }
- }
-}
diff --git a/deployment/assets/credentials/k8s/provider/membership_vc.json b/deployment/assets/credentials/k8s/provider/membership_vc.json
deleted file mode 100644
index 4cf4ec500..000000000
--- a/deployment/assets/credentials/k8s/provider/membership_vc.json
+++ /dev/null
@@ -1,31 +0,0 @@
-{
- "@context": [
- "https://www.w3.org/2018/credentials/v1",
- "https://w3id.org/security/suites/jws-2020/v1",
- "https://www.w3.org/ns/did/v1",
- {
- "mvd-credentials": "https://w3id.org/mvd/credentials/",
- "membership": "mvd-credentials:membership",
- "membershipType": "mvd-credentials:membershipType",
- "website": "mvd-credentials:website",
- "contact": "mvd-credentials:contact",
- "since": "mvd-credentials:since"
- }
- ],
- "id": "http://org.yourdataspace.com/credentials/2347",
- "type": [
- "VerifiableCredential",
- "MembershipCredential"
- ],
- "issuer": "did:web:dataspace-issuer",
- "issuanceDate": "2023-08-18T00:00:00Z",
- "credentialSubject": {
- "id": "did:web:provider-identityhub%3A7083:provider",
- "membership": {
- "membershipType": "FullMember",
- "website": "www.whatever.com",
- "contact": "mix.max@whatever.com",
- "since": "2023-01-01T00:00:00Z"
- }
- }
-}
\ No newline at end of file
diff --git a/deployment/assets/credentials/local/consumer/dataprocessor-credential.json b/deployment/assets/credentials/local/consumer/dataprocessor-credential.json
deleted file mode 100644
index 934f2d850..000000000
--- a/deployment/assets/credentials/local/consumer/dataprocessor-credential.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- "id": "40e24588-b510-41ca-966c-c1e0f57d1b15",
- "participantContextId": "did:web:localhost%3A7083",
- "timestamp": 1700659822500,
- "issuerId": "did:web:localhost%3A9876",
- "holderId": "did:web:localhost%3A7093",
- "state": 500,
- "issuancePolicy": null,
- "reissuancePolicy": null,
- "verifiableCredential": {
- "format": "VC1_0_JWT",
- "rawVc": "eyJraWQiOiJkaWQ6d2ViOmxvY2FsaG9zdCUzQTk4NzYja2V5LTEiLCJ0eXAiOiJKV1QiLCJhbGciOiJFZERTQSJ9.eyJpc3MiOiJkaWQ6d2ViOmxvY2FsaG9zdCUzQTk4NzYiLCJhdWQiOiJkaWQ6d2ViOmNvbnN1bWVyLWlkZW50aXR5aHViJTNBNzA4MzphbGljZSIsInN1YiI6ImRpZDp3ZWI6Y29uc3VtZXItaWRlbnRpdHlodWIlM0E3MDgzOmFsaWNlIiwidmMiOnsiQGNvbnRleHQiOlsiaHR0cHM6Ly93d3cudzMub3JnLzIwMTgvY3JlZGVudGlhbHMvdjEiLCJodHRwczovL3czaWQub3JnL3NlY3VyaXR5L3N1aXRlcy9qd3MtMjAyMC92MSIsImh0dHBzOi8vd3d3LnczLm9yZy9ucy9kaWQvdjEiLHsibXZkLWNyZWRlbnRpYWxzIjoiaHR0cHM6Ly93M2lkLm9yZy9tdmQvY3JlZGVudGlhbHMvIiwiY29udHJhY3RWZXJzaW9uIjoibXZkLWNyZWRlbnRpYWxzOmNvbnRyYWN0VmVyc2lvbiIsImxldmVsIjoibXZkLWNyZWRlbnRpYWxzOmxldmVsIn1dLCJpZCI6Imh0dHA6Ly9vcmcueW91cmRhdGFzcGFjZS5jb20vY3JlZGVudGlhbHMvMjM0NyIsInR5cGUiOlsiVmVyaWZpYWJsZUNyZWRlbnRpYWwiLCJEYXRhUHJvY2Vzc29yQ3JlZGVudGlhbCJdLCJpc3N1ZXIiOiJkaWQ6d2ViOmxvY2FsaG9zdCUzQTk4NzYiLCJpc3N1YW5jZURhdGUiOiIyMDIzLTA4LTE4VDAwOjAwOjAwWiIsImNyZWRlbnRpYWxTdWJqZWN0Ijp7ImlkIjoiZGlkOndlYjpsb2NhbGhvc3QlM0E3MDgzIiwiY29udHJhY3RWZXJzaW9uIjoiMS4wLjAiLCJsZXZlbCI6InByb2Nlc3NpbmcifX0sImlhdCI6MTc0ODg0NDkxOX0.B3ZjHNsiOhuiv78uv4hu08LyA9gZrciMhKOHsC9CV99_KesoWQAjrsg2bJd2b3QQguLoR0C3S3u-9tcYvmB1Cg",
- "credential": {
- "credentialSubject": [
- {
- "claims": {
- "id": "did:web:localhost%3A7083",
- "contractVersion": "1.0.0",
- "level": "processing"
- }
- }
- ],
- "id": "http://org.yourdataspace.com/credentials/1235",
- "type": [
- "VerifiableCredential",
- "DataProcessorCredential"
- ],
- "issuer": {
- "id": "did:web:localhost%3A9876",
- "additionalProperties": {}
- },
- "issuanceDate": 1702339200.000000000,
- "expirationDate": null,
- "credentialStatus": null,
- "description": null,
- "name": null
- }
- }
-}
diff --git a/deployment/assets/credentials/local/consumer/membership-credential.json b/deployment/assets/credentials/local/consumer/membership-credential.json
deleted file mode 100644
index 95ce92cd9..000000000
--- a/deployment/assets/credentials/local/consumer/membership-credential.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
- "id": "40e24588-b510-41ca-966c-c1e0f57d1b14",
- "participantContextId": "did:web:localhost%3A7083",
- "timestamp": 1700659822500,
- "issuerId": "did:web:localhost%3A9876",
- "holderId": "did:web:localhost%3A7083",
- "state": 500,
- "issuancePolicy": null,
- "reissuancePolicy": null,
- "verifiableCredential": {
- "rawVc": "eyJraWQiOiJkaWQ6d2ViOmxvY2FsaG9zdCUzQTk4NzYja2V5LTEiLCJ0eXAiOiJKV1QiLCJhbGciOiJFZERTQSJ9.eyJpc3MiOiJkaWQ6d2ViOmxvY2FsaG9zdCUzQTk4NzYiLCJhdWQiOiJkaWQ6d2ViOmNvbnN1bWVyLWlkZW50aXR5aHViJTNBNzA4MzphbGljZSIsInN1YiI6ImRpZDp3ZWI6Y29uc3VtZXItaWRlbnRpdHlodWIlM0E3MDgzOmFsaWNlIiwidmMiOnsiQGNvbnRleHQiOlsiaHR0cHM6Ly93d3cudzMub3JnLzIwMTgvY3JlZGVudGlhbHMvdjEiLCJodHRwczovL3czaWQub3JnL3NlY3VyaXR5L3N1aXRlcy9qd3MtMjAyMC92MSIsImh0dHBzOi8vd3d3LnczLm9yZy9ucy9kaWQvdjEiLHsibXZkLWNyZWRlbnRpYWxzIjoiaHR0cHM6Ly93M2lkLm9yZy9tdmQvY3JlZGVudGlhbHMvIiwibWVtYmVyc2hpcCI6Im12ZC1jcmVkZW50aWFsczptZW1iZXJzaGlwIiwibWVtYmVyc2hpcFR5cGUiOiJtdmQtY3JlZGVudGlhbHM6bWVtYmVyc2hpcFR5cGUiLCJ3ZWJzaXRlIjoibXZkLWNyZWRlbnRpYWxzOndlYnNpdGUiLCJjb250YWN0IjoibXZkLWNyZWRlbnRpYWxzOmNvbnRhY3QiLCJzaW5jZSI6Im12ZC1jcmVkZW50aWFsczpzaW5jZSJ9XSwiaWQiOiJodHRwOi8vb3JnLnlvdXJkYXRhc3BhY2UuY29tL2NyZWRlbnRpYWxzLzIzNDciLCJ0eXBlIjpbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwiTWVtYmVyc2hpcENyZWRlbnRpYWwiXSwiaXNzdWVyIjoiZGlkOndlYjpsb2NhbGhvc3QlM0E5ODc2IiwiaXNzdWFuY2VEYXRlIjoiMjAyMy0wOC0xOFQwMDowMDowMFoiLCJjcmVkZW50aWFsU3ViamVjdCI6eyJpZCI6ImRpZDp3ZWI6bG9jYWxob3N0JTNBNzA4MyIsIm1lbWJlcnNoaXAiOnsibWVtYmVyc2hpcFR5cGUiOiJGdWxsTWVtYmVyIiwid2Vic2l0ZSI6Ind3dy53aGF0ZXZlci5jb20iLCJjb250YWN0IjoibWl4Lm1heEB3aGF0ZXZlci5jb20iLCJzaW5jZSI6IjIwMjMtMDEtMDFUMDA6MDA6MDBaIn19fSwiaWF0IjoxNzQ4ODQ0OTE5fQ.xnb1qnjEUpSAzFlJT9krVkW8y7MffVJL7xhfimLEV2ADYtRw_94LvcYuv-eFwMcOEMtNzfWj4MRoM2IslI5rBw",
- "format": "VC1_0_JWT",
- "credential": {
- "credentialSubject": [
- {
- "claims": {
- "membershipType": "FullMember",
- "website": "www.some-other-website.com",
- "contact": "bar.baz@company.com",
- "since": "2023-01-01T00:00:00Z"
- },
- "id": "did:web:localhost%3A7083"
- }
- ],
- "id": "http://org.yourdataspace.com/credentials/2347",
- "type": [
- "VerifiableCredential",
- "MembershipCredential"
- ],
- "issuer": {
- "id": "did:web:localhost%3A9876",
- "additionalProperties": {}
- },
- "issuanceDate": 1702339200.000000000,
- "expirationDate": null,
- "credentialStatus": null,
- "description": null,
- "name": null
- }
- }
-}
diff --git a/deployment/assets/credentials/local/consumer/unsigned/dataprocessor_vc.json b/deployment/assets/credentials/local/consumer/unsigned/dataprocessor_vc.json
deleted file mode 100644
index e65876bf7..000000000
--- a/deployment/assets/credentials/local/consumer/unsigned/dataprocessor_vc.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "@context": [
- "https://www.w3.org/2018/credentials/v1",
- "https://w3id.org/security/suites/jws-2020/v1",
- "https://www.w3.org/ns/did/v1",
- {
- "mvd-credentials": "https://w3id.org/mvd/credentials/",
- "contractVersion": "mvd-credentials:contractVersion",
- "level": "mvd-credentials:level"
- }
- ],
- "id": "http://org.yourdataspace.com/credentials/2347",
- "type": [
- "VerifiableCredential",
- "DataProcessorCredential"
- ],
- "issuer": "did:web:localhost%3A9876",
- "issuanceDate": "2023-08-18T00:00:00Z",
- "credentialSubject": {
- "id": "did:web:localhost%3A7083",
- "contractVersion": "1.0.0",
- "level": "processing"
- }
-}
\ No newline at end of file
diff --git a/deployment/assets/credentials/local/consumer/unsigned/membership_vc.json b/deployment/assets/credentials/local/consumer/unsigned/membership_vc.json
deleted file mode 100644
index 65b1b56da..000000000
--- a/deployment/assets/credentials/local/consumer/unsigned/membership_vc.json
+++ /dev/null
@@ -1,31 +0,0 @@
-{
- "@context": [
- "https://www.w3.org/2018/credentials/v1",
- "https://w3id.org/security/suites/jws-2020/v1",
- "https://www.w3.org/ns/did/v1",
- {
- "mvd-credentials": "https://w3id.org/mvd/credentials/",
- "membership": "mvd-credentials:membership",
- "membershipType": "mvd-credentials:membershipType",
- "website": "mvd-credentials:website",
- "contact": "mvd-credentials:contact",
- "since": "mvd-credentials:since"
- }
- ],
- "id": "http://org.yourdataspace.com/credentials/2347",
- "type": [
- "VerifiableCredential",
- "MembershipCredential"
- ],
- "issuer": "did:web:localhost%3A9876",
- "issuanceDate": "2023-08-18T00:00:00Z",
- "credentialSubject": {
- "id": "did:web:localhost%3A7083",
- "membership": {
- "membershipType": "FullMember",
- "website": "www.whatever.com",
- "contact": "mix.max@whatever.com",
- "since": "2023-01-01T00:00:00Z"
- }
- }
-}
\ No newline at end of file
diff --git a/deployment/assets/credentials/local/provider/dataprocessor-credential.json b/deployment/assets/credentials/local/provider/dataprocessor-credential.json
deleted file mode 100644
index aadbef8fe..000000000
--- a/deployment/assets/credentials/local/provider/dataprocessor-credential.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- "id": "40e24588-b510-41ca-966c-c1e0f57d1ca7",
- "participantContextId": "did:web:localhost%3A7093",
- "timestamp": 1700659822500,
- "issuerId": "did:web:localhost%3A9876",
- "holderId": "did:web:localhost%3A7093",
- "state": 500,
- "issuancePolicy": null,
- "reissuancePolicy": null,
- "verifiableCredential": {
- "format": "VC1_0_JWT",
- "rawVc": "eyJraWQiOiJkaWQ6d2ViOmxvY2FsaG9zdCUzQTk4NzYja2V5LTEiLCJ0eXAiOiJKV1QiLCJhbGciOiJFZERTQSJ9.eyJpc3MiOiJkaWQ6d2ViOmxvY2FsaG9zdCUzQTk4NzYiLCJhdWQiOiJkaWQ6d2ViOnByb3ZpZGVyLWlkZW50aXR5aHViJTNBNzA4Mzpib2IiLCJzdWIiOiJkaWQ6d2ViOnByb3ZpZGVyLWlkZW50aXR5aHViJTNBNzA4Mzpib2IiLCJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vdzNpZC5vcmcvc2VjdXJpdHkvc3VpdGVzL2p3cy0yMDIwL3YxIiwiaHR0cHM6Ly93d3cudzMub3JnL25zL2RpZC92MSIseyJtdmQtY3JlZGVudGlhbHMiOiJodHRwczovL3czaWQub3JnL212ZC9jcmVkZW50aWFscy8iLCJjb250cmFjdFZlcnNpb24iOiJtdmQtY3JlZGVudGlhbHM6Y29udHJhY3RWZXJzaW9uIiwibGV2ZWwiOiJtdmQtY3JlZGVudGlhbHM6bGV2ZWwifV0sImlkIjoiaHR0cDovL29yZy55b3VyZGF0YXNwYWNlLmNvbS9jcmVkZW50aWFscy8yMzQ3IiwidHlwZSI6WyJWZXJpZmlhYmxlQ3JlZGVudGlhbCIsIkRhdGFQcm9jZXNzb3JDcmVkZW50aWFsIl0sImlzc3VlciI6ImRpZDp3ZWI6bG9jYWxob3N0JTNBOTg3NiIsImlzc3VhbmNlRGF0ZSI6IjIwMjMtMDgtMThUMDA6MDA6MDBaIiwiY3JlZGVudGlhbFN1YmplY3QiOnsiaWQiOiJkaWQ6d2ViOmxvY2FsaG9zdCUzQTcwOTMiLCJsZXZlbCI6InByb2Nlc3NpbmciLCJjb250cmFjdFZlcnNpb24iOiIxLjAuMCJ9fSwiaWF0IjoxNzQ4ODQ0OTE5fQ.aeb2uwwwEbaa3236XJhNOpJ_KxUIIefYeheAiw7OPtk_rXjmFOQ_aa7F09kEEgGK1NB3sijfVIEo5E96vMfZCQ",
- "credential": {
- "credentialSubject": [
- {
- "claims": {
- "id": "did:web:localhost%3A7093",
- "contractVersion": "1.0.0",
- "level": "processing"
- }
- }
- ],
- "id": "http://org.yourdataspace.com/credentials/1265",
- "type": [
- "VerifiableCredential",
- "DataProcessorCredential"
- ],
- "issuer": {
- "id": "did:web:localhost%3A9876",
- "additionalProperties": {}
- },
- "issuanceDate": 1702339200.000000000,
- "expirationDate": null,
- "credentialStatus": null,
- "description": null,
- "name": null
- }
- }
-}
diff --git a/deployment/assets/credentials/local/provider/membership-credential.json b/deployment/assets/credentials/local/provider/membership-credential.json
deleted file mode 100644
index 419beea63..000000000
--- a/deployment/assets/credentials/local/provider/membership-credential.json
+++ /dev/null
@@ -1,43 +0,0 @@
-{
- "id": "40e24588-b510-41ca-966c-c1e0f57d1b14",
- "participantContextId": "did:web:localhost%3A7093",
- "timestamp": 1700659822500,
- "issuerId": "did:web:localhost%3A9876",
- "holderId": "did:web:localhost%3A7093",
- "state": 500,
- "issuancePolicy": null,
- "reissuancePolicy": null,
- "verifiableCredential": {
- "rawVc": "eyJraWQiOiJkaWQ6d2ViOmxvY2FsaG9zdCUzQTk4NzYja2V5LTEiLCJ0eXAiOiJKV1QiLCJhbGciOiJFZERTQSJ9.eyJpc3MiOiJkaWQ6d2ViOmxvY2FsaG9zdCUzQTk4NzYiLCJhdWQiOiJkaWQ6d2ViOnByb3ZpZGVyLWlkZW50aXR5aHViJTNBNzA4Mzpib2IiLCJzdWIiOiJkaWQ6d2ViOnByb3ZpZGVyLWlkZW50aXR5aHViJTNBNzA4Mzpib2IiLCJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vdzNpZC5vcmcvc2VjdXJpdHkvc3VpdGVzL2p3cy0yMDIwL3YxIiwiaHR0cHM6Ly93d3cudzMub3JnL25zL2RpZC92MSIseyJtdmQtY3JlZGVudGlhbHMiOiJodHRwczovL3czaWQub3JnL212ZC9jcmVkZW50aWFscy8iLCJtZW1iZXJzaGlwIjoibXZkLWNyZWRlbnRpYWxzOm1lbWJlcnNoaXAiLCJtZW1iZXJzaGlwVHlwZSI6Im12ZC1jcmVkZW50aWFsczptZW1iZXJzaGlwVHlwZSIsIndlYnNpdGUiOiJtdmQtY3JlZGVudGlhbHM6d2Vic2l0ZSIsImNvbnRhY3QiOiJtdmQtY3JlZGVudGlhbHM6Y29udGFjdCIsInNpbmNlIjoibXZkLWNyZWRlbnRpYWxzOnNpbmNlIn1dLCJpZCI6Imh0dHA6Ly9vcmcueW91cmRhdGFzcGFjZS5jb20vY3JlZGVudGlhbHMvMTIzNCIsInR5cGUiOlsiVmVyaWZpYWJsZUNyZWRlbnRpYWwiLCJNZW1iZXJzaGlwQ3JlZGVudGlhbCJdLCJpc3N1ZXIiOiJkaWQ6d2ViOmxvY2FsaG9zdCUzQTk4NzYiLCJpc3N1YW5jZURhdGUiOiIyMDIzLTA4LTE4VDAwOjAwOjAwWiIsImNyZWRlbnRpYWxTdWJqZWN0Ijp7ImlkIjoiZGlkOndlYjpsb2NhbGhvc3QlM0E3MDkzIiwibWVtYmVyc2hpcCI6eyJtZW1iZXJzaGlwVHlwZSI6IlByb3NwZWN0TWVtYmVyIiwid2Vic2l0ZSI6Ind3dy5xdWl6enF1YXp6LmNvbSIsImNvbnRhY3QiOiJmb28uYmFyQHF1aXp6cXVhenouY29tIiwic2luY2UiOiIyMDIzLTAxLTAxVDAwOjAwOjAwWiJ9fX0sImlhdCI6MTc0ODg0NDkxOX0.HmC6-GC6GalGL6n8UQ2BNDOAS1qNJ0B6A7gObM_p0psOkZqCvtSQ-gwMTX8qd5gK7eihGuAEiMQ7Z_gCvgKKAw",
- "format": "VC1_0_JWT",
- "credential": {
- "credentialSubject": [
- {
- "claims": {
- "membership": {
- "contact": "fizz.buzz@quizzquazz.com",
- "membershipType": "PartialMember",
- "since": "2023-01-01T00:00:00Z",
- "website": "www.quizzquazz.com"
- }
- },
- "id": "did:web:localhost%3A7093"
- }
- ],
- "id": "http://org.yourdataspace.com/credentials/1234",
- "type": [
- "VerifiableCredential",
- "MembershipCredential"
- ],
- "issuer": {
- "id": "did:web:localhost%3A9876",
- "additionalProperties": {}
- },
- "issuanceDate": 1702339200.000000000,
- "expirationDate": null,
- "credentialStatus": null,
- "description": null,
- "name": null
- }
- }
-}
diff --git a/deployment/assets/credentials/local/provider/unsigned/dataprocessor_vc.json b/deployment/assets/credentials/local/provider/unsigned/dataprocessor_vc.json
deleted file mode 100644
index 3152b5f13..000000000
--- a/deployment/assets/credentials/local/provider/unsigned/dataprocessor_vc.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "@context": [
- "https://www.w3.org/2018/credentials/v1",
- "https://w3id.org/security/suites/jws-2020/v1",
- "https://www.w3.org/ns/did/v1",
- {
- "mvd-credentials": "https://w3id.org/mvd/credentials/",
- "contractVersion": "mvd-credentials:contractVersion",
- "level": "mvd-credentials:level"
- }
- ],
- "id": "http://org.yourdataspace.com/credentials/2347",
- "type": [
- "VerifiableCredential",
- "DataProcessorCredential"
- ],
- "issuer": "did:web:localhost%3A9876",
- "issuanceDate": "2023-08-18T00:00:00Z",
- "credentialSubject": {
- "id": "did:web:localhost%3A7093",
- "level": "processing",
- "contractVersion": "1.0.0"
- }
-}
\ No newline at end of file
diff --git a/deployment/assets/credentials/local/provider/unsigned/membership_vc.json b/deployment/assets/credentials/local/provider/unsigned/membership_vc.json
deleted file mode 100644
index a2b9efe35..000000000
--- a/deployment/assets/credentials/local/provider/unsigned/membership_vc.json
+++ /dev/null
@@ -1,31 +0,0 @@
-{
- "@context": [
- "https://www.w3.org/2018/credentials/v1",
- "https://w3id.org/security/suites/jws-2020/v1",
- "https://www.w3.org/ns/did/v1",
- {
- "mvd-credentials": "https://w3id.org/mvd/credentials/",
- "membership": "mvd-credentials:membership",
- "membershipType": "mvd-credentials:membershipType",
- "website": "mvd-credentials:website",
- "contact": "mvd-credentials:contact",
- "since": "mvd-credentials:since"
- }
- ],
- "id": "http://org.yourdataspace.com/credentials/1234",
- "type": [
- "VerifiableCredential",
- "MembershipCredential"
- ],
- "issuer": "did:web:localhost%3A9876",
- "issuanceDate": "2023-08-18T00:00:00Z",
- "credentialSubject": {
- "id": "did:web:localhost%3A7093",
- "membership": {
- "membershipType": "ProspectMember",
- "website": "www.quizzquazz.com",
- "contact": "foo.bar@quizzquazz.com",
- "since": "2023-01-01T00:00:00Z"
- }
- }
-}
\ No newline at end of file
diff --git a/deployment/assets/env/consumer_connector.env b/deployment/assets/env/consumer_connector.env
deleted file mode 100644
index 78c803bf1..000000000
--- a/deployment/assets/env/consumer_connector.env
+++ /dev/null
@@ -1,38 +0,0 @@
-# control plane specific config
-edc.iam.issuer.id=did:web:localhost%3A7083
-web.http.port=8080
-web.http.path=/api
-web.http.management.port=8081
-web.http.management.path=/api/management/
-web.http.management.auth.type=tokenbased
-web.http.management.auth.key=password
-web.http.protocol.port=8082
-web.http.protocol.path=/api/dsp
-web.http.control.port=8083
-web.http.control.path=/api/control
-web.http.catalog.port=8084
-web.http.catalog.path=/api/catalog
-web.http.catalog_auth.type=tokenbased
-web.http.catalog_auth.key=password
-web.http.version.port=8085
-web.http.version.path=/api/version
-edc.iam.did.web.use.https=false
-edc.iam.sts.privatekey.alias=did:web:localhost%3A7083-alias
-edc.iam.sts.publickey.id=did:web:localhost%3A7083#key-1
-edc.dsp.callback.address=http://localhost:8082/api/dsp
-edc.participant.id=did:web:localhost%3A7083
-edc.catalog.cache.execution.delay.seconds=5
-edc.catalog.cache.execution.period.seconds=10
-edc.mvd.participants.list.file=deployment/assets/participants/participants.local.json
-edc.management.context.enabled=true
-edc.iam.sts.oauth.client.secret.alias=did:web:localhost%3A7083-sts-client-secret
-edc.iam.sts.oauth.client.id=did:web:localhost%3A7083
-edc.iam.sts.oauth.token.url=http://localhost:7086/api/sts/token
-
-# dataplane specific config
-edc.runtime.id=consumer-embedded-runtime
-edc.transfer.proxy.token.verifier.publickey.alias=did:web:localhost%3A7083#key-1
-edc.transfer.proxy.token.signer.privatekey.alias=did:web:localhost%3A7083-alias
-edc.dpf.selector.url=http://localhost:8083/api/control/v1/dataplanes
-web.http.public.port=11001
-web.http.public.path=/api/public
diff --git a/deployment/assets/env/consumer_identityhub.env b/deployment/assets/env/consumer_identityhub.env
deleted file mode 100644
index 368423112..000000000
--- a/deployment/assets/env/consumer_identityhub.env
+++ /dev/null
@@ -1,19 +0,0 @@
-web.http.port=7080
-web.http.path=/api
-web.http.credentials.port=7081
-web.http.credentials.path=/api/credentials
-web.http.identity.port=7082
-web.http.identity.path=/api/identity
-web.http.did.port=7083
-web.http.did.path=/
-web.http.version.port=7085
-web.http.version.path=/api/version
-web.http.sts.port=7086
-web.http.sts.path=/api/sts
-edc.iam.did.web.use.https=false
-edc.iam.sts.privatekey.alias=key-1
-edc.iam.sts.publickey.id=did:web:localhost%3A7083#key-1
-edc.ih.iam.publickey.path=./deployment/assets/consumer_public.pem
-edc.ih.iam.id=did:web:localhost%3A7083
-edc.ih.api.superuser.key=c3VwZXItdXNlcg==.c3VwZXItc2VjcmV0LWtleQo=
-edc.mvd.credentials.path=deployment/assets/credentials/local/consumer/
\ No newline at end of file
diff --git a/deployment/assets/env/issuerservice.env b/deployment/assets/env/issuerservice.env
deleted file mode 100644
index e2aa1130d..000000000
--- a/deployment/assets/env/issuerservice.env
+++ /dev/null
@@ -1,15 +0,0 @@
-edc.issuer.statuslist.signing.key.alias=signing-key-alias
-web.http.port=10010
-web.http.path=/api
-web.http.sts.port=10011
-web.http.sts.path=/api/sts
-web.http.issuance.port=10012
-web.http.issuance.path=/api/issuance
-web.http.issueradmin.port=10013
-web.http.issueradmin.path=/api/admin
-web.http.version.port=10014
-web.http.version.path=/.well-known/api
-web.http.identity.port=10015
-web.http.identity.path=/api/identity
-edc.iam.did.web.use.https=false
-edc.ih.api.superuser.key=c3VwZXItdXNlcg==.c3VwZXItc2VjcmV0LWtleQo=
\ No newline at end of file
diff --git a/deployment/assets/env/provider_catalogserver.env b/deployment/assets/env/provider_catalogserver.env
deleted file mode 100644
index 7b9706ee6..000000000
--- a/deployment/assets/env/provider_catalogserver.env
+++ /dev/null
@@ -1,20 +0,0 @@
-edc.iam.issuer.id=did:web:localhost%3A7093
-web.http.port=8090
-web.http.path=/api
-web.http.management.port=8091
-web.http.management.path=/api/management
-web.http.management.auth.type=tokenbased
-web.http.management.auth.key=password
-web.http.protocol.port=8092
-web.http.protocol.path=/api/dsp
-web.http.control.port=8093
-web.http.control.path=/api/control
-edc.iam.did.web.use.https=false
-edc.iam.sts.privatekey.alias=did:web:localhost%3A7093-alias
-edc.iam.sts.publickey.id=did:web:localhost%3A7093#key-1
-edc.dsp.callback.address=http://localhost:8092/api/dsp
-edc.participant.id=did:web:localhost%3A7093
-edc.management.context.enabled=true
-edc.iam.sts.oauth.client.secret.alias=did:web:localhost%3A7093-sts-client-secret
-edc.iam.sts.oauth.client.id=did:web:localhost%3A7093
-edc.iam.sts.oauth.token.url=http://localhost:7096/api/sts/token
\ No newline at end of file
diff --git a/deployment/assets/env/provider_connector_manufacturing.env b/deployment/assets/env/provider_connector_manufacturing.env
deleted file mode 100644
index e041c8fb0..000000000
--- a/deployment/assets/env/provider_connector_manufacturing.env
+++ /dev/null
@@ -1,38 +0,0 @@
-# control plane specific config
-edc.iam.issuer.id=did:web:localhost%3A7093
-web.http.port=8290
-web.http.path=/api
-web.http.management.port=8291
-web.http.management.path=/api/management/
-web.http.management.auth.type=tokenbased
-web.http.management.auth.key=password
-web.http.protocol.port=8292
-web.http.protocol.path=/api/dsp
-web.http.control.port=8293
-web.http.control.path=/api/control
-web.http.catalog.port=8294
-web.http.catalog.path=/api/catalog
-web.http.catalog_auth.type=tokenbased
-web.http.catalog_auth.key=password
-web.http.version.port=8295
-web.http.version.path=/api/version
-edc.iam.did.web.use.https=false
-edc.iam.sts.privatekey.alias=did:web:localhost%3A7093-alias
-edc.iam.sts.publickey.id=did:web:localhost%3A7093#key-1
-edc.dsp.callback.address=http://localhost:8292/api/dsp
-edc.participant.id=did:web:localhost%3A7093
-edc.catalog.cache.execution.delay.seconds=5
-edc.catalog.cache.execution.period.seconds=10
-edc.mvd.participants.list.file=deployment/assets/participants/participants.local.json
-edc.management.context.enabled=true
-edc.iam.sts.oauth.client.secret.alias=did:web:localhost%3A7093-sts-client-secret
-edc.iam.sts.oauth.client.id=did:web:localhost%3A7093
-edc.iam.sts.oauth.token.url=http://localhost:7096/api/sts/token
-
-# dataplane specific config
-edc.runtime.id=provider-manufacturing-embedded-runtime
-edc.transfer.proxy.token.verifier.publickey.alias=did:web:localhost%3A7093#key-1
-edc.transfer.proxy.token.signer.privatekey.alias=did:web:localhost%3A7093-alias
-edc.dpf.selector.url=http://localhost:8293/api/control/v1/dataplanes
-web.http.public.port=12002
-web.http.public.path=/api/public
diff --git a/deployment/assets/env/provider_connector_qna.env b/deployment/assets/env/provider_connector_qna.env
deleted file mode 100644
index 353585982..000000000
--- a/deployment/assets/env/provider_connector_qna.env
+++ /dev/null
@@ -1,38 +0,0 @@
-# control plane specific config
-edc.iam.issuer.id=did:web:localhost%3A7093
-web.http.port=8190
-web.http.path=/api
-web.http.management.port=8191
-web.http.management.path=/api/management/
-web.http.management.auth.type=tokenbased
-web.http.management.auth.key=password
-web.http.protocol.port=8192
-web.http.protocol.path=/api/dsp
-web.http.control.port=8193
-web.http.control.path=/api/control
-web.http.catalog.port=8194
-web.http.catalog.path=/api/catalog
-web.http.catalog_auth.type=tokenbased
-web.http.catalog_auth.key=password
-web.http.version.port=8195
-web.http.version.path=/api/version
-edc.iam.did.web.use.https=false
-edc.iam.sts.privatekey.alias=did:web:localhost%3A7093-alias
-edc.iam.sts.publickey.id=did:web:localhost%3A7093#key-1
-edc.dsp.callback.address=http://localhost:8192/api/dsp
-edc.participant.id=did:web:localhost%3A7093
-edc.catalog.cache.execution.delay.seconds=5
-edc.catalog.cache.execution.period.seconds=10
-edc.mvd.participants.list.file=deployment/assets/participants/participants.local.json
-edc.management.context.enabled=true
-edc.iam.sts.oauth.client.secret.alias=did:web:localhost%3A7093-sts-client-secret
-edc.iam.sts.oauth.client.id=did:web:localhost%3A7093
-edc.iam.sts.oauth.token.url=http://localhost:7096/api/sts/token
-
-# dataplane specific config
-edc.runtime.id=provider-qna-embedded-runtime
-edc.transfer.proxy.token.verifier.publickey.alias=did:web:localhost%3A7093#key-1
-edc.transfer.proxy.token.signer.privatekey.alias=did:web:localhost%3A7093-alias
-edc.dpf.selector.url=http://localhost:8193/api/control/v1/dataplanes
-web.http.public.port=12001
-web.http.public.path=/api/public
diff --git a/deployment/assets/env/provider_identityhub.env b/deployment/assets/env/provider_identityhub.env
deleted file mode 100644
index 7f2febbe9..000000000
--- a/deployment/assets/env/provider_identityhub.env
+++ /dev/null
@@ -1,19 +0,0 @@
-web.http.port=7090
-web.http.path=/api
-web.http.credentials.port=7091
-web.http.credentials.path=/api/credentials/
-web.http.identity.port=7092
-web.http.identity.path=/api/identity
-web.http.did.port=7093
-web.http.did.path=/
-web.http.version.port=7095
-web.http.version.path=/api/version
-web.http.sts.port=7096
-web.http.sts.path=/api/sts
-edc.iam.did.web.use.https=false
-edc.iam.sts.privatekey.alias=key-1
-edc.iam.sts.publickey.id=did:web:localhost%3A7093#key-1
-edc.ih.iam.publickey.path=./deployment/assets/provider_public.pem
-edc.ih.iam.id=did:web:localhost%3A7093
-edc.ih.api.superuser.key=c3VwZXItdXNlcg==.c3VwZXItc2VjcmV0LWtleQo=
-edc.mvd.credentials.path=deployment/assets/credentials/local/provider/
\ No newline at end of file
diff --git a/deployment/assets/issuer/did.docker.json b/deployment/assets/issuer/did.docker.json
deleted file mode 100644
index 1c819d142..000000000
--- a/deployment/assets/issuer/did.docker.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "service": [],
- "verificationMethod": [
- {
- "id": "did:web:localhost%3A9876#key-1",
- "type": "JsonWebKey2020",
- "controller": "did:web:localhost%3A9876",
- "publicKeyMultibase": null,
- "publicKeyJwk": {
- "kty": "OKP",
- "crv": "Ed25519",
- "x": "Hsq2QXPbbsU7j6JwXstbpxGSgliI04g_fU3z2nwkuVc"
- }
- }
- ],
- "authentication": [
- "key-1"
- ],
- "id": "did:web:localhost%3A9876",
- "@context": [
- "https://www.w3.org/ns/did/v1",
- {
- "@base": "did:web:localhost%3A9876"
- }
- ]
-}
\ No newline at end of file
diff --git a/deployment/assets/issuer/did.k8s.json b/deployment/assets/issuer/did.k8s.json
deleted file mode 100644
index b6b0d01dc..000000000
--- a/deployment/assets/issuer/did.k8s.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "service": [],
- "verificationMethod": [
- {
- "id": "did:web:dataspace-issuer#key-1",
- "type": "JsonWebKey2020",
- "controller": "did:web:dataspace-issuer",
- "publicKeyMultibase": null,
- "publicKeyJwk": {
- "kty": "OKP",
- "crv": "Ed25519",
- "x": "Hsq2QXPbbsU7j6JwXstbpxGSgliI04g_fU3z2nwkuVc"
- }
- }
- ],
- "authentication": [
- "key-1"
- ],
- "id": "did:web:dataspace-issuer",
- "@context": [
- "https://www.w3.org/ns/did/v1",
- {
- "@base": "did:web:dataspace-issuer"
- }
- ]
-}
\ No newline at end of file
diff --git a/deployment/assets/issuer/nginx.conf b/deployment/assets/issuer/nginx.conf
deleted file mode 100644
index fa45fbed2..000000000
--- a/deployment/assets/issuer/nginx.conf
+++ /dev/null
@@ -1,9 +0,0 @@
-events { worker_connections 1024; }
-
-http {
- server {
- listen 80;
- root /var/www/;
- index index.html;
- }
- }
\ No newline at end of file
diff --git a/deployment/assets/issuer_private.pem b/deployment/assets/issuer_private.pem
deleted file mode 100644
index 8a63542f7..000000000
--- a/deployment/assets/issuer_private.pem
+++ /dev/null
@@ -1,3 +0,0 @@
------BEGIN PRIVATE KEY-----
-MC4CAQAwBQYDK2VwBCIEID1gMsekH7JN9Q/L2UMCBkAPET10NE0T2BB4c2rRSBzg
------END PRIVATE KEY-----
diff --git a/deployment/assets/issuer_public.pem b/deployment/assets/issuer_public.pem
deleted file mode 100644
index 51b250241..000000000
--- a/deployment/assets/issuer_public.pem
+++ /dev/null
@@ -1,3 +0,0 @@
------BEGIN PUBLIC KEY-----
-MCowBQYDK2VwAyEAHsq2QXPbbsU7j6JwXstbpxGSgliI04g/fU3z2nwkuVc=
------END PUBLIC KEY-----
diff --git a/deployment/assets/participants/participants.k8s.json b/deployment/assets/participants/participants.k8s.json
deleted file mode 100644
index 993eeacee..000000000
--- a/deployment/assets/participants/participants.k8s.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "consumer-corp": "did:web:consumer-identityhub%3A7083:consumer",
- "provider-corp": "did:web:provider-identityhub%3A7083:provider"
-}
\ No newline at end of file
diff --git a/deployment/assets/participants/participants.local.json b/deployment/assets/participants/participants.local.json
deleted file mode 100644
index ae3849cf4..000000000
--- a/deployment/assets/participants/participants.local.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "consumer-corp": "did:web:localhost%3A7083",
- "provider-corp": "did:web:localhost%3A7093"
-}
\ No newline at end of file
diff --git a/deployment/assets/provider_private.pem b/deployment/assets/provider_private.pem
deleted file mode 100644
index 81c28bac2..000000000
--- a/deployment/assets/provider_private.pem
+++ /dev/null
@@ -1,5 +0,0 @@
------BEGIN EC PRIVATE KEY-----
-MHcCAQEEIARDUGJgKy1yzxkueIJ1k3MPUWQ/tbQWQNqW6TjyHpdcoAoGCCqGSM49
-AwEHoUQDQgAE1l0Lof0a1yBc8KXhesAnoBvxZw5roYnkAXuqCYfNK3ex+hMWFuiX
-GUxHlzShAehR6wvwzV23bbC0tcFcVgW//A==
------END EC PRIVATE KEY-----
\ No newline at end of file
diff --git a/deployment/assets/provider_public.pem b/deployment/assets/provider_public.pem
deleted file mode 100644
index 977a19576..000000000
--- a/deployment/assets/provider_public.pem
+++ /dev/null
@@ -1,4 +0,0 @@
------BEGIN PUBLIC KEY-----
-MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE1l0Lof0a1yBc8KXhesAnoBvxZw5r
-oYnkAXuqCYfNK3ex+hMWFuiXGUxHlzShAehR6wvwzV23bbC0tcFcVgW//A==
------END PUBLIC KEY-----
\ No newline at end of file
diff --git a/deployment/consumer.tf b/deployment/consumer.tf
deleted file mode 100644
index 2e194b89d..000000000
--- a/deployment/consumer.tf
+++ /dev/null
@@ -1,83 +0,0 @@
-#
-# Copyright (c) 2024 Metaform Systems, Inc.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Apache License, Version 2.0 which is available at
-# https://www.apache.org/licenses/LICENSE-2.0
-#
-# SPDX-License-Identifier: Apache-2.0
-#
-# Contributors:
-# Metaform Systems, Inc. - initial API and implementation
-#
-
-# This file deploys all the components needed for the consumer side of the scenario,
-# i.e. the connector, an identityhub and a vault.
-
-# consumer connector
-module "consumer-connector" {
- source = "./modules/connector"
- humanReadableName = "consumer"
- participantId = var.consumer-did
- database = {
- user = "consumer"
- password = "consumer"
- url = "jdbc:postgresql://${module.consumer-postgres.database-url}/consumer"
- }
- vault-url = "http://consumer-vault:8200"
- namespace = kubernetes_namespace.ns.metadata.0.name
- sts-token-url = "${module.consumer-identityhub.sts-token-url}/token"
- useSVE = var.useSVE
-}
-
-# consumer identity hub
-module "consumer-identityhub" {
- depends_on = [module.consumer-vault]
- source = "./modules/identity-hub"
- credentials-dir = dirname("./assets/credentials/k8s/consumer/")
- humanReadableName = "consumer-identityhub"
- participantId = var.consumer-did
- vault-url = "http://consumer-vault:8200"
- service-name = "consumer"
- database = {
- user = "consumer"
- password = "consumer"
- url = "jdbc:postgresql://${module.consumer-postgres.database-url}/consumer"
- }
- namespace = kubernetes_namespace.ns.metadata.0.name
- useSVE = var.useSVE
-}
-
-
-# consumer vault
-module "consumer-vault" {
- source = "./modules/vault"
- humanReadableName = "consumer-vault"
- namespace = kubernetes_namespace.ns.metadata.0.name
-}
-
-# Postgres database for the consumer
-module "consumer-postgres" {
- depends_on = [kubernetes_config_map.postgres-initdb-config-consumer]
- source = "./modules/postgres"
- instance-name = "consumer"
- init-sql-configs = ["consumer-initdb-config"]
- namespace = kubernetes_namespace.ns.metadata.0.name
-}
-
-# DB initialization for the EDC database
-resource "kubernetes_config_map" "postgres-initdb-config-consumer" {
- metadata {
- name = "consumer-initdb-config"
- namespace = kubernetes_namespace.ns.metadata.0.name
- }
- data = {
- "consumer-initdb-config.sql" = <<-EOT
- CREATE USER consumer WITH ENCRYPTED PASSWORD 'consumer' SUPERUSER;
- CREATE DATABASE consumer;
- \c consumer consumer
-
-
- EOT
- }
-}
\ No newline at end of file
diff --git a/deployment/issuer.tf b/deployment/issuer.tf
deleted file mode 100644
index c49f658f3..000000000
--- a/deployment/issuer.tf
+++ /dev/null
@@ -1,68 +0,0 @@
-#
-# Copyright (c) 2025 Cofinity-X
-#
-# This program and the accompanying materials are made available under the
-# terms of the Apache License, Version 2.0 which is available at
-# https://www.apache.org/licenses/LICENSE-2.0
-#
-# SPDX-License-Identifier: Apache-2.0
-#
-# Contributors:
-# Cofinity-X - initial API and implementation
-#
-
-module "dataspace-issuer" {
- source = "./modules/issuer"
- humanReadableName = "dataspace-issuer-service"
- participantId = var.consumer-did
- database = {
- user = "issuer"
- password = "issuer"
- url = "jdbc:postgresql://${module.dataspace-issuer-postgres.database-url}/issuer"
- }
- vault-url = "http://consumer-vault:8200"
- namespace = kubernetes_namespace.ns.metadata.0.name
- useSVE = var.useSVE
-}
-
-# Postgres database for the consumer
-module "dataspace-issuer-postgres" {
- depends_on = [kubernetes_config_map.issuer-initdb-config]
- source = "./modules/postgres"
- instance-name = "issuer"
- init-sql-configs = ["issuer-initdb-config"]
- namespace = kubernetes_namespace.ns.metadata.0.name
-}
-
-# DB initialization for the EDC database
-resource "kubernetes_config_map" "issuer-initdb-config" {
- metadata {
- name = "issuer-initdb-config"
- namespace = kubernetes_namespace.ns.metadata.0.name
- }
- data = {
- "issuer-initdb-config.sql" = <<-EOT
- CREATE USER issuer WITH ENCRYPTED PASSWORD 'issuer' SUPERUSER;
- CREATE DATABASE issuer;
- \c issuer issuer
-
- create table if not exists membership_attestations
- (
- membership_type integer default 0,
- holder_id varchar not null,
- membership_start_date timestamp default now() not null,
- id varchar default gen_random_uuid() not null
- constraint attestations_pk
- primary key
- );
-
- create unique index if not exists membership_attestation_holder_id_uindex
- on membership_attestations (holder_id);
-
- -- seed the consumer and provider into the attestations DB, so that they can request FoobarCredentials sourcing
- -- information from the database
- INSERT INTO membership_attestations (membership_type, holder_id) VALUES (1, 'did:web:consumer-identityhub%3A7083:consumer');
- INSERT INTO membership_attestations (membership_type, holder_id) VALUES (2, 'did:web:provider-identityhub%3A7083:provider');
- EOT
- }
-}
\ No newline at end of file
diff --git a/deployment/issuer_nginx.tf b/deployment/issuer_nginx.tf
deleted file mode 100644
index 3d6070a69..000000000
--- a/deployment/issuer_nginx.tf
+++ /dev/null
@@ -1,110 +0,0 @@
-#
-# Copyright (c) 2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG)
-#
-# See the NOTICE file(s) distributed with this work for additional
-# information regarding copyright ownership.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Apache License, Version 2.0 which is available at
-# https://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-#
-
-
-resource "kubernetes_deployment" "dataspace-issuer-did-server" {
- metadata {
- name = "dataspace-issuer-server"
- namespace = kubernetes_namespace.ns.metadata.0.name
- labels = {
- App = "dataspace-issuer-server"
- }
- }
-
- spec {
- replicas = 1
- selector {
- match_labels = {
- App = "dataspace-issuer-server"
- }
- }
-
- template {
- metadata {
- labels = {
- App = "dataspace-issuer-server"
- }
- }
-
- spec {
-
- container {
- image_pull_policy = "IfNotPresent"
- image = "nginx:latest"
- name = "nginx"
-
- port {
- container_port = "80"
- name = "web"
- }
- # maps the nginx.conf file
- volume_mount {
- mount_path = "/etc/nginx/nginx.conf"
- sub_path = "nginx.conf"
- name = "nginx-config"
- }
-
- # this maps the did.json file such that it becomes available at htp:///dataspace-issuer/did.json
- volume_mount {
- mount_path = "/var/www/.well-known/did.json"
- sub_path = "did.json"
- name = "nginx-config"
- }
- }
-
- volume {
- name = "nginx-config"
- config_map {
- name = "nginx-conf"
- }
- }
- }
- }
- }
-}
-
-resource "kubernetes_service" "dataspace-issuer-did-server-service" {
- metadata {
- name = "dataspace-issuer" # this must correlate with the Issuer's DID: did:web:dataspace-issuer -> http://dataspace-issuer/.well-known/did.json
- namespace = kubernetes_namespace.ns.metadata.0.name
- }
- spec {
- type = "NodePort"
- selector = {
- App = kubernetes_deployment.dataspace-issuer-did-server.spec.0.template.0.metadata[0].labels.App
- }
- # we need a stable IP, otherwise there will be a cycle with the issuer
- port {
- name = "web"
- port = 80
- }
- }
-}
-
-resource "kubernetes_config_map" "nginx-map" {
- metadata {
- name = "nginx-conf"
- namespace = kubernetes_namespace.ns.metadata.0.name
- }
-
- data = {
- "nginx.conf" = file("${path.root}/assets/issuer/nginx.conf")
- "did.json" = file("${path.root}/assets/issuer/did.k8s.json")
- }
-}
\ No newline at end of file
diff --git a/deployment/kind.config.yaml b/deployment/kind.config.yaml
deleted file mode 100644
index 9d918bb2d..000000000
--- a/deployment/kind.config.yaml
+++ /dev/null
@@ -1,37 +0,0 @@
-#
-# Copyright (c) 2023 Bayerische Motoren Werke Aktiengesellschaft
-#
-# See the NOTICE file(s) distributed with this work for additional
-# information regarding copyright ownership.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Apache License, Version 2.0 which is available at
-# https://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-#
-
----
-kind: Cluster
-apiVersion: kind.x-k8s.io/v1alpha4
-nodes:
- - role: control-plane
- kubeadmConfigPatches:
- - |
- kind: InitConfiguration
- nodeRegistration:
- kubeletExtraArgs:
- node-labels: "ingress-ready=true"
- extraPortMappings:
- - containerPort: 80
- hostPort: 80
- protocol: TCP
- - containerPort: 443
- hostPort: 443
- protocol: TCP
\ No newline at end of file
diff --git a/deployment/main.tf b/deployment/main.tf
deleted file mode 100644
index 2a96bac99..000000000
--- a/deployment/main.tf
+++ /dev/null
@@ -1,51 +0,0 @@
-#
-# Copyright (c) 2023 Contributors to the Eclipse Foundation
-#
-# See the NOTICE file(s) distributed with this work for additional
-# information regarding copyright ownership.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Apache License, Version 2.0 which is available at
-# https://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-#
-
-terraform {
- required_providers {
- // for generating passwords, clientsecrets etc.
- random = {
- source = "hashicorp/random"
- }
-
- kubernetes = {
- source = "hashicorp/kubernetes"
- }
- helm = {
- // used for Hashicorp Vault
- source = "hashicorp/helm"
- }
- }
-}
-
-provider "kubernetes" {
- config_path = "~/.kube/config"
-}
-
-provider "helm" {
- kubernetes = {
- config_path = "~/.kube/config"
- }
-}
-
-resource "kubernetes_namespace" "ns" {
- metadata {
- name = "mvd"
- }
-}
diff --git a/deployment/modules/catalog-server/catalog-server.tf b/deployment/modules/catalog-server/catalog-server.tf
deleted file mode 100644
index aad588755..000000000
--- a/deployment/modules/catalog-server/catalog-server.tf
+++ /dev/null
@@ -1,155 +0,0 @@
-#
-# Copyright (c) 2023 Contributors to the Eclipse Foundation
-#
-# See the NOTICE file(s) distributed with this work for additional
-# information regarding copyright ownership.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Apache License, Version 2.0 which is available at
-# https://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-#
-
-resource "kubernetes_deployment" "connector" {
- metadata {
- name = lower(var.humanReadableName)
- namespace = var.namespace
- labels = {
- App = lower(var.humanReadableName)
- }
- }
-
- spec {
- replicas = 1
- selector {
- match_labels = {
- App = lower(var.humanReadableName)
- }
- }
-
- template {
- metadata {
- labels = {
- App = lower(var.humanReadableName)
- }
- }
-
- spec {
- container {
- name = lower(var.humanReadableName)
- image = "catalog-server:latest"
- image_pull_policy = "Never"
-
- env_from {
- config_map_ref {
- name = kubernetes_config_map.catalog-server-config.metadata[0].name
- }
- }
-
- port {
- container_port = var.ports.management
- name = "management-port"
- }
- port {
- container_port = var.ports.web
- name = "default-port"
- }
- port {
- container_port = var.ports.debug
- name = "debug-port"
- }
-
- liveness_probe {
- http_get {
- path = "/api/check/liveness"
- port = var.ports.web
- }
- failure_threshold = 10
- period_seconds = 5
- timeout_seconds = 30
- }
-
- readiness_probe {
- http_get {
- path = "/api/check/readiness"
- port = var.ports.web
- }
- failure_threshold = 10
- period_seconds = 5
- timeout_seconds = 30
- }
-
- startup_probe {
- http_get {
- path = "/api/check/startup"
- port = var.ports.web
- }
- failure_threshold = 10
- period_seconds = 5
- timeout_seconds = 30
- }
-
- volume_mount {
- mount_path = "/etc/registry"
- name = "registry-volume"
- }
- }
-
- volume {
- name = "registry-volume"
- config_map {
- name = kubernetes_config_map.catalog-server-config.metadata[0].name
- }
- }
- }
- }
- }
-}
-
-resource "kubernetes_config_map" "catalog-server-config" {
- metadata {
- name = "${lower(var.humanReadableName)}-connector-config"
- namespace = var.namespace
- }
-
- ## Create databases for keycloak and MIW, create users and assign privileges
- data = {
- EDC_IAM_ISSUER_ID = var.participantId
- EDC_IAM_DID_WEB_USE_HTTPS = false
- WEB_HTTP_PORT = var.ports.web
- WEB_HTTP_PATH = "/api"
- WEB_HTTP_MANAGEMENT_PORT = var.ports.management
- WEB_HTTP_MANAGEMENT_PATH = "/api/management"
- WEB_HTTP_MANAGEMENT_AUTH_TYPE = "tokenbased"
- WEB_HTTP_MANAGEMENT_AUTH_KEY = "password"
- WEB_HTTP_CONTROL_PORT = var.ports.control
- WEB_HTTP_CONTROL_PATH = "/api/control"
- WEB_HTTP_PROTOCOL_PORT = var.ports.protocol
- WEB_HTTP_PROTOCOL_PATH = "/api/dsp"
- EDC_DSP_CALLBACK_ADDRESS = "http://${local.controlplane-service-name}:${var.ports.protocol}/api/dsp"
- EDC_IAM_STS_PRIVATEKEY_ALIAS = "${var.participantId}#${var.aliases.sts-private-key}"
- EDC_IAM_STS_PUBLICKEY_ID = "${var.participantId}#${var.aliases.sts-public-key-id}"
- JAVA_TOOL_OPTIONS = "${var.useSVE ? "-XX:UseSVE=0 " : ""}-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=${var.ports.debug}"
- EDC_IH_AUDIENCE_REGISTRY_PATH = "/etc/registry/registry.json"
- EDC_PARTICIPANT_ID = var.participantId
- EDC_VAULT_HASHICORP_URL = var.vault-url
- EDC_VAULT_HASHICORP_TOKEN = var.vault-token
- EDC_MVD_PARTICIPANTS_LIST_FILE = "/etc/participants/participants.json"
- EDC_DATASOURCE_DEFAULT_URL = var.database.url
- EDC_DATASOURCE_DEFAULT_USER = var.database.user
- EDC_DATASOURCE_DEFAULT_PASSWORD = var.database.password
- EDC_SQL_SCHEMA_AUTOCREATE = true
-
- # remote STS configuration
- EDC_IAM_STS_OAUTH_TOKEN_URL = var.sts-token-url
- EDC_IAM_STS_OAUTH_CLIENT_ID = var.participantId
- EDC_IAM_STS_OAUTH_CLIENT_SECRET_ALIAS = "${var.participantId}-sts-client-secret"
- }
-}
diff --git a/deployment/modules/catalog-server/ingress.tf b/deployment/modules/catalog-server/ingress.tf
deleted file mode 100644
index ce34f33d1..000000000
--- a/deployment/modules/catalog-server/ingress.tf
+++ /dev/null
@@ -1,59 +0,0 @@
-#
-# Copyright (c) 2023 Contributors to the Eclipse Foundation
-#
-# See the NOTICE file(s) distributed with this work for additional
-# information regarding copyright ownership.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Apache License, Version 2.0 which is available at
-# https://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-#
-
-resource "kubernetes_ingress_v1" "api-ingress" {
- metadata {
- name = "${var.humanReadableName}-ingress"
- namespace = var.namespace
- annotations = {
- "nginx.ingress.kubernetes.io/rewrite-target" = "/$2"
- "nginx.ingress.kubernetes.io/use-regex" = "true"
- }
- }
- spec {
- ingress_class_name = "nginx"
- rule {
- http {
- path {
- path = "/${var.humanReadableName}/health(/|$)(.*)"
- backend {
- service {
- name = kubernetes_service.controlplane-service.metadata.0.name
- port {
- number = var.ports.web
- }
- }
- }
- }
-
- path {
- path = "/${var.humanReadableName}/cp(/|$)(.*)"
- backend {
- service {
- name = kubernetes_service.controlplane-service.metadata.0.name
- port {
- number = var.ports.management
- }
- }
- }
- }
- }
- }
- }
-}
\ No newline at end of file
diff --git a/deployment/modules/catalog-server/outputs.tf b/deployment/modules/catalog-server/outputs.tf
deleted file mode 100644
index 0d47109a4..000000000
--- a/deployment/modules/catalog-server/outputs.tf
+++ /dev/null
@@ -1,37 +0,0 @@
-#
-# Copyright (c) 2023 Contributors to the Eclipse Foundation
-#
-# See the NOTICE file(s) distributed with this work for additional
-# information regarding copyright ownership.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Apache License, Version 2.0 which is available at
-# https://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-#
-
-output "connector-node-ip" {
- value = kubernetes_service.controlplane-service.spec.0.cluster_ip
-}
-
-output "ports" {
- value = var.ports
-}
-
-output "audience-mapping" {
- value = {
- # dspAudience = "http://${local.connector-cluster-ip}:${var.ports.protocol}/api/dsp"
- dcpAudience = var.participantId
- }
-}
-
-output "ih-superuser-apikey" {
- value = var.ih_superuser_apikey
-}
\ No newline at end of file
diff --git a/deployment/modules/catalog-server/services.tf b/deployment/modules/catalog-server/services.tf
deleted file mode 100644
index 781de4182..000000000
--- a/deployment/modules/catalog-server/services.tf
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# Copyright (c) 2023 Contributors to the Eclipse Foundation
-#
-# See the NOTICE file(s) distributed with this work for additional
-# information regarding copyright ownership.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Apache License, Version 2.0 which is available at
-# https://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-#
-
-resource "kubernetes_service" "controlplane-service" {
- metadata {
- name = local.controlplane-service-name
- namespace = var.namespace
- }
- spec {
- type = "NodePort"
- selector = {
- App = kubernetes_deployment.connector.spec.0.template.0.metadata[0].labels.App
- }
- port {
- name = "health"
- port = var.ports.web
- }
- port {
- name = "management"
- port = var.ports.management
- }
- port {
- name = "protocol"
- port = var.ports.protocol
- }
- port {
- name = "debug"
- port = var.ports.debug
- }
- }
-}
\ No newline at end of file
diff --git a/deployment/modules/catalog-server/variables.tf b/deployment/modules/catalog-server/variables.tf
deleted file mode 100644
index 02119125d..000000000
--- a/deployment/modules/catalog-server/variables.tf
+++ /dev/null
@@ -1,117 +0,0 @@
-#
-# Copyright (c) 2023 Contributors to the Eclipse Foundation
-#
-# See the NOTICE file(s) distributed with this work for additional
-# information regarding copyright ownership.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Apache License, Version 2.0 which is available at
-# https://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-#
-
-## Normally, you shouldn't need to change any values here. If you do, please be sure to also change them in the seed script (seed-k8s.sh).
-## Neglecting to do that will render the connectors and identity hubs inoperable!
-
-
-variable "image-pull-policy" {
- default = "Always"
- type = string
- description = "Kubernetes ImagePullPolicy for all images"
-}
-
-variable "humanReadableName" {
- type = string
- description = "Human readable name of the connector, NOT the ID!!. Required."
-}
-
-variable "participantId" {
- type = string
- description = "DID:WEB identifier of the participant"
-}
-
-variable "namespace" {
- type = string
-}
-
-variable "ports" {
- type = object({
- web = number
- management = number
- protocol = number
- control = number
- debug = number
- })
- default = {
- web = 8080
- management = 8081
- protocol = 8082
- control = 8083
- debug = 1044
- }
-}
-
-variable "database" {
- type = object({
- url = string
- user = string
- password = string
- })
-}
-
-variable "participant-list-file" {
- type = string
- default = "./assets/participants/participants.k8s.json"
-}
-
-variable "ih_superuser_apikey" {
- default = "c3VwZXItdXNlcg==.c3VwZXItc2VjcmV0LWtleQo="
- description = "Management API Key for the Super-User. Defaults to 'base64(super-user).base64(super-secret-key)"
- type = string
-}
-
-variable "vault-token" {
- default = "root"
- description = "This is the authentication token for the vault. DO NOT USE THIS IN PRODUCTION!"
- type = string
-}
-
-variable "vault-url" {
- description = "URL of the Hashicorp Vault"
- type = string
-}
-
-variable "sts-token-url" {
- description = "Full URL of the STS token endpoint"
- type = string
-}
-
-variable "aliases" {
- type = object({
- sts-private-key = string
- sts-public-key-id = string
- })
- default = {
- sts-private-key = "key-1"
- sts-public-key-id = "key-1"
- }
-}
-
-variable "useSVE" {
- type = bool
- description = "If true, the -XX:UseSVE=0 switch (Scalable Vector Extensions) will be appended to the JAVA_TOOL_OPTIONS. Can help on macOs on Apple Silicon processors"
- default = false
-}
-
-locals {
- name = lower(var.humanReadableName)
- controlplane-service-name = "${var.humanReadableName}-controlplane"
- ih-service-name = "${var.humanReadableName}-identityhub"
-}
diff --git a/deployment/modules/connector/controlplane.tf b/deployment/modules/connector/controlplane.tf
deleted file mode 100644
index 86b7722b2..000000000
--- a/deployment/modules/connector/controlplane.tf
+++ /dev/null
@@ -1,185 +0,0 @@
-#
-# Copyright (c) 2023 Contributors to the Eclipse Foundation
-#
-# See the NOTICE file(s) distributed with this work for additional
-# information regarding copyright ownership.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Apache License, Version 2.0 which is available at
-# https://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-#
-
-resource "kubernetes_deployment" "controlplane" {
- metadata {
- name = "${lower(var.humanReadableName)}-controlplane"
- namespace = var.namespace
- labels = {
- App = "${lower(var.humanReadableName)}-controlplane"
- }
- }
-
- spec {
- replicas = 1
- selector {
- match_labels = {
- App = "${lower(var.humanReadableName)}-controlplane"
- }
- }
-
- template {
- metadata {
- labels = {
- App = "${lower(var.humanReadableName)}-controlplane"
- }
- }
-
- spec {
- container {
- name = "connector-${lower(var.humanReadableName)}"
- image = "controlplane:latest"
- image_pull_policy = "Never"
-
- env_from {
- config_map_ref {
- name = kubernetes_config_map.connector-config.metadata[0].name
- }
- }
-
- port {
- container_port = var.ports.management
- name = "management-port"
- }
- port {
- container_port = var.ports.web
- name = "default-port"
- }
- port {
- container_port = var.ports.debug
- name = "debug-port"
- }
-
- liveness_probe {
- http_get {
- path = "/api/check/liveness"
- port = var.ports.web
- }
- failure_threshold = 10
- period_seconds = 5
- timeout_seconds = 30
- }
-
- readiness_probe {
- http_get {
- path = "/api/check/readiness"
- port = var.ports.web
- }
- failure_threshold = 10
- period_seconds = 5
- timeout_seconds = 30
- }
-
- startup_probe {
- http_get {
- path = "/api/check/startup"
- port = var.ports.web
- }
- failure_threshold = 10
- period_seconds = 5
- timeout_seconds = 30
- }
-
- volume_mount {
- mount_path = "/etc/registry"
- name = "registry-volume"
- }
-
- volume_mount {
- mount_path = "/etc/participants"
- name = "participants-volume"
- }
- }
-
- volume {
- name = "registry-volume"
- config_map {
- name = kubernetes_config_map.connector-config.metadata[0].name
- }
- }
-
- volume {
- name = "participants-volume"
- config_map {
- name = kubernetes_config_map.participants-map.metadata[0].name
- }
- }
- }
- }
- }
-}
-
-resource "kubernetes_config_map" "participants-map" {
- metadata {
- name = "${var.humanReadableName}-participants"
- namespace = var.namespace
- }
-
- data = {
- "participants.json" = file(var.participant-list-file)
- }
-
-}
-
-resource "kubernetes_config_map" "connector-config" {
- metadata {
- name = "${lower(var.humanReadableName)}-controlplane-config"
- namespace = var.namespace
- }
-
- ## Create databases for keycloak and MIW, create users and assign privileges
- data = {
- EDC_PARTICIPANT_ID = var.participantId
- EDC_IAM_ISSUER_ID = var.participantId
- EDC_IAM_DID_WEB_USE_HTTPS = false
- WEB_HTTP_PORT = var.ports.web
- WEB_HTTP_PATH = "/api"
- WEB_HTTP_MANAGEMENT_PORT = var.ports.management
- WEB_HTTP_MANAGEMENT_PATH = "/api/management"
- WEB_HTTP_MANAGEMENT_AUTH_TYPE = "tokenbased"
- WEB_HTTP_MANAGEMENT_AUTH_KEY = "password"
- WEB_HTTP_CONTROL_PORT = var.ports.control
- WEB_HTTP_CONTROL_PATH = "/api/control"
- WEB_HTTP_PROTOCOL_PORT = var.ports.protocol
- WEB_HTTP_PROTOCOL_PATH = "/api/dsp"
- WEB_HTTP_CATALOG_PORT = var.ports.catalog
- WEB_HTTP_CATALOG_PATH = "/api/catalog"
- WEB_HTTP_CATALOG_AUTH_TYPE = "tokenbased"
- WEB_HTTP_CATALOG_AUTH_KEY = "password"
- EDC_DSP_CALLBACK_ADDRESS = "http://${local.controlplane-service-name}:${var.ports.protocol}/api/dsp"
- EDC_IAM_STS_PRIVATEKEY_ALIAS = "${var.participantId}#${var.aliases.sts-private-key}"
- EDC_IAM_STS_PUBLICKEY_ID = "${var.participantId}#${var.aliases.sts-public-key-id}"
- JAVA_TOOL_OPTIONS = "${var.useSVE ? "-XX:UseSVE=0 " : ""}-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=${var.ports.debug}"
- EDC_IH_AUDIENCE_REGISTRY_PATH = "/etc/registry/registry.json"
- EDC_VAULT_HASHICORP_URL = var.vault-url
- EDC_VAULT_HASHICORP_TOKEN = var.vault-token
- EDC_MVD_PARTICIPANTS_LIST_FILE = "/etc/participants/participants.json"
- EDC_CATALOG_CACHE_EXECUTION_DELAY_SECONDS = 10
- EDC_CATALOG_CACHE_EXECUTION_PERIOD_SECONDS = 10
- EDC_DATASOURCE_DEFAULT_URL = var.database.url
- EDC_DATASOURCE_DEFAULT_USER = var.database.user
- EDC_DATASOURCE_DEFAULT_PASSWORD = var.database.password
- EDC_SQL_SCHEMA_AUTOCREATE = true
-
- # remote STS configuration
- EDC_IAM_STS_OAUTH_TOKEN_URL = var.sts-token-url
- EDC_IAM_STS_OAUTH_CLIENT_ID = var.participantId
- EDC_IAM_STS_OAUTH_CLIENT_SECRET_ALIAS = "${var.participantId}-sts-client-secret"
- }
-}
diff --git a/deployment/modules/connector/dataplane.tf b/deployment/modules/connector/dataplane.tf
deleted file mode 100644
index 6a7d56e37..000000000
--- a/deployment/modules/connector/dataplane.tf
+++ /dev/null
@@ -1,137 +0,0 @@
-#
-# Copyright (c) 2023 Contributors to the Eclipse Foundation
-#
-# See the NOTICE file(s) distributed with this work for additional
-# information regarding copyright ownership.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Apache License, Version 2.0 which is available at
-# https://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-#
-
-resource "kubernetes_deployment" "dataplane" {
- # needs a hard dependency, otherwise the dataplane registration fails, and it is not retried
- depends_on = [kubernetes_deployment.controlplane]
- metadata {
- name = "${lower(var.humanReadableName)}-dataplane"
- namespace = var.namespace
- labels = {
- App = "${lower(var.humanReadableName)}-dataplane"
- }
- }
-
- spec {
- replicas = 1
- selector {
- match_labels = {
- App = "${lower(var.humanReadableName)}-dataplane"
- }
- }
-
- template {
- metadata {
- labels = {
- App = "${lower(var.humanReadableName)}-dataplane"
- }
- }
-
- spec {
- container {
- name = "dataplane-${lower(var.humanReadableName)}"
- image = "dataplane:latest"
- image_pull_policy = "Never"
-
- env_from {
- config_map_ref {
- name = kubernetes_config_map.dataplane-config.metadata[0].name
- }
- }
-
- port {
- container_port = var.ports.public
- name = "public-port"
- }
-
- port {
- container_port = var.ports.debug
- name = "debug-port"
- }
-
- liveness_probe {
- http_get {
- path = "/api/check/liveness"
- port = var.ports.web
- }
- failure_threshold = 10
- period_seconds = 5
- timeout_seconds = 30
- }
-
- readiness_probe {
- http_get {
- path = "/api/check/readiness"
- port = var.ports.web
- }
- failure_threshold = 10
- period_seconds = 5
- timeout_seconds = 30
- }
-
- startup_probe {
- http_get {
- path = "/api/check/startup"
- port = var.ports.web
- }
- failure_threshold = 10
- period_seconds = 5
- timeout_seconds = 30
- }
- }
- }
- }
- }
-}
-
-resource "kubernetes_config_map" "dataplane-config" {
- metadata {
- name = "${lower(var.humanReadableName)}-dataplane-config"
- namespace = var.namespace
- }
-
- ## Create databases for keycloak and MIW, create users and assign privileges
- data = {
- # hostname is "localhost" by default, but must be the service name at which the dataplane is reachable. URL scheme and port are appended by the application
- EDC_HOSTNAME = local.dataplane-service-name
- EDC_RUNTIME_ID = "${var.humanReadableName}-dataplane"
- EDC_PARTICIPANT_ID = var.participantId
- EDC_TRANSFER_PROXY_TOKEN_VERIFIER_PUBLICKEY_ALIAS = "${var.participantId}#${var.aliases.sts-public-key-id}"
- EDC_TRANSFER_PROXY_TOKEN_SIGNER_PRIVATEKEY_ALIAS = "${var.participantId}#${var.aliases.sts-private-key}"
- EDC_DPF_SELECTOR_URL = "http://${local.controlplane-service-name}:${var.ports.control}/api/control/v1/dataplanes"
- WEB_HTTP_PORT = var.ports.web
- WEB_HTTP_PATH = "/api"
- WEB_HTTP_CONTROL_PORT = var.ports.control
- WEB_HTTP_CONTROL_PATH = "/api/control"
- WEB_HTTP_PUBLIC_PORT = var.ports.public
- WEB_HTTP_PUBLIC_PATH = "/api/public"
- EDC_VAULT_HASHICORP_URL = var.vault-url
- EDC_VAULT_HASHICORP_TOKEN = var.vault-token
- JAVA_TOOL_OPTIONS = "${var.useSVE ? "-XX:UseSVE=0 " : ""}-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=${var.ports.debug}"
- EDC_DATASOURCE_DEFAULT_URL = var.database.url
- EDC_DATASOURCE_DEFAULT_USER = var.database.user
- EDC_DATASOURCE_DEFAULT_PASSWORD = var.database.password
- EDC_SQL_SCHEMA_AUTOCREATE = true
-
- # remote STS configuration
- EDC_IAM_STS_OAUTH_TOKEN_URL = var.sts-token-url
- EDC_IAM_STS_OAUTH_CLIENT_ID = var.participantId
- EDC_IAM_STS_OAUTH_CLIENT_SECRET_ALIAS = "${var.participantId}-sts-client-secret"
- }
-}
diff --git a/deployment/modules/connector/ingress.tf b/deployment/modules/connector/ingress.tf
deleted file mode 100644
index 8c4b5d3af..000000000
--- a/deployment/modules/connector/ingress.tf
+++ /dev/null
@@ -1,99 +0,0 @@
-#
-# Copyright (c) 2023 Contributors to the Eclipse Foundation
-#
-# See the NOTICE file(s) distributed with this work for additional
-# information regarding copyright ownership.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Apache License, Version 2.0 which is available at
-# https://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-#
-
-resource "kubernetes_ingress_v1" "api-ingress" {
- metadata {
- name = "${var.humanReadableName}-ingress"
- namespace = var.namespace
- annotations = {
- "nginx.ingress.kubernetes.io/rewrite-target" = "/$2"
- "nginx.ingress.kubernetes.io/use-regex" = "true"
- }
- }
- spec {
- ingress_class_name = "nginx"
- rule {
- http {
- path {
- path = "/${var.humanReadableName}/health(/|$)(.*)"
- backend {
- service {
- name = kubernetes_service.controlplane-service.metadata.0.name
- port {
- number = var.ports.web
- }
- }
- }
- }
-
- path {
- path = "/${var.humanReadableName}/cp(/|$)(.*)"
- backend {
- service {
- name = kubernetes_service.controlplane-service.metadata.0.name
- port {
- number = var.ports.management
- }
- }
- }
- }
-
- path {
- path = "/${var.humanReadableName}/public(/|$)(.*)"
- backend {
- service {
- name = kubernetes_service.dataplane-service.metadata.0.name
- port {
- number = var.ports.public
- }
- }
- }
- }
-
- path {
- path = "/${var.humanReadableName}/fc(/|$)(.*)"
- backend {
- service {
- name = kubernetes_service.controlplane-service.metadata.0.name
- port {
- number = var.ports.catalog
- }
- }
- }
- }
-
- path {
- path = "/${var.humanReadableName}/vault(/|$)(.*)"
- backend {
- service {
- name = "${var.humanReadableName}-vault"
- port {
- number = 8200
- }
- }
- }
- }
- }
- }
- }
-}
-
-locals {
- data-plane-service = "${var.humanReadableName}-dataplane"
-}
diff --git a/deployment/modules/connector/outputs.tf b/deployment/modules/connector/outputs.tf
deleted file mode 100644
index 81a5e9c54..000000000
--- a/deployment/modules/connector/outputs.tf
+++ /dev/null
@@ -1,38 +0,0 @@
-#
-# Copyright (c) 2023 Contributors to the Eclipse Foundation
-#
-# See the NOTICE file(s) distributed with this work for additional
-# information regarding copyright ownership.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Apache License, Version 2.0 which is available at
-# https://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-#
-
-output "connector-node-ip" {
- value = kubernetes_service.controlplane-service.spec.0.cluster_ip
-}
-
-
-output "database-name" {
- value = var.database
-}
-
-output "ports" {
- value = var.ports
-}
-
-output "audience-mapping" {
- value = {
- # dspAudience = "http://${local.connector-cluster-ip}:${var.ports.protocol}/api/dsp"
- dcpAudience = var.participantId
- }
-}
diff --git a/deployment/modules/connector/services.tf b/deployment/modules/connector/services.tf
deleted file mode 100644
index 972e1cd2d..000000000
--- a/deployment/modules/connector/services.tf
+++ /dev/null
@@ -1,76 +0,0 @@
-#
-# Copyright (c) 2023 Contributors to the Eclipse Foundation
-#
-# See the NOTICE file(s) distributed with this work for additional
-# information regarding copyright ownership.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Apache License, Version 2.0 which is available at
-# https://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-#
-
-resource "kubernetes_service" "controlplane-service" {
- metadata {
- name = local.controlplane-service-name
- namespace = var.namespace
- }
- spec {
- type = "NodePort"
- selector = {
- App = kubernetes_deployment.controlplane.spec.0.template.0.metadata[0].labels.App
- }
- port {
- name = "health"
- port = var.ports.web
- }
- port {
- name = "management"
- port = var.ports.management
- }
- port {
- name = "catalog"
- port = var.ports.catalog
- }
- port {
- name = "protocol"
- port = var.ports.protocol
- }
- port {
- name = "debug"
- port = var.ports.debug
- }
- port {
- name = "control"
- port = var.ports.control
- }
- }
-}
-
-resource "kubernetes_service" "dataplane-service" {
- metadata {
- name = local.dataplane-service-name
- namespace = var.namespace
- }
- spec {
- type = "NodePort"
- selector = {
- App = kubernetes_deployment.dataplane.spec.0.template.0.metadata[0].labels.App
- }
- port {
- name = "control"
- port = var.ports.control
- }
- port {
- name = "public"
- port = var.ports.public
- }
- }
-}
\ No newline at end of file
diff --git a/deployment/modules/connector/variables.tf b/deployment/modules/connector/variables.tf
deleted file mode 100644
index 5c3c95f23..000000000
--- a/deployment/modules/connector/variables.tf
+++ /dev/null
@@ -1,115 +0,0 @@
-#
-# Copyright (c) 2023 Contributors to the Eclipse Foundation
-#
-# See the NOTICE file(s) distributed with this work for additional
-# information regarding copyright ownership.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Apache License, Version 2.0 which is available at
-# https://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-#
-
-## Normally, you shouldn't need to change any values here. If you do, please be sure to also change them in the seed script (seed-k8s.sh).
-## Neglecting to do that will render the connectors and identity hubs inoperable!
-
-
-variable "image-pull-policy" {
- default = "Always"
- type = string
- description = "Kubernetes ImagePullPolicy for all images"
-}
-
-variable "humanReadableName" {
- type = string
- description = "Human readable name of the connector, NOT the BPN!!. Required."
-}
-
-variable "participantId" {
- type = string
- description = "DID:WEB identifier of the participant, will be used as runtime participantId"
-}
-
-variable "namespace" {
- type = string
-}
-
-variable "ports" {
- type = object({
- web = number
- management = number
- protocol = number
- control = number
- catalog = number
- debug = number
- public = number
- })
- default = {
- web = 8080
- management = 8081
- protocol = 8082
- control = 8083
- catalog = 8084
- debug = 1044
- public = 11002
- }
-}
-
-variable "database" {
- type = object({
- url = string
- user = string
- password = string
- })
-}
-
-variable "participant-list-file" {
- type = string
- default = "./assets/participants/participants.k8s.json"
-}
-
-variable "vault-token" {
- default = "root"
- description = "This is the authentication token for the vault. DO NOT USE THIS IN PRODUCTION!"
- type = string
-}
-
-variable "vault-url" {
- description = "URL of the Hashicorp Vault"
- type = string
-}
-
-variable "sts-token-url" {
- description = "Full URL of the STS token endpoint"
- type = string
-}
-
-variable "aliases" {
- type = object({
- sts-private-key = string
- sts-public-key-id = string
- })
- default = {
- sts-private-key = "key-1"
- sts-public-key-id = "key-1"
- }
-}
-
-variable "useSVE" {
- type = bool
- description = "If true, the -XX:UseSVE=0 switch (Scalable Vector Extensions) will be appended to the JAVA_TOOL_OPTIONS. Can help on macOs on Apple Silicon processors"
- default = false
-}
-
-locals {
- name = lower(var.humanReadableName)
- controlplane-service-name = "${var.humanReadableName}-controlplane"
- dataplane-service-name = "${var.humanReadableName}-dataplane"
-}
diff --git a/deployment/modules/identity-hub/ingress.tf b/deployment/modules/identity-hub/ingress.tf
deleted file mode 100644
index dfacfac2d..000000000
--- a/deployment/modules/identity-hub/ingress.tf
+++ /dev/null
@@ -1,81 +0,0 @@
-#
-# Copyright (c) 2023 Contributors to the Eclipse Foundation
-#
-# See the NOTICE file(s) distributed with this work for additional
-# information regarding copyright ownership.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Apache License, Version 2.0 which is available at
-# https://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-#
-
-resource "kubernetes_ingress_v1" "api-ingress" {
- metadata {
- name = "${var.humanReadableName}-ingress"
- namespace = var.namespace
- annotations = {
- "nginx.ingress.kubernetes.io/rewrite-target" = "/$2"
- "nginx.ingress.kubernetes.io/use-regex" = "true"
- }
- }
- spec {
- ingress_class_name = "nginx"
- rule {
- http {
-
- path {
- path = "/${var.service-name}/cs(/|$)(.*)"
- backend {
- service {
- name = kubernetes_service.ih-service.metadata.0.name
- port {
- number = var.ports.ih-identity-api
- }
- }
- }
- }
- }
- }
- }
-}
-
-// the DID endpoint can not actually modify the URL, otherwise it'll mess up the DID resolution
-resource "kubernetes_ingress_v1" "did-ingress" {
- metadata {
- name = "${var.service-name}-did-ingress"
- namespace = var.namespace
- annotations = {
- "nginx.ingress.kubernetes.io/rewrite-target" = "/${var.service-name}/$2"
- }
- }
-
- spec {
- ingress_class_name = "nginx"
- rule {
- http {
-
-
- # ingress routes for the DID endpoint
- path {
- path = "/${var.service-name}(/|&)(.*)"
- backend {
- service {
- name = kubernetes_service.ih-service.metadata.0.name
- port {
- number = var.ports.ih-did
- }
- }
- }
- }
- }
- }
- }
-}
\ No newline at end of file
diff --git a/deployment/modules/identity-hub/main.tf b/deployment/modules/identity-hub/main.tf
deleted file mode 100644
index e8aacd8f9..000000000
--- a/deployment/modules/identity-hub/main.tf
+++ /dev/null
@@ -1,171 +0,0 @@
-#
-# Copyright (c) 2024 Metaform Systems, Inc.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Apache License, Version 2.0 which is available at
-# https://www.apache.org/licenses/LICENSE-2.0
-#
-# SPDX-License-Identifier: Apache-2.0
-#
-# Contributors:
-# Metaform Systems, Inc. - initial API and implementation
-#
-
-resource "kubernetes_deployment" "identityhub" {
- metadata {
- name = lower(var.humanReadableName)
- namespace = var.namespace
- labels = {
- App = lower(var.humanReadableName)
- }
- }
-
- spec {
- replicas = 1
- selector {
- match_labels = {
- App = lower(var.humanReadableName)
- }
- }
-
- template {
- metadata {
- labels = {
- App = lower(var.humanReadableName)
- }
- }
-
- spec {
- container {
- image_pull_policy = "Never"
- image = "identity-hub:latest"
- name = "identity-hub"
-
- env_from {
- config_map_ref {
- name = kubernetes_config_map.identityhub-config.metadata[0].name
- }
- }
- port {
- container_port = var.ports.credentials-api
- name = "creds-port"
- }
-
- port {
- container_port = var.ports.ih-debug
- name = "debug"
- }
- port {
- container_port = var.ports.ih-identity-api
- name = "identity"
- }
- port {
- container_port = var.ports.ih-did
- name = "did"
- }
- port {
- container_port = var.ports.web
- name = "default-port"
- }
-
- volume_mount {
- mount_path = "/etc/credentials"
- name = "credentials-volume"
- }
-
- liveness_probe {
- http_get {
- path = "/api/check/liveness"
- port = var.ports.web
- }
- failure_threshold = 10
- period_seconds = 5
- timeout_seconds = 30
- }
-
- readiness_probe {
- http_get {
- path = "/api/check/readiness"
- port = var.ports.web
- }
- failure_threshold = 10
- period_seconds = 5
- timeout_seconds = 30
- }
-
- startup_probe {
- http_get {
- path = "/api/check/startup"
- port = var.ports.web
- }
- failure_threshold = 10
- period_seconds = 5
- timeout_seconds = 30
- }
- }
-
- volume {
- name = "credentials-volume"
- config_map {
- name = kubernetes_config_map.identityhub-credentials-map.metadata[0].name
- }
- }
- }
-
- }
- }
-}
-
-
-resource "kubernetes_config_map" "identityhub-credentials-map" {
- metadata {
- name = "${lower(var.humanReadableName)}-credentials"
- namespace = var.namespace
- }
-
- data = {
- for f in fileset(var.credentials-dir, "*-credential.json") : f => file(join("/", [var.credentials-dir, f]))
- }
-}
-
-resource "kubernetes_config_map" "identityhub-config" {
- metadata {
- name = "${lower(var.humanReadableName)}-ih-config"
- namespace = var.namespace
- }
-
- data = {
- # IdentityHub variables
- EDC_IH_IAM_ID = var.participantId
- EDC_IAM_DID_WEB_USE_HTTPS = false
- EDC_IH_IAM_PUBLICKEY_ALIAS = local.public-key-alias
- EDC_IH_API_SUPERUSER_KEY = var.ih_superuser_apikey
- WEB_HTTP_PORT = var.ports.web
- WEB_HTTP_PATH = "/api"
- WEB_HTTP_IDENTITY_PORT = var.ports.ih-identity-api
- WEB_HTTP_IDENTITY_PATH = "/api/identity"
- WEB_HTTP_IDENTITY_AUTH_KEY = "password"
- WEB_HTTP_CREDENTIALS_PORT = var.ports.credentials-api
- WEB_HTTP_CREDENTIALS_PATH = "/api/credentials"
- WEB_HTTP_DID_PORT = var.ports.ih-did
- WEB_HTTP_DID_PATH = "/"
- WEB_HTTP_STS_PORT = var.ports.sts-api
- WEB_HTTP_STS_PATH = var.sts-token-path
- JAVA_TOOL_OPTIONS = "${var.useSVE ? "-XX:UseSVE=0 " : ""}-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=${var.ports.debug}"
- EDC_IAM_STS_PRIVATEKEY_ALIAS = var.aliases.sts-private-key
- EDC_IAM_STS_PUBLICKEY_ID = var.aliases.sts-public-key-id
- EDC_MVD_CREDENTIALS_PATH = "/etc/credentials/"
- EDC_VAULT_HASHICORP_URL = var.vault-url
- EDC_VAULT_HASHICORP_TOKEN = var.vault-token
- EDC_DATASOURCE_DEFAULT_URL = var.database.url
- EDC_DATASOURCE_DEFAULT_USER = var.database.user
- EDC_DATASOURCE_DEFAULT_PASSWORD = var.database.password
- EDC_SQL_SCHEMA_AUTOCREATE = true
- EDC_IAM_ACCESSTOKEN_JTI_VALIDATION = true
-
- }
-}
-
-locals {
- public-key-alias = "${var.humanReadableName}-publickey"
-}
\ No newline at end of file
diff --git a/deployment/modules/identity-hub/outputs.tf b/deployment/modules/identity-hub/outputs.tf
deleted file mode 100644
index 007553071..000000000
--- a/deployment/modules/identity-hub/outputs.tf
+++ /dev/null
@@ -1,42 +0,0 @@
-#
-# Copyright (c) 2023 Contributors to the Eclipse Foundation
-#
-# See the NOTICE file(s) distributed with this work for additional
-# information regarding copyright ownership.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Apache License, Version 2.0 which is available at
-# https://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-#
-
-output "identity-hub-node-ip" {
- value = kubernetes_service.ih-service.spec.0.cluster_ip
-}
-
-
-output "ports" {
- value = var.ports
-}
-
-output "ih-superuser-apikey" {
- value = var.ih_superuser_apikey
-}
-
-output "credentials" {
- value = {
- path = var.credentials-dir
- content = fileset(var.credentials-dir, "*-credential.json")
- }
-}
-
-output "sts-token-url" {
- value = "http://${kubernetes_service.ih-service.metadata.0.name}:${var.ports.sts-api}${var.sts-token-path}"
-}
\ No newline at end of file
diff --git a/deployment/modules/identity-hub/services.tf b/deployment/modules/identity-hub/services.tf
deleted file mode 100644
index 65b503930..000000000
--- a/deployment/modules/identity-hub/services.tf
+++ /dev/null
@@ -1,46 +0,0 @@
-#
-# Copyright (c) 2024 Metaform Systems, Inc.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Apache License, Version 2.0 which is available at
-# https://www.apache.org/licenses/LICENSE-2.0
-#
-# SPDX-License-Identifier: Apache-2.0
-#
-# Contributors:
-# Metaform Systems, Inc. - initial API and implementation
-#
-
-resource "kubernetes_service" "ih-service" {
- metadata {
- name = var.humanReadableName
- namespace = var.namespace
- }
- spec {
- type = "NodePort"
- selector = {
- App = kubernetes_deployment.identityhub.spec.0.template.0.metadata[0].labels.App
- }
- # we need a stable IP, otherwise there will be a cycle with the issuer
- port {
- name = "credentials"
- port = var.ports.credentials-api
- }
- port {
- name = "debug"
- port = var.ports.ih-debug
- }
- port {
- name = "management"
- port = var.ports.ih-identity-api
- }
- port {
- name = "did"
- port = var.ports.ih-did
- }
- port {
- name = "sts"
- port = var.ports.sts-api
- }
- }
-}
\ No newline at end of file
diff --git a/deployment/modules/identity-hub/variables.tf b/deployment/modules/identity-hub/variables.tf
deleted file mode 100644
index c8e0f0d65..000000000
--- a/deployment/modules/identity-hub/variables.tf
+++ /dev/null
@@ -1,115 +0,0 @@
-#
-# Copyright (c) 2023 Contributors to the Eclipse Foundation
-#
-# See the NOTICE file(s) distributed with this work for additional
-# information regarding copyright ownership.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Apache License, Version 2.0 which is available at
-# https://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-#
-
-## Normally, you shouldn't need to change any values here. If you do, please be sure to also change them in the seed script (seed-k8s.sh).
-## Neglecting to do that will render the connectors and identity hubs inoperable!
-
-
-variable "humanReadableName" {
- type = string
- description = "Human readable name of the connector, NOT the ID!!. Required."
-}
-
-variable "participantId" {
- type = string
- description = "Participant ID of the connector. Usually a DID"
-}
-
-variable "namespace" {
- type = string
-}
-
-variable "ports" {
- type = object({
- web = number
- debug = number
- ih-debug = number
- ih-did = number
- ih-identity-api = number
- credentials-api = number
- sts-api = number
- })
- default = {
- web = 7080
- debug = 1044
- ih-debug = 1044
- ih-did = 7083
- ih-identity-api = 7081
- credentials-api = 7082
- sts-api = 7084
- }
-}
-
-variable "credentials-dir" {
- type = string
- description = "JSON object containing the credentials to seed, sorted by human-readable participant name"
-}
-
-variable "ih_superuser_apikey" {
- default = "c3VwZXItdXNlcg==.c3VwZXItc2VjcmV0LWtleQo="
- description = "Management API Key for the Super-User. Defaults to 'base64(super-user).base64(super-secret-key)"
- type = string
-}
-
-variable "vault-url" {
- description = "URL of the Hashicorp Vault"
- type = string
-}
-
-variable "vault-token" {
- default = "root"
- description = "This is the authentication token for the vault. DO NOT USE THIS IN PRODUCTION!"
- type = string
-}
-
-variable "aliases" {
- type = object({
- sts-private-key = string
- sts-public-key-id = string
- })
- default = {
- sts-private-key = "key-1"
- sts-public-key-id = "key-1"
- }
-}
-
-variable "service-name" {
- type = string
- description = "Name of the Service endpoint"
-}
-
-variable "database" {
- type = object({
- url = string
- user = string
- password = string
- })
-}
-
-variable "useSVE" {
- type = bool
- description = "If true, the -XX:UseSVE=0 switch (Scalable Vector Extensions) will be appended to the JAVA_TOOL_OPTIONS. Can help on macOs on Apple Silicon processors"
- default = false
-}
-
-variable "sts-token-path" {
- description = "path suffix of the STS token API"
- type = string
- default = "/api/sts"
-}
\ No newline at end of file
diff --git a/deployment/modules/issuer/ingress.tf b/deployment/modules/issuer/ingress.tf
deleted file mode 100644
index b1219dd67..000000000
--- a/deployment/modules/issuer/ingress.tf
+++ /dev/null
@@ -1,87 +0,0 @@
-#
-# Copyright (c) 2025 Cofinity-X
-#
-# This program and the accompanying materials are made available under the
-# terms of the Apache License, Version 2.0 which is available at
-# https://www.apache.org/licenses/LICENSE-2.0
-#
-# SPDX-License-Identifier: Apache-2.0
-#
-# Contributors:
-# Cofinity-X - initial API and implementation
-#
-
-resource "kubernetes_ingress_v1" "api-ingress" {
- metadata {
- name = "${var.humanReadableName}-ingress"
- namespace = var.namespace
- annotations = {
- "nginx.ingress.kubernetes.io/rewrite-target" = "/$2"
- "nginx.ingress.kubernetes.io/use-regex" = "true"
- }
- }
- spec {
- ingress_class_name = "nginx"
- rule {
- http {
-
- path {
- path = "/issuer/cs(/|$)(.*)"
- backend {
- service {
- name = kubernetes_service.issuerservice-service.metadata.0.name
- port {
- number = var.ports.identity
- }
- }
- }
- }
-
- path {
- path = "/issuer/ad(/|$)(.*)"
- backend {
- service {
- name = kubernetes_service.issuerservice-service.metadata.0.name
- port {
- number = var.ports.issueradmin
- }
- }
- }
- }
- }
- }
- }
-}
-
-// the DID endpoint can not actually modify the URL, otherwise it'll mess up the DID resolution
-resource "kubernetes_ingress_v1" "did-ingress" {
- metadata {
- name = "${var.humanReadableName}-did-ingress"
- namespace = var.namespace
- annotations = {
- "nginx.ingress.kubernetes.io/rewrite-target" = "/issuer/$2"
- }
- }
-
- spec {
- ingress_class_name = "nginx"
- rule {
- http {
-
-
- # ingress routes for the DID endpoint
- path {
- path = "/issuer(/|&)(.*)"
- backend {
- service {
- name = kubernetes_service.issuerservice-service.metadata.0.name
- port {
- number = var.ports.did
- }
- }
- }
- }
- }
- }
- }
-}
\ No newline at end of file
diff --git a/deployment/modules/issuer/main.tf b/deployment/modules/issuer/main.tf
deleted file mode 100644
index c19adf7e0..000000000
--- a/deployment/modules/issuer/main.tf
+++ /dev/null
@@ -1,159 +0,0 @@
-#
-# Copyright (c) 2025 Cofinity-X
-#
-# This program and the accompanying materials are made available under the
-# terms of the Apache License, Version 2.0 which is available at
-# https://www.apache.org/licenses/LICENSE-2.0
-#
-# SPDX-License-Identifier: Apache-2.0
-#
-# Contributors:
-# Cofinity-X - initial API and implementation
-#
-
-resource "kubernetes_deployment" "issuerservice" {
- metadata {
- name = lower(var.humanReadableName)
- namespace = var.namespace
- labels = {
- App = lower(var.humanReadableName)
- }
- }
-
- spec {
- replicas = 1
- selector {
- match_labels = {
- App = lower(var.humanReadableName)
- }
- }
-
- template {
- metadata {
- labels = {
- App = lower(var.humanReadableName)
- }
- }
-
- spec {
- container {
- image_pull_policy = "Never"
- image = "issuerservice:latest"
- name = "issuerservice"
-
- env_from {
- config_map_ref {
- name = kubernetes_config_map.issuerservice-config.metadata[0].name
- }
- }
- port {
- container_port = var.ports.web
- name = "web"
- }
-
- port {
- container_port = var.ports.sts
- name = "sts"
- }
- port {
- container_port = var.ports.debug
- name = "debug"
- }
- port {
- container_port = var.ports.issuance
- name = "issuance"
- }
- port {
- container_port = var.ports.issueradmin
- name = "issueradmin"
- }
- port {
- container_port = var.ports.identity
- name = "identity-port"
- }
-
- port {
- container_port = var.ports.did
- name = "did"
- }
-
- liveness_probe {
- http_get {
- path = "/api/check/liveness"
- port = var.ports.web
- }
- failure_threshold = 10
- period_seconds = 5
- timeout_seconds = 30
- }
-
- readiness_probe {
- http_get {
- path = "/api/check/readiness"
- port = var.ports.web
- }
- failure_threshold = 10
- period_seconds = 5
- timeout_seconds = 30
- }
-
- startup_probe {
- http_get {
- path = "/api/check/startup"
- port = var.ports.web
- }
- failure_threshold = 10
- period_seconds = 5
- timeout_seconds = 30
- }
- }
- }
- }
- }
-}
-
-resource "kubernetes_config_map" "issuerservice-config" {
- metadata {
- name = "${lower(var.humanReadableName)}-config"
- namespace = var.namespace
- }
-
- data = {
- EDC_ISSUER_STATUSLIST_SIGNING_KEY_ALIAS = "statuslist-signing-key"
- EDC_IH_API_SUPERUSER_KEY = var.superuser_apikey
- WEB_HTTP_PORT = var.ports.web
- WEB_HTTP_PATH = "/api"
- WEB_HTTP_STS_PORT = var.ports.sts
- WEB_HTTP_STS_PATH = "/api/sts"
- WEB_HTTP_ISSUANCE_PORT = var.ports.issuance
- WEB_HTTP_ISSUANCE_PATH = "/api/issuance"
- WEB_HTTP_ISSUERADMIN_PORT = var.ports.issueradmin
- WEB_HTTP_ISSUERADMIN_PATH = "/api/admin"
- WEB_HTTP_VERSION_PORT = var.ports.version
- WEB_HTTP_VERSION_PATH = "/.well-known/api"
- WEB_HTTP_IDENTITY_PORT = var.ports.identity
- WEB_HTTP_IDENTITY_PATH = "/api/identity"
- WEB_HTTP_IDENTITY_AUTH_KEY = "password"
- WEB_HTTP_DID_PORT = var.ports.did
- WEB_HTTP_DID_PATH = "/"
-
- JAVA_TOOL_OPTIONS = "${var.useSVE ? "-XX:UseSVE=0 " : ""}-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=${var.ports.debug}"
- EDC_VAULT_HASHICORP_URL = var.vault-url
- EDC_VAULT_HASHICORP_TOKEN = var.vault-token
- EDC_DATASOURCE_DEFAULT_URL = var.database.url
- EDC_DATASOURCE_DEFAULT_USER = var.database.user
- EDC_DATASOURCE_DEFAULT_PASSWORD = var.database.password
-
- # even though we have a default data source, we need a named datasource for the DatabaseAttestationSource, because
- # that is configured in the AttestationDefinition
- EDC_DATASOURCE_MEMBERSHIP_URL = var.database.url
- EDC_DATASOURCE_MEMBERSHIP_USER = var.database.user
- EDC_DATASOURCE_MEMBERSHIP_PASSWORD = var.database.password
-
- EDC_SQL_SCHEMA_AUTOCREATE = true
- EDC_IAM_ACCESSTOKEN_JTI_VALIDATION = true
- EDC_IAM_DID_WEB_USE_HTTPS = false
-
- }
-}
-
diff --git a/deployment/modules/issuer/services.tf b/deployment/modules/issuer/services.tf
deleted file mode 100644
index 8f577e265..000000000
--- a/deployment/modules/issuer/services.tf
+++ /dev/null
@@ -1,53 +0,0 @@
-#
-# Copyright (c) 2025 Cofinity-X
-#
-# This program and the accompanying materials are made available under the
-# terms of the Apache License, Version 2.0 which is available at
-# https://www.apache.org/licenses/LICENSE-2.0
-#
-# SPDX-License-Identifier: Apache-2.0
-#
-# Contributors:
-# Cofinity-X - initial API and implementation
-#
-
-resource "kubernetes_service" "issuerservice-service" {
- metadata {
- name = var.humanReadableName
- namespace = var.namespace
- }
- spec {
- type = "NodePort"
- selector = {
- App = kubernetes_deployment.issuerservice.spec.0.template.0.metadata[0].labels.App
- }
- port {
- name = "web"
- port = var.ports.web
- }
- port {
- name = "sts"
- port = var.ports.sts
- }
- port {
- name = "debug"
- port = var.ports.debug
- }
- port {
- name = "issuance"
- port = var.ports.issuance
- }
- port {
- name = "issueradmin"
- port = var.ports.issueradmin
- }
- port {
- name = "identity"
- port = var.ports.identity
- }
- port {
- name = "did"
- port = var.ports.did
- }
- }
-}
\ No newline at end of file
diff --git a/deployment/modules/issuer/variables.tf b/deployment/modules/issuer/variables.tf
deleted file mode 100644
index c2119289a..000000000
--- a/deployment/modules/issuer/variables.tf
+++ /dev/null
@@ -1,82 +0,0 @@
-#
-# Copyright (c) 2025 Cofinity-X
-#
-# This program and the accompanying materials are made available under the
-# terms of the Apache License, Version 2.0 which is available at
-# https://www.apache.org/licenses/LICENSE-2.0
-#
-# SPDX-License-Identifier: Apache-2.0
-#
-# Contributors:
-# Cofinity-X - initial API and implementation
-#
-
-
-variable "humanReadableName" {
- type = string
- description = "Human readable name of the issuer, NOT the ID!!. Required."
- default = "issuerservice"
-}
-
-variable "participantId" {
- type = string
- description = "Participant ID of the issuer. Usually a DID"
-}
-
-variable "namespace" {
- type = string
-}
-
-variable "ports" {
- type = object({
- web = number
- sts = number
- issuance = number
- issueradmin = number
- version = number
- identity = number
- debug = number
- did = number
- })
- default = {
- web = 10010
- sts = 10011
- issuance = 10012
- issueradmin = 10013
- version = 10014
- identity = 10015
- did = 10016
- debug = 1044
- }
-}
-
-variable "database" {
- type = object({
- url = string
- user = string
- password = string
- })
-}
-
-variable "useSVE" {
- type = bool
- description = "If true, the -XX:UseSVE=0 switch (Scalable Vector Extensions) will be appended to the JAVA_TOOL_OPTIONS. Can help on macOs on Apple Silicon processors"
- default = false
-}
-
-variable "vault-url" {
- description = "URL of the Hashicorp Vault"
- type = string
-}
-
-variable "vault-token" {
- default = "root"
- description = "This is the authentication token for the vault. DO NOT USE THIS IN PRODUCTION!"
- type = string
-}
-
-variable "superuser_apikey" {
- default = "c3VwZXItdXNlcg==.c3VwZXItc2VjcmV0LWtleQo="
- description = "Management API Key for the Super-User. Defaults to 'base64(super-user).base64(super-secret-key)"
- type = string
-}
diff --git a/deployment/modules/postgres/main.tf b/deployment/modules/postgres/main.tf
deleted file mode 100644
index 31571f954..000000000
--- a/deployment/modules/postgres/main.tf
+++ /dev/null
@@ -1,131 +0,0 @@
-#
-# Copyright (c) 2024 Metaform Systems, Inc.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Apache License, Version 2.0 which is available at
-# https://www.apache.org/licenses/LICENSE-2.0
-#
-# SPDX-License-Identifier: Apache-2.0
-#
-# Contributors:
-# Metaform Systems, Inc. - initial API and implementation
-#
-
-resource "kubernetes_deployment" "postgres" {
- metadata {
- name = local.app-name
- namespace = var.namespace
- labels = {
- App = local.app-name
- }
- }
-
- spec {
- replicas = 1
- selector {
- match_labels = {
- App = local.app-name
- }
- }
- template {
- metadata {
- labels = {
- App = local.app-name
- }
- }
- spec {
- container {
- image = local.pg-image
- name = local.app-name
-
- env_from {
- config_map_ref {
- name = kubernetes_config_map.postgres-env.metadata[0].name
- }
- }
- port {
- container_port = 5432
- name = "postgres-port"
- }
-
- dynamic "volume_mount" {
- for_each = toset(var.init-sql-configs)
- content {
- mount_path = "/docker-entrypoint-initdb.d/${volume_mount.value}.sql"
- name = volume_mount.value
- sub_path = "${volume_mount.value}.sql"
- read_only = true
- }
- }
-
- # Uncomment this to assign (more) resources
- # resources {
- # limits = {
- # cpu = "2"
- # memory = "512Mi"
- # }
- # requests = {
- # cpu = "250m"
- # memory = "50Mi"
- # }
- # }
- liveness_probe {
- exec {
- command = ["pg_isready", "-U", "postgres"]
- }
- failure_threshold = 10
- period_seconds = 5
- timeout_seconds = 30
- }
- }
-
- dynamic "volume" {
- for_each = toset(var.init-sql-configs)
- content {
- name = volume.value
- config_map {
- name = volume.value
- }
- }
- }
- }
- }
- }
-}
-
-resource "kubernetes_config_map" "postgres-env" {
- metadata {
- name = "${local.app-name}-env"
- namespace = var.namespace
- }
-
- ## Create databases for keycloak and MIW, create users and assign privileges
- data = {
- POSTGRES_USER = "postgres"
- POSTGRES_PASSWORD = "postgres"
- }
-}
-
-resource "kubernetes_service" "pg-service" {
- metadata {
- name = "${local.app-name}-service"
- namespace = var.namespace
- }
- spec {
- selector = {
- App = kubernetes_deployment.postgres.spec.0.template.0.metadata[0].labels.App
- }
- port {
- name = "pg-port"
- port = var.database-port
- target_port = var.database-port
- }
- }
-}
-
-locals {
- app-name = "${var.instance-name}-postgres"
- pg-image = "postgres:16.3-alpine3.20"
- db-ip = kubernetes_service.pg-service.spec.0.cluster_ip
- db-url = "${kubernetes_service.pg-service.metadata[0].name}:${var.database-port}"
-}
diff --git a/deployment/modules/postgres/outputs.tf b/deployment/modules/postgres/outputs.tf
deleted file mode 100644
index 5e1ddfb1d..000000000
--- a/deployment/modules/postgres/outputs.tf
+++ /dev/null
@@ -1,28 +0,0 @@
-#
-# Copyright (c) 2024 Metaform Systems, Inc.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Apache License, Version 2.0 which is available at
-# https://www.apache.org/licenses/LICENSE-2.0
-#
-# SPDX-License-Identifier: Apache-2.0
-#
-# Contributors:
-# Metaform Systems, Inc. - initial API and implementation
-#
-
-output "instance-name" {
- value = var.instance-name
-}
-
-output "database-host" {
- value = local.db-ip
-}
-
-output "database-port" {
- value = var.database-port
-}
-
-output "database-url" {
- value = local.db-url
-}
diff --git a/deployment/modules/postgres/variables.tf b/deployment/modules/postgres/variables.tf
deleted file mode 100644
index 7c5e66be2..000000000
--- a/deployment/modules/postgres/variables.tf
+++ /dev/null
@@ -1,29 +0,0 @@
-#
-# Copyright (c) 2024 Metaform Systems, Inc.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Apache License, Version 2.0 which is available at
-# https://www.apache.org/licenses/LICENSE-2.0
-#
-# SPDX-License-Identifier: Apache-2.0
-#
-# Contributors:
-# Metaform Systems, Inc. - initial API and implementation
-#
-
-variable "instance-name" {
- description = "Name for the Postgres instance, must be unique for each postgres instances"
-}
-
-variable "database-port" {
- default = 5432
-}
-
-variable "init-sql-configs" {
- description = "Name of config maps with init sql scripts"
- default = []
-}
-
-variable "namespace" {
- description = "kubernetes namespace where the PG instance is deployed"
-}
\ No newline at end of file
diff --git a/deployment/modules/vault/variables.tf b/deployment/modules/vault/variables.tf
deleted file mode 100644
index 1ad67483a..000000000
--- a/deployment/modules/vault/variables.tf
+++ /dev/null
@@ -1,44 +0,0 @@
-#
-# Copyright (c) 2024 Contributors to the Eclipse Foundation
-#
-# See the NOTICE file(s) distributed with this work for additional
-# information regarding copyright ownership.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Apache License, Version 2.0 which is available at
-# https://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-#
-
-variable "humanReadableName" {
- type = string
- description = "Human readable name. Should not contain special characters"
-}
-
-variable "namespace" {
- type = string
-}
-
-variable "vault-token" {
- default = "root"
- description = "This is the authentication token for the vault. DO NOT USE THIS IN PRODUCTION!"
- type = string
-}
-
-variable "aliases" {
- type = object({
- sts-private-key = string
- sts-public-key-id = string
- })
- default = {
- sts-private-key = "key-1"
- sts-public-key-id = "key-1"
- }
-}
\ No newline at end of file
diff --git a/deployment/modules/vault/vault-values.yaml b/deployment/modules/vault/vault-values.yaml
deleted file mode 100644
index e7a5167ed..000000000
--- a/deployment/modules/vault/vault-values.yaml
+++ /dev/null
@@ -1,22 +0,0 @@
-#
-# Copyright (c) 2024 Metaform Systems, Inc.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Apache License, Version 2.0 which is available at
-# https://www.apache.org/licenses/LICENSE-2.0
-#
-# SPDX-License-Identifier: Apache-2.0
-#
-# Contributors:
-# Metaform Systems, Inc. - initial API and implementation
-#
-
-server:
- postStart:
-hashicorp:
- timeout: 30
- healthCheck:
- enabled: true
- standbyOk: true
- paths:
- secret: /v1/secret
diff --git a/deployment/modules/vault/vault.tf b/deployment/modules/vault/vault.tf
deleted file mode 100644
index 371ccf964..000000000
--- a/deployment/modules/vault/vault.tf
+++ /dev/null
@@ -1,70 +0,0 @@
-#
-# Copyright (c) 2024 Metaform Systems, Inc.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Apache License, Version 2.0 which is available at
-# https://www.apache.org/licenses/LICENSE-2.0
-#
-# SPDX-License-Identifier: Apache-2.0
-#
-# Contributors:
-# Metaform Systems, Inc. - initial API and implementation
-#
-
-resource "helm_release" "vault" {
- name = var.humanReadableName
- namespace = var.namespace
-
- force_update = true
- dependency_update = true
- reuse_values = true
- cleanup_on_fail = true
- replace = true
-
- repository = "https://helm.releases.hashicorp.com"
- chart = "vault"
-
-
-
- set = [
- {
- name = "server.dev.devRootToken"
- value = var.vault-token
- },
- {
- name = "server.dev.enabled"
- value = true
- },
- {
- name = "injector.enabled"
- value = false
- },
- {
- name = "hashicorp.token"
- value = var.vault-token
- }
- ]
-
- values = [
- file("${path.module}/vault-values.yaml"),
- # yamlencode({
- # "server" : {
- # "postStart" : [
- # "sh",
- # "-c",
- # join(" && ", [
- # "sleep 5",
- # "/bin/vault kv put secret/${var.aliases.sts-private-key} content=\"${tls_private_key.private_signing_key.private_key_pem}\"",
- # # "/bin/vault kv put secret/${local.public-key-alias} content=\"${tls_private_key.ecdsa.public_key_pem}\""
- # ])
- # ]
- # }
- # }),
- ]
-}
-#
-# ECDSA key with P256 elliptic curve
-resource "tls_private_key" "private_signing_key" {
- algorithm = "ECDSA"
- ecdsa_curve = "P256"
-}
diff --git a/deployment/outputs.tf b/deployment/outputs.tf
deleted file mode 100644
index 6d848a95f..000000000
--- a/deployment/outputs.tf
+++ /dev/null
@@ -1,31 +0,0 @@
-#
-# Copyright (c) 2023 Contributors to the Eclipse Foundation
-#
-# See the NOTICE file(s) distributed with this work for additional
-# information regarding copyright ownership.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Apache License, Version 2.0 which is available at
-# https://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-#
-
-output "consumer-jdbc-url" {
- # jdbc:postgresql://localhost:5432/mydatabase?currentSchema=myschema
- value = "jdbc:postgresql://${module.consumer-postgres.database-url}/consumer"
-}
-
-output "provider-jdbc-url" {
- value = {
- catalog-server = "jdbc:postgresql://${module.provider-postgres.database-url}/catalog_server"
- provider-qna = "jdbc:postgresql://${module.provider-postgres.database-url}/provider_qna"
- provider-manufacturing = "jdbc:postgresql://${module.provider-postgres.database-url}/provider_manufacturing"
- }
-}
\ No newline at end of file
diff --git a/deployment/postman/MVD K8S.postman_environment.json b/deployment/postman/MVD K8S.postman_environment.json
deleted file mode 100644
index 614bb5e74..000000000
--- a/deployment/postman/MVD K8S.postman_environment.json
+++ /dev/null
@@ -1,129 +0,0 @@
-{
- "id": "9330e6b5-fffa-40a9-8835-5e76233f9ccd",
- "name": "MVD K8S",
- "values": [
- {
- "key": "HOST",
- "value": "http://localhost/consumer/cp",
- "type": "default",
- "enabled": true
- },
- {
- "key": "CS_URL",
- "value": "http://localhost/consumer/cs/",
- "type": "default",
- "enabled": true
- },
- {
- "key": "CATALOG_SERVER_DSP_URL",
- "value": "http://provider-catalog-server-controlplane:8082",
- "type": "default",
- "enabled": true
- },
- {
- "key": "CONSUMER_CATALOG_QUERY_URL",
- "value": "http://localhost/consumer/fc",
- "type": "default",
- "enabled": true
- },
- {
- "key": "PROVIDER_PUBLIC_API",
- "value": "http://localhost/provider-qna/public",
- "type": "default",
- "enabled": true
- },
- {
- "key": "PROVIDER_DSP_URL",
- "value": "http://provider-qna-controlplane:8082",
- "type": "default",
- "enabled": true
- },
- {
- "key": "PROVIDER_ID",
- "value": "did:web:provider-identityhub%3A7083:provider",
- "type": "default",
- "enabled": true
- },
- {
- "key": "PROVIDER_NAME",
- "value": "MVD Provider Participant",
- "type": "default",
- "enabled": true
- },
- {
- "key": "CONSUMER_ID",
- "value": "did:web:consumer-identityhub%3A7083:consumer",
- "type": "default",
- "enabled": true
- },
- {
- "key": "CONSUMER_NAME",
- "value": "MVD Consumer Participant",
- "type": "default",
- "enabled": true
- },
- {
- "key": "ISSUER_DID",
- "value": "did:web:dataspace-issuer-service%3A10016:issuer",
- "type": "default",
- "enabled": true
- },
- {
- "key": "ISSUER_BASE_URL",
- "value": "http://localhost/issuer/ad",
- "type": "default",
- "enabled": true
- },
- {
- "key": "ISSUER_ADMIN_URL",
- "value": "",
- "type": "default",
- "enabled": true
- },
- {
- "key": "PARTICIPANT_ID_BASE64",
- "value": "",
- "type": "default",
- "enabled": true
- },
- {
- "key": "REQUEST_ID",
- "value": "",
- "type": "any",
- "enabled": true
- },
- {
- "key": "POLICY_ID_ASSET_1",
- "value": "",
- "type": "any",
- "enabled": true
- },
- {
- "key": "CONTRACT_NEGOTIATION_ID",
- "value": "",
- "type": "any",
- "enabled": true
- },
- {
- "key": "CONTRACT_AGREEMENT_ID",
- "value": "",
- "type": "any",
- "enabled": true
- },
- {
- "key": "TRANSFER_PROCESS_ID",
- "value": "",
- "type": "any",
- "enabled": true
- },
- {
- "key": "AUTHORIZATION",
- "value": "",
- "type": "any",
- "enabled": true
- }
- ],
- "_postman_variable_scope": "environment",
- "_postman_exported_at": "2025-03-05T06:26:50.206Z",
- "_postman_exported_using": "Postman/11.34.4"
-}
\ No newline at end of file
diff --git a/deployment/postman/MVD Local Development.postman_environment.json b/deployment/postman/MVD Local Development.postman_environment.json
deleted file mode 100644
index bc81584fc..000000000
--- a/deployment/postman/MVD Local Development.postman_environment.json
+++ /dev/null
@@ -1,105 +0,0 @@
-{
- "id": "448d5e51-e4f9-4b2a-96ea-1054aab52c1d",
- "name": "MVD Local Development",
- "values": [
- {
- "key": "HOST",
- "value": "http://localhost:8081",
- "type": "default",
- "enabled": true
- },
- {
- "key": "CS_URL",
- "value": "http://localhost:7082",
- "type": "default",
- "enabled": true
- },
- {
- "key": "CATALOG_SERVER_DSP_URL",
- "value": "http://localhost:8092",
- "type": "default",
- "enabled": true
- },
- {
- "key": "CONSUMER_CATALOG_QUERY_URL",
- "value": "http://localhost:8084",
- "type": "default",
- "enabled": true
- },
- {
- "key": "PROVIDER_DSP_URL",
- "value": "http://localhost:8192",
- "type": "default",
- "enabled": true
- },
- {
- "key": "PROVIDER_PUBLIC_API",
- "value": "http://localhost:12001",
- "type": "default",
- "enabled": true
- },
- {
- "key": "ISSUER_BASE_URL",
- "value": "",
- "type": "default",
- "enabled": true
- },
- {
- "key": "ISSUER_ADMIN_URL",
- "value": "http://localhost:10013",
- "type": "default",
- "enabled": true
- },
- {
- "key": "CONSUMER_ID",
- "value": "did:web:localhost%3A7083",
- "type": "default",
- "enabled": true
- },
- {
- "key": "CONSUMER_NAME",
- "value": "MVD Consumer Participant",
- "type": "default",
- "enabled": true
- },
- {
- "key": "PROVIDER_ID",
- "value": "did:web:localhost%3A7093",
- "type": "default",
- "enabled": true
- },
- {
- "key": "PROVIDER_NAME",
- "value": "MVD Provider Participant",
- "type": "default",
- "enabled": true
- },
- {
- "key": "ISSUER_DID",
- "value": "did:web:localhost%3A10100",
- "type": "default",
- "enabled": true
- },
- {
- "key": "POLICY_ID_ASSET_1",
- "value": "",
- "type": "any",
- "enabled": true
- },
- {
- "key": "PARTICIPANT_ID_BASE64",
- "value": "ZGlkOndlYjpsb2NhbGhvc3QlM0E3MDgz",
- "type": "default",
- "enabled": true
- },
- {
- "key": "REQUEST_ID",
- "value": "",
- "type": "any",
- "enabled": true
- }
- ],
- "_postman_variable_scope": "environment",
- "_postman_exported_at": "2025-03-05T06:26:44.509Z",
- "_postman_exported_using": "Postman/11.34.4"
-}
\ No newline at end of file
diff --git a/deployment/postman/MVD.postman_collection.json b/deployment/postman/MVD.postman_collection.json
deleted file mode 100644
index c373dd48b..000000000
--- a/deployment/postman/MVD.postman_collection.json
+++ /dev/null
@@ -1,6218 +0,0 @@
-{
- "info": {
- "_postman_id": "46b6d41a-f249-4571-8ffe-0ee7fc25f6e0",
- "name": "MVD",
- "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
- "_exporter_id": "647585"
- },
- "item": [
- {
- "name": "Seed",
- "item": [
- {
- "name": "Create Asset 1",
- "request": {
- "method": "POST",
- "header": [],
- "body": {
- "mode": "raw",
- "raw": "{\n \"@context\": [\n \"https://w3id.org/edc/connector/management/v0.0.1\"\n ],\n \"@id\": \"asset-1\",\n \"@type\": \"Asset\",\n \"properties\": {\n \"description\": \"This asset requires Membership to view and negotiate.\"\n },\n \"dataAddress\": {\n \"@type\": \"DataAddress\",\n \"type\": \"HttpData\",\n \"baseUrl\": \"https://jsonplaceholder.typicode.com/todos\",\n \"proxyPath\": \"true\",\n \"proxyQueryParams\": \"true\"\n }\n}"
- },
- "url": {
- "raw": "{{HOST}}/api/management/v3/assets",
- "host": [
- "{{HOST}}"
- ],
- "path": [
- "api",
- "management",
- "v3",
- "assets"
- ]
- }
- },
- "response": []
- },
- {
- "name": "Create Asset 2",
- "request": {
- "method": "POST",
- "header": [],
- "body": {
- "mode": "raw",
- "raw": "{\n \"@context\": [\n \"https://w3id.org/edc/connector/management/v0.0.1\"\n ],\n \"@id\": \"asset-2\",\n \"@type\": \"Asset\",\n \"properties\": {\n \"description\": \"This asset requires Membership to view and SensitiveData credential to negotiate.\"\n },\n \"dataAddress\": {\n \"@type\": \"DataAddress\",\n \"type\": \"HttpData\",\n \"baseUrl\": \"https://jsonplaceholder.typicode.com/todos\",\n \"proxyPath\": \"true\",\n \"proxyQueryParams\": \"true\"\n }\n}"
- },
- "url": {
- "raw": "{{HOST}}/api/management/v3/assets",
- "host": [
- "{{HOST}}"
- ],
- "path": [
- "api",
- "management",
- "v3",
- "assets"
- ]
- }
- },
- "response": []
- },
- {
- "name": "Create Membership Policy",
- "request": {
- "method": "POST",
- "header": [],
- "body": {
- "mode": "raw",
- "raw": "{\n \"@context\": [\n \"https://w3id.org/edc/connector/management/v0.0.1\"\n ],\n \"@type\": \"PolicyDefinition\",\n \"@id\": \"require-membership\",\n \"policy\": {\n \"@type\": \"Set\",\n \"permission\": [\n {\n \"action\": \"use\",\n \"constraint\": {\n \"leftOperand\": \"MembershipCredential\",\n \"operator\": \"eq\",\n \"rightOperand\": \"active\"\n }\n }\n ]\n }\n}"
- },
- "url": {
- "raw": "{{HOST}}/api/management/v3/policydefinitions",
- "host": [
- "{{HOST}}"
- ],
- "path": [
- "api",
- "management",
- "v3",
- "policydefinitions"
- ]
- }
- },
- "response": []
- },
- {
- "name": "Create DataProcessor policy",
- "request": {
- "method": "POST",
- "header": [],
- "body": {
- "mode": "raw",
- "raw": "{\n \"@context\": [\n \"https://w3id.org/edc/connector/management/v0.0.1\"\n ],\n \"@type\": \"PolicyDefinition\",\n \"@id\": \"require-dataprocessor\",\n \"policy\": {\n \"@type\": \"Set\",\n \"obligation\": [\n {\n \"action\": \"use\",\n \"constraint\": {\n \"leftOperand\": \"DataAccess.level\",\n \"operator\": \"eq\",\n \"rightOperand\": \"processing\"\n }\n }\n ]\n }\n}"
- },
- "url": {
- "raw": "{{HOST}}/api/management/v3/policydefinitions",
- "host": [
- "{{HOST}}"
- ],
- "path": [
- "api",
- "management",
- "v3",
- "policydefinitions"
- ]
- }
- },
- "response": []
- },
- {
- "name": "Create Sensitive Data Processor policy",
- "request": {
- "method": "POST",
- "header": [],
- "body": {
- "mode": "raw",
- "raw": "{\n \"@context\": [\n \"https://w3id.org/edc/connector/management/v0.0.1\"\n ],\n \"@type\": \"PolicyDefinition\",\n \"@id\": \"require-sensitive\",\n \"policy\": {\n \"@type\": \"Set\",\n \"obligation\": [\n {\n \"action\": \"use\",\n \"constraint\": {\n \"leftOperand\": \"DataAccess.level\",\n \"operator\": \"eq\",\n \"rightOperand\": \"sensitive\"\n }\n }\n ]\n }\n}"
- },
- "url": {
- "raw": "{{HOST}}/api/management/v3/policydefinitions",
- "host": [
- "{{HOST}}"
- ],
- "path": [
- "api",
- "management",
- "v3",
- "policydefinitions"
- ]
- }
- },
- "response": []
- },
- {
- "name": "Create \"member-and-data-cred\" definition",
- "request": {
- "method": "POST",
- "header": [],
- "body": {
- "mode": "raw",
- "raw": "{\n \"@context\": [\n \"https://w3id.org/edc/connector/management/v0.0.1\"\n ],\n \"@id\": \"member-and-dataprocessor-def\",\n \"@type\": \"ContractDefinition\",\n \"accessPolicyId\": \"require-membership\",\n \"contractPolicyId\": \"require-dataprocessor\",\n \"assetsSelector\": {\n \"@type\": \"Criterion\",\n \"operandLeft\": \"https://w3id.org/edc/v0.0.1/ns/id\",\n \"operator\": \"=\",\n \"operandRight\": \"asset-1\"\n }\n}"
- },
- "url": {
- "raw": "{{HOST}}/api/management/v3/contractdefinitions",
- "host": [
- "{{HOST}}"
- ],
- "path": [
- "api",
- "management",
- "v3",
- "contractdefinitions"
- ]
- }
- },
- "response": []
- },
- {
- "name": "Create \"require sensitive\" definition",
- "request": {
- "method": "POST",
- "header": [],
- "body": {
- "mode": "raw",
- "raw": "{\n \"@context\": [\n \"https://w3id.org/edc/connector/management/v0.0.1\"\n ],\n \"@id\": \"sensitive-only-def\",\n \"@type\": \"ContractDefinition\",\n \"accessPolicyId\": \"require-membership\",\n \"contractPolicyId\": \"require-sensitive\",\n \"assetsSelector\": {\n \"@type\": \"Criterion\",\n \"operandLeft\": \"https://w3id.org/edc/v0.0.1/ns/id\",\n \"operator\": \"=\",\n \"operandRight\": \"asset-2\"\n }\n}"
- },
- "url": {
- "raw": "{{HOST}}/api/management/v3/contractdefinitions",
- "host": [
- "{{HOST}}"
- ],
- "path": [
- "api",
- "management",
- "v3",
- "contractdefinitions"
- ]
- }
- },
- "response": []
- }
- ],
- "event": [
- {
- "listen": "prerequest",
- "script": {
- "type": "text/javascript",
- "exec": [
- ""
- ]
- }
- },
- {
- "listen": "test",
- "script": {
- "type": "text/javascript",
- "exec": [
- "pm.test(\"Status is OK or conflict\", function() {",
- " pm.expect(pm.response.code).to.be.oneOf([200, 204, 409])",
- "})"
- ]
- }
- }
- ]
- },
- {
- "name": "Seed Catalog Server",
- "item": [
- {
- "name": "Create linked Asset for provider-qna",
- "request": {
- "method": "POST",
- "header": [],
- "body": {
- "mode": "raw",
- "raw": "{\n \"@context\": [\n \"https://w3id.org/edc/connector/management/v0.0.1\"\n ],\n \"@id\": \"linked-asset-provider-qna\",\n \"@type\": \"CatalogAsset\",\n \"properties\": {\n \"description\": \"This is a linked asset that points to the catalog of the provider's Q&A department.\",\n \"isCatalog\": \"true\"\n },\n \"dataAddress\": {\n \"@type\": \"DataAddress\",\n \"type\": \"HttpData\",\n \"baseUrl\": \"{{PROVIDER_QNA_DSP_URL}}/api/dsp\"\n }\n}",
- "options": {
- "raw": {
- "language": "json"
- }
- }
- },
- "url": {
- "raw": "{{HOST}}/api/management/v3/assets",
- "host": [
- "{{HOST}}"
- ],
- "path": [
- "api",
- "management",
- "v3",
- "assets"
- ]
- }
- },
- "response": []
- },
- {
- "name": "Create linked Asset for provider-manufacturing",
- "request": {
- "method": "POST",
- "header": [],
- "body": {
- "mode": "raw",
- "raw": "{\n \"@context\": [\n \"https://w3id.org/edc/connector/management/v0.0.1\"\n ],\n \"@id\": \"linked-asset-provider-manufacturing\",\n \"@type\": \"CatalogAsset\",\n \"properties\": {\n \"description\": \"This is a linked asset that points to the catalog of the provider's Manufacturing department.\",\n \"isCatalog\": \"true\"\n },\n \"dataAddress\": {\n \"@type\": \"DataAddress\",\n \"type\": \"HttpData\",\n \"baseUrl\": \"{{PROVIDER_MF_DSP_URL}}/api/dsp\"\n }\n}",
- "options": {
- "raw": {
- "language": "json"
- }
- }
- },
- "url": {
- "raw": "{{HOST}}/api/management/v3/assets",
- "host": [
- "{{HOST}}"
- ],
- "path": [
- "api",
- "management",
- "v3",
- "assets"
- ]
- }
- },
- "response": []
- },
- {
- "name": "Create normal asset for CatalogServer",
- "request": {
- "method": "POST",
- "header": [],
- "body": {
- "mode": "raw",
- "raw": "{\n \"@context\": [\n \"https://w3id.org/edc/connector/management/v0.0.1\"\n ],\n \"@id\": \"normal-asset-1\",\n \"@type\": \"Asset\",\n \"properties\": {\n \"description\": \"This is a conventional asset, not a CatalogAsset.\"\n },\n \"dataAddress\": {\n \"@type\": \"DataAddress\",\n \"type\": \"HttpData\",\n \"baseUrl\": \"https://jsonplaceholder.typicode.com/todos\",\n \"proxyPath\": \"true\",\n \"proxyQueryParams\": \"true\"\n }\n}"
- },
- "url": {
- "raw": "{{HOST}}/api/management/v3/assets",
- "host": [
- "{{HOST}}"
- ],
- "path": [
- "api",
- "management",
- "v3",
- "assets"
- ]
- }
- },
- "response": []
- },
- {
- "name": "Create Membership Policy",
- "request": {
- "method": "POST",
- "header": [],
- "body": {
- "mode": "raw",
- "raw": "{\n \"@context\": [\n \"https://w3id.org/edc/connector/management/v0.0.1\"\n ],\n \"@type\": \"PolicyDefinition\",\n \"@id\": \"require-membership\",\n \"policy\": {\n \"@type\": \"Set\",\n \"permission\": [\n {\n \"action\": \"use\",\n \"constraint\": {\n \"leftOperand\": \"MembershipCredential\",\n \"operator\": \"eq\",\n \"rightOperand\": \"active\"\n }\n }\n ]\n }\n}"
- },
- "url": {
- "raw": "{{HOST}}/api/management/v3/policydefinitions",
- "host": [
- "{{HOST}}"
- ],
- "path": [
- "api",
- "management",
- "v3",
- "policydefinitions"
- ]
- }
- },
- "response": []
- },
- {
- "name": "Create \"require membership\" definition",
- "request": {
- "method": "POST",
- "header": [],
- "body": {
- "mode": "raw",
- "raw": "{\n \"@context\": [\n \"https://w3id.org/edc/connector/management/v0.0.1\"\n ],\n \"@id\": \"membership-required-def\",\n \"@type\": \"ContractDefinition\",\n \"accessPolicyId\": \"require-membership\",\n \"contractPolicyId\": \"require-membership\",\n \"assetsSelector\": {\n \"@type\": \"Criterion\",\n \"operandLeft\": \"https://w3id.org/edc/v0.0.1/ns/id\",\n \"operator\": \"in\",\n \"operandRight\": [\n \"linked-asset-provider-qna\",\n \"linked-asset-provider-manufacturing\",\n \"normal-asset-1\"\n ]\n }\n}"
- },
- "url": {
- "raw": "{{HOST}}/api/management/v3/contractdefinitions",
- "host": [
- "{{HOST}}"
- ],
- "path": [
- "api",
- "management",
- "v3",
- "contractdefinitions"
- ]
- }
- },
- "response": []
- }
- ],
- "event": [
- {
- "listen": "prerequest",
- "script": {
- "type": "text/javascript",
- "exec": [
- ""
- ]
- }
- },
- {
- "listen": "test",
- "script": {
- "type": "text/javascript",
- "exec": [
- "pm.test(\"Status is OK or conflict\", function() {",
- " pm.expect(pm.response.code).to.be.oneOf([200, 204, 409])",
- "})"
- ]
- }
- }
- ]
- },
- {
- "name": "ControlPlane Management",
- "item": [
- {
- "name": "Get Assets",
- "event": [
- {
- "listen": "test",
- "script": {
- "exec": [
- "pm.test(\"Status code is >=200 and <300\", function () {",
- " pm.expect(pm.response.code < 300 && pm.response.code >= 200).to.be.true",
- "});"
- ],
- "type": "text/javascript",
- "packages": {}
- }
- }
- ],
- "request": {
- "method": "POST",
- "header": [],
- "body": {
- "mode": "raw",
- "raw": "{\n \"@context\": {\n \"@vocab\": \"https://w3id.org/edc/v0.0.1/ns/\"\n },\n \"@type\": \"QuerySpec\"\n}"
- },
- "url": {
- "raw": "{{HOST}}/api/management/v3/assets/request",
- "host": [
- "{{HOST}}"
- ],
- "path": [
- "api",
- "management",
- "v3",
- "assets",
- "request"
- ]
- }
- },
- "response": []
- },
- {
- "name": "Request Catalog",
- "event": [
- {
- "listen": "test",
- "script": {
- "exec": [
- "pm.test(\"Status code is >=200 and <300\", function () {",
- " pm.expect(pm.response.code < 300 && pm.response.code >= 200).to.be.true",
- "});"
- ],
- "type": "text/javascript",
- "packages": {}
- }
- }
- ],
- "request": {
- "method": "POST",
- "header": [],
- "body": {
- "mode": "raw",
- "raw": "{\n \"@context\": [\n \"https://w3id.org/edc/connector/management/v0.0.1\"\n ],\n \"@type\": \"CatalogRequest\",\n \"counterPartyAddress\": \"{{CATALOG_SERVER_DSP_URL}}/api/dsp\",\n \"counterPartyId\": \"{{PROVIDER_ID}}\",\n \"protocol\": \"dataspace-protocol-http\",\n \"querySpec\": {\n \"offset\": 0,\n \"limit\": 50\n }\n}"
- },
- "url": {
- "raw": "{{HOST}}/api/management/v3/catalog/request",
- "host": [
- "{{HOST}}"
- ],
- "path": [
- "api",
- "management",
- "v3",
- "catalog",
- "request"
- ]
- }
- },
- "response": []
- },
- {
- "name": "Get Cached Catalogs",
- "event": [
- {
- "listen": "test",
- "script": {
- "exec": [
- "// get the policy id of \"asset-1\" and save it as an environment variable",
- "if(pm.response.code < 300 && pm.response.code >= 200){",
- " if(pm.response.json().length > 0){",
- " const dcat_datasets = pm.response.json()[0][\"dcat:catalog\"][1][\"dcat:dataset\"]",
- " const asset_1 = dcat_datasets.find((asset) => asset[\"@id\"] == \"asset-1\")",
- " pm.environment.set(\"POLICY_ID_ASSET_1\", asset_1[\"odrl:hasPolicy\"][\"@id\"]);",
- " }",
- "}",
- "",
- "pm.test(\"Status code is >=200 and <300\", function () {",
- " pm.expect(pm.response.code < 300 && pm.response.code >= 200).to.be.true",
- "});",
- "pm.test(\"Policy id for asset 1 is set\", function(){",
- " pm.expect(pm.environment.get(\"POLICY_ID_ASSET_1\")).not.to.be.undefined",
- "})"
- ],
- "type": "text/javascript",
- "packages": {}
- }
- },
- {
- "listen": "prerequest",
- "script": {
- "exec": [
- ""
- ],
- "type": "text/javascript",
- "packages": {}
- }
- }
- ],
- "request": {
- "method": "POST",
- "header": [],
- "body": {
- "mode": "raw",
- "raw": "{\n \"@context\": [\n \"https://w3id.org/edc/connector/management/v0.0.1\"\n ],\n \"@type\": \"QuerySpec\"\n}",
- "options": {
- "raw": {
- "language": "json"
- }
- }
- },
- "url": {
- "raw": "{{CONSUMER_CATALOG_QUERY_URL}}/api/catalog/v1alpha/catalog/query",
- "host": [
- "{{CONSUMER_CATALOG_QUERY_URL}}"
- ],
- "path": [
- "api",
- "catalog",
- "v1alpha",
- "catalog",
- "query"
- ]
- }
- },
- "response": []
- },
- {
- "name": "Initiate negotiation",
- "event": [
- {
- "listen": "prerequest",
- "script": {
- "exec": [
- "if(!pm.environment.has(\"POLICY_ID_ASSET_1\")){",
- " throw new Error('Policy-ID of Asset-1 is not yet available, please execute request \"Get Cached Catalog\" first!');",
- "}"
- ],
- "type": "text/javascript",
- "packages": {}
- }
- },
- {
- "listen": "test",
- "script": {
- "exec": [
- "pm.environment.set(\"CONTRACT_NEGOTIATION_ID\", pm.response.json()[\"@id\"])",
- "",
- "pm.test(\"Status code is >=200 and <300\", function () {",
- " pm.expect(pm.response.code < 300 && pm.response.code >= 200).to.be.true",
- "});",
- "pm.test(\"Contract negotiation id is set\", function(){",
- " pm.expect(pm.environment.get(\"CONTRACT_NEGOTIATION_ID\")).not.to.be.undefined",
- "})"
- ],
- "type": "text/javascript",
- "packages": {}
- }
- }
- ],
- "request": {
- "method": "POST",
- "header": [],
- "body": {
- "mode": "raw",
- "raw": "{\n \"@context\": [\n \"https://w3id.org/edc/connector/management/v0.0.1\"\n ],\n \"@type\": \"ContractRequest\",\n \"counterPartyAddress\": \"{{PROVIDER_DSP_URL}}/api/dsp\",\n \"counterPartyId\": \"{{PROVIDER_ID}}\",\n \"protocol\": \"dataspace-protocol-http\",\n \"policy\": {\n \"@type\": \"Offer\",\n \"@id\": \"{{POLICY_ID_ASSET_1}}\",\n \"assigner\": \"{{PROVIDER_ID}}\",\n \"permission\": [],\n \"prohibition\": [],\n \"obligation\": {\n \"action\": \"use\",\n \"constraint\": {\n \"leftOperand\": \"DataAccess.level\",\n \"operator\": \"eq\",\n \"rightOperand\": \"processing\"\n }\n },\n \"target\": \"asset-1\"\n },\n \"callbackAddresses\": []\n}",
- "options": {
- "raw": {
- "language": "json"
- }
- }
- },
- "url": {
- "raw": "{{HOST}}/api/management/v3/contractnegotiations",
- "host": [
- "{{HOST}}"
- ],
- "path": [
- "api",
- "management",
- "v3",
- "contractnegotiations"
- ]
- }
- },
- "response": []
- },
- {
- "name": "Get Contract Negotiations",
- "event": [
- {
- "listen": "test",
- "script": {
- "exec": [
- "// get the contact agreement id and save it as an environment variable",
- "if(pm.response.code < 300 && pm.response.code >= 200 && pm.response.json().length > 0){",
- " var find_negotiation;",
- " if (pm.environment.has(\"CONTRACT_NEGOTIATION_ID\")){",
- " find_negotiation = pm.response.json().find((el) => el[\"@id\"] == pm.environment.get(\"CONTRACT_NEGOTIATION_ID\"))",
- " }",
- "",
- " if(find_negotiation){",
- " const contractAgreementId = find_negotiation[\"contractAgreementId\"];",
- " pm.environment.set(\"CONTRACT_AGREEMENT_ID\", contractAgreementId);",
- " }",
- "}",
- "",
- "pm.test(\"Status code is >=200 and <300\", function () {",
- " pm.expect(pm.response.code < 300 && pm.response.code >= 200).to.be.true",
- "});",
- "pm.test(\"Contract Agreement ID is set\", function(){",
- " pm.expect(pm.environment.get(\"CONTRACT_AGREEMENT_ID\")).not.to.be.undefined",
- "})",
- ""
- ],
- "type": "text/javascript",
- "packages": {}
- }
- }
- ],
- "request": {
- "method": "POST",
- "header": [],
- "body": {
- "mode": "raw",
- "raw": "{\n \"@context\": [\n \"https://w3id.org/edc/connector/management/v0.0.1\"\n ],\n \"@type\": \"QuerySpec\"\n}"
- },
- "url": {
- "raw": "{{HOST}}/api/management/v3/contractnegotiations/request",
- "host": [
- "{{HOST}}"
- ],
- "path": [
- "api",
- "management",
- "v3",
- "contractnegotiations",
- "request"
- ]
- }
- },
- "response": []
- },
- {
- "name": "Initiate Transfer",
- "event": [
- {
- "listen": "prerequest",
- "script": {
- "exec": [
- "if(!pm.environment.has(\"CONTRACT_AGREEMENT_ID\")){",
- " throw new Error('Contract Agreement ID is not yet available, please execute requests \"Initiate Negotiation and Get Contract Negotiation\" first!');",
- "}"
- ],
- "type": "text/javascript",
- "packages": {}
- }
- },
- {
- "listen": "test",
- "script": {
- "exec": [
- "pm.test(\"Status code is >=200 and <300\", function () {",
- " pm.expect(pm.response.code < 300 && pm.response.code >= 200).to.be.true",
- "});",
- ""
- ],
- "type": "text/javascript",
- "packages": {}
- }
- }
- ],
- "request": {
- "method": "POST",
- "header": [],
- "body": {
- "mode": "raw",
- "raw": "{\n \"@context\": [\n \"https://w3id.org/edc/connector/management/v0.0.1\"\n ],\n \"assetId\": \"asset-1\",\n \"counterPartyAddress\": \"{{PROVIDER_DSP_URL}}/api/dsp\",\n \"connectorId\": \"{{PROVIDER_ID}}\",\n \"contractId\": \"{{CONTRACT_AGREEMENT_ID}}\",\n \"dataDestination\": {\n \"type\": \"HttpProxy\"\n },\n \"protocol\": \"dataspace-protocol-http\",\n \"transferType\": \"HttpData-PULL\"\n}",
- "options": {
- "raw": {
- "language": "json"
- }
- }
- },
- "url": {
- "raw": "{{HOST}}/api/management/v3/transferprocesses",
- "host": [
- "{{HOST}}"
- ],
- "path": [
- "api",
- "management",
- "v3",
- "transferprocesses"
- ]
- }
- },
- "response": []
- },
- {
- "name": "Get transfer processes",
- "event": [
- {
- "listen": "test",
- "script": {
- "exec": [
- "pm.test(\"Status code is >=200 and <300\", function () {",
- " pm.expect(pm.response.code < 300 && pm.response.code >= 200).to.be.true",
- "});",
- ""
- ],
- "type": "text/javascript",
- "packages": {}
- }
- }
- ],
- "request": {
- "method": "POST",
- "header": [],
- "body": {
- "mode": "raw",
- "raw": "{\n \"@context\": [\n \"https://w3id.org/edc/connector/management/v0.0.1\"\n ],\n \"@type\": \"QuerySpec\"\n}",
- "options": {
- "raw": {
- "language": "json"
- }
- }
- },
- "url": {
- "raw": "{{HOST}}/api/management/v3/transferprocesses/request",
- "host": [
- "{{HOST}}"
- ],
- "path": [
- "api",
- "management",
- "v3",
- "transferprocesses",
- "request"
- ]
- }
- },
- "response": []
- },
- {
- "name": "Get cached EDRs",
- "event": [
- {
- "listen": "test",
- "script": {
- "exec": [
- "// get the transfer process id of \"asset-1\" and save it as an environment variable if the response body is not empty",
- "if(pm.response.code < 300 && pm.response.code >= 200 && pm.response.json().length > 0){",
- " const transferProcessId = pm.response.json()[0][\"transferProcessId\"];",
- " pm.environment.set(\"TRANSFER_PROCESS_ID\", transferProcessId);",
- "}",
- "",
- "pm.test(\"Status code is >=200 and <300\", function () {",
- " pm.expect(pm.response.code < 300 && pm.response.code >= 200).to.be.true",
- "});",
- "pm.test(\"Transfer process id is set\", function(){",
- " pm.expect(pm.environment.get(\"TRANSFER_PROCESS_ID\")).not.to.be.undefined",
- "})",
- ""
- ],
- "type": "text/javascript",
- "packages": {}
- }
- }
- ],
- "request": {
- "method": "POST",
- "header": [],
- "body": {
- "mode": "raw",
- "raw": "{\n \"@context\": [\n \"https://w3id.org/edc/connector/management/v0.0.1\"\n ],\n \"@type\": \"QuerySpec\"\n}"
- },
- "url": {
- "raw": "{{HOST}}/api/management/v3/edrs/request",
- "host": [
- "{{HOST}}"
- ],
- "path": [
- "api",
- "management",
- "v3",
- "edrs",
- "request"
- ]
- }
- },
- "response": []
- },
- {
- "name": "Get EDR DataAddress for TransferId",
- "event": [
- {
- "listen": "prerequest",
- "script": {
- "exec": [
- "if(!pm.environment.has(\"TRANSFER_PROCESS_ID\")){",
- " throw new Error('Transfer Process ID is not yet available, please execute request \"Get Transfer Processes\" first!');",
- "}"
- ],
- "type": "text/javascript",
- "packages": {}
- }
- },
- {
- "listen": "test",
- "script": {
- "exec": [
- "pm.test(\"Status code is >=200 and <300\", function () {",
- " pm.expect(pm.response.code < 300 && pm.response.code >= 200).to.be.true",
- "});"
- ],
- "type": "text/javascript",
- "packages": {}
- }
- },
- {
- "listen": "test",
- "script": {
- "exec": [
- "// get the authorization token and save it as an environment variable",
- "if(pm.response.code < 300 && pm.response.code >= 200){",
- " //using the first authorization token found",
- " const authorization = pm.response.json()[\"authorization\"];",
- " pm.environment.set(\"AUTHORIZATION\", authorization);",
- "}",
- "",
- ""
- ],
- "type": "text/javascript",
- "packages": {}
- }
- }
- ],
- "request": {
- "method": "GET",
- "header": [],
- "url": {
- "raw": "{{HOST}}/api/management/v3/edrs/{{TRANSFER_PROCESS_ID}}/dataaddress",
- "host": [
- "{{HOST}}"
- ],
- "path": [
- "api",
- "management",
- "v3",
- "edrs",
- "{{TRANSFER_PROCESS_ID}}",
- "dataaddress"
- ]
- }
- },
- "response": []
- },
- {
- "name": "Download Data from Public API",
- "event": [
- {
- "listen": "prerequest",
- "script": {
- "exec": [
- "if(!pm.environment.has(\"AUTHORIZATION\")){",
- " throw new Error(' The authorization token is not yet available, please execute request \"Get EDR DataAddress for TransferId\" first!');",
- "}"
- ],
- "type": "text/javascript",
- "packages": {}
- }
- },
- {
- "listen": "test",
- "script": {
- "exec": [
- "pm.test(\"Status code is >=200 and <300\", function () {",
- " pm.expect(pm.response.code < 300 && pm.response.code >= 200).to.be.true",
- "});"
- ],
- "type": "text/javascript",
- "packages": {}
- }
- }
- ],
- "request": {
- "auth": {
- "type": "noauth"
- },
- "method": "GET",
- "header": [
- {
- "key": "Authorization",
- "value": "{{AUTHORIZATION}}",
- "type": "text"
- }
- ],
- "url": {
- "raw": "{{PROVIDER_PUBLIC_API}}/api/public",
- "host": [
- "{{PROVIDER_PUBLIC_API}}"
- ],
- "path": [
- "api",
- "public"
- ]
- }
- },
- "response": []
- }
- ]
- },
- {
- "name": "IdentityHub",
- "item": [
- {
- "name": "Participant Context Mgmt API",
- "item": [
- {
- "name": "Get Participant By ID",
- "event": [
- {
- "listen": "test",
- "script": {
- "exec": [
- ""
- ],
- "type": "text/javascript",
- "packages": {}
- }
- },
- {
- "listen": "prerequest",
- "script": {
- "exec": [
- ""
- ],
- "type": "text/javascript",
- "packages": {}
- }
- }
- ],
- "request": {
- "method": "GET",
- "header": [],
- "url": {
- "raw": "{{CS_URL}}/api/identity/v1alpha/participants/{{PARTICIPANT_ID}}",
- "host": [
- "{{CS_URL}}"
- ],
- "path": [
- "api",
- "identity",
- "v1alpha",
- "participants",
- "{{PARTICIPANT_ID}}"
- ]
- }
- },
- "response": []
- },
- {
- "name": "Get all participants",
- "event": [
- {
- "listen": "test",
- "script": {
- "exec": [
- ""
- ],
- "type": "text/javascript",
- "packages": {}
- }
- },
- {
- "listen": "prerequest",
- "script": {
- "exec": [
- ""
- ],
- "type": "text/javascript",
- "packages": {}
- }
- }
- ],
- "request": {
- "method": "GET",
- "header": [],
- "url": {
- "raw": "{{CS_URL}}/api/identity/v1alpha/participants",
- "host": [
- "{{CS_URL}}"
- ],
- "path": [
- "api",
- "identity",
- "v1alpha",
- "participants"
- ]
- }
- },
- "response": []
- },
- {
- "name": "Create Participant",
- "event": [
- {
- "listen": "test",
- "script": {
- "exec": [
- ""
- ],
- "type": "text/javascript",
- "packages": {}
- }
- },
- {
- "listen": "prerequest",
- "script": {
- "exec": [
- ""
- ],
- "type": "text/javascript",
- "packages": {}
- }
- }
- ],
- "request": {
- "method": "POST",
- "header": [],
- "body": {
- "mode": "raw",
- "raw": "{\n \"roles\":[],\n \"serviceEndpoints\":[],\n \"active\": true,\n \"participantId\": \"{{NEW_PARTICIPANT_ID}}\",\n \"did\": \"{{NEW_PARTICIPANT_ID}}\",\n \"key\":{\n \"keyId\": \"key-1\",\n \"privateKeyAlias\": \"{{NEW_PARTICIPANT_ID}}-alias\",\n \"keyGeneratorParams\":{\n \"algorithm\": \"EdDSA\",\n \"curve\": \"Ed25519\"\n }\n }\n}",
- "options": {
- "raw": {
- "language": "json"
- }
- }
- },
- "url": {
- "raw": "{{CS_URL}}/api/identity/v1alpha/participants/",
- "host": [
- "{{CS_URL}}"
- ],
- "path": [
- "api",
- "identity",
- "v1alpha",
- "participants",
- ""
- ]
- }
- },
- "response": []
- },
- {
- "name": "Create Participant (existing key)",
- "event": [
- {
- "listen": "test",
- "script": {
- "exec": [
- ""
- ],
- "type": "text/javascript",
- "packages": {}
- }
- },
- {
- "listen": "prerequest",
- "script": {
- "exec": [
- ""
- ],
- "type": "text/javascript",
- "packages": {}
- }
- }
- ],
- "request": {
- "method": "POST",
- "header": [],
- "body": {
- "mode": "raw",
- "raw": "{\n \"roles\":[],\n \"serviceEndpoints\":[],\n \"active\": true,\n \"participantId\": \"{{NEW_PARTICIPANT_ID}}\",\n \"did\": \"{{NEW_PARTICIPANT_ID}}\",\n \"key\":{\n \"keyId\": \"key-1\",\n \"privateKeyAlias\": \"{{NEW_PARTICIPANT_ID}}-alias\",\n \"publicKeyPem\":\"-----BEGIN PUBLIC KEY-----\\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE1l0Lof0a1yBc8KXhesAnoBvxZw5r\\noYnkAXuqCYfNK3ex+hMWFuiXGUxHlzShAehR6wvwzV23bbC0tcFcVgW//A==\\n-----END PUBLIC KEY-----\"\n }\n}",
- "options": {
- "raw": {
- "language": "json"
- }
- }
- },
- "url": {
- "raw": "{{CS_URL}}/api/identity/v1alpha/participants/",
- "host": [
- "{{CS_URL}}"
- ],
- "path": [
- "api",
- "identity",
- "v1alpha",
- "participants",
- ""
- ]
- }
- },
- "response": []
- },
- {
- "name": "Update Roles",
- "event": [
- {
- "listen": "test",
- "script": {
- "exec": [
- ""
- ],
- "type": "text/javascript",
- "packages": {}
- }
- },
- {
- "listen": "prerequest",
- "script": {
- "exec": [
- ""
- ],
- "type": "text/javascript",
- "packages": {}
- }
- }
- ],
- "request": {
- "method": "PUT",
- "header": [],
- "body": {
- "mode": "raw",
- "raw": "[\n \"role1\", \"role2\", \"admin\"\n]",
- "options": {
- "raw": {
- "language": "json"
- }
- }
- },
- "url": {
- "raw": "{{CS_URL}}/api/identity/v1alpha/participants/{{PARTICIPANT_ID}}/roles",
- "host": [
- "{{CS_URL}}"
- ],
- "path": [
- "api",
- "identity",
- "v1alpha",
- "participants",
- "{{PARTICIPANT_ID}}",
- "roles"
- ]
- }
- },
- "response": []
- },
- {
- "name": "Regenerate Token",
- "protocolProfileBehavior": {
- "disableBodyPruning": true
- },
- "request": {
- "method": "GET",
- "header": [
- {
- "key": "Content-Type",
- "value": "application/json"
- },
- {
- "key": "Accept",
- "value": "application/json"
- }
- ],
- "body": {
- "mode": "raw",
- "raw": "{\n \"filterExpression\": [\n {\n \"operandLeft\": {},\n \"operandRight\": {},\n \"operator\": \"\"\n },\n {\n \"operandLeft\": {},\n \"operandRight\": {},\n \"operator\": \"\"\n }\n ],\n \"limit\": \"\",\n \"offset\": \"\",\n \"sortField\": \"\",\n \"sortOrder\": \"DESC\"\n}",
- "options": {
- "raw": {
- "headerFamily": "json",
- "language": "json"
- }
- }
- },
- "url": {
- "raw": "{{baseUrl}}/api/admin/v1alpha/attestations?participantId=",
- "host": [
- "{{baseUrl}}"
- ],
- "path": [
- "api",
- "admin",
- "v1alpha",
- "attestations"
- ],
- "query": [
- {
- "key": "participantId",
- "value": ""
- }
- ]
- }
- },
- "response": []
- },
- {
- "name": "Activate Participant",
- "event": [
- {
- "listen": "test",
- "script": {
- "exec": [
- ""
- ],
- "type": "text/javascript",
- "packages": {}
- }
- },
- {
- "listen": "prerequest",
- "script": {
- "exec": [
- ""
- ],
- "type": "text/javascript",
- "packages": {}
- }
- }
- ],
- "request": {
- "method": "POST",
- "header": [],
- "body": {
- "mode": "raw",
- "raw": "{\n \"roles\":[],\n \"serviceEndpoints\":[],\n \"isActive\": true,\n \"participantId\": \"foobar\",\n \"did\": \"did:web:foobar\",\n \"key\":{\n \"keyId\": \"key1\",\n \"privateKeyAlias\": \"foobar-alias\",\n \"keyGeneratorParams\":{\n \"algorithm\": \"EC\",\n \"curve\": \"secp256r1\"\n }\n }\n}",
- "options": {
- "raw": {
- "language": "json"
- }
- }
- },
- "url": {
- "raw": "{{CS_URL}}/api/identity/v1alpha/participants/{{PARTICIPANT_ID}}/state?isActive=true",
- "host": [
- "{{CS_URL}}"
- ],
- "path": [
- "api",
- "identity",
- "v1alpha",
- "participants",
- "{{PARTICIPANT_ID}}",
- "state"
- ],
- "query": [
- {
- "key": "isActive",
- "value": "true"
- }
- ]
- }
- },
- "response": []
- },
- {
- "name": "Deactivate Participant",
- "event": [
- {
- "listen": "test",
- "script": {
- "exec": [
- ""
- ],
- "type": "text/javascript",
- "packages": {}
- }
- },
- {
- "listen": "prerequest",
- "script": {
- "exec": [
- ""
- ],
- "type": "text/javascript",
- "packages": {}
- }
- }
- ],
- "request": {
- "method": "POST",
- "header": [],
- "body": {
- "mode": "raw",
- "raw": "{\n \"roles\":[],\n \"serviceEndpoints\":[],\n \"isActive\": true,\n \"participantId\": \"foobar\",\n \"did\": \"did:web:foobar\",\n \"key\":{\n \"keyId\": \"key1\",\n \"privateKeyAlias\": \"foobar-alias\",\n \"keyGeneratorParams\":{\n \"algorithm\": \"EC\",\n \"curve\": \"secp256r1\"\n }\n }\n}",
- "options": {
- "raw": {
- "language": "json"
- }
- }
- },
- "url": {
- "raw": "{{CS_URL}}/api/identity/v1alpha/participants/{{PARTICIPANT_ID}}/state?isActive=false",
- "host": [
- "{{CS_URL}}"
- ],
- "path": [
- "api",
- "identity",
- "v1alpha",
- "participants",
- "{{PARTICIPANT_ID}}",
- "state"
- ],
- "query": [
- {
- "key": "isActive",
- "value": "false"
- }
- ]
- }
- },
- "response": []
- },
- {
- "name": "Delete Participant",
- "event": [
- {
- "listen": "test",
- "script": {
- "exec": [
- ""
- ],
- "type": "text/javascript",
- "packages": {}
- }
- },
- {
- "listen": "prerequest",
- "script": {
- "exec": [
- ""
- ],
- "type": "text/javascript",
- "packages": {}
- }
- }
- ],
- "request": {
- "method": "DELETE",
- "header": [],
- "body": {
- "mode": "raw",
- "raw": "{\n \"roles\":[],\n \"serviceEndpoints\":[],\n \"isActive\": true,\n \"participantId\": \"foobar\",\n \"did\": \"did:web:foobar\",\n \"key\":{\n \"keyId\": \"key1\",\n \"privateKeyAlias\": \"foobar-alias\",\n \"keyGeneratorParams\":{\n \"algorithm\": \"EC\",\n \"curve\": \"secp256r1\"\n }\n }\n}",
- "options": {
- "raw": {
- "language": "json"
- }
- }
- },
- "url": {
- "raw": "{{CS_URL}}/api/identity/v1alpha/participants/{{PARTICIPANT_ID}}",
- "host": [
- "{{CS_URL}}"
- ],
- "path": [
- "api",
- "identity",
- "v1alpha",
- "participants",
- "{{PARTICIPANT_ID}}"
- ]
- }
- },
- "response": []
- }
- ]
- },
- {
- "name": "KeyPair Resources Mgmt API",
- "item": [
- {
- "name": "Get KeyPair for Participant",
- "event": [
- {
- "listen": "test",
- "script": {
- "exec": [
- ""
- ],
- "type": "text/javascript",
- "packages": {}
- }
- },
- {
- "listen": "prerequest",
- "script": {
- "exec": [
- ""
- ],
- "type": "text/javascript",
- "packages": {}
- }
- }
- ],
- "request": {
- "method": "GET",
- "header": [],
- "url": {
- "raw": "{{CS_URL}}/api/identity/v1alpha/participants/BPN0000001/keypairs",
- "host": [
- "{{CS_URL}}"
- ],
- "path": [
- "api",
- "identity",
- "v1alpha",
- "participants",
- "BPN0000001",
- "keypairs"
- ]
- }
- },
- "response": []
- },
- {
- "name": "Get all KeyPairs",
- "request": {
- "method": "GET",
- "header": [],
- "url": {
- "raw": "{{CS_URL}}/api/identity/v1alpha/keypairs",
- "host": [
- "{{CS_URL}}"
- ],
- "path": [
- "api",
- "identity",
- "v1alpha",
- "keypairs"
- ]
- }
- },
- "response": []
- },
- {
- "name": "Add KeyPair",
- "event": [
- {
- "listen": "test",
- "script": {
- "exec": [
- "pm.test(\"Status is OK or conflict\", function() {",
- " pm.expect(pm.response.code).to.be.oneOf([200, 204, 409])",
- "})"
- ],
- "type": "text/javascript",
- "packages": {}
- }
- },
- {
- "listen": "prerequest",
- "script": {
- "exec": [
- ""
- ],
- "type": "text/javascript",
- "packages": {}
- }
- }
- ],
- "request": {
- "method": "PUT",
- "header": [],
- "body": {
- "mode": "raw",
- "raw": "{\n \"keyId\": \"key6\",\n \"privateKeyAlias\": \"new-foobar-alias5\",\n \"keyGeneratorParams\": {\n \"algorithm\": \"EdDSA\",\n \"curve\": \"Ed25519\"\n }\n}",
- "options": {
- "raw": {
- "language": "json"
- }
- }
- },
- "url": {
- "raw": "{{CS_URL}}/api/identity/v1alpha/participants/{{PARTICIPANT_ID}}/keypairs",
- "host": [
- "{{CS_URL}}"
- ],
- "path": [
- "api",
- "identity",
- "v1alpha",
- "participants",
- "{{PARTICIPANT_ID}}",
- "keypairs"
- ]
- }
- },
- "response": []
- },
- {
- "name": "Rotate key",
- "event": [
- {
- "listen": "test",
- "script": {
- "exec": [
- ""
- ],
- "type": "text/javascript",
- "packages": {}
- }
- },
- {
- "listen": "prerequest",
- "script": {
- "exec": [
- ""
- ],
- "type": "text/javascript",
- "packages": {}
- }
- }
- ],
- "request": {
- "method": "POST",
- "header": [],
- "body": {
- "mode": "raw",
- "raw": "{\n \"keyId\": \"key2\",\n \"privateKeyAlias\": \"new-foobar-alias\",\n \"keyGeneratorParams\": {\n \"algorithm\": \"EC\",\n \"curve\": \"secp256r1\"\n }\n}",
- "options": {
- "raw": {
- "language": "json"
- }
- }
- },
- "url": {
- "raw": "{{CS_URL}}/api/identity/v1alpha/participants/{{PARTICIPANT_ID}}/keypairs/key1/rotate",
- "host": [
- "{{CS_URL}}"
- ],
- "path": [
- "api",
- "identity",
- "v1alpha",
- "participants",
- "{{PARTICIPANT_ID}}",
- "keypairs",
- "key1",
- "rotate"
- ]
- }
- },
- "response": []
- },
- {
- "name": "Revoke key",
- "event": [
- {
- "listen": "test",
- "script": {
- "exec": [
- ""
- ],
- "type": "text/javascript",
- "packages": {}
- }
- },
- {
- "listen": "prerequest",
- "script": {
- "exec": [
- ""
- ],
- "type": "text/javascript",
- "packages": {}
- }
- }
- ],
- "request": {
- "method": "POST",
- "header": [],
- "body": {
- "mode": "raw",
- "raw": "",
- "options": {
- "raw": {
- "language": "json"
- }
- }
- },
- "url": {
- "raw": "{{CS_URL}}/api/identity/v1alpha/participants/{{PARTICIPANT_ID}}/keypairs/key2/revoke",
- "host": [
- "{{CS_URL}}"
- ],
- "path": [
- "api",
- "identity",
- "v1alpha",
- "participants",
- "{{PARTICIPANT_ID}}",
- "keypairs",
- "key2",
- "revoke"
- ]
- }
- },
- "response": []
- }
- ],
- "event": [
- {
- "listen": "prerequest",
- "script": {
- "type": "text/javascript",
- "exec": [
- ""
- ]
- }
- },
- {
- "listen": "test",
- "script": {
- "type": "text/javascript",
- "exec": [
- ""
- ]
- }
- }
- ]
- },
- {
- "name": "DID Document Mgmt API",
- "item": [
- {
- "name": "Query DIDs",
- "event": [
- {
- "listen": "test",
- "script": {
- "exec": [
- ""
- ],
- "type": "text/javascript",
- "packages": {}
- }
- },
- {
- "listen": "prerequest",
- "script": {
- "exec": [
- ""
- ],
- "type": "text/javascript",
- "packages": {}
- }
- }
- ],
- "request": {
- "method": "POST",
- "header": [],
- "body": {
- "mode": "raw",
- "raw": "{\n \n}",
- "options": {
- "raw": {
- "language": "json"
- }
- }
- },
- "url": {
- "raw": "{{CS_URL}}/api/identity/v1alpha/participants/BPN0000001/dids/query",
- "host": [
- "{{CS_URL}}"
- ],
- "path": [
- "api",
- "identity",
- "v1alpha",
- "participants",
- "BPN0000001",
- "dids",
- "query"
- ]
- }
- },
- "response": []
- },
- {
- "name": "Get All DID Documents",
- "event": [
- {
- "listen": "test",
- "script": {
- "exec": [
- ""
- ],
- "type": "text/javascript",
- "packages": {}
- }
- },
- {
- "listen": "prerequest",
- "script": {
- "exec": [
- ""
- ],
- "type": "text/javascript",
- "packages": {}
- }
- }
- ],
- "protocolProfileBehavior": {
- "disableBodyPruning": true
- },
- "request": {
- "method": "GET",
- "header": [],
- "body": {
- "mode": "raw",
- "raw": "{\n \n}",
- "options": {
- "raw": {
- "language": "json"
- }
- }
- },
- "url": {
- "raw": "{{CS_URL}}/api/identity/v1alpha/dids",
- "host": [
- "{{CS_URL}}"
- ],
- "path": [
- "api",
- "identity",
- "v1alpha",
- "dids"
- ]
- }
- },
- "response": []
- },
- {
- "name": "Publish DID",
- "event": [
- {
- "listen": "test",
- "script": {
- "exec": [
- ""
- ],
- "type": "text/javascript",
- "packages": {}
- }
- },
- {
- "listen": "prerequest",
- "script": {
- "exec": [
- ""
- ],
- "type": "text/javascript",
- "packages": {}
- }
- }
- ],
- "request": {
- "method": "POST",
- "header": [],
- "body": {
- "mode": "raw",
- "raw": "{\n \"did\": \"did:web:BPN0000001\"\n}",
- "options": {
- "raw": {
- "language": "json"
- }
- }
- },
- "url": {
- "raw": "{{CS_URL}}/api/identity/v1alpha/participants/{{PARTICIPANT_ID}}/dids/publish",
- "host": [
- "{{CS_URL}}"
- ],
- "path": [
- "api",
- "identity",
- "v1alpha",
- "participants",
- "{{PARTICIPANT_ID}}",
- "dids",
- "publish"
- ]
- }
- },
- "response": []
- },
- {
- "name": "Add endpoint",
- "event": [
- {
- "listen": "test",
- "script": {
- "exec": [
- ""
- ],
- "type": "text/javascript",
- "packages": {}
- }
- },
- {
- "listen": "prerequest",
- "script": {
- "exec": [
- ""
- ],
- "type": "text/javascript",
- "packages": {}
- }
- }
- ],
- "request": {
- "method": "POST",
- "header": [],
- "body": {
- "mode": "raw",
- "raw": "{\n \"id\": \"some-other-id\",\n \"type\": \"CredentialService\",\n \"serviceEndpoint\": \"https://foobar.myconnector.com\"\n}",
- "options": {
- "raw": {
- "language": "json"
- }
- }
- },
- "url": {
- "raw": "{{CS_URL}}/api/identity/v1alpha/participants/{{PARTICIPANT_ID}}/dids/{{DID}}/endpoints",
- "host": [
- "{{CS_URL}}"
- ],
- "path": [
- "api",
- "identity",
- "v1alpha",
- "participants",
- "{{PARTICIPANT_ID}}",
- "dids",
- "{{DID}}",
- "endpoints"
- ]
- }
- },
- "response": []
- },
- {
- "name": "Un-Publish DID",
- "event": [
- {
- "listen": "test",
- "script": {
- "exec": [
- ""
- ],
- "type": "text/javascript",
- "packages": {}
- }
- },
- {
- "listen": "prerequest",
- "script": {
- "exec": [
- ""
- ],
- "type": "text/javascript",
- "packages": {}
- }
- }
- ],
- "request": {
- "method": "POST",
- "header": [],
- "body": {
- "mode": "raw",
- "raw": "{\n \"did\": \"did:web:consumer-identityhub%3A7083:connector1\"\n}",
- "options": {
- "raw": {
- "language": "json"
- }
- }
- },
- "url": {
- "raw": "{{CS_URL}}/api/identity/v1alpha/participants/{{PARTICIPANT_ID}}/dids/unpublish",
- "host": [
- "{{CS_URL}}"
- ],
- "path": [
- "api",
- "identity",
- "v1alpha",
- "participants",
- "{{PARTICIPANT_ID}}",
- "dids",
- "unpublish"
- ]
- }
- },
- "response": []
- },
- {
- "name": "Delete DID",
- "event": [
- {
- "listen": "test",
- "script": {
- "exec": [
- ""
- ],
- "type": "text/javascript",
- "packages": {}
- }
- },
- {
- "listen": "prerequest",
- "script": {
- "exec": [
- ""
- ],
- "type": "text/javascript",
- "packages": {}
- }
- }
- ],
- "request": {
- "method": "DELETE",
- "header": [],
- "body": {
- "mode": "raw",
- "raw": "{\n \"did\": \"did:web:consumer-identityhub%3A7083:connector1\"\n}",
- "options": {
- "raw": {
- "language": "json"
- }
- }
- },
- "url": {
- "raw": "{{CS_URL}}/api/identity/v1alpha/participants/{{PARTICIPANT_ID}}/dids",
- "host": [
- "{{CS_URL}}"
- ],
- "path": [
- "api",
- "identity",
- "v1alpha",
- "participants",
- "{{PARTICIPANT_ID}}",
- "dids"
- ]
- }
- },
- "response": []
- },
- {
- "name": "Get DID Document state",
- "event": [
- {
- "listen": "test",
- "script": {
- "exec": [
- ""
- ],
- "type": "text/javascript",
- "packages": {}
- }
- },
- {
- "listen": "prerequest",
- "script": {
- "exec": [
- ""
- ],
- "type": "text/javascript",
- "packages": {}
- }
- }
- ],
- "request": {
- "method": "POST",
- "header": [],
- "body": {
- "mode": "raw",
- "raw": "{\n \"did\": \"did:web:BPN0000001\"\n}",
- "options": {
- "raw": {
- "language": "json"
- }
- }
- },
- "url": {
- "raw": "{{CS_URL}}/api/identity/v1alpha/participants/{{PARTICIPANT_ID}}/dids/state",
- "host": [
- "{{CS_URL}}"
- ],
- "path": [
- "api",
- "identity",
- "v1alpha",
- "participants",
- "{{PARTICIPANT_ID}}",
- "dids",
- "state"
- ]
- }
- },
- "response": []
- }
- ],
- "event": [
- {
- "listen": "prerequest",
- "script": {
- "type": "text/javascript",
- "exec": [
- ""
- ]
- }
- },
- {
- "listen": "test",
- "script": {
- "type": "text/javascript",
- "exec": [
- "pm.test(\"Status is OK\", function() {",
- " pm.expect(pm.response.code).to.be.oneOf([200, 204])",
- "})"
- ]
- }
- }
- ]
- },
- {
- "name": "VerifiableCredential Mgmt API",
- "item": [
- {
- "name": "Get Credential By ID",
- "event": [
- {
- "listen": "test",
- "script": {
- "exec": [
- "pm.test(\"Status is OK\", function() {",
- " pm.expect(pm.response.code).to.be.oneOf([200, 204])",
- "})"
- ],
- "type": "text/javascript",
- "packages": {}
- }
- },
- {
- "listen": "prerequest",
- "script": {
- "exec": [
- ""
- ],
- "type": "text/javascript",
- "packages": {}
- }
- }
- ],
- "request": {
- "method": "GET",
- "header": [],
- "url": {
- "raw": "{{CS_URL}}/api/identity/v1alpha/participants/{{PARTICIPANT_ID}}/credentials/CREDENTIAL-ID",
- "host": [
- "{{CS_URL}}"
- ],
- "path": [
- "api",
- "identity",
- "v1alpha",
- "participants",
- "{{PARTICIPANT_ID}}",
- "credentials",
- "CREDENTIAL-ID"
- ]
- }
- },
- "response": []
- },
- {
- "name": "Get All Credentials",
- "event": [
- {
- "listen": "test",
- "script": {
- "exec": [
- "pm.test(\"Status is OK\", function() {",
- " pm.expect(pm.response.code).to.be.oneOf([200, 204])",
- "})"
- ],
- "type": "text/javascript",
- "packages": {}
- }
- },
- {
- "listen": "prerequest",
- "script": {
- "exec": [
- ""
- ],
- "type": "text/javascript",
- "packages": {}
- }
- }
- ],
- "request": {
- "method": "GET",
- "header": [],
- "url": {
- "raw": "{{CS_URL}}/api/identity/v1alpha/credentials",
- "host": [
- "{{CS_URL}}"
- ],
- "path": [
- "api",
- "identity",
- "v1alpha",
- "credentials"
- ]
- }
- },
- "response": []
- },
- {
- "name": "Query Credentials by Type",
- "event": [
- {
- "listen": "test",
- "script": {
- "exec": [
- "pm.test(\"Status is OK\", function() {",
- " pm.expect(pm.response.code).to.be.oneOf([200, 204])",
- "})"
- ],
- "type": "text/javascript",
- "packages": {}
- }
- },
- {
- "listen": "prerequest",
- "script": {
- "exec": [
- ""
- ],
- "type": "text/javascript",
- "packages": {}
- }
- }
- ],
- "request": {
- "method": "GET",
- "header": [],
- "url": {
- "raw": "{{CS_URL}}/api/identity/v1alpha/participants/ZGlkOndlYjpsb2NhbGhvc3QlM0E3MDgz/credentials?type=FoobarCredential",
- "host": [
- "{{CS_URL}}"
- ],
- "path": [
- "api",
- "identity",
- "v1alpha",
- "participants",
- "ZGlkOndlYjpsb2NhbGhvc3QlM0E3MDgz",
- "credentials"
- ],
- "query": [
- {
- "key": "type",
- "value": "FoobarCredential"
- }
- ]
- }
- },
- "response": []
- },
- {
- "name": "Make Credential Request",
- "event": [
- {
- "listen": "test",
- "script": {
- "exec": [
- "if(pm.response.code < 300 && pm.response.code >= 200){",
- " if(pm.response.text().length > 0){",
- " const requestId = pm.response.text()",
- " pm.environment.set(\"REQUEST_ID\", requestId);",
- " }",
- "}"
- ],
- "type": "text/javascript",
- "packages": {}
- }
- }
- ],
- "request": {
- "method": "POST",
- "header": [],
- "body": {
- "mode": "raw",
- "raw": "{\n \"issuerDid\": \"{{ISSUER_DID}}\",\n \"holderPid\": \"credential-request-1\",\n \"credentials\": [{\n \"format\": \"VC1_0_JWT\",\n \"credentialType\": \"FoobarCredential\"\n }]\n}",
- "options": {
- "raw": {
- "language": "json"
- }
- }
- },
- "url": {
- "raw": "{{CS_URL}}/api/identity/v1alpha/participants/{{PARTICIPANT_ID_BASE64}}/credentials/request",
- "host": [
- "{{CS_URL}}"
- ],
- "path": [
- "api",
- "identity",
- "v1alpha",
- "participants",
- "{{PARTICIPANT_ID_BASE64}}",
- "credentials",
- "request"
- ]
- }
- },
- "response": []
- },
- {
- "name": "Get Credential Reqeusts",
- "protocolProfileBehavior": {
- "disableBodyPruning": true
- },
- "request": {
- "method": "GET",
- "header": [],
- "body": {
- "mode": "raw",
- "raw": "",
- "options": {
- "raw": {
- "language": "json"
- }
- }
- },
- "url": {
- "raw": "{{CS_URL}}/api/identity/v1alpha/participants/{{PARTICIPANT_ID_BASE64}}/credentials/request/{{REQUEST_ID}}",
- "host": [
- "{{CS_URL}}"
- ],
- "path": [
- "api",
- "identity",
- "v1alpha",
- "participants",
- "{{PARTICIPANT_ID_BASE64}}",
- "credentials",
- "request",
- "{{REQUEST_ID}}"
- ]
- }
- },
- "response": []
- }
- ]
- }
- ],
- "auth": {
- "type": "apikey",
- "apikey": [
- {
- "key": "value",
- "value": "{{IH_API_TOKEN}}",
- "type": "string"
- },
- {
- "key": "key",
- "value": "X-Api-Key",
- "type": "string"
- }
- ]
- },
- "event": [
- {
- "listen": "prerequest",
- "script": {
- "type": "text/javascript",
- "exec": [
- ""
- ]
- }
- },
- {
- "listen": "test",
- "script": {
- "type": "text/javascript",
- "exec": [
- "pm.test(\"Status is OK or conflict\", function() {",
- " pm.expect(pm.response.code).to.be.oneOf([200, 201, 204, 409])",
- "})"
- ]
- }
- }
- ]
- },
- {
- "name": "IssuerService",
- "item": [
- {
- "name": "Admin API",
- "item": [
- {
- "name": "Attestations",
- "item": [
- {
- "name": "create Attestation",
- "request": {
- "method": "POST",
- "header": [],
- "body": {
- "mode": "raw",
- "raw": "{\n \"attestationType\": \"database\",\n \"configuration\": {\n \"commodof4\": {},\n \"laborisb27\": {}\n },\n \"id\": \"\"\n}",
- "options": {
- "raw": {
- "headerFamily": "json",
- "language": "json"
- }
- }
- },
- "url": {
- "raw": "{{ISSUER_ADMIN_URL}}/api/admin/v1alpha/participants/{{ISSUER_CONTEXT_ID}}/attestations",
- "host": [
- "{{ISSUER_ADMIN_URL}}"
- ],
- "path": [
- "api",
- "admin",
- "v1alpha",
- "participants",
- "{{ISSUER_CONTEXT_ID}}",
- "attestations"
- ]
- },
- "description": "Creates an attestation definition in the runtime."
- },
- "response": [
- {
- "name": "The attestation definition was added successfully.",
- "originalRequest": {
- "method": "POST",
- "header": [
- {
- "key": "Content-Type",
- "value": "application/json"
- }
- ],
- "body": {
- "mode": "raw",
- "raw": "{\n \"attestationType\": \"\",\n \"configuration\": {\n \"commodof4\": {},\n \"laborisb27\": {}\n },\n \"id\": \"\"\n}",
- "options": {
- "raw": {
- "headerFamily": "json",
- "language": "json"
- }
- }
- },
- "url": {
- "raw": "{{baseUrl}}/v1alpha/attestations",
- "host": [
- "{{baseUrl}}"
- ],
- "path": [
- "v1alpha",
- "attestations"
- ]
- }
- },
- "status": "Created",
- "code": 201,
- "_postman_previewlanguage": "text",
- "header": [],
- "cookie": [],
- "body": ""
- },
- {
- "name": "Request body was malformed, or the request could not be processed",
- "originalRequest": {
- "method": "POST",
- "header": [
- {
- "key": "Content-Type",
- "value": "application/json"
- },
- {
- "key": "Accept",
- "value": "application/json"
- }
- ],
- "body": {
- "mode": "raw",
- "raw": "{\n \"attestationType\": \"\",\n \"configuration\": {\n \"commodof4\": {},\n \"laborisb27\": {}\n },\n \"id\": \"\"\n}",
- "options": {
- "raw": {
- "headerFamily": "json",
- "language": "json"
- }
- }
- },
- "url": {
- "raw": "{{baseUrl}}/v1alpha/attestations",
- "host": [
- "{{baseUrl}}"
- ],
- "path": [
- "v1alpha",
- "attestations"
- ]
- }
- },
- "status": "Bad Request",
- "code": 400,
- "_postman_previewlanguage": "json",
- "header": [
- {
- "key": "Content-Type",
- "value": "application/json"
- }
- ],
- "cookie": [],
- "body": "[\n {\n \"invalidValue\": {},\n \"message\": \"\",\n \"path\": \"\",\n \"type\": \"\"\n },\n {\n \"invalidValue\": {},\n \"message\": \"\",\n \"path\": \"\",\n \"type\": \"\"\n }\n]"
- },
- {
- "name": "The request could not be completed, because either the authentication was missing or was not valid.",
- "originalRequest": {
- "method": "POST",
- "header": [
- {
- "key": "Content-Type",
- "value": "application/json"
- },
- {
- "key": "Accept",
- "value": "application/json"
- }
- ],
- "body": {
- "mode": "raw",
- "raw": "{\n \"attestationType\": \"\",\n \"configuration\": {\n \"commodof4\": {},\n \"laborisb27\": {}\n },\n \"id\": \"\"\n}",
- "options": {
- "raw": {
- "headerFamily": "json",
- "language": "json"
- }
- }
- },
- "url": {
- "raw": "{{baseUrl}}/v1alpha/attestations",
- "host": [
- "{{baseUrl}}"
- ],
- "path": [
- "v1alpha",
- "attestations"
- ]
- }
- },
- "status": "Unauthorized",
- "code": 401,
- "_postman_previewlanguage": "json",
- "header": [
- {
- "key": "Content-Type",
- "value": "application/json"
- }
- ],
- "cookie": [],
- "body": "[\n {\n \"invalidValue\": {},\n \"message\": \"\",\n \"path\": \"\",\n \"type\": \"\"\n },\n {\n \"invalidValue\": {},\n \"message\": \"\",\n \"path\": \"\",\n \"type\": \"\"\n }\n]"
- },
- {
- "name": "The participant was not found.",
- "originalRequest": {
- "method": "POST",
- "header": [
- {
- "key": "Content-Type",
- "value": "application/json"
- },
- {
- "key": "Accept",
- "value": "application/json"
- }
- ],
- "body": {
- "mode": "raw",
- "raw": "{\n \"attestationType\": \"\",\n \"configuration\": {\n \"commodof4\": {},\n \"laborisb27\": {}\n },\n \"id\": \"\"\n}",
- "options": {
- "raw": {
- "headerFamily": "json",
- "language": "json"
- }
- }
- },
- "url": {
- "raw": "{{baseUrl}}/v1alpha/attestations",
- "host": [
- "{{baseUrl}}"
- ],
- "path": [
- "v1alpha",
- "attestations"
- ]
- }
- },
- "status": "Not Found",
- "code": 404,
- "_postman_previewlanguage": "json",
- "header": [
- {
- "key": "Content-Type",
- "value": "application/json"
- }
- ],
- "cookie": [],
- "body": "[\n {\n \"invalidValue\": {},\n \"message\": \"\",\n \"path\": \"\",\n \"type\": \"\"\n },\n {\n \"invalidValue\": {},\n \"message\": \"\",\n \"path\": \"\",\n \"type\": \"\"\n }\n]"
- },
- {
- "name": "Can't add the participant, because a object with the same ID already exists",
- "originalRequest": {
- "method": "POST",
- "header": [
- {
- "key": "Content-Type",
- "value": "application/json"
- },
- {
- "key": "Accept",
- "value": "application/json"
- }
- ],
- "body": {
- "mode": "raw",
- "raw": "{\n \"attestationType\": \"\",\n \"configuration\": {\n \"commodof4\": {},\n \"laborisb27\": {}\n },\n \"id\": \"\"\n}",
- "options": {
- "raw": {
- "headerFamily": "json",
- "language": "json"
- }
- }
- },
- "url": {
- "raw": "{{baseUrl}}/v1alpha/attestations",
- "host": [
- "{{baseUrl}}"
- ],
- "path": [
- "v1alpha",
- "attestations"
- ]
- }
- },
- "status": "Conflict",
- "code": 409,
- "_postman_previewlanguage": "json",
- "header": [
- {
- "key": "Content-Type",
- "value": "application/json"
- }
- ],
- "cookie": [],
- "body": "[\n {\n \"invalidValue\": {},\n \"message\": \"\",\n \"path\": \"\",\n \"type\": \"\"\n },\n {\n \"invalidValue\": {},\n \"message\": \"\",\n \"path\": \"\",\n \"type\": \"\"\n }\n]"
- }
- ]
- },
- {
- "name": "query Attestations",
- "request": {
- "method": "POST",
- "header": [],
- "body": {
- "mode": "raw",
- "raw": "{\n \"filterExpression\": [\n {\n \"operandLeft\": {},\n \"operandRight\": {},\n \"operator\": \"\"\n },\n {\n \"operandLeft\": {},\n \"operandRight\": {},\n \"operator\": \"\"\n }\n ],\n \"limit\": \"\",\n \"offset\": \"\",\n \"sortField\": \"\",\n \"sortOrder\": \"DESC\"\n}",
- "options": {
- "raw": {
- "headerFamily": "json",
- "language": "json"
- }
- }
- },
- "url": {
- "raw": "{{ISSUER_ADMIN_URL}}/api/admin/v1alpha/participants/{{ISSUER_CONTEXT_ID}}/attestations/query",
- "host": [
- "{{ISSUER_ADMIN_URL}}"
- ],
- "path": [
- "api",
- "admin",
- "v1alpha",
- "participants",
- "{{ISSUER_CONTEXT_ID}}",
- "attestations",
- "query"
- ]
- },
- "description": "Query attestation definitions"
- },
- "response": [
- {
- "name": "A list of attestation metadata.",
- "originalRequest": {
- "method": "POST",
- "header": [
- {
- "key": "Content-Type",
- "value": "application/json"
- },
- {
- "key": "Accept",
- "value": "application/json"
- }
- ],
- "body": {
- "mode": "raw",
- "raw": "{\n \"filterExpression\": [\n {\n \"operandLeft\": {},\n \"operandRight\": {},\n \"operator\": \"\"\n },\n {\n \"operandLeft\": {},\n \"operandRight\": {},\n \"operator\": \"\"\n }\n ],\n \"limit\": \"\",\n \"offset\": \"\",\n \"sortField\": \"\",\n \"sortOrder\": \"DESC\"\n}",
- "options": {
- "raw": {
- "headerFamily": "json",
- "language": "json"
- }
- }
- },
- "url": {
- "raw": "{{baseUrl}}/v1alpha/attestations/query",
- "host": [
- "{{baseUrl}}"
- ],
- "path": [
- "v1alpha",
- "attestations",
- "query"
- ]
- }
- },
- "status": "OK",
- "code": 200,
- "_postman_previewlanguage": "json",
- "header": [
- {
- "key": "Content-Type",
- "value": "application/json"
- }
- ],
- "cookie": [],
- "body": "[\n {\n \"attestationType\": \"\",\n \"configuration\": {\n \"aliquip2\": {},\n \"pariatur_b3\": {},\n \"essebab\": {}\n },\n \"id\": \"\"\n },\n {\n \"attestationType\": \"\",\n \"configuration\": {\n \"sint_9f6\": {}\n },\n \"id\": \"\"\n }\n]"
- },
- {
- "name": "Request body was malformed, or the request could not be processed",
- "originalRequest": {
- "method": "POST",
- "header": [
- {
- "key": "Content-Type",
- "value": "application/json"
- },
- {
- "key": "Accept",
- "value": "application/json"
- }
- ],
- "body": {
- "mode": "raw",
- "raw": "{\n \"filterExpression\": [\n {\n \"operandLeft\": {},\n \"operandRight\": {},\n \"operator\": \"\"\n },\n {\n \"operandLeft\": {},\n \"operandRight\": {},\n \"operator\": \"\"\n }\n ],\n \"limit\": \"\",\n \"offset\": \"\",\n \"sortField\": \"\",\n \"sortOrder\": \"DESC\"\n}",
- "options": {
- "raw": {
- "headerFamily": "json",
- "language": "json"
- }
- }
- },
- "url": {
- "raw": "{{baseUrl}}/v1alpha/attestations/query",
- "host": [
- "{{baseUrl}}"
- ],
- "path": [
- "v1alpha",
- "attestations",
- "query"
- ]
- }
- },
- "status": "Bad Request",
- "code": 400,
- "_postman_previewlanguage": "json",
- "header": [
- {
- "key": "Content-Type",
- "value": "application/json"
- }
- ],
- "cookie": [],
- "body": "[\n {\n \"invalidValue\": {},\n \"message\": \"\",\n \"path\": \"\",\n \"type\": \"\"\n },\n {\n \"invalidValue\": {},\n \"message\": \"\",\n \"path\": \"\",\n \"type\": \"\"\n }\n]"
- },
- {
- "name": "The request could not be completed, because either the authentication was missing or was not valid.",
- "originalRequest": {
- "method": "POST",
- "header": [
- {
- "key": "Content-Type",
- "value": "application/json"
- },
- {
- "key": "Accept",
- "value": "application/json"
- }
- ],
- "body": {
- "mode": "raw",
- "raw": "{\n \"filterExpression\": [\n {\n \"operandLeft\": {},\n \"operandRight\": {},\n \"operator\": \"\"\n },\n {\n \"operandLeft\": {},\n \"operandRight\": {},\n \"operator\": \"\"\n }\n ],\n \"limit\": \"\",\n \"offset\": \"\",\n \"sortField\": \"\",\n \"sortOrder\": \"DESC\"\n}",
- "options": {
- "raw": {
- "headerFamily": "json",
- "language": "json"
- }
- }
- },
- "url": {
- "raw": "{{baseUrl}}/v1alpha/attestations/query",
- "host": [
- "{{baseUrl}}"
- ],
- "path": [
- "v1alpha",
- "attestations",
- "query"
- ]
- }
- },
- "status": "Unauthorized",
- "code": 401,
- "_postman_previewlanguage": "json",
- "header": [
- {
- "key": "Content-Type",
- "value": "application/json"
- }
- ],
- "cookie": [],
- "body": "[\n {\n \"invalidValue\": {},\n \"message\": \"\",\n \"path\": \"\",\n \"type\": \"\"\n },\n {\n \"invalidValue\": {},\n \"message\": \"\",\n \"path\": \"\",\n \"type\": \"\"\n }\n]"
- }
- ]
- }
- ]
- },
- {
- "name": "CredentialDefinitions",
- "item": [
- {
- "name": "create Credential Definition",
- "request": {
- "method": "POST",
- "header": [],
- "body": {
- "mode": "raw",
- "raw": "{\n \"attestations\": [\n \"\",\n \"\"\n ],\n \"credentialType\": \"\",\n \"id\": \"\",\n \"jsonSchema\": \"\",\n \"jsonSchemaUrl\": \"\",\n \"mappings\": [\n {\n \"input\": \"\",\n \"output\": \"\",\n \"required\": \"\"\n },\n {\n \"input\": \"\",\n \"output\": \"\",\n \"required\": \"\"\n }\n ],\n \"rules\": [\n {\n \"configuration\": {\n \"addca\": {}\n },\n \"type\": \"\"\n },\n {\n \"configuration\": {\n \"incididunt_a1f\": {}\n },\n \"type\": \"\"\n }\n ],\n \"validity\": \"\",\n \"formats\": [\"VC1_0_JWT\"]\n}",
- "options": {
- "raw": {
- "headerFamily": "json",
- "language": "json"
- }
- }
- },
- "url": {
- "raw": "{{ISSUER_ADMIN_URL}}/api/admin/v1alpha/participants/{{ISSUER_CONTEXT_ID}}/credentialdefinitions",
- "host": [
- "{{ISSUER_ADMIN_URL}}"
- ],
- "path": [
- "api",
- "admin",
- "v1alpha",
- "participants",
- "{{ISSUER_CONTEXT_ID}}",
- "credentialdefinitions"
- ]
- },
- "description": "Adds a new credential definition."
- },
- "response": [
- {
- "name": "The credential definition was created successfully.",
- "originalRequest": {
- "method": "POST",
- "header": [
- {
- "key": "Content-Type",
- "value": "application/json"
- }
- ],
- "body": {
- "mode": "raw",
- "raw": "{\n \"attestations\": [\n \"\",\n \"\"\n ],\n \"credentialType\": \"\",\n \"dataModel\": \"V_2_0\",\n \"id\": \"\",\n \"jsonSchema\": \"\",\n \"jsonSchemaUrl\": \"\",\n \"mappings\": [\n {\n \"input\": \"\",\n \"output\": \"\",\n \"required\": \"\"\n },\n {\n \"input\": \"\",\n \"output\": \"\",\n \"required\": \"\"\n }\n ],\n \"rules\": [\n {\n \"configuration\": {\n \"addca\": {}\n },\n \"type\": \"\"\n },\n {\n \"configuration\": {\n \"incididunt_a1f\": {}\n },\n \"type\": \"\"\n }\n ],\n \"validity\": \"\"\n}",
- "options": {
- "raw": {
- "headerFamily": "json",
- "language": "json"
- }
- }
- },
- "url": {
- "raw": "{{baseUrl}}/v1alpha/credentialdefinitions",
- "host": [
- "{{baseUrl}}"
- ],
- "path": [
- "v1alpha",
- "credentialdefinitions"
- ]
- }
- },
- "status": "Created",
- "code": 201,
- "_postman_previewlanguage": "text",
- "header": [],
- "cookie": [],
- "body": ""
- },
- {
- "name": "Request body was malformed, or the request could not be processed",
- "originalRequest": {
- "method": "POST",
- "header": [
- {
- "key": "Content-Type",
- "value": "application/json"
- },
- {
- "key": "Accept",
- "value": "application/json"
- }
- ],
- "body": {
- "mode": "raw",
- "raw": "{\n \"attestations\": [\n \"\",\n \"\"\n ],\n \"credentialType\": \"\",\n \"dataModel\": \"V_2_0\",\n \"id\": \"\",\n \"jsonSchema\": \"\",\n \"jsonSchemaUrl\": \"\",\n \"mappings\": [\n {\n \"input\": \"\",\n \"output\": \"\",\n \"required\": \"\"\n },\n {\n \"input\": \"\",\n \"output\": \"\",\n \"required\": \"\"\n }\n ],\n \"rules\": [\n {\n \"configuration\": {\n \"addca\": {}\n },\n \"type\": \"\"\n },\n {\n \"configuration\": {\n \"incididunt_a1f\": {}\n },\n \"type\": \"\"\n }\n ],\n \"validity\": \"\"\n}",
- "options": {
- "raw": {
- "headerFamily": "json",
- "language": "json"
- }
- }
- },
- "url": {
- "raw": "{{baseUrl}}/v1alpha/credentialdefinitions",
- "host": [
- "{{baseUrl}}"
- ],
- "path": [
- "v1alpha",
- "credentialdefinitions"
- ]
- }
- },
- "status": "Bad Request",
- "code": 400,
- "_postman_previewlanguage": "json",
- "header": [
- {
- "key": "Content-Type",
- "value": "application/json"
- }
- ],
- "cookie": [],
- "body": "[\n {\n \"invalidValue\": {},\n \"message\": \"\",\n \"path\": \"\",\n \"type\": \"\"\n },\n {\n \"invalidValue\": {},\n \"message\": \"\",\n \"path\": \"\",\n \"type\": \"\"\n }\n]"
- },
- {
- "name": "The request could not be completed, because either the authentication was missing or was not valid.",
- "originalRequest": {
- "method": "POST",
- "header": [
- {
- "key": "Content-Type",
- "value": "application/json"
- },
- {
- "key": "Accept",
- "value": "application/json"
- }
- ],
- "body": {
- "mode": "raw",
- "raw": "{\n \"attestations\": [\n \"\",\n \"\"\n ],\n \"credentialType\": \"\",\n \"dataModel\": \"V_2_0\",\n \"id\": \"\",\n \"jsonSchema\": \"\",\n \"jsonSchemaUrl\": \"\",\n \"mappings\": [\n {\n \"input\": \"\",\n \"output\": \"\",\n \"required\": \"\"\n },\n {\n \"input\": \"\",\n \"output\": \"\",\n \"required\": \"\"\n }\n ],\n \"rules\": [\n {\n \"configuration\": {\n \"addca\": {}\n },\n \"type\": \"\"\n },\n {\n \"configuration\": {\n \"incididunt_a1f\": {}\n },\n \"type\": \"\"\n }\n ],\n \"validity\": \"\"\n}",
- "options": {
- "raw": {
- "headerFamily": "json",
- "language": "json"
- }
- }
- },
- "url": {
- "raw": "{{baseUrl}}/v1alpha/credentialdefinitions",
- "host": [
- "{{baseUrl}}"
- ],
- "path": [
- "v1alpha",
- "credentialdefinitions"
- ]
- }
- },
- "status": "Unauthorized",
- "code": 401,
- "_postman_previewlanguage": "json",
- "header": [
- {
- "key": "Content-Type",
- "value": "application/json"
- }
- ],
- "cookie": [],
- "body": "[\n {\n \"invalidValue\": {},\n \"message\": \"\",\n \"path\": \"\",\n \"type\": \"\"\n },\n {\n \"invalidValue\": {},\n \"message\": \"\",\n \"path\": \"\",\n \"type\": \"\"\n }\n]"
- },
- {
- "name": "Can't create the credential definition, because a object with the same ID already exists",
- "originalRequest": {
- "method": "POST",
- "header": [
- {
- "key": "Content-Type",
- "value": "application/json"
- },
- {
- "key": "Accept",
- "value": "application/json"
- }
- ],
- "body": {
- "mode": "raw",
- "raw": "{\n \"attestations\": [\n \"\",\n \"\"\n ],\n \"credentialType\": \"\",\n \"dataModel\": \"V_2_0\",\n \"id\": \"\",\n \"jsonSchema\": \"\",\n \"jsonSchemaUrl\": \"\",\n \"mappings\": [\n {\n \"input\": \"\",\n \"output\": \"\",\n \"required\": \"\"\n },\n {\n \"input\": \"\",\n \"output\": \"\",\n \"required\": \"\"\n }\n ],\n \"rules\": [\n {\n \"configuration\": {\n \"addca\": {}\n },\n \"type\": \"\"\n },\n {\n \"configuration\": {\n \"incididunt_a1f\": {}\n },\n \"type\": \"\"\n }\n ],\n \"validity\": \"\"\n}",
- "options": {
- "raw": {
- "headerFamily": "json",
- "language": "json"
- }
- }
- },
- "url": {
- "raw": "{{baseUrl}}/v1alpha/credentialdefinitions",
- "host": [
- "{{baseUrl}}"
- ],
- "path": [
- "v1alpha",
- "credentialdefinitions"
- ]
- }
- },
- "status": "Conflict",
- "code": 409,
- "_postman_previewlanguage": "json",
- "header": [
- {
- "key": "Content-Type",
- "value": "application/json"
- }
- ],
- "cookie": [],
- "body": "[\n {\n \"invalidValue\": {},\n \"message\": \"\",\n \"path\": \"\",\n \"type\": \"\"\n },\n {\n \"invalidValue\": {},\n \"message\": \"\",\n \"path\": \"\",\n \"type\": \"\"\n }\n]"
- }
- ]
- },
- {
- "name": "query Credential Definitions",
- "request": {
- "method": "POST",
- "header": [],
- "body": {
- "mode": "raw",
- "raw": "{\n}",
- "options": {
- "raw": {
- "headerFamily": "json",
- "language": "json"
- }
- }
- },
- "url": {
- "raw": "{{ISSUER_ADMIN_URL}}/api/admin/v1alpha/participants/{{ISSUER_CONTEXT_ID}}/credentialdefinitions/query",
- "host": [
- "{{ISSUER_ADMIN_URL}}"
- ],
- "path": [
- "api",
- "admin",
- "v1alpha",
- "participants",
- "{{ISSUER_CONTEXT_ID}}",
- "credentialdefinitions",
- "query"
- ]
- },
- "description": "Gets all credential definitions for a certain query."
- },
- "response": [
- {
- "name": "A list of credentials definitions.",
- "originalRequest": {
- "method": "POST",
- "header": [
- {
- "key": "Content-Type",
- "value": "application/json"
- },
- {
- "key": "Accept",
- "value": "application/json"
- }
- ],
- "body": {
- "mode": "raw",
- "raw": "{\n \"filterExpression\": [\n {\n \"operandLeft\": {},\n \"operandRight\": {},\n \"operator\": \"\"\n },\n {\n \"operandLeft\": {},\n \"operandRight\": {},\n \"operator\": \"\"\n }\n ],\n \"limit\": \"\",\n \"offset\": \"\",\n \"sortField\": \"\",\n \"sortOrder\": \"DESC\"\n}",
- "options": {
- "raw": {
- "headerFamily": "json",
- "language": "json"
- }
- }
- },
- "url": {
- "raw": "{{baseUrl}}/v1alpha/credentialdefinitions/query",
- "host": [
- "{{baseUrl}}"
- ],
- "path": [
- "v1alpha",
- "credentialdefinitions",
- "query"
- ]
- }
- },
- "status": "OK",
- "code": 200,
- "_postman_previewlanguage": "json",
- "header": [
- {
- "key": "Content-Type",
- "value": "application/json"
- }
- ],
- "cookie": [],
- "body": "[\n {\n \"attestations\": [\n \"\",\n \"\"\n ],\n \"credentialType\": \"\",\n \"dataModel\": \"V_1_1\",\n \"id\": \"\",\n \"jsonSchema\": \"\",\n \"jsonSchemaUrl\": \"\",\n \"mappings\": [\n {\n \"input\": \"\",\n \"output\": \"\",\n \"required\": \"\"\n },\n {\n \"input\": \"\",\n \"output\": \"\",\n \"required\": \"\"\n }\n ],\n \"rules\": [\n {\n \"configuration\": {\n \"in_85a\": {},\n \"dolor310\": {},\n \"incididunt_b\": {}\n },\n \"type\": \"\"\n },\n {\n \"configuration\": {\n \"eud_\": {},\n \"dolor777\": {},\n \"Utb\": {}\n },\n \"type\": \"\"\n }\n ],\n \"validity\": \"\"\n },\n {\n \"attestations\": [\n \"\",\n \"\"\n ],\n \"credentialType\": \"\",\n \"dataModel\": \"V_2_0\",\n \"id\": \"\",\n \"jsonSchema\": \"\",\n \"jsonSchemaUrl\": \"\",\n \"mappings\": [\n {\n \"input\": \"\",\n \"output\": \"\",\n \"required\": \"\"\n },\n {\n \"input\": \"\",\n \"output\": \"\",\n \"required\": \"\"\n }\n ],\n \"rules\": [\n {\n \"configuration\": {\n \"laborum7\": {},\n \"voluptate726\": {}\n },\n \"type\": \"\"\n },\n {\n \"configuration\": {\n \"amet_27c\": {},\n \"voluptate8\": {}\n },\n \"type\": \"\"\n }\n ],\n \"validity\": \"\"\n }\n]"
- },
- {
- "name": "Request body was malformed, or the request could not be processed",
- "originalRequest": {
- "method": "POST",
- "header": [
- {
- "key": "Content-Type",
- "value": "application/json"
- },
- {
- "key": "Accept",
- "value": "application/json"
- }
- ],
- "body": {
- "mode": "raw",
- "raw": "{\n \"filterExpression\": [\n {\n \"operandLeft\": {},\n \"operandRight\": {},\n \"operator\": \"\"\n },\n {\n \"operandLeft\": {},\n \"operandRight\": {},\n \"operator\": \"\"\n }\n ],\n \"limit\": \"\",\n \"offset\": \"\",\n \"sortField\": \"\",\n \"sortOrder\": \"DESC\"\n}",
- "options": {
- "raw": {
- "headerFamily": "json",
- "language": "json"
- }
- }
- },
- "url": {
- "raw": "{{baseUrl}}/v1alpha/credentialdefinitions/query",
- "host": [
- "{{baseUrl}}"
- ],
- "path": [
- "v1alpha",
- "credentialdefinitions",
- "query"
- ]
- }
- },
- "status": "Bad Request",
- "code": 400,
- "_postman_previewlanguage": "json",
- "header": [
- {
- "key": "Content-Type",
- "value": "application/json"
- }
- ],
- "cookie": [],
- "body": "[\n {\n \"invalidValue\": {},\n \"message\": \"\",\n \"path\": \"\",\n \"type\": \"\"\n },\n {\n \"invalidValue\": {},\n \"message\": \"\",\n \"path\": \"\",\n \"type\": \"\"\n }\n]"
- },
- {
- "name": "The request could not be completed, because either the authentication was missing or was not valid.",
- "originalRequest": {
- "method": "POST",
- "header": [
- {
- "key": "Content-Type",
- "value": "application/json"
- },
- {
- "key": "Accept",
- "value": "application/json"
- }
- ],
- "body": {
- "mode": "raw",
- "raw": "{\n \"filterExpression\": [\n {\n \"operandLeft\": {},\n \"operandRight\": {},\n \"operator\": \"\"\n },\n {\n \"operandLeft\": {},\n \"operandRight\": {},\n \"operator\": \"\"\n }\n ],\n \"limit\": \"\",\n \"offset\": \"\",\n \"sortField\": \"\",\n \"sortOrder\": \"DESC\"\n}",
- "options": {
- "raw": {
- "headerFamily": "json",
- "language": "json"
- }
- }
- },
- "url": {
- "raw": "{{baseUrl}}/v1alpha/credentialdefinitions/query",
- "host": [
- "{{baseUrl}}"
- ],
- "path": [
- "v1alpha",
- "credentialdefinitions",
- "query"
- ]
- }
- },
- "status": "Unauthorized",
- "code": 401,
- "_postman_previewlanguage": "json",
- "header": [
- {
- "key": "Content-Type",
- "value": "application/json"
- }
- ],
- "cookie": [],
- "body": "[\n {\n \"invalidValue\": {},\n \"message\": \"\",\n \"path\": \"\",\n \"type\": \"\"\n },\n {\n \"invalidValue\": {},\n \"message\": \"\",\n \"path\": \"\",\n \"type\": \"\"\n }\n]"
- }
- ]
- },
- {
- "name": "get by ID",
- "request": {
- "method": "GET",
- "header": [
- {
- "key": "Accept",
- "value": "application/json"
- }
- ],
- "url": {
- "raw": "{{ISSUER_ADMIN_URL}}/api/admin/v1alpha/participants/{{ISSUER_CONTEXT_ID}}/credentialdefinitions/:credentialDefinitionId",
- "host": [
- "{{ISSUER_ADMIN_URL}}"
- ],
- "path": [
- "api",
- "admin",
- "v1alpha",
- "participants",
- "{{ISSUER_CONTEXT_ID}}",
- "credentialdefinitions",
- ":credentialDefinitionId"
- ],
- "variable": [
- {
- "key": "credentialDefinitionId",
- "value": "",
- "description": "(Required) "
- }
- ]
- },
- "description": "Gets a credential definition by its ID."
- },
- "response": [
- {
- "name": "The credential definition was found.",
- "originalRequest": {
- "method": "GET",
- "header": [
- {
- "key": "Accept",
- "value": "application/json"
- }
- ],
- "url": {
- "raw": "{{baseUrl}}/v1alpha/credentialdefinitions/:credentialDefinitionId",
- "host": [
- "{{baseUrl}}"
- ],
- "path": [
- "v1alpha",
- "credentialdefinitions",
- ":credentialDefinitionId"
- ],
- "variable": [
- {
- "key": "credentialDefinitionId"
- }
- ]
- }
- },
- "status": "OK",
- "code": 200,
- "_postman_previewlanguage": "json",
- "header": [
- {
- "key": "Content-Type",
- "value": "application/json"
- }
- ],
- "cookie": [],
- "body": "{\n \"attestations\": [\n \"\",\n \"\"\n ],\n \"credentialType\": \"\",\n \"dataModel\": \"V_2_0\",\n \"id\": \"\",\n \"jsonSchema\": \"\",\n \"jsonSchemaUrl\": \"\",\n \"mappings\": [\n {\n \"input\": \"\",\n \"output\": \"\",\n \"required\": \"\"\n },\n {\n \"input\": \"\",\n \"output\": \"\",\n \"required\": \"\"\n }\n ],\n \"rules\": [\n {\n \"configuration\": {\n \"addca\": {}\n },\n \"type\": \"\"\n },\n {\n \"configuration\": {\n \"incididunt_a1f\": {}\n },\n \"type\": \"\"\n }\n ],\n \"validity\": \"\"\n}"
- },
- {
- "name": "Request body was malformed, or the request could not be processed",
- "originalRequest": {
- "method": "GET",
- "header": [
- {
- "key": "Accept",
- "value": "application/json"
- }
- ],
- "url": {
- "raw": "{{baseUrl}}/v1alpha/credentialdefinitions/:credentialDefinitionId",
- "host": [
- "{{baseUrl}}"
- ],
- "path": [
- "v1alpha",
- "credentialdefinitions",
- ":credentialDefinitionId"
- ],
- "variable": [
- {
- "key": "credentialDefinitionId"
- }
- ]
- }
- },
- "status": "Bad Request",
- "code": 400,
- "_postman_previewlanguage": "json",
- "header": [
- {
- "key": "Content-Type",
- "value": "application/json"
- }
- ],
- "cookie": [],
- "body": "[\n {\n \"invalidValue\": {},\n \"message\": \"\",\n \"path\": \"\",\n \"type\": \"\"\n },\n {\n \"invalidValue\": {},\n \"message\": \"\",\n \"path\": \"\",\n \"type\": \"\"\n }\n]"
- },
- {
- "name": "The request could not be completed, because either the authentication was missing or was not valid.",
- "originalRequest": {
- "method": "GET",
- "header": [
- {
- "key": "Accept",
- "value": "application/json"
- }
- ],
- "url": {
- "raw": "{{baseUrl}}/v1alpha/credentialdefinitions/:credentialDefinitionId",
- "host": [
- "{{baseUrl}}"
- ],
- "path": [
- "v1alpha",
- "credentialdefinitions",
- ":credentialDefinitionId"
- ],
- "variable": [
- {
- "key": "credentialDefinitionId"
- }
- ]
- }
- },
- "status": "Unauthorized",
- "code": 401,
- "_postman_previewlanguage": "json",
- "header": [
- {
- "key": "Content-Type",
- "value": "application/json"
- }
- ],
- "cookie": [],
- "body": "[\n {\n \"invalidValue\": {},\n \"message\": \"\",\n \"path\": \"\",\n \"type\": \"\"\n },\n {\n \"invalidValue\": {},\n \"message\": \"