Skip to content

feat: initialize construct-x edc#1

Merged
mhellmeier merged 9 commits intodevelopfrom
feat/con-x-controlplane
Feb 26, 2026
Merged

feat: initialize construct-x edc#1
mhellmeier merged 9 commits intodevelopfrom
feat/con-x-controlplane

Conversation

@eschrewe
Copy link

@eschrewe eschrewe commented Feb 6, 2026

WHAT

  • added initial build-gradles for construct-x controlplane and dataplane
  • added local docker compose based testing environment including a bruno collection

WHY

enable testing and usage of edc-based data exchange

FURTHER NOTES

Closes CXAP4-117

@eschrewe eschrewe requested a review from mhellmeier February 6, 2026 09:01
@mhellmeier mhellmeier changed the title feat/con-x-edc-initial feat: initialize construct-x edc Feb 11, 2026
Copy link
Member

@mhellmeier mhellmeier left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great work, @eschrewe! Most things already worked for me, but I have a couple of improvements.

@eschrewe eschrewe requested a review from mhellmeier February 12, 2026 08:38
@snoeffels
Copy link

I was able to start the local Docker Compose based testing environment.

However, I wasn’t able to verify all of the functionality in the Bruno collection.

Since I haven’t worked with the EDC code before, I was only able to perform limited black box testing due to the size of the PR.

For future changes, I would really appreciate it if we could keep PRs smaller, especially for people who are new to the project.

@mhellmeier
Copy link
Member

For future changes, I would really appreciate it if we could keep PRs smaller, especially for people who are new to the project.

Smaller PRs are definitely the plan. This PR is huge due to the initialization and the export of the Bruno collection.

But thanks a lot for your feedback and black box testing!

@snoeffels
Copy link

I did execute the full sequence, which resulted in a successful asset exchange.

However, I am not familiar enough with the domain to thoroughly assess the correctness of the payloads and responses.

@tloebbert
Copy link

I also tried to execute the full sequence, but ran into problems during the InitPullTransfer step.

After initiating the transfer process via the bruno request, the provider-dataplane shows the following error:

provider-dataplane: DEBUG 2026-02-25T12:58:00.972648611 [Hashicorp Vault] Secret not found
provider-dataplane: DEBUG 2026-02-25T12:58:00.97370921 [PrivateKeyResolution] Public key not found, fallback to config. Error: Private key with ID 'prov_priv' not found in Vault
provider-dataplane: WARNING 2026-02-25T12:58:00.975595084 Error obtaining EDR DataAddress: JWSSigner cannot be generated for private key 'prov_priv': Private key with ID 'prov_priv' not found in Config

This error results in a severe error in the provider-controlplane:

provider-controlplane: SEVERE 2026-02-25T12:58:16.579312667 TransferProcess: ID 0e34e3fe-74cc-4742-8a1f-a9032f59b3ef. Attempt #1 failed to Start DataFlow. Fatal error occurred. Cause: Transfer request for process 0e34e3fe-74cc-4742-8a1f-a9032f59b3ef failed: Remote API returned HTTP 400. [{"message":"JWSSigner cannot be generated for private key 'prov_priv': Private key with ID 'prov_priv' not found in Config","type":"InvalidRequest","path":null,"invalidValue":null}]

I am not sure whether this is a problem of the branch or on my side, but since others got it to work properly it may be a problem of my local build environment. Unfortunately i am not familiar enough with the vault and the edc, to dig deeper into this.
Does any of you have an idea what could be the problem?

For reference:
I am running docker compose on Debian 13 directly, not via wsl and docker/rancher desktop.
If needed i can provide more logs and more information about my environment.

@eschrewe
Copy link
Author

I also tried to execute the full sequence, but ran into problems during the InitPullTransfer step.

After initiating the transfer process via the bruno request, the provider-dataplane shows the following error:

provider-dataplane: DEBUG 2026-02-25T12:58:00.972648611 [Hashicorp Vault] Secret not found
provider-dataplane: DEBUG 2026-02-25T12:58:00.97370921 [PrivateKeyResolution] Public key not found, fallback to config. Error: Private key with ID 'prov_priv' not found in Vault
provider-dataplane: WARNING 2026-02-25T12:58:00.975595084 Error obtaining EDR DataAddress: JWSSigner cannot be generated for private key 'prov_priv': Private key with ID 'prov_priv' not found in Config

This error results in a severe error in the provider-controlplane:

provider-controlplane: SEVERE 2026-02-25T12:58:16.579312667 TransferProcess: ID 0e34e3fe-74cc-4742-8a1f-a9032f59b3ef. Attempt #1 failed to Start DataFlow. Fatal error occurred. Cause: Transfer request for process 0e34e3fe-74cc-4742-8a1f-a9032f59b3ef failed: Remote API returned HTTP 400. [{"message":"JWSSigner cannot be generated for private key 'prov_priv': Private key with ID 'prov_priv' not found in Config","type":"InvalidRequest","path":null,"invalidValue":null}]

I am not sure whether this is a problem of the branch or on my side, but since others got it to work properly it may be a problem of my local build environment. Unfortunately i am not familiar enough with the vault and the edc, to dig deeper into this. Does any of you have an idea what could be the problem?

For reference: I am running docker compose on Debian 13 directly, not via wsl and docker/rancher desktop. If needed i can provide more logs and more information about my environment.

Hi @tloebbert ,

during the past days, I was in contact with some other people, who had similar-looking error messages. And in the end we managed to debug this for their particular cases. The learnings from these debugging sessions resulted in some more commits to this branch in the past days.

So the first thing I would like to ask you to do is: Please do a

git pull

to make sure are testing on the latest version.

Then, please let me know if the problem still shows up. (If yes, I'd propose we then try to arrange a Teams-Meeting in order to find a solution.)

Best regards
Ernst

@tloebbert
Copy link

Hi @eschrewe

make sure are testing on the latest version.

i just pulled the latest bruno collection update, restarted the docker container and did the test again. Unfortunately, the issue was not resolved.

Then, please let me know if the problem still shows up. (If yes, I'd propose we then try to arrange a Teams-Meeting in order to find a solution.)

I think this is a good idea!
What is the best way to get in contact with you?

Best regards
Tim

@eschrewe
Copy link
Author

Hi @eschrewe

make sure are testing on the latest version.

i just pulled the latest bruno collection update, restarted the docker container and did the test again. Unfortunately, the issue was not resolved.

Then, please let me know if the problem still shows up. (If yes, I'd propose we then try to arrange a Teams-Meeting in order to find a solution.)

I think this is a good idea! What is the best way to get in contact with you?

Best regards Tim

Just sent you an email.

@eschrewe
Copy link
Author

Hi @eschrewe

make sure are testing on the latest version.

i just pulled the latest bruno collection update, restarted the docker container and did the test again. Unfortunately, the issue was not resolved.

Then, please let me know if the problem still shows up. (If yes, I'd propose we then try to arrange a Teams-Meeting in order to find a solution.)

I think this is a good idea! What is the best way to get in contact with you?

Best regards Tim

Hi @tloebbert ,

thanks for the productive meeting this morning. We just added something which hopefully makes sure, that these CRLF troubles in the vault-init script can't happen any more.

Please test and let me know. :)

BR
Ernst

@tloebbert
Copy link

Hi @eschrewe,

thank you too for your input!
After a git pull the vault-init script is now in LF and the docker container is working great.
I tested the edge case again anyway (i converted the vault-init script back to CRLF), and it also worked without any problems.

So everything looks good to me :)

Best regards
Tim

Copy link
Member

@mhellmeier mhellmeier left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@mhellmeier mhellmeier merged commit 23d4813 into develop Feb 26, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants