From c9cb7a3b4c458daf05bc6823f7ca845e7b7c5347 Mon Sep 17 00:00:00 2001 From: Robin Bauer <113348044+robinidento@users.noreply.github.com> Date: Thu, 12 Oct 2023 11:35:50 +0200 Subject: [PATCH 01/20] Update README.md --- README.md | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index f101824..bc60f4d 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ The goal is to enable developers, testbeds and productive systems to be able to IDSA assumes the role of GitHub Maintainer of the repository to ensure contributions by the committers are aligned with the IDSA reference architecture and specifications; V 1.0 of the basecamp consists of the following IDS based infrastructure components: CA, DAPS, ParIS, Metadata Broker, Transaction Log (Clearing House). V2.0 will add App Store and Vocabulary Provider.  - +(Klaus) @@ -21,6 +21,16 @@ The basecamp will use OSS, which has been accepted by commercial operators after It is open to be extended with additional components and services (like onboarding workflows, integration with ID or certificate providers, testbeds, different type of connectors).  +eine Distribution, die basierend auf Ram 4.0, EDC MS 0.8 die folgenden Komponenten integriert zur Verfügung stellt: + +1. How to get started (truzzt Port umbenennen) +2. Verweis auf die Repositories + + +**Road Map:** + +Die Erweiterung auf Ram 5.0 ist in der Planungsphase. + **Genesis: Project Launch Coalition II Base Camp**  @@ -33,7 +43,6 @@ It is open to be extended with additional components and services (like onboardi - End: August 31, 2023  - Approach  - intensive research with the community on available software assets   From 8060c6e6252560394dc6e4f184ca1d5a6e2c8907 Mon Sep 17 00:00:00 2001 From: Klaus Ottradovetz <67057690+kottradovetz@users.noreply.github.com> Date: Thu, 12 Oct 2023 10:41:56 +0000 Subject: [PATCH 02/20] Inclusion of proposed changes by Klaus --- README.md | 60 +++++++++++++++++++------------------------------------ 1 file changed, 20 insertions(+), 40 deletions(-) diff --git a/README.md b/README.md index bc60f4d..5b3b2c9 100644 --- a/README.md +++ b/README.md @@ -1,59 +1,39 @@ -**Mission for Launch Coalition 2023** +**IDS Basecamp** -***Let’s build a base camp for data spaces*** - - - -Data Spaces built according to the IDSA specifications are growing in numbers and complexity. The Basecamp initiative is working towards the creation of an integrated and tested set of OSS components which can be used in pilot as well as in productive environments, leveraging the experience and from contributions of projects in all stages of the lifecycle.  - -The goal is to enable developers, testbeds and productive systems to be able to work on a common basis and leverage the power of many to constantly improve the code set whilst maintaining the highest level of interoperability. At the same time the efforts of project teams can shift from setup and integration of basic services towards the value of creating use cases.   - -IDSA assumes the role of GitHub Maintainer of the repository to ensure contributions by the committers are aligned with the IDSA reference architecture and specifications; V 1.0 of the basecamp consists of the following IDS based infrastructure components: CA, DAPS, ParIS, Metadata Broker, Transaction Log (Clearing House). V2.0 will add App Store and Vocabulary Provider.  - -(Klaus) +The IDS basecamp is a software distribution of components to build and operate an IDS Data Space. It's a project build from an OSS repository which integrates contributions from differnet projects to allow us to work on a common code basis which: +- makes it easy for data spaces to work on a basis of integrated components which are proven in productive environments +- allows all contributors to participate from the learnings and also investements from other projects +The goal is to enable developers, testbeds and productive systems to be able to work on a common basis and leverage the power of many to constantly improve the code set whilst maintaining the highest level of interoperability. At the same time the efforts of project teams can shift from setup and integration of basic services towards the value of creating use cases. It includes experiences from commercial operators with validated security, scalability and maintainability requirements and is used in productive environments. It does not contain any proprietary elements and the project is available to all parties willing to contribute. It can be extended with additional components and services (like onboarding workflows, integration with ID or certificate providers, testbeds, different type of connectors).  +The general approach in building a distribution is a community process following the schema: +- intensive research with the community on available software assets   +- improvement of the code base towards a production grade technical readiness level  +- packaging towards an integrated distribution   -**What does the Base Camp offer?**  +Governance: IDSA assumes the role of GitHub Maintainer of the repository to ensure contributions by the committers are aligned with the IDSA reference architecture and specifications -The basecamp will use OSS, which has been accepted by commercial operators after validation towards security, scalability and maintainability requirements and is used in productive environments. It does not contain any proprietary elements and is available to all parties which are willing to contribute.   +v 1.0 of the Basecamp is a distribution following IDS RAM 4.0 and the EDC MS 0.8. -It is open to be extended with additional components and services (like onboarding workflows, integration with ID or certificate providers, testbeds, different type of connectors).  +It consists of the following IDS based infrastructure components: +CA, DAPS, ParIS, Metadata Broker, Transaction Log (Clearing House) -eine Distribution, die basierend auf Ram 4.0, EDC MS 0.8 die folgenden Komponenten integriert zur Verfügung stellt: +(Klaus) 1. How to get started (truzzt Port umbenennen) -2. Verweis auf die Repositories +2. Core Repository -**Road Map:** +3. Useful Extensions +- SGX... -Die Erweiterung auf Ram 5.0 ist in der Planungsphase. - - - -**Genesis: Project Launch Coalition II Base Camp**  - -- Mission Statement:  -- Set-up an open source V1 for all IDS based infrastructure components to enable external stakeholder to set up data spaces on a reliable base  -- Team: Klaus Ottradovetz, Rainer Sträter, Hannes Bauer  -- Supporter: André Nemat, Lars Nagel, Sebastian Steinbuss, Christoph Mertens   -- Start: March 23, 2023  -- End: August 31, 2023  - - -Approach  - -- intensive research with the community on available software assets   -- improvement of the code base towards a production grade technical readiness level  -- packaging towards an integrated distribution   -![](pictures/0.png) +Roadmap: "v Next" +* Extension to Vocabulary Provider, App Store +* Once RAM 5 and the protocol specs are finalized we will start planning for the next release -![](pictures/1.svg) -![](pictures/2.png) From c1d4d569642723dd23a50b590cf02fc3c2ef946d Mon Sep 17 00:00:00 2001 From: Robin Bauer <113348044+robinidento@users.noreply.github.com> Date: Tue, 7 Nov 2023 09:34:42 +0100 Subject: [PATCH 03/20] Update README.md --- README.md | 206 ------------------------------------------------------ 1 file changed, 206 deletions(-) diff --git a/README.md b/README.md index 5b3b2c9..2f6b08c 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,6 @@ v 1.0 of the Basecamp is a distribution following IDS RAM 4.0 and the EDC MS 0.8 It consists of the following IDS based infrastructure components: CA, DAPS, ParIS, Metadata Broker, Transaction Log (Clearing House) -(Klaus) 1. How to get started (truzzt Port umbenennen) @@ -35,197 +34,6 @@ Roadmap: "v Next" - - -**Changelog** - - -|Version|Date|Description|Editor| -| :- | :- | :- | :- | -|1\.0|2022-09-15|Base Camp Part|Christoph Mertens| -|1\.0|2022-11-18|Description International Standard for Data Sovereignty|Robin Bauer| -|1\.1|2022-11-20|Adding Neuropil Informations|Robin Bauer| -|2\.0|2023-03.15|New Graphics for Dataspaces as Ecosystems|Robin Bauer| - -** -# **Inhalt** - -[1.International standard to ensure data sovereignty, traceability and anchors of trust on the Internet. 5](#_toc120026346) - -[1.1 Basics for understanding the implementation of the IDSA standard: 5](#_toc120026347) - -[1.2. An example: Fake shops: 5](#_toc120026348) - -[2. Rudiments: 6](#_toc120026349) - -[2.1. How to do it without restricting ecosystems? 6](#_toc120026350) - -[2.2. How is the problem of trust in road traffic regulated internationally?? 6](#_toc120026351) - -[2.2.1. With laws, rules and standards! 6](#_toc120026352) - -[2.3.How to solve the trust problem in a data ecosystem? 7](#_toc120026353) - -[3. The IDSA-Standard: 7](#_toc120026354) - -[4. What does an architecture look like that guarantees data sovereignty with free data trading?: 8](#_toc120026355) - -[5. Why is the IDSA standard possible today? 9](#_toc120026356) - -[6. Core technologies used for implementation 10](#_toc120026357) - -[7. Short description Structure: Neuropil for Connectors, DAPS and Broker: 10](#_toc120026358) - -[8. Brief description of Open Source Intel® SGX Technology 12](#_toc120026359) - -[9. Basis for IDSA-based data rooms: 12](#_toc120026360) - -[10. Data rooms as data ecosystems using IDSA Connectors and Essential Services: 13](#_toc120026361) - -[Additional Information: 14](#_toc120026362) - -[W3C Verified Credentials 14](#_toc120026363) - - -** - -# **1**. **International standard to ensure data sovereignty, traceability and anchors of trust on the Internet.** - -**Apart from technical buzzwords and structures, this document should focus on what should be made possible in theory:** - -Data sovereignty, traceability and anchors of trust. - -## **1.1 Basics for understanding the implementation of the IDSA** **Standard:** - -Would you feel safe on public roads at home or abroad without traffic signs and license plates? - -This is exactly what is happening on the Internet. - -Similar to traffic regulations and access conditions for road traffic, we also need a standard on the Internet on which we can build mutual trust. With **data sovereignty** and **traceability**, we can achieve this. By allowing all users to use the Internet under the same conditions and understand what happens to their own data, we create a starting point that everyone can refer to. - -We provide an **anchor of trust** that enables safe and equal cooperation with minimal risk. As with license plates, users remain anonymous to others, but can be identified if necessary. Retailers and buyers benefit from mutual traceability and fake news can also be effectively traced and combated. -**1.2. Fake shops as an example:** - ------------------------------------ -Buyers don't trust retailers and retailers don't trust buyers. Shopping on the Internet offers certain risks for both. For potential buyers it is important: Will I get my goods? Are the goods genuine and undamaged? - -Retailers, on the other hand, have to ask themselves: Will I get my money? Will I be cheated out of the purchase amount afterwards? Both sides have legitimate reasons to be cautious, perhaps even suspicious, of the other. - -These problems are not new, but well-known and just need to be adapted to today's times and technologies. Proposals for solutions must solve the problems and meet today's requirements. -# **2. Rudiments:** - -## **2.1. How to do it without restricting ecosystems?** - -Establishing secure communication between two known parties is technically easy to implement. If you want to use data ecosystems, you need more. You need an overarching, secure standard that takes into account many complex things and is modularly expandable. - -The data ecosystem is not only the communication between data providers and data consumers, but a complete ecosystem that must run securely and according to certain laws, rules and ethical principles. Laws protect those who cannot protect themselves. - -An example of a solution in such a complex ecosystem is road traffic: it is not enough to build roads and cars to get from A to B, but rules and laws must be complied with, so that traffic can run safely. Cars have certain construction requirements and traffic is regulated by laws. - -## **2.2. How is the problem of trust in road transport regulated internationally?** - -### **2.2.1. With laws, rules and standards!** - -- Manufacturers may only sell cars with certification and ECE homologation -- The course and numbering of European routes, including motorways, is determined by ECE. -- Car owners head to the local traffic office with their vehicle registration, insurance and identity card. -- License plate is issued and must be attached to the car in the prescribed place. -- Car owners are entitled to drive with this license plate but must always carry a valid driver's license and a vehicle registration document. -- Of course, there are always participants who do not comply with law, but there are the police, monitoring all traffic and intervening if necessary. -- Only the police are able to check driving rights, license plates and car papers. - - - -## **2.3. How to solve the trust problem in a data ecosystem?** - -**With laws, rules and standards! Described here with the IDSA standard.** - - -**From highway to data highway.** - -- An IDSA connector must comply with certain building codes in order to obtain a valid certificate. -- An IDSA connector requires registration (onboarding) regulated by DAPS, PaRIS and identity providers. Here the verified identity is connected to a certified connector and you get another certificate (ID). This ID can be assigned by all authorized data rooms. -- With a valid certificate (ID), the connector is authorized to participate in the ecosystem, exchange or purchase data. - - -# **3. The IDSA-Standard:** - -- The abbreviation stands for "International Data Spaces Association", which is the author of said standard. Simply put, this is an architectural regulation that guarantees the authenticity of customers and merchants including secure data transmission based on "clean room" connectors through secure and verified identities. -- This way you can always be sure that your counterpart is the person they claim to be. At the same time, data traceability ensures buyer and dealer protection. - -- Core components are the **IDSA Connector** and the so-called "**Essential Services**": - - -- The **Dynamic Attribute Provisioning System** or "**DAPS"** ensures the identity of all participants. This system confirms the authenticity of individuals by verifying the certificates created during the process with the help of other services (ParIS, identity management). -- In order for the connectors to find each other, the **broker** is needed**.** This mediates both partners and ensures a correct assignment. It is also possible to search for specific data via the broker or to offer your own. -- In order to be able to reliably trace the transactions made, there is the **clearing house:** using encrypted, non-forgeable protocols, it records the data transfers between traders and buyers. In addition, terms of use of transmitted data are also stored. -- Last but not least, the **App Store** is a service that allows connector owners to run certified programs in their connector. In the App Store, for example, certified personal assistants can be downloaded, which have been specially created for this purpose. - -# **4. What does an architecture look like that guarantees data sovereignty with free data trading:** - -A decentralized, distributed system for the respective functions and services is also a technical prerequisite for the IDSA services themselves. Similar to the DNS (Domain Name Service), e.g., the DAPS should be able to be operated by anyone, but the function must not be manipulable. This allows companies the greatest possible independence, also in the pricing of the use of the services. Likewise, DNS is essential for the functioning of the Internet, but no one pays directly for this service. - -Further prerequisites for this are the implementation of data **sovereignty, data traceability and anchors of trust**. - -**Data sovereignty:** allows completely self-determined control over the collection, storage, use and processing of one's own data. - -**Data traceability**: as a data provider, you want to make sure that you can determine who can do what with your own data in a data space, and under what conditions. You want to have transparency about what actually happens to shared data. - -**Anchor of trust**: You also want to be able to trust that the person is really who he claims to be. (Figure 1). This requires an anchor of trust and secure **digital identities**. -** - - -Figure 1: schematic representation – implementation of data sovereignty with IDSA components - -**Essential -Services** - -![](pictures/3.jpg) - -*Figure 1.* - -# **5. Why is the IDSA standard possible today?** - - -![](pictures/4.png) - -**2022 truzzt** - -Machines and containers are the basic prerequisite for IDSA-based dataspaces. - - - - -# **6. Core technologies used in the implementation** - -Neuropil - -Intel SGX - -Keycloak - -W3C (verified credentials) - -Kubernetes - -… -# **7. Short description of Neuropil for Connectors, DAPS and Broker:** - -Neuropil is an overlay network (a logical network) that is built on top of an existing physical network (Internet). A separate address space with its own addressing, as well as with the use of its own path selection methods is used (independent of the underlay). Neuropil is used to build an additional logical topology for the distribution of essential services, which are therefore decentralized. In addition, Neuropil results in a resource-saving and effective structure, which enables fast communication on IoT devices. In this logical network, the physical network addresses of nodes are mapped to randomly selected virtual addresses. This virtual address space is large enough that most of it is never used, and address collisions are virtually impossible. The Neuropil protocol is aligned by the architecture according to IDS. - - -**Explanation: -Functionality of the Broker** - -- virtual subject Neuropil (self-description can be sent or not) supports only a limited message size -- DAT Subject: Dynamic Attribute Token (DAPS Token abfragen) - - -![](pictures/5.jpg) - - - - # **8. Brief description of Open Source Intel® SGX Technology** For application and solution developers, new hardware-based controls for cloud and enterprise environments provide excellent opportunities to ensure high data security. Intel® Software Guard Extensions (Intel® SGX)1 2 provide hardware-based encryption of memory contents that isolates specific program code and data in memory. With Intel® SGX, application code can consume its own areas of memory, known as enclaves, that are protected from processes running at a higher privilege level. Only Intel® SGX offers this level of control and protection. (). @@ -234,20 +42,6 @@ Intel® SGX helps protect against many known and active threats. They form an ad The combination of Intel® SGX's enhanced security and verification capabilities, along with Intel's continued collaboration with a broad ecosystem of security companies, helps minimize the potential attack surface and even reduce theoretical risks. -# **9. The basis for IDSA-based data rooms:** - -A virtual machine/container with IDSA Connector (Data Space) as a Service and Essential Services to ensure data sovereignty, traceability and anchors of trust. -# **10. Data rooms as data ecosystems using IDSA Connectors and Essential Services:** - -![](pictures/7.png) - -![](pictures/8.png) - -# **Additional Information:** - -## **W3C Verified Credentials** -**In the physical world Identification takes place** through sensory perception (optical, haptic, acoustic, olfactory, gustatory) and related cognitive processes, such as comparison with existing knowledge. Limited or missing senses or knowledge makes it difficult to act in the physical world. A fake ID, the mimicry of an insect or even the pictorial optical illusion, there are hurdles in the clear identification. In addition, an entity often has different identities, roles, states that it occupies and about which it may reveal only parts of itself or is willing to reveal. However, the interaction of the senses and the involvement of external knowledge helps in the progressive interaction with the entity to identify it for what it actually is. -**In virtual worlds** representation and identification of an entity takes place via zeros and ones. Sensors are merely an uncertain bridge to physical reality. In this sense, on a digital basis, the processes and concepts of digital identities – including ensuring truthfulness, management and governance, as well as their applicability and variability of use – are of fundamental importance. The approaches differ depending on what identities are needed and created for, depending on industry or company and the type of entity, whether it is machines, components, products, people, patents, software or websites. From 164fd8ee519c7a800335c97c70225738ac37c90c Mon Sep 17 00:00:00 2001 From: Robin Bauer <113348044+robinidento@users.noreply.github.com> Date: Tue, 7 Nov 2023 09:36:28 +0100 Subject: [PATCH 04/20] Update README.md --- README.md | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 2f6b08c..a85a63a 100644 --- a/README.md +++ b/README.md @@ -25,16 +25,9 @@ CA, DAPS, ParIS, Metadata Broker, Transaction Log (Clearing House) 2. Core Repository 3. Useful Extensions -- SGX... - - -Roadmap: "v Next" -* Extension to Vocabulary Provider, App Store -* Once RAM 5 and the protocol specs are finalized we will start planning for the next release - - - -# **8. Brief description of Open Source Intel® SGX Technology** +- SGX: + +# **Brief description of Open Source Intel® SGX Technology** For application and solution developers, new hardware-based controls for cloud and enterprise environments provide excellent opportunities to ensure high data security. Intel® Software Guard Extensions (Intel® SGX)1 2 provide hardware-based encryption of memory contents that isolates specific program code and data in memory. With Intel® SGX, application code can consume its own areas of memory, known as enclaves, that are protected from processes running at a higher privilege level. Only Intel® SGX offers this level of control and protection. (). @@ -43,5 +36,6 @@ Intel® SGX helps protect against many known and active threats. They form an ad The combination of Intel® SGX's enhanced security and verification capabilities, along with Intel's continued collaboration with a broad ecosystem of security companies, helps minimize the potential attack surface and even reduce theoretical risks. - - +Roadmap: "v Next" +* Extension to Vocabulary Provider, App Store +* Once RAM 5 and the protocol specs are finalized we will start planning for the next release From f727da130b40d83e30b26e0d796dba33a1197d0c Mon Sep 17 00:00:00 2001 From: Klaus Ottradovetz <67057690+kottradovetz@users.noreply.github.com> Date: Tue, 7 Nov 2023 09:41:53 +0100 Subject: [PATCH 05/20] Update README.md SGX Extensions to separate page --- README.md | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/README.md b/README.md index a85a63a..c09171e 100644 --- a/README.md +++ b/README.md @@ -27,15 +27,3 @@ CA, DAPS, ParIS, Metadata Broker, Transaction Log (Clearing House) 3. Useful Extensions - SGX: -# **Brief description of Open Source Intel® SGX Technology** - -For application and solution developers, new hardware-based controls for cloud and enterprise environments provide excellent opportunities to ensure high data security. Intel® Software Guard Extensions (Intel® SGX)1 2 provide hardware-based encryption of memory contents that isolates specific program code and data in memory. With Intel® SGX, application code can consume its own areas of memory, known as enclaves, that are protected from processes running at a higher privilege level. Only Intel® SGX offers this level of control and protection. (). - -Intel® SGX helps protect against many known and active threats. They form an additional layer of defense by helping to reduce the attack surface of the system. - -The combination of Intel® SGX's enhanced security and verification capabilities, along with Intel's continued collaboration with a broad ecosystem of security companies, helps minimize the potential attack surface and even reduce theoretical risks. - - -Roadmap: "v Next" -* Extension to Vocabulary Provider, App Store -* Once RAM 5 and the protocol specs are finalized we will start planning for the next release From 16c79d3debb03161dfeb7664978854c4c8d8fa76 Mon Sep 17 00:00:00 2001 From: Robin Bauer <113348044+robinidento@users.noreply.github.com> Date: Wed, 8 Nov 2023 14:06:08 +0100 Subject: [PATCH 06/20] Update README.md Updated Links of repositories --- README.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index c09171e..eea806a 100644 --- a/README.md +++ b/README.md @@ -20,10 +20,14 @@ It consists of the following IDS based infrastructure components: CA, DAPS, ParIS, Metadata Broker, Transaction Log (Clearing House) -1. How to get started (truzzt Port umbenennen) +1. How to get started: + - https://github.com/truzzt/truzztport -2. Core Repository +2. Core Repository + - Broker: https://github.com/truzzt/ids-basecamp-broker + - Clearinghouse: https://github.com/truzzt/ids-basecamp-clearinghouse + - DAPS: https://github.com/truzzt/ids-basecamp-daps 3. Useful Extensions -- SGX: + - Portal: https://github.com/truzzt/ids-basecamp-portal From 9b037d66de56daf8e95522ee4f4aa3401831d6c2 Mon Sep 17 00:00:00 2001 From: Robin Bauer <113348044+robinidento@users.noreply.github.com> Date: Wed, 8 Nov 2023 14:07:17 +0100 Subject: [PATCH 07/20] Rename README.md to README v2.md --- README.md => README v2.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename README.md => README v2.md (100%) diff --git a/README.md b/README v2.md similarity index 100% rename from README.md rename to README v2.md From 6766d4ca0404438bdbef101b7939198364b53887 Mon Sep 17 00:00:00 2001 From: Robin Bauer <113348044+robinidento@users.noreply.github.com> Date: Wed, 8 Nov 2023 15:04:29 +0100 Subject: [PATCH 08/20] Rename README v2.md to README.md --- README v2.md => README.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename README v2.md => README.md (100%) diff --git a/README v2.md b/README.md similarity index 100% rename from README v2.md rename to README.md From c70b71b4a86d35d41795789dcddf9f28acb12620 Mon Sep 17 00:00:00 2001 From: Augusto Leal Date: Wed, 21 Feb 2024 18:29:54 -0300 Subject: [PATCH 09/20] feat: broker included --- quick-start-guide/.env | 7 + quick-start-guide/docker-compose.yml | 201 +++++++++++++++++++++++ quick-start-guide/resources/sql/init.sql | 3 + 3 files changed, 211 insertions(+) create mode 100644 quick-start-guide/.env create mode 100644 quick-start-guide/docker-compose.yml create mode 100644 quick-start-guide/resources/sql/init.sql diff --git a/quick-start-guide/.env b/quick-start-guide/.env new file mode 100644 index 0000000..7971494 --- /dev/null +++ b/quick-start-guide/.env @@ -0,0 +1,7 @@ +POSTGRES_PASSWORD = password +POSTGRES_USER = postgres +CONNECTOR_1_POSTGRES_URL = jdbc:postgresql://postgresql:5432/connector1 +CONNECTOR_2_POSTGRES_URL = jdbc:postgresql://postgresql:5432/connector2 +BROKER_POSTGRES_URL = jdbc:postgresql://postgresql:5432/broker +DAPS_URL = http://85.215.159.70:4567 +BROKER_DOMAIN = http://localhost:8181 diff --git a/quick-start-guide/docker-compose.yml b/quick-start-guide/docker-compose.yml new file mode 100644 index 0000000..bc0e9e7 --- /dev/null +++ b/quick-start-guide/docker-compose.yml @@ -0,0 +1,201 @@ +version: "3.9" + +services: + postgresql: + image: postgres:14-alpine + environment: + POSTGRES_USER: $POSTGRES_USER + POSTGRES_PASSWORD: $POSTGRES_PASSWORD + volumes: + - ./resources/sql/init.sql:/docker-entrypoint-initdb.d/init.sql + + broker: + image: ghcr.io/ids-basecamp/broker:v1.0.0-basecamp + restart: always + depends_on: + - postgresql + environment: + WEB_HTTP_PORT: 13001 + WEB_HTTP_PATH: /api + WEB_HTTP_DATA_PORT: 13002 + WEB_HTTP_DATA_PATH: /api/v1/data + WEB_HTTP_IDS_PORT: 13003 + WEB_HTTP_IDS_PATH: /api/v1/ids + WEB_HTTP_MANAGEMENT_PORT: 13004 + WEB_HTTP_MANAGEMENT_PATH: / + EDC_IDS_ID: urn:connector:broker + EDC_IDS_TITLE: 'truzzt IDS BaseCamp Broker' + EDC_IDS_DESCRIPTION: "Truzzt's IDS BaseCamp Broker" + EDC_IDS_ENDPOINT: $BROKER_DOMAIN/api/v1/ids + IDS_WEBHOOK_ADDRESS: $BROKER_DOMAIN + EDC_IDS_CURATOR: http://truzzt.com + EDC_IDS_MAINTAINER: http://truzzt.com + EDC_CONNECTOR_NAME: truzzt-example-connector + EDC_HOSTNAME: $BROKER_DOMAIN + EDC_API_AUTH_KEY: ApiKeyDefaultValue + EDC_WEB_REST_CORS_ENABLED: 'true' + EDC_WEB_REST_CORS_HEADERS: 'origin,content-type,accept,authorization,x-api-key' + EDC_WEB_REST_CORS_ORIGINS: '*' + EDC_FLYWAY_REPAIR: 'false' + EDC_DATASOURCE_DEFAULT_URL: $BROKER_POSTGRES_URL + EDC_DATASOURCE_DEFAULT_USER: $POSTGRES_USER + EDC_DATASOURCE_DEFAULT_PASSWORD: $POSTGRES_PASSWORD + EDC_VAULT: /resources/vault.properties + EDC_KEYSTORE: /resources/broker.jks + EDC_KEYSTORE_PASSWORD: password + EDC_OAUTH_CERTIFICATE_ALIAS: 1 + EDC_OAUTH_PRIVATE_KEY_ALIAS: 1 + EDC_OAUTH_CLIENT_ID: 18:10:72:F0:2D:07:10:94:C4:16:93:21:54:15:09:46:20:B1:F2:E2:5B:57:F7:61:16:B2:B0:13:49:59:70:34:45:44:90:51:24:4A:1C:09 + EDC_OAUTH_TOKEN_URL: $DAPS_URL/token + EDC_OAUTH_PROVIDER_JWKS_URL: $DAPS_URL/jwks.json + EDC_OAUTH_PROVIDER_AUDIENCE: idsc:IDS_CONNECTORS_ALL + + EDC_CATALOG_CACHE_EXECUTION_DELAY_SECONDS: 5 + EDC_CATALOG_CACHE_EXECUTION_PERIOD_SECONDS: 5 + EDC_CATALOG_CACHE_PARTITION_NUM_CRAWLERS: 60 + volumes: + - ./resources:/resources + + connector_1: + depends_on: + - postgresql + image: ghcr.io/ids-basecamp/connector:v1.0.0-basecamp + environment: + WEB_HTTP_PORT: 9191 + WEB_HTTP_PATH: /api + WEB_HTTP_MANAGEMENT_PORT: 9192 + WEB_HTTP_MANAGEMENT_PATH: /api/v1/management + WEB_HTTP_DATA_PORT: 9292 + WEB_HTTP_DATA_PATH: /api/v1/data + WEB_HTTP_IDS_PORT: 9293 + WEB_HTTP_IDS_PATH: /api/v1/ids + EDC_API_AUTH_KEY: password + + EDC_DATASOURCE_DEFAULT_NAME: default + EDC_DATASOURCE_DEFAULT_URL: $CONNECTOR_1_POSTGRES_URL + EDC_DATASOURCE_DEFAULT_USER: $POSTGRES_USER + EDC_DATASOURCE_DEFAULT_PASSWORD: $POSTGRES_PASSWORD + + EDC_DATASOURCE_DATAPLANEINSTANCE_NAME: dataplaneinstance + EDC_DATASOURCE_DATAPLANEINSTANCE_URL: $CONNECTOR_1_POSTGRES_URL + EDC_DATASOURCE_DATAPLANEINSTANCE_USER: $POSTGRES_USER + EDC_DATASOURCE_DATAPLANEINSTANCE_PASSWORD: $POSTGRES_PASSWORD + + EDC_DATASOURCE_ASSET_NAME: asset + EDC_DATASOURCE_ASSET_URL: $CONNECTOR_1_POSTGRES_URL + EDC_DATASOURCE_ASSET_USER: $POSTGRES_USER + EDC_DATASOURCE_ASSET_PASSWORD: $POSTGRES_PASSWORD + + EDC_DATASOURCE_CONTRACTDEFINITION_NAME: contractdefinition + EDC_DATASOURCE_CONTRACTDEFINITION_URL: $CONNECTOR_1_POSTGRES_URL + EDC_DATASOURCE_CONTRACTDEFINITION_USER: $POSTGRES_USER + EDC_DATASOURCE_CONTRACTDEFINITION_PASSWORD: $POSTGRES_PASSWORD + + EDC_DATASOURCE_CONTRACTNEGOTIATION_NAME: contractnegotiation + EDC_DATASOURCE_CONTRACTNEGOTIATION_URL: $CONNECTOR_1_POSTGRES_URL + EDC_DATASOURCE_CONTRACTNEGOTIATION_USER: $POSTGRES_USER + EDC_DATASOURCE_CONTRACTNEGOTIATION_PASSWORD: $POSTGRES_PASSWORD + + EDC_DATASOURCE_POLICY_NAME: policy + EDC_DATASOURCE_POLICY_URL: $CONNECTOR_1_POSTGRES_URL + EDC_DATASOURCE_POLICY_USER: $POSTGRES_USER + EDC_DATASOURCE_POLICY_PASSWORD: $POSTGRES_PASSWORD + + EDC_DATASOURCE_TRANSFERPROCESS_NAME: transferprocess + EDC_DATASOURCE_TRANSFERPROCESS_URL: $CONNECTOR_1_POSTGRES_URL + EDC_DATASOURCE_TRANSFERPROCESS_USER: $POSTGRES_USER + EDC_DATASOURCE_TRANSFERPROCESS_PASSWORD: $POSTGRES_PASSWORD + + EDC_CLEARINGHOUSE_LOG_URL: + BROKER_CLIENT_EXTENSION_ENABLED: "false" + EDC_BROKER_BASE_URL: + + EDC_OAUTH_CERTIFICATE_ALIAS: 1 + EDC_OAUTH_PRIVATE_KEY_ALIAS: 1 + EDC_OAUTH_CLIENT_ID: 18:10:72:F0:2D:07:10:94:C4:16:93:21:54:15:09:46:20:B1:F2:E2:5B:57:F7:61:16:B2:B0:13:49:59:70:34:45:44:90:51:24:4A:1C:09 + EDC_OAUTH_TOKEN_URL: $DAPS_URL/token + EDC_OAUTH_PROVIDER_JWKS_URL: $DAPS_URL/jwks.json + EDC_OAUTH_PROVIDER_AUDIENCE: idsc:IDS_CONNECTORS_ALL + + EDC_KEYSTORE: /resources/connector1.jks + EDC_KEYSTORE_PASSWORD: password + EDC_VAULT: /resources/vault.properties + volumes: + - ./resources:/resources + ports: + - "9001:9191" + - "9002:9192" + - "9003:9292" + - "9004:9293" + + connector_2: + depends_on: + - postgresql + image: ghcr.io/ids-basecamp/connector:v1.0.0-basecamp + environment: + WEB_HTTP_PORT: 9191 + WEB_HTTP_PATH: /api + WEB_HTTP_MANAGEMENT_PORT: 9192 + WEB_HTTP_MANAGEMENT_PATH: /api/v1/management + WEB_HTTP_DATA_PORT: 9292 + WEB_HTTP_DATA_PATH: /api/v1/data + WEB_HTTP_IDS_PORT: 9293 + WEB_HTTP_IDS_PATH: /api/v1/ids + EDC_API_AUTH_KEY: password + + EDC_DATASOURCE_DEFAULT_NAME: default + EDC_DATASOURCE_DEFAULT_URL: $CONNECTOR_2_POSTGRES_URL + EDC_DATASOURCE_DEFAULT_USER: $POSTGRES_USER + EDC_DATASOURCE_DEFAULT_PASSWORD: $POSTGRES_PASSWORD + + EDC_DATASOURCE_DATAPLANEINSTANCE_NAME: dataplaneinstance + EDC_DATASOURCE_DATAPLANEINSTANCE_URL: $CONNECTOR_2_POSTGRES_URL + EDC_DATASOURCE_DATAPLANEINSTANCE_USER: $POSTGRES_USER + EDC_DATASOURCE_DATAPLANEINSTANCE_PASSWORD: $POSTGRES_PASSWORD + + EDC_DATASOURCE_ASSET_NAME: asset + EDC_DATASOURCE_ASSET_URL: $CONNECTOR_2_POSTGRES_URL + EDC_DATASOURCE_ASSET_USER: $POSTGRES_USER + EDC_DATASOURCE_ASSET_PASSWORD: $POSTGRES_PASSWORD + + EDC_DATASOURCE_CONTRACTDEFINITION_NAME: contractdefinition + EDC_DATASOURCE_CONTRACTDEFINITION_URL: $CONNECTOR_2_POSTGRES_URL + EDC_DATASOURCE_CONTRACTDEFINITION_USER: $POSTGRES_USER + EDC_DATASOURCE_CONTRACTDEFINITION_PASSWORD: $POSTGRES_PASSWORD + + EDC_DATASOURCE_CONTRACTNEGOTIATION_NAME: contractnegotiation + EDC_DATASOURCE_CONTRACTNEGOTIATION_URL: $CONNECTOR_2_POSTGRES_URL + EDC_DATASOURCE_CONTRACTNEGOTIATION_USER: $POSTGRES_USER + EDC_DATASOURCE_CONTRACTNEGOTIATION_PASSWORD: $POSTGRES_PASSWORD + + EDC_DATASOURCE_POLICY_NAME: policy + EDC_DATASOURCE_POLICY_URL: $CONNECTOR_2_POSTGRES_URL + EDC_DATASOURCE_POLICY_USER: $POSTGRES_USER + EDC_DATASOURCE_POLICY_PASSWORD: $POSTGRES_PASSWORD + + EDC_DATASOURCE_TRANSFERPROCESS_NAME: transferprocess + EDC_DATASOURCE_TRANSFERPROCESS_URL: $CONNECTOR_2_POSTGRES_URL + EDC_DATASOURCE_TRANSFERPROCESS_USER: $POSTGRES_USER + EDC_DATASOURCE_TRANSFERPROCESS_PASSWORD: $POSTGRES_PASSWORD + + EDC_CLEARINGHOUSE_LOG_URL: + BROKER_CLIENT_EXTENSION_ENABLED: "false" + EDC_BROKER_BASE_URL: + + EDC_OAUTH_CERTIFICATE_ALIAS: 1 + EDC_OAUTH_PRIVATE_KEY_ALIAS: 1 + EDC_OAUTH_CLIENT_ID: 18:10:72:F0:2D:07:10:94:C4:16:93:21:54:15:09:46:20:B1:F2:E2:5B:57:F7:61:16:B2:B0:13:49:59:70:34:45:44:90:51:24:4A:1C:09 + EDC_OAUTH_TOKEN_URL: http://85.215.159.70:4567/token + EDC_OAUTH_PROVIDER_JWKS_URL: http://85.215.159.70:4567/jwks.json + EDC_OAUTH_PROVIDER_AUDIENCE: idsc:IDS_CONNECTORS_ALL + + EDC_KEYSTORE: /resources/connector2.jks + EDC_KEYSTORE_PASSWORD: password + EDC_VAULT: /resources/vault.properties + volumes: + - ./resources:/resources + ports: + - "9005:9191" + - "9006:9192" + - "9007:9292" + - "9008:9293" diff --git a/quick-start-guide/resources/sql/init.sql b/quick-start-guide/resources/sql/init.sql new file mode 100644 index 0000000..4ff8aa4 --- /dev/null +++ b/quick-start-guide/resources/sql/init.sql @@ -0,0 +1,3 @@ +create database connector1; +create database connector2; +create database broker; \ No newline at end of file From ac144de9b1c2ecb1ece9334b6ba84cd384614c67 Mon Sep 17 00:00:00 2001 From: Augusto Leal Date: Thu, 22 Feb 2024 17:50:36 -0300 Subject: [PATCH 10/20] feat: multiple databases and clearing house included --- quick-start-guide/docker-compose.yml | 52 +++++++++++++++--- quick-start-guide/resources/broker.jks | Bin 0 -> 2145 bytes .../resources/clearing-house.jks | Bin 0 -> 2145 bytes quick-start-guide/resources/connector1.jks | Bin 0 -> 2145 bytes quick-start-guide/resources/connector2.jks | Bin 0 -> 2145 bytes quick-start-guide/resources/sql/init.sql | 3 - .../resources/sql/multiple-databases.sh | 22 ++++++++ quick-start-guide/resources/vault.properties | 0 8 files changed, 67 insertions(+), 10 deletions(-) create mode 100644 quick-start-guide/resources/broker.jks create mode 100644 quick-start-guide/resources/clearing-house.jks create mode 100644 quick-start-guide/resources/connector1.jks create mode 100644 quick-start-guide/resources/connector2.jks delete mode 100644 quick-start-guide/resources/sql/init.sql create mode 100644 quick-start-guide/resources/sql/multiple-databases.sh create mode 100644 quick-start-guide/resources/vault.properties diff --git a/quick-start-guide/docker-compose.yml b/quick-start-guide/docker-compose.yml index bc0e9e7..e5cf03f 100644 --- a/quick-start-guide/docker-compose.yml +++ b/quick-start-guide/docker-compose.yml @@ -3,17 +3,24 @@ version: "3.9" services: postgresql: image: postgres:14-alpine + container_name: postgresql environment: - POSTGRES_USER: $POSTGRES_USER - POSTGRES_PASSWORD: $POSTGRES_PASSWORD + POSTGRES_USER: postgres + POSTGRES_PASSWORD: password + POSTGRES_MULTIPLE_DATABASES: connector1, connector2, broker + healthcheck: + test: [ "CMD-SHELL", "pg_isready -U postgres" ] + interval: 5s + timeout: 5s + retries: 5 volumes: - - ./resources/sql/init.sql:/docker-entrypoint-initdb.d/init.sql + - ./resources/sql/multiple-databases.sh:/docker-entrypoint-initdb.d/multiple-databases.sh broker: image: ghcr.io/ids-basecamp/broker:v1.0.0-basecamp - restart: always depends_on: - - postgresql + postgresql: + condition: service_healthy environment: WEB_HTTP_PORT: 13001 WEB_HTTP_PATH: /api @@ -55,10 +62,13 @@ services: EDC_CATALOG_CACHE_PARTITION_NUM_CRAWLERS: 60 volumes: - ./resources:/resources + ports: + - "5001:9191" connector_1: depends_on: - - postgresql + postgresql: + condition: service_healthy image: ghcr.io/ids-basecamp/connector:v1.0.0-basecamp environment: WEB_HTTP_PORT: 9191 @@ -130,7 +140,8 @@ services: connector_2: depends_on: - - postgresql + postgresql: + condition: service_healthy image: ghcr.io/ids-basecamp/connector:v1.0.0-basecamp environment: WEB_HTTP_PORT: 9191 @@ -199,3 +210,30 @@ services: - "9006:9192" - "9007:9292" - "9008:9293" + + clearing-house-edc: + image: ghcr.io/ids-basecamp/clearinghouse/ch-edc:1.0.0-beta.2 + environment: + WEB_HTTP_PORT: 7171 + WEB_HTTP_PATH: /api + WEB_HTTP_PROTOCOL_PORT: 7272 + WEB_HTTP_PROTOCOL_PATH: /protocol + + EDC_VAULT: /resources/vault.properties + EDC_KEYSTORE: /resources/broker.jks + EDC_KEYSTORE_PASSWORD: password + + EDC_OAUTH_CERTIFICATE_ALIAS: 1 + EDC_OAUTH_PRIVATE_KEY_ALIAS: 1 + EDC_OAUTH_CLIENT_ID: 18:10:72:F0:2D:07:10:94:C4:16:93:21:54:15:09:46:20:B1:F2:E2:5B:57:F7:61:16:B2:B0:13:49:59:70:34:45:44:90:51:24:4A:1C:09 + EDC_OAUTH_TOKEN_URL: http://85.215.159.70:4567/token + EDC_OAUTH_PROVIDER_JWKS_URL: http://85.215.159.70:4567/jwks.json + EDC_OAUTH_PROVIDER_AUDIENCE: IDSC:IDS_CONNECTORS_ALL + + TRUZZT_CLEARINGHOUSE_JWT_AUDIENCE: 1 + TRUZZT_CLEARINGHOUSE_JWT_ISSUER: 1 + TRUZZT_CLEARINGHOUSE_JWT_SIGN.SECRET: 123 + TRUZZT_CLEARINGHOUSE_JWT_EXPIRES_AT: 30 + TRUZZT_CLEARINGHOUSE_APP_BASE_URL: http://localhost:8000 + volumes: + - ./resources:/resources \ No newline at end of file diff --git a/quick-start-guide/resources/broker.jks b/quick-start-guide/resources/broker.jks new file mode 100644 index 0000000000000000000000000000000000000000..217594157720afd2a4ad6adc44540fc630d97821 GIT binary patch literal 2145 zcmb7_c{J4f8^`DSoy9U^%Qi^HGLjm7$21c~QPxq&MfNbZTp?SQLSsgXx|YaJC`-ti z7DP1G5h_a;Q9{K{!n9cKsNeaW-}#+$|G0lV=RB{^=lz`LvpnZ{HWoG(U@#cSHQ=WK zM6MS<$`VR|!H_VBj#z^PQT)4600K}2MF0Q^L(ma(Ob6@KPkH&ySv&7o%HyKmrOM#S z6Iq%H<&yhFs3*h~S6(MGcWZA?zHhbQV4K|s#%YrY{SqgXl)6{V@jEg*Y059cYIYn~ zIal_405HgQIr$vH0kUM^X6o=`y-% zeSm-vu7vin*Z8V=-q7XZ2Y0dS?aqtC?+>u}Mw(U`tdU-}*4koOQv}mzl7M}^*RH0% zf;YPn5Aph~U9YQc{JjT5X$Wr6(kD0{kSx3i$T*p^jW^W>5W-Jo^Z$|_CuvZr7iR)t z#?l2w#lbVXu=mN@{*9fL7YF^)^AFj-Fx#d67CN|OG@C=Xa0@9{6ZE$sH`s8*2UH6*!7LOE1F~Ey5 zfV|Ort7|~wmck``GG7M%3E@?X=ew@$7nY+RDO^<}$vf2S(q4L`aecRvpM#P@W|-

i*v2Rn3!V(*D8B;wrHM5E+nC*l~dGN)FPFO*OBgpFN3ein|4@qRM@URFsD zo67`KEnZTL?k3%|x602*aN9$Lzc{a_q4f34{7s!XsC;@`Pz<9ohgcm-rD9%s2&ztu zvl{`$rQ+^C;|EkXXC(Q0j&LG)F_^%4>sX@vtR;O(|H|(nxoFiH)6%v>CV}j8$}HQn zCt#<@F3)~s*qBjLyG;G&7&_s;A61d2k)@&CXHL^NPEC^2f8@G1_8$$5B?s>=5+i&` zoG-kPgyw60fx5WAE!1EBL zP|hj5f5nUBDm*?tC1BQf-)~7W8o>$=ll6u1oUS9xYL;vMXE_+`@lp-jKIZ(qeA-@M zTyRuWw_RGBQ)V(E!5>6n+6f#VwMrAUng&6mGH&Uv)FU0 zthXSSfg~n{FK-U9Z8IP3%A9TbVYct2?RUR74V})HZ>I<|#a&KwdW~)?78;Z!@T%pI zJH4yEj*%belw`r;b#r=WiRKxE`fM6n4%#bx$$Q`|9`;xLq(sMC_Hru&3-`c2Sq$LYs++6f|vj+*KW%-96nESgIy*`vzB{9OFir~+eMEp43~Ps z?dmVkT=RyTn0D<>Z6EW-$D=B5w>pBQK-+hxr90h6eK7^0q9CnU++@~oDkO>dem?TP z&i>j3_0MUbRrj7?UW(zWxvg^X^?5@nL-b;END1krt3?zKA?un#i{DC&e?_87z)Hrm za3?j_f*#k7cmcP&IYQQXvjb$AjV?!(&)1@~WK&VH)#pa;{q;e<2>{Wk=t!b6VQzFK z8?sW+vvT;$^Q2am=upwOjclOyGh3kIg9X?zH@PkIXG=udsF5K} z7z{24(cv->9lV(j2LTWS;1EBGS2fnCPa6RTAwwb>;zPl$5GYYlPoF3R32XsB1{D+# z93CD-#BkNz1vCck<{m+^-&Y%NT&t1hyM#XFJ_E(o&-?%YyRGvmN2R+6MOsl~I*oC8Ox@YIBxU>rldQ|4Mj+af_#PzF?|lCP7E>R0I#T`ktS4URl_t z#m=K|#2IYJd1fd%OUviloUkd}Y__!~X@{hHxEbigtp=cC5vA%>36RKzOd zsn$7bwLYoS6T2d+=-&(5x(9oks@y?&S!wDUU~y5Y(*$;DX@@4w3z)#j*CQ1m8h|;|2}=a#1l%? z?R=2@mPQ024Poj3^r`<-m~bx`n qZx33Uyzc7Wi2oY)5%(z=OSTa=ZJnOXTgN$(aFk>FCxa=K5q|?#eULc- literal 0 HcmV?d00001 diff --git a/quick-start-guide/resources/clearing-house.jks b/quick-start-guide/resources/clearing-house.jks new file mode 100644 index 0000000000000000000000000000000000000000..217594157720afd2a4ad6adc44540fc630d97821 GIT binary patch literal 2145 zcmb7_c{J4f8^`DSoy9U^%Qi^HGLjm7$21c~QPxq&MfNbZTp?SQLSsgXx|YaJC`-ti z7DP1G5h_a;Q9{K{!n9cKsNeaW-}#+$|G0lV=RB{^=lz`LvpnZ{HWoG(U@#cSHQ=WK zM6MS<$`VR|!H_VBj#z^PQT)4600K}2MF0Q^L(ma(Ob6@KPkH&ySv&7o%HyKmrOM#S z6Iq%H<&yhFs3*h~S6(MGcWZA?zHhbQV4K|s#%YrY{SqgXl)6{V@jEg*Y059cYIYn~ zIal_405HgQIr$vH0kUM^X6o=`y-% zeSm-vu7vin*Z8V=-q7XZ2Y0dS?aqtC?+>u}Mw(U`tdU-}*4koOQv}mzl7M}^*RH0% zf;YPn5Aph~U9YQc{JjT5X$Wr6(kD0{kSx3i$T*p^jW^W>5W-Jo^Z$|_CuvZr7iR)t z#?l2w#lbVXu=mN@{*9fL7YF^)^AFj-Fx#d67CN|OG@C=Xa0@9{6ZE$sH`s8*2UH6*!7LOE1F~Ey5 zfV|Ort7|~wmck``GG7M%3E@?X=ew@$7nY+RDO^<}$vf2S(q4L`aecRvpM#P@W|-

i*v2Rn3!V(*D8B;wrHM5E+nC*l~dGN)FPFO*OBgpFN3ein|4@qRM@URFsD zo67`KEnZTL?k3%|x602*aN9$Lzc{a_q4f34{7s!XsC;@`Pz<9ohgcm-rD9%s2&ztu zvl{`$rQ+^C;|EkXXC(Q0j&LG)F_^%4>sX@vtR;O(|H|(nxoFiH)6%v>CV}j8$}HQn zCt#<@F3)~s*qBjLyG;G&7&_s;A61d2k)@&CXHL^NPEC^2f8@G1_8$$5B?s>=5+i&` zoG-kPgyw60fx5WAE!1EBL zP|hj5f5nUBDm*?tC1BQf-)~7W8o>$=ll6u1oUS9xYL;vMXE_+`@lp-jKIZ(qeA-@M zTyRuWw_RGBQ)V(E!5>6n+6f#VwMrAUng&6mGH&Uv)FU0 zthXSSfg~n{FK-U9Z8IP3%A9TbVYct2?RUR74V})HZ>I<|#a&KwdW~)?78;Z!@T%pI zJH4yEj*%belw`r;b#r=WiRKxE`fM6n4%#bx$$Q`|9`;xLq(sMC_Hru&3-`c2Sq$LYs++6f|vj+*KW%-96nESgIy*`vzB{9OFir~+eMEp43~Ps z?dmVkT=RyTn0D<>Z6EW-$D=B5w>pBQK-+hxr90h6eK7^0q9CnU++@~oDkO>dem?TP z&i>j3_0MUbRrj7?UW(zWxvg^X^?5@nL-b;END1krt3?zKA?un#i{DC&e?_87z)Hrm za3?j_f*#k7cmcP&IYQQXvjb$AjV?!(&)1@~WK&VH)#pa;{q;e<2>{Wk=t!b6VQzFK z8?sW+vvT;$^Q2am=upwOjclOyGh3kIg9X?zH@PkIXG=udsF5K} z7z{24(cv->9lV(j2LTWS;1EBGS2fnCPa6RTAwwb>;zPl$5GYYlPoF3R32XsB1{D+# z93CD-#BkNz1vCck<{m+^-&Y%NT&t1hyM#XFJ_E(o&-?%YyRGvmN2R+6MOsl~I*oC8Ox@YIBxU>rldQ|4Mj+af_#PzF?|lCP7E>R0I#T`ktS4URl_t z#m=K|#2IYJd1fd%OUviloUkd}Y__!~X@{hHxEbigtp=cC5vA%>36RKzOd zsn$7bwLYoS6T2d+=-&(5x(9oks@y?&S!wDUU~y5Y(*$;DX@@4w3z)#j*CQ1m8h|;|2}=a#1l%? z?R=2@mPQ024Poj3^r`<-m~bx`n qZx33Uyzc7Wi2oY)5%(z=OSTa=ZJnOXTgN$(aFk>FCxa=K5q|?#eULc- literal 0 HcmV?d00001 diff --git a/quick-start-guide/resources/connector1.jks b/quick-start-guide/resources/connector1.jks new file mode 100644 index 0000000000000000000000000000000000000000..217594157720afd2a4ad6adc44540fc630d97821 GIT binary patch literal 2145 zcmb7_c{J4f8^`DSoy9U^%Qi^HGLjm7$21c~QPxq&MfNbZTp?SQLSsgXx|YaJC`-ti z7DP1G5h_a;Q9{K{!n9cKsNeaW-}#+$|G0lV=RB{^=lz`LvpnZ{HWoG(U@#cSHQ=WK zM6MS<$`VR|!H_VBj#z^PQT)4600K}2MF0Q^L(ma(Ob6@KPkH&ySv&7o%HyKmrOM#S z6Iq%H<&yhFs3*h~S6(MGcWZA?zHhbQV4K|s#%YrY{SqgXl)6{V@jEg*Y059cYIYn~ zIal_405HgQIr$vH0kUM^X6o=`y-% zeSm-vu7vin*Z8V=-q7XZ2Y0dS?aqtC?+>u}Mw(U`tdU-}*4koOQv}mzl7M}^*RH0% zf;YPn5Aph~U9YQc{JjT5X$Wr6(kD0{kSx3i$T*p^jW^W>5W-Jo^Z$|_CuvZr7iR)t z#?l2w#lbVXu=mN@{*9fL7YF^)^AFj-Fx#d67CN|OG@C=Xa0@9{6ZE$sH`s8*2UH6*!7LOE1F~Ey5 zfV|Ort7|~wmck``GG7M%3E@?X=ew@$7nY+RDO^<}$vf2S(q4L`aecRvpM#P@W|-

i*v2Rn3!V(*D8B;wrHM5E+nC*l~dGN)FPFO*OBgpFN3ein|4@qRM@URFsD zo67`KEnZTL?k3%|x602*aN9$Lzc{a_q4f34{7s!XsC;@`Pz<9ohgcm-rD9%s2&ztu zvl{`$rQ+^C;|EkXXC(Q0j&LG)F_^%4>sX@vtR;O(|H|(nxoFiH)6%v>CV}j8$}HQn zCt#<@F3)~s*qBjLyG;G&7&_s;A61d2k)@&CXHL^NPEC^2f8@G1_8$$5B?s>=5+i&` zoG-kPgyw60fx5WAE!1EBL zP|hj5f5nUBDm*?tC1BQf-)~7W8o>$=ll6u1oUS9xYL;vMXE_+`@lp-jKIZ(qeA-@M zTyRuWw_RGBQ)V(E!5>6n+6f#VwMrAUng&6mGH&Uv)FU0 zthXSSfg~n{FK-U9Z8IP3%A9TbVYct2?RUR74V})HZ>I<|#a&KwdW~)?78;Z!@T%pI zJH4yEj*%belw`r;b#r=WiRKxE`fM6n4%#bx$$Q`|9`;xLq(sMC_Hru&3-`c2Sq$LYs++6f|vj+*KW%-96nESgIy*`vzB{9OFir~+eMEp43~Ps z?dmVkT=RyTn0D<>Z6EW-$D=B5w>pBQK-+hxr90h6eK7^0q9CnU++@~oDkO>dem?TP z&i>j3_0MUbRrj7?UW(zWxvg^X^?5@nL-b;END1krt3?zKA?un#i{DC&e?_87z)Hrm za3?j_f*#k7cmcP&IYQQXvjb$AjV?!(&)1@~WK&VH)#pa;{q;e<2>{Wk=t!b6VQzFK z8?sW+vvT;$^Q2am=upwOjclOyGh3kIg9X?zH@PkIXG=udsF5K} z7z{24(cv->9lV(j2LTWS;1EBGS2fnCPa6RTAwwb>;zPl$5GYYlPoF3R32XsB1{D+# z93CD-#BkNz1vCck<{m+^-&Y%NT&t1hyM#XFJ_E(o&-?%YyRGvmN2R+6MOsl~I*oC8Ox@YIBxU>rldQ|4Mj+af_#PzF?|lCP7E>R0I#T`ktS4URl_t z#m=K|#2IYJd1fd%OUviloUkd}Y__!~X@{hHxEbigtp=cC5vA%>36RKzOd zsn$7bwLYoS6T2d+=-&(5x(9oks@y?&S!wDUU~y5Y(*$;DX@@4w3z)#j*CQ1m8h|;|2}=a#1l%? z?R=2@mPQ024Poj3^r`<-m~bx`n qZx33Uyzc7Wi2oY)5%(z=OSTa=ZJnOXTgN$(aFk>FCxa=K5q|?#eULc- literal 0 HcmV?d00001 diff --git a/quick-start-guide/resources/connector2.jks b/quick-start-guide/resources/connector2.jks new file mode 100644 index 0000000000000000000000000000000000000000..217594157720afd2a4ad6adc44540fc630d97821 GIT binary patch literal 2145 zcmb7_c{J4f8^`DSoy9U^%Qi^HGLjm7$21c~QPxq&MfNbZTp?SQLSsgXx|YaJC`-ti z7DP1G5h_a;Q9{K{!n9cKsNeaW-}#+$|G0lV=RB{^=lz`LvpnZ{HWoG(U@#cSHQ=WK zM6MS<$`VR|!H_VBj#z^PQT)4600K}2MF0Q^L(ma(Ob6@KPkH&ySv&7o%HyKmrOM#S z6Iq%H<&yhFs3*h~S6(MGcWZA?zHhbQV4K|s#%YrY{SqgXl)6{V@jEg*Y059cYIYn~ zIal_405HgQIr$vH0kUM^X6o=`y-% zeSm-vu7vin*Z8V=-q7XZ2Y0dS?aqtC?+>u}Mw(U`tdU-}*4koOQv}mzl7M}^*RH0% zf;YPn5Aph~U9YQc{JjT5X$Wr6(kD0{kSx3i$T*p^jW^W>5W-Jo^Z$|_CuvZr7iR)t z#?l2w#lbVXu=mN@{*9fL7YF^)^AFj-Fx#d67CN|OG@C=Xa0@9{6ZE$sH`s8*2UH6*!7LOE1F~Ey5 zfV|Ort7|~wmck``GG7M%3E@?X=ew@$7nY+RDO^<}$vf2S(q4L`aecRvpM#P@W|-

i*v2Rn3!V(*D8B;wrHM5E+nC*l~dGN)FPFO*OBgpFN3ein|4@qRM@URFsD zo67`KEnZTL?k3%|x602*aN9$Lzc{a_q4f34{7s!XsC;@`Pz<9ohgcm-rD9%s2&ztu zvl{`$rQ+^C;|EkXXC(Q0j&LG)F_^%4>sX@vtR;O(|H|(nxoFiH)6%v>CV}j8$}HQn zCt#<@F3)~s*qBjLyG;G&7&_s;A61d2k)@&CXHL^NPEC^2f8@G1_8$$5B?s>=5+i&` zoG-kPgyw60fx5WAE!1EBL zP|hj5f5nUBDm*?tC1BQf-)~7W8o>$=ll6u1oUS9xYL;vMXE_+`@lp-jKIZ(qeA-@M zTyRuWw_RGBQ)V(E!5>6n+6f#VwMrAUng&6mGH&Uv)FU0 zthXSSfg~n{FK-U9Z8IP3%A9TbVYct2?RUR74V})HZ>I<|#a&KwdW~)?78;Z!@T%pI zJH4yEj*%belw`r;b#r=WiRKxE`fM6n4%#bx$$Q`|9`;xLq(sMC_Hru&3-`c2Sq$LYs++6f|vj+*KW%-96nESgIy*`vzB{9OFir~+eMEp43~Ps z?dmVkT=RyTn0D<>Z6EW-$D=B5w>pBQK-+hxr90h6eK7^0q9CnU++@~oDkO>dem?TP z&i>j3_0MUbRrj7?UW(zWxvg^X^?5@nL-b;END1krt3?zKA?un#i{DC&e?_87z)Hrm za3?j_f*#k7cmcP&IYQQXvjb$AjV?!(&)1@~WK&VH)#pa;{q;e<2>{Wk=t!b6VQzFK z8?sW+vvT;$^Q2am=upwOjclOyGh3kIg9X?zH@PkIXG=udsF5K} z7z{24(cv->9lV(j2LTWS;1EBGS2fnCPa6RTAwwb>;zPl$5GYYlPoF3R32XsB1{D+# z93CD-#BkNz1vCck<{m+^-&Y%NT&t1hyM#XFJ_E(o&-?%YyRGvmN2R+6MOsl~I*oC8Ox@YIBxU>rldQ|4Mj+af_#PzF?|lCP7E>R0I#T`ktS4URl_t z#m=K|#2IYJd1fd%OUviloUkd}Y__!~X@{hHxEbigtp=cC5vA%>36RKzOd zsn$7bwLYoS6T2d+=-&(5x(9oks@y?&S!wDUU~y5Y(*$;DX@@4w3z)#j*CQ1m8h|;|2}=a#1l%? z?R=2@mPQ024Poj3^r`<-m~bx`n qZx33Uyzc7Wi2oY)5%(z=OSTa=ZJnOXTgN$(aFk>FCxa=K5q|?#eULc- literal 0 HcmV?d00001 diff --git a/quick-start-guide/resources/sql/init.sql b/quick-start-guide/resources/sql/init.sql deleted file mode 100644 index 4ff8aa4..0000000 --- a/quick-start-guide/resources/sql/init.sql +++ /dev/null @@ -1,3 +0,0 @@ -create database connector1; -create database connector2; -create database broker; \ No newline at end of file diff --git a/quick-start-guide/resources/sql/multiple-databases.sh b/quick-start-guide/resources/sql/multiple-databases.sh new file mode 100644 index 0000000..a66e651 --- /dev/null +++ b/quick-start-guide/resources/sql/multiple-databases.sh @@ -0,0 +1,22 @@ +### entrypoint.sh +#!/bin/bash + +set -e +set -u + +function create_user_and_database() { + local database=$1 + echo " Creating user and database '$database'" + psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" <<-EOSQL + CREATE DATABASE $database; + GRANT ALL PRIVILEGES ON DATABASE $database TO $POSTGRES_USER; +EOSQL +} + +if [ -n "$POSTGRES_MULTIPLE_DATABASES" ]; then + echo "Multiple database creation requested: $POSTGRES_MULTIPLE_DATABASES" + for db in $(echo $POSTGRES_MULTIPLE_DATABASES | tr ',' ' '); do + create_user_and_database $db + done + echo "Multiple databases created" +fi \ No newline at end of file diff --git a/quick-start-guide/resources/vault.properties b/quick-start-guide/resources/vault.properties new file mode 100644 index 0000000..e69de29 From 331f3f6eaad4359e5adeca43a8c57fa74ef7fd58 Mon Sep 17 00:00:00 2001 From: Augusto Leal Date: Mon, 26 Feb 2024 16:01:28 -0300 Subject: [PATCH 11/20] feat: new client-ids configuration --- quick-start-guide/.env | 2 +- quick-start-guide/docker-compose.yml | 26 ++++++++---------- .../broker.demo.ids-basecamp.local.jks | Bin 0 -> 2183 bytes ...ring-house-edc.demo.ids-basecamp.local.jks | Bin 0 -> 2207 bytes .../connector-1.demo.ids-basecamp.local.jks | Bin 0 -> 2190 bytes .../connector-2.demo.ids-basecamp.local.jks | Bin 0 -> 2190 bytes 6 files changed, 13 insertions(+), 15 deletions(-) create mode 100644 quick-start-guide/resources/broker.demo.ids-basecamp.local.jks create mode 100644 quick-start-guide/resources/clearing-house-edc.demo.ids-basecamp.local.jks create mode 100644 quick-start-guide/resources/connector-1.demo.ids-basecamp.local.jks create mode 100644 quick-start-guide/resources/connector-2.demo.ids-basecamp.local.jks diff --git a/quick-start-guide/.env b/quick-start-guide/.env index 7971494..d375f88 100644 --- a/quick-start-guide/.env +++ b/quick-start-guide/.env @@ -3,5 +3,5 @@ POSTGRES_USER = postgres CONNECTOR_1_POSTGRES_URL = jdbc:postgresql://postgresql:5432/connector1 CONNECTOR_2_POSTGRES_URL = jdbc:postgresql://postgresql:5432/connector2 BROKER_POSTGRES_URL = jdbc:postgresql://postgresql:5432/broker -DAPS_URL = http://85.215.159.70:4567 +DAPS_URL = http://85.215.159.70:4568 BROKER_DOMAIN = http://localhost:8181 diff --git a/quick-start-guide/docker-compose.yml b/quick-start-guide/docker-compose.yml index e5cf03f..a336772 100644 --- a/quick-start-guide/docker-compose.yml +++ b/quick-start-guide/docker-compose.yml @@ -48,11 +48,11 @@ services: EDC_DATASOURCE_DEFAULT_USER: $POSTGRES_USER EDC_DATASOURCE_DEFAULT_PASSWORD: $POSTGRES_PASSWORD EDC_VAULT: /resources/vault.properties - EDC_KEYSTORE: /resources/broker.jks + EDC_KEYSTORE: /resources/broker.demo.ids-basecamp.local.jks EDC_KEYSTORE_PASSWORD: password EDC_OAUTH_CERTIFICATE_ALIAS: 1 EDC_OAUTH_PRIVATE_KEY_ALIAS: 1 - EDC_OAUTH_CLIENT_ID: 18:10:72:F0:2D:07:10:94:C4:16:93:21:54:15:09:46:20:B1:F2:E2:5B:57:F7:61:16:B2:B0:13:49:59:70:34:45:44:90:51:24:4A:1C:09 + EDC_OAUTH_CLIENT_ID: C1:9F:78:EB:E9:CF:49:25:38:39:5D:1E:AA:15:21:0F:87:1B:49:6A:ED:E4:34:5F:91:4B:50:8C:32:9D:25:DC:76:A4:13:53:21:FE:ED:C0 EDC_OAUTH_TOKEN_URL: $DAPS_URL/token EDC_OAUTH_PROVIDER_JWKS_URL: $DAPS_URL/jwks.json EDC_OAUTH_PROVIDER_AUDIENCE: idsc:IDS_CONNECTORS_ALL @@ -62,8 +62,6 @@ services: EDC_CATALOG_CACHE_PARTITION_NUM_CRAWLERS: 60 volumes: - ./resources:/resources - ports: - - "5001:9191" connector_1: depends_on: @@ -116,18 +114,18 @@ services: EDC_DATASOURCE_TRANSFERPROCESS_USER: $POSTGRES_USER EDC_DATASOURCE_TRANSFERPROCESS_PASSWORD: $POSTGRES_PASSWORD - EDC_CLEARINGHOUSE_LOG_URL: + EDC_CLEARINGHOUSE_LOG_URL: clearing-house-edc BROKER_CLIENT_EXTENSION_ENABLED: "false" - EDC_BROKER_BASE_URL: + EDC_BROKER_BASE_URL: broker EDC_OAUTH_CERTIFICATE_ALIAS: 1 EDC_OAUTH_PRIVATE_KEY_ALIAS: 1 - EDC_OAUTH_CLIENT_ID: 18:10:72:F0:2D:07:10:94:C4:16:93:21:54:15:09:46:20:B1:F2:E2:5B:57:F7:61:16:B2:B0:13:49:59:70:34:45:44:90:51:24:4A:1C:09 + EDC_OAUTH_CLIENT_ID: 75:C4:F1:4D:C6:AB:E1:2E:B8:FC:26:36:A8:BB:83:7A:73:C3:BB:D1:ED:E4:34:5F:91:4B:50:8C:32:9D:25:DC:76:A4:13:53:21:FE:ED:C0 EDC_OAUTH_TOKEN_URL: $DAPS_URL/token EDC_OAUTH_PROVIDER_JWKS_URL: $DAPS_URL/jwks.json EDC_OAUTH_PROVIDER_AUDIENCE: idsc:IDS_CONNECTORS_ALL - EDC_KEYSTORE: /resources/connector1.jks + EDC_KEYSTORE: /resources/connector-1.demo.ids-basecamp.local.jks EDC_KEYSTORE_PASSWORD: password EDC_VAULT: /resources/vault.properties volumes: @@ -189,18 +187,18 @@ services: EDC_DATASOURCE_TRANSFERPROCESS_USER: $POSTGRES_USER EDC_DATASOURCE_TRANSFERPROCESS_PASSWORD: $POSTGRES_PASSWORD - EDC_CLEARINGHOUSE_LOG_URL: + EDC_CLEARINGHOUSE_LOG_URL: clearing-house-edc BROKER_CLIENT_EXTENSION_ENABLED: "false" - EDC_BROKER_BASE_URL: + EDC_BROKER_BASE_URL: broker EDC_OAUTH_CERTIFICATE_ALIAS: 1 EDC_OAUTH_PRIVATE_KEY_ALIAS: 1 - EDC_OAUTH_CLIENT_ID: 18:10:72:F0:2D:07:10:94:C4:16:93:21:54:15:09:46:20:B1:F2:E2:5B:57:F7:61:16:B2:B0:13:49:59:70:34:45:44:90:51:24:4A:1C:09 + EDC_OAUTH_CLIENT_ID: 1A:79:F6:EB:08:C8:97:01:6C:89:73:24:FE:21:CC:FA:5E:15:67:3E:ED:E4:34:5F:91:4B:50:8C:32:9D:25:DC:76:A4:13:53:21:FE:ED:C0 EDC_OAUTH_TOKEN_URL: http://85.215.159.70:4567/token EDC_OAUTH_PROVIDER_JWKS_URL: http://85.215.159.70:4567/jwks.json EDC_OAUTH_PROVIDER_AUDIENCE: idsc:IDS_CONNECTORS_ALL - EDC_KEYSTORE: /resources/connector2.jks + EDC_KEYSTORE: /resources/connector-2.demo.ids-basecamp.local.jks EDC_KEYSTORE_PASSWORD: password EDC_VAULT: /resources/vault.properties volumes: @@ -220,12 +218,12 @@ services: WEB_HTTP_PROTOCOL_PATH: /protocol EDC_VAULT: /resources/vault.properties - EDC_KEYSTORE: /resources/broker.jks + EDC_KEYSTORE: /resources/clearing-house-edc.demo.ids-basecamp.local.jks EDC_KEYSTORE_PASSWORD: password EDC_OAUTH_CERTIFICATE_ALIAS: 1 EDC_OAUTH_PRIVATE_KEY_ALIAS: 1 - EDC_OAUTH_CLIENT_ID: 18:10:72:F0:2D:07:10:94:C4:16:93:21:54:15:09:46:20:B1:F2:E2:5B:57:F7:61:16:B2:B0:13:49:59:70:34:45:44:90:51:24:4A:1C:09 + EDC_OAUTH_CLIENT_ID: E4:3D:A8:54:F3:74:E4:6F:8B:16:7E:F4:89:80:2E:0B:21:D6:05:AF:ED:E4:34:5F:91:4B:50:8C:32:9D:25:DC:76:A4:13:53:21:FE:ED:C0 EDC_OAUTH_TOKEN_URL: http://85.215.159.70:4567/token EDC_OAUTH_PROVIDER_JWKS_URL: http://85.215.159.70:4567/jwks.json EDC_OAUTH_PROVIDER_AUDIENCE: IDSC:IDS_CONNECTORS_ALL diff --git a/quick-start-guide/resources/broker.demo.ids-basecamp.local.jks b/quick-start-guide/resources/broker.demo.ids-basecamp.local.jks new file mode 100644 index 0000000000000000000000000000000000000000..793a2156d9a720d86219ea1c8b5536b9a5127922 GIT binary patch literal 2183 zcmbW2do+d=Z|Nt=ku=bcRlNU-)B9~#=^z|1OkDI z0{9sKMwDF~R?RsGfgoTY3;qL?Mv5CD0XSd?l>-0-1kQrbk<`i>*<(S(P+9a+)$+GF z1wmj~l>1nR6Q6c(jNPTUbTuh4VOH~*!@$1kS1*|*rjJ*@-+uQh&Z&b?q8`-}_f_R) z)RXLT*BfDs`;}IcFxO8Mv_-R}cE=#)4WRA^~ z)Tf@sxN}aH)KL_Zj`i2^f-j;38{}2Nx}$H>ppIjh2eb|tbyiQFL^ksn20O3GXnB@4 zbxQBO=RG!>cFCi!dbHT^nq@4D_g`ok6jssuqcJv%k7yIN^7``}7(_gv)l zjfYc}ZS_U%>7G%9ip!6Ng^>z6`KwK?MgTIa(825W{WN_L;(4)UGBiE~ZvE9CsY%Q) zFyxLay5;fgr1zs=WLqgoK!zhC~c_t1>oIFH{laq2=d_RU%UQ`*PQmsO77vxHtZ+dt~8-9+rA zpXhoE3!yWyynW=xty8tUlA`><4K_*=` zO3InIyhghtm8DO>)unzKW;O)8dGuoG+sFNDDTg$RWgYvK}74jc}G%VYW4$ zH2q9e)X$Kk+Y=&wm7nW5+o^s=>VgplJtDh>FeqWwHPp`D%TQNIOsnX(`8gF4RJ1vW zhd^NVAPZ&-vY-!(VNd`H1(2XP5@nc9dSU~ILBWF<2~Z3PI|N56Kplygt)Rjth)YU_ z1;v=q17a9~0TEFcNs&i%EFlRCV#HyzK#fg;Nh$|1BADpEE79T1z<_X2Ls`lU3!0gk zVQ{-GFuT1)XemO>zY+BLKdS13dVf{bphq*0GosP|tvCzN0i}>)qARAaNCBJkAI1V? zARr46hq3?wvhcQp{E3uKg#`{dYX z4fy;S!O1dD^p`)Zo=cbPi8{{A-G;M=(sG+AoK^88qFVQ;PZLJvzR_OOcZDc^rf*7p za1z48@4!DYB!?U6jXgVG_p?Kk6cedO4s+WR_|9*V?h^X6PvWj+-dev8Ym(6|Iw4ne ztN3w_W0!fm^gKBKo%0aE`*0r%=2J&w72DFKJ zTNWw?3IiZOSxN(#QV&Xso>W}{0Di!sAOzIfB)v^i0u_-c(F#Q%w!nb@WKhv!6)9vk z6{6;WRsQ9W{^@`#c5&k8-VZtH;qWw#>aE%`8QYzXfjXNG-A#oGsFbX@FoX5`&4rw0 zR;VY4D_5XsZ!C0zyEZj)a2-&K^}jy%Z@mi(g@6nw2J$6rBaEEJowjggk)OU~e!^>u zW!b7MJug_s-sO}k*H~NFnWx`>;1{i&qRic*a19Eg2!0a={3il{V_xx{YnW=&1xtfu z7~1AGSX4cT|6zt3&fXA~w?u$yZw`gO9BMvb;K055?g+JSa#||Fz%xKx)>r*s`H_wA literal 0 HcmV?d00001 diff --git a/quick-start-guide/resources/clearing-house-edc.demo.ids-basecamp.local.jks b/quick-start-guide/resources/clearing-house-edc.demo.ids-basecamp.local.jks new file mode 100644 index 0000000000000000000000000000000000000000..4a6918011fb67bba2f06326b6ab25f7fea2cac8b GIT binary patch literal 2207 zcmbW2c{J4f8^`DSokeDbFqVmIbxj&(`p($070Eg(k!~h5V=UP#Yi=f)pT>ZSX}pzqzJbp|lJN-&zr3=-}g$VxhmkSN^QCS2x>A_kEBj zy%LDVySO~fE9mH`3*f}b#l}MKa#~61vzb#tc##43gihg4U9i_FNxiemL`3xbc=;`f zk&nYxbY5jJv7l4XY120`ezshCFC=h}4(urgd`XJkSX5b_-LnorODA97x_uq;*KlTLL}@?q_KH}#}UML z+Urecx=3yl1EV1wN++Hz7U8fPFZJ})Jkkr0ouF@PWix9w6qSbtOOann2b|9P%u!Ua z4;yW^xKqB+INC0u=k?q1vesks3VnIQJA8H_bBDMCe)~7bd6=qsfN;)irB(>zWK+9S z%5X)Wq#bwj(Ci=ckG|~l(N(#_`4AA|qQtW=uJRbGudm1Ck<02%KC#3m1!JQ%k3{I9 z_shaxUe+!@%8f(c&E7tQyhk=hN6UWNsVL&`9{6XLp$t!sVQ@Pw!l6m!o7{1jB#Gd@ zqR{`kHq?oq%AM~&bn>e#Zd$f~C_5puB|fVK`Ql1c)M#_US6|H$>70`DnKDUhx$}Z@ zpR<5Fdi1kt$3jJIPGj%|(Cj|(xd*fSa|@5A#xF#lCe z4q*q+Z|An|a8=$bxa#=?d5Eqa-XfnOOt9bUm zEox1OPtX@G@`VSzT@r!qI?wu~k~tYctV+F? zspe-j;hB8Z+*P6K_)fjbj(&`sttdHU%XHVXDC7AH+nloEB!!9YY}@!VJi)b$IqQoh zSy!i`HahOTmfD(e>@t5`eR56}r!Mu}s3FKH>!V}AR6IVhCH41&~@q^SB3m8wTE zrW#TW>0&ezBlSNB`TdKkdJyIBszg?h5A%e7h#%=_XhfI~$;X>T{$Cs60Gl8wl%)8$ zXO^UZwNU`)0PA582S9@y0D#rWxY%}?C1D;nvLc+ldl`7U)SRQt_jnA37~`X^xyqXN zZ!$ZwR9*?F`sIXJ>=alvwxKLGE_*HEO^LPb5462b$>sY#p*dWL0ptgBWY5jGmKCKR z$SG;cNPVz@4c3^c@Va$YyJZUc!ya)L_68YQ&|B^>js!jHboGbA-Y>Y}< zCcMaa$G#ddn+Ek@DqOP8PxREozuNaj2UCws7xNJ@<3ZtfvPl7$sdb;?-QQmPaG$qe zkna8*BiD6dTQSp{@x4YRNlT|WAXFXNdi!Ij1^O~0ve!F)-!0Nt$nEf~aBAV`ZnKV& z8GfXVi>)$;R^6wE`VPVY7*HDj5Q_gD!iuj~6$b#T2oQon8f&DrMv9O;YMpqRB9Rhs z;J+Ctp0Q%Z`Za~Pk>C}7JEVU&5b_h|6$j?SCqmN|V;54{WQ^t@vI^R?=GeTZz(a~` zdBKGKksO*+2DM0QII;}qqA3zQgbda+vIsJy%lUsE`X4_%-J#AG!0aD;|qtj0a9+kh-sGj9I5(R7DH*l&L;mJtta;J{=)04LEkSVJ$S{x J9&}f+>MuyDrW^nO literal 0 HcmV?d00001 diff --git a/quick-start-guide/resources/connector-1.demo.ids-basecamp.local.jks b/quick-start-guide/resources/connector-1.demo.ids-basecamp.local.jks new file mode 100644 index 0000000000000000000000000000000000000000..d5ff20c2fa7600c82c47c03fbf30a76ecb0c846d GIT binary patch literal 2190 zcmbW2c{J2}AIE>cnK78LFWIwigYo0q$CfRgxQVeO24QY>6WMjGBO-&8t+HjhvOI{8 zr4SL4l8`0K*s@Jblr5goea>_4KhHVOdH(pE^Lc&G`+Yv&<#WEDgSCS-003Z&0DlIk z#>i6Mvwk`Y089WxLhM5vNR$#1M1U9=HwZET2omD+N94Qc)-$?~A1a>C+U)tKxwP|_ z&P(0OKHIcqwZz5=#a9^{BpGZ4W{u{A|gf6<2)$Bcw zKhZCu_y!yha}XipVfe0%8^$gY`$8o5@s(wyD|_ZqnArkutkhC#m%BC#GNWLeo2P-GkRbVgU;ljlsgZrVzs{`soOJ6aMLK;@gj%N*|*W zq)i{o>9uc~%^3~KaGm5|3#;ci6W_Yxa_`bVWtjD?Cy!orjC$z3hL6Glfqc1d^xLG5U%=ePQ zNMS{SzpaTAm3JhrQlR9IdQ|AjqZ*S~X&!gxmZ^Bl0Eglij_s#bWWp+5hlQBCtppTa zo9uZxK-sG|K4|aP+Ycyq-(_7JFCFO-JOJ9E4tUd|B_UJOC%v@*r(Lixd???FTK2rh zq%298Io)35X1a)ri%yj7EUQYue2cOZ%aOMIT5h8{EfIHieowi2v+c^mJMu9ATK{Wv zM6%OF-n0qs^=N*?Lb+p#YbIyO#VDf4ZqA3O;ZVz%cJ#rk*eqofo zCT$I4_oy~Iym)e>#y~tlj_1W`%gNUDjOuvmi!q9;29n?VX%t~-iHicy-n_S7o)!_P zt=di7s)&vqDL~DlLR;(gmgKC+KGS}%VZ@)e@F&Bjrbliw8_q`js`V-((kp*TW`d|U zwtan&K;`z?aVe`&VcsE1t(n=+IO7xsjFJS+Kk(Xgei5?K3Yy}lJ~gZ^e@^7Yb&l4j z)(AV^lQQb3VK{as%zxo3IwjQMJBgN=H*^6E19y$gzFlPBruA_MCt2LgH0ZA+v-xn-g@&=RpQBpBC>fy)UCi9D~vqs3EY;FbZB4JEOSlROP#I$F6ffpcs6)@{c?l+mQz1DCtMJ)tmCjNyDkvz4U?9k z-`~4(iB8bTX$lr>neg}=Zg{nR_Nh_qZSUEQXkrKRZQCF&(wV~grQRNkYD$NUoT~!o zw@4n&;LH=S5!PZWpR`W<_Ne8n1i8G+{D>N-^y}Cza=e_9fWUIRIvkTji3zhVziwsB zF&mp`oNJS$UdNOgH|O-L62;MNcc zZV8cK{e^HC2!nwL2!&+9Bv|$vAmA_vuZD(Lk#GkDk{4!XuEr1X9s!Dt?V@*}%6ZQ~ zA1_Z|e>FCShp~)igM0ggs7XM_j|k2t;O*n*M{R>6-90xYSJAtbaeM<@g9$+QqHX8>7NQpSpqBq zt5$1AmrG5_oQ|fY{KD(SN(n7SIT`0}*;6W-=Pp$Tl!d&(6XiwiBHw<~;BHaoE-Ege z)fucdFQeZ36I^1_5kHjbk^S$%GmcK+ikHP_6OJ;{QX-4;K|@HMR>?c%J6f~WQQdZtV!R-Dh=4%=BymKtM|2G0L$WZ2C=(Mi9Q;oPV~kdY zg7Zkh=pcB>Uk;9+4g_ED%MF{Z@)>NyzMNJ`bKJGSj^+VK>c}B|q!5IT#qh1oX}G7K zvL&nM$xehkk8J;5lZDRK~XT z)Y;T{RUt*z#!jV%Q;8U_p*E|Xhb-*|Z+Y0S^$>k`+o-S89d+-}$8Qa2YtT=qjH1*3 E1;M1& literal 0 HcmV?d00001 diff --git a/quick-start-guide/resources/connector-2.demo.ids-basecamp.local.jks b/quick-start-guide/resources/connector-2.demo.ids-basecamp.local.jks new file mode 100644 index 0000000000000000000000000000000000000000..4176ac40a9a5e3f5a6d1be987ba25864564d424c GIT binary patch literal 2190 zcmbW2c{J2}AIE>c*Ri+o{IBi-Y zsj=i|SHu0>LqB)qne&xBGS(>zXQl{f@Um5e0`wyNO$Hz~sFQ;)PsaHjETcQ?I&AR?rSY9i|;BUBzZnRA2V_FmQ4?eY1cy@I7HnwO;9mW%QQpFN?ha~jvmi>~O zBiC(54W{_=#OB#WjW3Vv^hlRFt%IwFYA181Mm5+LiR0s4t(v|5#ir(Uzpop;?qoMt z>5r0}G>54J;wPUTqPWTBEHw4$8(yz8T6Xzf*_rSNZUlR)+k7~sIFk?pA0K9%s}cz? zZx_@0xMOT-Bzmk(w#XG*DinsiB5fGw+i!>NuAErNv}}x*cL+@)uiUJ*E#NmGh-JK^ z@?WSr2nt&ojGRhe+OxDp=Q%xvA9(Y^bo8a;n3e+j>$QoI8XoSk7dpg^tUY0-^J_LC zfyWlR?b|Ll>U~Imdmx}1Ns6uDZCq$OZ-8A!&>Q3SKBJl0T8HP?qcqdv&aPAFY zDlDlYTKVyJYvH@Els}(CE(&de3 z9wJUzBa2XAi;X@4tgTHr(o&zb>gCJk3CHOu%_u$(io4S@DP6t(LUp8KXHtu=bh}eZ z`vk1#L2CR%$eD6n+1p@`h=f>PDUZ0BNNDdj%YnS`pcJjGGj}#5wRByAI#v~1j7}p2 zqrh4z6+OzKR(FqDAjBcNjDVCW2aF}U9!ZlsOk<+HF}qblTDxWmhyB816A)Y65{KOh zjA8C{Qqa})NLK<@vn3{n)>H55Dv{U?va=|&DGv$)JG_$bM0nbj|7XkwzrF^Y9e*vzE%FRG9{@EuYBBgip`HvZRe1;8&b9wiDpSw(j5vf zOURecN)NQiNio-A){Qly3Jr5wYk;hk?I)eYL;2m&w@PzQU6~EVo;mNhO1O)?hm{Zh z!}xO@K094(Ci=&qQkkv|_0MS9Ie68eYWlYFtE@T0wAIvw2l<|brJ_eI7#5#keF~OB z(pIds;N|y0F)3U%H(xwm!L1BAGfcfFqe0n`$Dr<@hT}L0{_^&XTq@achd97m3jHqp zJk;OpLvn|!FQ47}-&Srl63pXcuF2_%e#XV^BZgOn3z)dqC#hu1G9*+JJnGg?QCQ8J z%lyWSPZxz=3+C=CP)oe{=dV%Qu1%hCf_3h{G5(mnso4(^hzw2-ek)^)3@AwT~_q?M8?qyYeM z6Nm{v4KZQ8xo{W=gMmm0jpCAzH0&iI;4tVsfd}G7!7m_Cf-tf^K?oAu1vCcZO7l^4 zbnu}&Ib8K3U^pJmG7kn$qu(HiL!!F`$6#sntDZ{#R4Tc9IytyQqF7#{3PdCl3F^m= z6OLWtpc)4W|3=9E|EPKtlK;D^l#{222i?in^O_=2>A&rO2}(k|C~nRm01%SGH}Z1`kQ@^Ulk{Cm39#B`g1+KKDs78rDE z%9*l}ykya=wSbb;avBTKC6)GJzE6h48~ml9?fzruC$Og1MxkH2y~#hgD%r}7K1C)W zY{gC^fVT-pwj2HR*~Zb7@;-KXZK3#SNvKn!7x|#>v6*nv!$f+EJ*(6D$}U1i-uD^-y>%gyGz)h#&~=AYc#xiSLrkE(t^XQCyrUibU>#ga653oY~4z z@a-x%9Rx4>+p+hj1F;_;ur|llnF_k!@{!(_==otQUu>JE>Dt5O` z%;JbFnXw!Bg6AZ*=UX79U5x-j7LsB9PcQtBE`~b;5Df;In0d!``RiCsSx&__1)3cU zX~a*gDk{ex{RM398QfkZy; Date: Tue, 27 Feb 2024 17:24:21 -0300 Subject: [PATCH 12/20] feat: removing olders jks files --- quick-start-guide/docker-compose.yml | 8 ++++---- quick-start-guide/resources/broker.jks | Bin 2145 -> 0 bytes quick-start-guide/resources/clearing-house.jks | Bin 2145 -> 0 bytes quick-start-guide/resources/connector1.jks | Bin 2145 -> 0 bytes quick-start-guide/resources/connector2.jks | Bin 2145 -> 0 bytes 5 files changed, 4 insertions(+), 4 deletions(-) delete mode 100644 quick-start-guide/resources/broker.jks delete mode 100644 quick-start-guide/resources/clearing-house.jks delete mode 100644 quick-start-guide/resources/connector1.jks delete mode 100644 quick-start-guide/resources/connector2.jks diff --git a/quick-start-guide/docker-compose.yml b/quick-start-guide/docker-compose.yml index a336772..4a7a847 100644 --- a/quick-start-guide/docker-compose.yml +++ b/quick-start-guide/docker-compose.yml @@ -194,8 +194,8 @@ services: EDC_OAUTH_CERTIFICATE_ALIAS: 1 EDC_OAUTH_PRIVATE_KEY_ALIAS: 1 EDC_OAUTH_CLIENT_ID: 1A:79:F6:EB:08:C8:97:01:6C:89:73:24:FE:21:CC:FA:5E:15:67:3E:ED:E4:34:5F:91:4B:50:8C:32:9D:25:DC:76:A4:13:53:21:FE:ED:C0 - EDC_OAUTH_TOKEN_URL: http://85.215.159.70:4567/token - EDC_OAUTH_PROVIDER_JWKS_URL: http://85.215.159.70:4567/jwks.json + EDC_OAUTH_TOKEN_URL: http://85.215.159.70:4568/token + EDC_OAUTH_PROVIDER_JWKS_URL: http://85.215.159.70:4568/jwks.json EDC_OAUTH_PROVIDER_AUDIENCE: idsc:IDS_CONNECTORS_ALL EDC_KEYSTORE: /resources/connector-2.demo.ids-basecamp.local.jks @@ -224,8 +224,8 @@ services: EDC_OAUTH_CERTIFICATE_ALIAS: 1 EDC_OAUTH_PRIVATE_KEY_ALIAS: 1 EDC_OAUTH_CLIENT_ID: E4:3D:A8:54:F3:74:E4:6F:8B:16:7E:F4:89:80:2E:0B:21:D6:05:AF:ED:E4:34:5F:91:4B:50:8C:32:9D:25:DC:76:A4:13:53:21:FE:ED:C0 - EDC_OAUTH_TOKEN_URL: http://85.215.159.70:4567/token - EDC_OAUTH_PROVIDER_JWKS_URL: http://85.215.159.70:4567/jwks.json + EDC_OAUTH_TOKEN_URL: http://85.215.159.70:4568/token + EDC_OAUTH_PROVIDER_JWKS_URL: http://85.215.159.70:4568/jwks.json EDC_OAUTH_PROVIDER_AUDIENCE: IDSC:IDS_CONNECTORS_ALL TRUZZT_CLEARINGHOUSE_JWT_AUDIENCE: 1 diff --git a/quick-start-guide/resources/broker.jks b/quick-start-guide/resources/broker.jks deleted file mode 100644 index 217594157720afd2a4ad6adc44540fc630d97821..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2145 zcmb7_c{J4f8^`DSoy9U^%Qi^HGLjm7$21c~QPxq&MfNbZTp?SQLSsgXx|YaJC`-ti z7DP1G5h_a;Q9{K{!n9cKsNeaW-}#+$|G0lV=RB{^=lz`LvpnZ{HWoG(U@#cSHQ=WK zM6MS<$`VR|!H_VBj#z^PQT)4600K}2MF0Q^L(ma(Ob6@KPkH&ySv&7o%HyKmrOM#S z6Iq%H<&yhFs3*h~S6(MGcWZA?zHhbQV4K|s#%YrY{SqgXl)6{V@jEg*Y059cYIYn~ zIal_405HgQIr$vH0kUM^X6o=`y-% zeSm-vu7vin*Z8V=-q7XZ2Y0dS?aqtC?+>u}Mw(U`tdU-}*4koOQv}mzl7M}^*RH0% zf;YPn5Aph~U9YQc{JjT5X$Wr6(kD0{kSx3i$T*p^jW^W>5W-Jo^Z$|_CuvZr7iR)t z#?l2w#lbVXu=mN@{*9fL7YF^)^AFj-Fx#d67CN|OG@C=Xa0@9{6ZE$sH`s8*2UH6*!7LOE1F~Ey5 zfV|Ort7|~wmck``GG7M%3E@?X=ew@$7nY+RDO^<}$vf2S(q4L`aecRvpM#P@W|-

i*v2Rn3!V(*D8B;wrHM5E+nC*l~dGN)FPFO*OBgpFN3ein|4@qRM@URFsD zo67`KEnZTL?k3%|x602*aN9$Lzc{a_q4f34{7s!XsC;@`Pz<9ohgcm-rD9%s2&ztu zvl{`$rQ+^C;|EkXXC(Q0j&LG)F_^%4>sX@vtR;O(|H|(nxoFiH)6%v>CV}j8$}HQn zCt#<@F3)~s*qBjLyG;G&7&_s;A61d2k)@&CXHL^NPEC^2f8@G1_8$$5B?s>=5+i&` zoG-kPgyw60fx5WAE!1EBL zP|hj5f5nUBDm*?tC1BQf-)~7W8o>$=ll6u1oUS9xYL;vMXE_+`@lp-jKIZ(qeA-@M zTyRuWw_RGBQ)V(E!5>6n+6f#VwMrAUng&6mGH&Uv)FU0 zthXSSfg~n{FK-U9Z8IP3%A9TbVYct2?RUR74V})HZ>I<|#a&KwdW~)?78;Z!@T%pI zJH4yEj*%belw`r;b#r=WiRKxE`fM6n4%#bx$$Q`|9`;xLq(sMC_Hru&3-`c2Sq$LYs++6f|vj+*KW%-96nESgIy*`vzB{9OFir~+eMEp43~Ps z?dmVkT=RyTn0D<>Z6EW-$D=B5w>pBQK-+hxr90h6eK7^0q9CnU++@~oDkO>dem?TP z&i>j3_0MUbRrj7?UW(zWxvg^X^?5@nL-b;END1krt3?zKA?un#i{DC&e?_87z)Hrm za3?j_f*#k7cmcP&IYQQXvjb$AjV?!(&)1@~WK&VH)#pa;{q;e<2>{Wk=t!b6VQzFK z8?sW+vvT;$^Q2am=upwOjclOyGh3kIg9X?zH@PkIXG=udsF5K} z7z{24(cv->9lV(j2LTWS;1EBGS2fnCPa6RTAwwb>;zPl$5GYYlPoF3R32XsB1{D+# z93CD-#BkNz1vCck<{m+^-&Y%NT&t1hyM#XFJ_E(o&-?%YyRGvmN2R+6MOsl~I*oC8Ox@YIBxU>rldQ|4Mj+af_#PzF?|lCP7E>R0I#T`ktS4URl_t z#m=K|#2IYJd1fd%OUviloUkd}Y__!~X@{hHxEbigtp=cC5vA%>36RKzOd zsn$7bwLYoS6T2d+=-&(5x(9oks@y?&S!wDUU~y5Y(*$;DX@@4w3z)#j*CQ1m8h|;|2}=a#1l%? z?R=2@mPQ024Poj3^r`<-m~bx`n qZx33Uyzc7Wi2oY)5%(z=OSTa=ZJnOXTgN$(aFk>FCxa=K5q|?#eULc- diff --git a/quick-start-guide/resources/clearing-house.jks b/quick-start-guide/resources/clearing-house.jks deleted file mode 100644 index 217594157720afd2a4ad6adc44540fc630d97821..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2145 zcmb7_c{J4f8^`DSoy9U^%Qi^HGLjm7$21c~QPxq&MfNbZTp?SQLSsgXx|YaJC`-ti z7DP1G5h_a;Q9{K{!n9cKsNeaW-}#+$|G0lV=RB{^=lz`LvpnZ{HWoG(U@#cSHQ=WK zM6MS<$`VR|!H_VBj#z^PQT)4600K}2MF0Q^L(ma(Ob6@KPkH&ySv&7o%HyKmrOM#S z6Iq%H<&yhFs3*h~S6(MGcWZA?zHhbQV4K|s#%YrY{SqgXl)6{V@jEg*Y059cYIYn~ zIal_405HgQIr$vH0kUM^X6o=`y-% zeSm-vu7vin*Z8V=-q7XZ2Y0dS?aqtC?+>u}Mw(U`tdU-}*4koOQv}mzl7M}^*RH0% zf;YPn5Aph~U9YQc{JjT5X$Wr6(kD0{kSx3i$T*p^jW^W>5W-Jo^Z$|_CuvZr7iR)t z#?l2w#lbVXu=mN@{*9fL7YF^)^AFj-Fx#d67CN|OG@C=Xa0@9{6ZE$sH`s8*2UH6*!7LOE1F~Ey5 zfV|Ort7|~wmck``GG7M%3E@?X=ew@$7nY+RDO^<}$vf2S(q4L`aecRvpM#P@W|-

i*v2Rn3!V(*D8B;wrHM5E+nC*l~dGN)FPFO*OBgpFN3ein|4@qRM@URFsD zo67`KEnZTL?k3%|x602*aN9$Lzc{a_q4f34{7s!XsC;@`Pz<9ohgcm-rD9%s2&ztu zvl{`$rQ+^C;|EkXXC(Q0j&LG)F_^%4>sX@vtR;O(|H|(nxoFiH)6%v>CV}j8$}HQn zCt#<@F3)~s*qBjLyG;G&7&_s;A61d2k)@&CXHL^NPEC^2f8@G1_8$$5B?s>=5+i&` zoG-kPgyw60fx5WAE!1EBL zP|hj5f5nUBDm*?tC1BQf-)~7W8o>$=ll6u1oUS9xYL;vMXE_+`@lp-jKIZ(qeA-@M zTyRuWw_RGBQ)V(E!5>6n+6f#VwMrAUng&6mGH&Uv)FU0 zthXSSfg~n{FK-U9Z8IP3%A9TbVYct2?RUR74V})HZ>I<|#a&KwdW~)?78;Z!@T%pI zJH4yEj*%belw`r;b#r=WiRKxE`fM6n4%#bx$$Q`|9`;xLq(sMC_Hru&3-`c2Sq$LYs++6f|vj+*KW%-96nESgIy*`vzB{9OFir~+eMEp43~Ps z?dmVkT=RyTn0D<>Z6EW-$D=B5w>pBQK-+hxr90h6eK7^0q9CnU++@~oDkO>dem?TP z&i>j3_0MUbRrj7?UW(zWxvg^X^?5@nL-b;END1krt3?zKA?un#i{DC&e?_87z)Hrm za3?j_f*#k7cmcP&IYQQXvjb$AjV?!(&)1@~WK&VH)#pa;{q;e<2>{Wk=t!b6VQzFK z8?sW+vvT;$^Q2am=upwOjclOyGh3kIg9X?zH@PkIXG=udsF5K} z7z{24(cv->9lV(j2LTWS;1EBGS2fnCPa6RTAwwb>;zPl$5GYYlPoF3R32XsB1{D+# z93CD-#BkNz1vCck<{m+^-&Y%NT&t1hyM#XFJ_E(o&-?%YyRGvmN2R+6MOsl~I*oC8Ox@YIBxU>rldQ|4Mj+af_#PzF?|lCP7E>R0I#T`ktS4URl_t z#m=K|#2IYJd1fd%OUviloUkd}Y__!~X@{hHxEbigtp=cC5vA%>36RKzOd zsn$7bwLYoS6T2d+=-&(5x(9oks@y?&S!wDUU~y5Y(*$;DX@@4w3z)#j*CQ1m8h|;|2}=a#1l%? z?R=2@mPQ024Poj3^r`<-m~bx`n qZx33Uyzc7Wi2oY)5%(z=OSTa=ZJnOXTgN$(aFk>FCxa=K5q|?#eULc- diff --git a/quick-start-guide/resources/connector1.jks b/quick-start-guide/resources/connector1.jks deleted file mode 100644 index 217594157720afd2a4ad6adc44540fc630d97821..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2145 zcmb7_c{J4f8^`DSoy9U^%Qi^HGLjm7$21c~QPxq&MfNbZTp?SQLSsgXx|YaJC`-ti z7DP1G5h_a;Q9{K{!n9cKsNeaW-}#+$|G0lV=RB{^=lz`LvpnZ{HWoG(U@#cSHQ=WK zM6MS<$`VR|!H_VBj#z^PQT)4600K}2MF0Q^L(ma(Ob6@KPkH&ySv&7o%HyKmrOM#S z6Iq%H<&yhFs3*h~S6(MGcWZA?zHhbQV4K|s#%YrY{SqgXl)6{V@jEg*Y059cYIYn~ zIal_405HgQIr$vH0kUM^X6o=`y-% zeSm-vu7vin*Z8V=-q7XZ2Y0dS?aqtC?+>u}Mw(U`tdU-}*4koOQv}mzl7M}^*RH0% zf;YPn5Aph~U9YQc{JjT5X$Wr6(kD0{kSx3i$T*p^jW^W>5W-Jo^Z$|_CuvZr7iR)t z#?l2w#lbVXu=mN@{*9fL7YF^)^AFj-Fx#d67CN|OG@C=Xa0@9{6ZE$sH`s8*2UH6*!7LOE1F~Ey5 zfV|Ort7|~wmck``GG7M%3E@?X=ew@$7nY+RDO^<}$vf2S(q4L`aecRvpM#P@W|-

i*v2Rn3!V(*D8B;wrHM5E+nC*l~dGN)FPFO*OBgpFN3ein|4@qRM@URFsD zo67`KEnZTL?k3%|x602*aN9$Lzc{a_q4f34{7s!XsC;@`Pz<9ohgcm-rD9%s2&ztu zvl{`$rQ+^C;|EkXXC(Q0j&LG)F_^%4>sX@vtR;O(|H|(nxoFiH)6%v>CV}j8$}HQn zCt#<@F3)~s*qBjLyG;G&7&_s;A61d2k)@&CXHL^NPEC^2f8@G1_8$$5B?s>=5+i&` zoG-kPgyw60fx5WAE!1EBL zP|hj5f5nUBDm*?tC1BQf-)~7W8o>$=ll6u1oUS9xYL;vMXE_+`@lp-jKIZ(qeA-@M zTyRuWw_RGBQ)V(E!5>6n+6f#VwMrAUng&6mGH&Uv)FU0 zthXSSfg~n{FK-U9Z8IP3%A9TbVYct2?RUR74V})HZ>I<|#a&KwdW~)?78;Z!@T%pI zJH4yEj*%belw`r;b#r=WiRKxE`fM6n4%#bx$$Q`|9`;xLq(sMC_Hru&3-`c2Sq$LYs++6f|vj+*KW%-96nESgIy*`vzB{9OFir~+eMEp43~Ps z?dmVkT=RyTn0D<>Z6EW-$D=B5w>pBQK-+hxr90h6eK7^0q9CnU++@~oDkO>dem?TP z&i>j3_0MUbRrj7?UW(zWxvg^X^?5@nL-b;END1krt3?zKA?un#i{DC&e?_87z)Hrm za3?j_f*#k7cmcP&IYQQXvjb$AjV?!(&)1@~WK&VH)#pa;{q;e<2>{Wk=t!b6VQzFK z8?sW+vvT;$^Q2am=upwOjclOyGh3kIg9X?zH@PkIXG=udsF5K} z7z{24(cv->9lV(j2LTWS;1EBGS2fnCPa6RTAwwb>;zPl$5GYYlPoF3R32XsB1{D+# z93CD-#BkNz1vCck<{m+^-&Y%NT&t1hyM#XFJ_E(o&-?%YyRGvmN2R+6MOsl~I*oC8Ox@YIBxU>rldQ|4Mj+af_#PzF?|lCP7E>R0I#T`ktS4URl_t z#m=K|#2IYJd1fd%OUviloUkd}Y__!~X@{hHxEbigtp=cC5vA%>36RKzOd zsn$7bwLYoS6T2d+=-&(5x(9oks@y?&S!wDUU~y5Y(*$;DX@@4w3z)#j*CQ1m8h|;|2}=a#1l%? z?R=2@mPQ024Poj3^r`<-m~bx`n qZx33Uyzc7Wi2oY)5%(z=OSTa=ZJnOXTgN$(aFk>FCxa=K5q|?#eULc- diff --git a/quick-start-guide/resources/connector2.jks b/quick-start-guide/resources/connector2.jks deleted file mode 100644 index 217594157720afd2a4ad6adc44540fc630d97821..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2145 zcmb7_c{J4f8^`DSoy9U^%Qi^HGLjm7$21c~QPxq&MfNbZTp?SQLSsgXx|YaJC`-ti z7DP1G5h_a;Q9{K{!n9cKsNeaW-}#+$|G0lV=RB{^=lz`LvpnZ{HWoG(U@#cSHQ=WK zM6MS<$`VR|!H_VBj#z^PQT)4600K}2MF0Q^L(ma(Ob6@KPkH&ySv&7o%HyKmrOM#S z6Iq%H<&yhFs3*h~S6(MGcWZA?zHhbQV4K|s#%YrY{SqgXl)6{V@jEg*Y059cYIYn~ zIal_405HgQIr$vH0kUM^X6o=`y-% zeSm-vu7vin*Z8V=-q7XZ2Y0dS?aqtC?+>u}Mw(U`tdU-}*4koOQv}mzl7M}^*RH0% zf;YPn5Aph~U9YQc{JjT5X$Wr6(kD0{kSx3i$T*p^jW^W>5W-Jo^Z$|_CuvZr7iR)t z#?l2w#lbVXu=mN@{*9fL7YF^)^AFj-Fx#d67CN|OG@C=Xa0@9{6ZE$sH`s8*2UH6*!7LOE1F~Ey5 zfV|Ort7|~wmck``GG7M%3E@?X=ew@$7nY+RDO^<}$vf2S(q4L`aecRvpM#P@W|-

i*v2Rn3!V(*D8B;wrHM5E+nC*l~dGN)FPFO*OBgpFN3ein|4@qRM@URFsD zo67`KEnZTL?k3%|x602*aN9$Lzc{a_q4f34{7s!XsC;@`Pz<9ohgcm-rD9%s2&ztu zvl{`$rQ+^C;|EkXXC(Q0j&LG)F_^%4>sX@vtR;O(|H|(nxoFiH)6%v>CV}j8$}HQn zCt#<@F3)~s*qBjLyG;G&7&_s;A61d2k)@&CXHL^NPEC^2f8@G1_8$$5B?s>=5+i&` zoG-kPgyw60fx5WAE!1EBL zP|hj5f5nUBDm*?tC1BQf-)~7W8o>$=ll6u1oUS9xYL;vMXE_+`@lp-jKIZ(qeA-@M zTyRuWw_RGBQ)V(E!5>6n+6f#VwMrAUng&6mGH&Uv)FU0 zthXSSfg~n{FK-U9Z8IP3%A9TbVYct2?RUR74V})HZ>I<|#a&KwdW~)?78;Z!@T%pI zJH4yEj*%belw`r;b#r=WiRKxE`fM6n4%#bx$$Q`|9`;xLq(sMC_Hru&3-`c2Sq$LYs++6f|vj+*KW%-96nESgIy*`vzB{9OFir~+eMEp43~Ps z?dmVkT=RyTn0D<>Z6EW-$D=B5w>pBQK-+hxr90h6eK7^0q9CnU++@~oDkO>dem?TP z&i>j3_0MUbRrj7?UW(zWxvg^X^?5@nL-b;END1krt3?zKA?un#i{DC&e?_87z)Hrm za3?j_f*#k7cmcP&IYQQXvjb$AjV?!(&)1@~WK&VH)#pa;{q;e<2>{Wk=t!b6VQzFK z8?sW+vvT;$^Q2am=upwOjclOyGh3kIg9X?zH@PkIXG=udsF5K} z7z{24(cv->9lV(j2LTWS;1EBGS2fnCPa6RTAwwb>;zPl$5GYYlPoF3R32XsB1{D+# z93CD-#BkNz1vCck<{m+^-&Y%NT&t1hyM#XFJ_E(o&-?%YyRGvmN2R+6MOsl~I*oC8Ox@YIBxU>rldQ|4Mj+af_#PzF?|lCP7E>R0I#T`ktS4URl_t z#m=K|#2IYJd1fd%OUviloUkd}Y__!~X@{hHxEbigtp=cC5vA%>36RKzOd zsn$7bwLYoS6T2d+=-&(5x(9oks@y?&S!wDUU~y5Y(*$;DX@@4w3z)#j*CQ1m8h|;|2}=a#1l%? z?R=2@mPQ024Poj3^r`<-m~bx`n qZx33Uyzc7Wi2oY)5%(z=OSTa=ZJnOXTgN$(aFk>FCxa=K5q|?#eULc- From d680227b7b9e92b0a91f6b14a39c33d5a6c52457 Mon Sep 17 00:00:00 2001 From: Augusto Leal Date: Wed, 28 Feb 2024 16:44:44 -0300 Subject: [PATCH 13/20] feat: new connector version --- quick-start-guide/docker-compose.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/quick-start-guide/docker-compose.yml b/quick-start-guide/docker-compose.yml index 4a7a847..e2092f6 100644 --- a/quick-start-guide/docker-compose.yml +++ b/quick-start-guide/docker-compose.yml @@ -67,7 +67,7 @@ services: depends_on: postgresql: condition: service_healthy - image: ghcr.io/ids-basecamp/connector:v1.0.0-basecamp + image: ghcr.io/ids-basecamp/connector:v1.0.1-basecamp environment: WEB_HTTP_PORT: 9191 WEB_HTTP_PATH: /api @@ -125,6 +125,8 @@ services: EDC_OAUTH_PROVIDER_JWKS_URL: $DAPS_URL/jwks.json EDC_OAUTH_PROVIDER_AUDIENCE: idsc:IDS_CONNECTORS_ALL + IDS_WEBHOOK_ADDRESS: http://connector_1:9293 + EDC_KEYSTORE: /resources/connector-1.demo.ids-basecamp.local.jks EDC_KEYSTORE_PASSWORD: password EDC_VAULT: /resources/vault.properties @@ -140,7 +142,7 @@ services: depends_on: postgresql: condition: service_healthy - image: ghcr.io/ids-basecamp/connector:v1.0.0-basecamp + image: ghcr.io/ids-basecamp/connector:v1.0.1-basecamp environment: WEB_HTTP_PORT: 9191 WEB_HTTP_PATH: /api @@ -198,6 +200,8 @@ services: EDC_OAUTH_PROVIDER_JWKS_URL: http://85.215.159.70:4568/jwks.json EDC_OAUTH_PROVIDER_AUDIENCE: idsc:IDS_CONNECTORS_ALL + IDS_WEBHOOK_ADDRESS: http://connector_2:9293 + EDC_KEYSTORE: /resources/connector-2.demo.ids-basecamp.local.jks EDC_KEYSTORE_PASSWORD: password EDC_VAULT: /resources/vault.properties From fc84e662d151c7c9f8234eac7fece1fe15a0632b Mon Sep 17 00:00:00 2001 From: Glaucio Jannotti Date: Thu, 29 Feb 2024 13:16:59 -0300 Subject: [PATCH 14/20] feat: daps and clearing-house-app included --- quick-start-guide/.env | 24 +- quick-start-guide/docker-compose.yml | 294 +++++++++++------- .../keystore.jks} | Bin .../resources/{ => broker}/vault.properties | 0 .../clearing-house-app/private_key.der | Bin 0 -> 2348 bytes .../keystore.jks} | Bin .../clearing-house-edc/vault.properties | 0 .../keystore.jks} | Bin .../resources/connector-1/vault.properties | 0 .../keystore.jks} | Bin .../resources/connector-2/vault.properties | 0 .../resources/daps/config/clients.yml | 72 +++++ .../resources/daps/config/omejdn-plugins.yml | 3 + .../resources/daps/config/omejdn.yml | 29 ++ .../daps/config/scope_description.yml | 9 + .../resources/daps/config/scope_mapping.yml | 7 + .../resources/daps/config/users.yml | 7 + .../resources/daps/config/webfinger.yml | 1 + ...C:32:9D:25:DC:76:A4:13:53:21:FE:ED:C0.cert | 20 ++ ...C:32:9D:25:DC:76:A4:13:53:21:FE:ED:C0.cert | 20 ++ ...C:32:9D:25:DC:76:A4:13:53:21:FE:ED:C0.cert | 20 ++ ...C:32:9D:25:DC:76:A4:13:53:21:FE:ED:C0.cert | 20 ++ .../resources/daps/keys/omejdn/omejdn.key | 28 ++ .../resources/postgresql/create-databases.sh | 22 ++ .../resources/sql/multiple-databases.sh | 22 -- quick-start-guide/run.cmd | 1 + quick-start-guide/run.sh | 1 + 27 files changed, 451 insertions(+), 149 deletions(-) rename quick-start-guide/resources/{broker.demo.ids-basecamp.local.jks => broker/keystore.jks} (100%) rename quick-start-guide/resources/{ => broker}/vault.properties (100%) create mode 100644 quick-start-guide/resources/clearing-house-app/private_key.der rename quick-start-guide/resources/{clearing-house-edc.demo.ids-basecamp.local.jks => clearing-house-edc/keystore.jks} (100%) create mode 100644 quick-start-guide/resources/clearing-house-edc/vault.properties rename quick-start-guide/resources/{connector-1.demo.ids-basecamp.local.jks => connector-1/keystore.jks} (100%) create mode 100644 quick-start-guide/resources/connector-1/vault.properties rename quick-start-guide/resources/{connector-2.demo.ids-basecamp.local.jks => connector-2/keystore.jks} (100%) create mode 100644 quick-start-guide/resources/connector-2/vault.properties create mode 100644 quick-start-guide/resources/daps/config/clients.yml create mode 100644 quick-start-guide/resources/daps/config/omejdn-plugins.yml create mode 100644 quick-start-guide/resources/daps/config/omejdn.yml create mode 100644 quick-start-guide/resources/daps/config/scope_description.yml create mode 100644 quick-start-guide/resources/daps/config/scope_mapping.yml create mode 100644 quick-start-guide/resources/daps/config/users.yml create mode 100644 quick-start-guide/resources/daps/config/webfinger.yml create mode 100644 quick-start-guide/resources/daps/keys/clients/1A:79:F6:EB:08:C8:97:01:6C:89:73:24:FE:21:CC:FA:5E:15:67:3E:ED:E4:34:5F:91:4B:50:8C:32:9D:25:DC:76:A4:13:53:21:FE:ED:C0.cert create mode 100644 quick-start-guide/resources/daps/keys/clients/75:C4:F1:4D:C6:AB:E1:2E:B8:FC:26:36:A8:BB:83:7A:73:C3:BB:D1:ED:E4:34:5F:91:4B:50:8C:32:9D:25:DC:76:A4:13:53:21:FE:ED:C0.cert create mode 100644 quick-start-guide/resources/daps/keys/clients/C1:9F:78:EB:E9:CF:49:25:38:39:5D:1E:AA:15:21:0F:87:1B:49:6A:ED:E4:34:5F:91:4B:50:8C:32:9D:25:DC:76:A4:13:53:21:FE:ED:C0.cert create mode 100644 quick-start-guide/resources/daps/keys/clients/E4:3D:A8:54:F3:74:E4:6F:8B:16:7E:F4:89:80:2E:0B:21:D6:05:AF:ED:E4:34:5F:91:4B:50:8C:32:9D:25:DC:76:A4:13:53:21:FE:ED:C0.cert create mode 100644 quick-start-guide/resources/daps/keys/omejdn/omejdn.key create mode 100644 quick-start-guide/resources/postgresql/create-databases.sh delete mode 100644 quick-start-guide/resources/sql/multiple-databases.sh create mode 100755 quick-start-guide/run.cmd create mode 100755 quick-start-guide/run.sh diff --git a/quick-start-guide/.env b/quick-start-guide/.env index d375f88..398abe2 100644 --- a/quick-start-guide/.env +++ b/quick-start-guide/.env @@ -1,7 +1,19 @@ -POSTGRES_PASSWORD = password POSTGRES_USER = postgres -CONNECTOR_1_POSTGRES_URL = jdbc:postgresql://postgresql:5432/connector1 -CONNECTOR_2_POSTGRES_URL = jdbc:postgresql://postgresql:5432/connector2 -BROKER_POSTGRES_URL = jdbc:postgresql://postgresql:5432/broker -DAPS_URL = http://85.215.159.70:4568 -BROKER_DOMAIN = http://localhost:8181 +POSTGRES_PASSWORD = password + +API_AUTH_KEY = password +JWT_SIGN_SECRET = 123 +KEYSTORE_PASSWORD = password +KEYSTORE_CERTIFICATE = 1 +KEYSTORE_PRIVATE_KEY = 1 + +BROKER_CLIENT_ID = C1:9F:78:EB:E9:CF:49:25:38:39:5D:1E:AA:15:21:0F:87:1B:49:6A:ED:E4:34:5F:91:4B:50:8C:32:9D:25:DC:76:A4:13:53:21:FE:ED:C0 +CH_EDC_CLIENT_ID = E4:3D:A8:54:F3:74:E4:6F:8B:16:7E:F4:89:80:2E:0B:21:D6:05:AF:ED:E4:34:5F:91:4B:50:8C:32:9D:25:DC:76:A4:13:53:21:FE:ED:C0 +CONNECTOR_1_CLIENT_ID = 75:C4:F1:4D:C6:AB:E1:2E:B8:FC:26:36:A8:BB:83:7A:73:C3:BB:D1:ED:E4:34:5F:91:4B:50:8C:32:9D:25:DC:76:A4:13:53:21:FE:ED:C0 +CONNECTOR_2_CLIENT_ID = 1A:79:F6:EB:08:C8:97:01:6C:89:73:24:FE:21:CC:FA:5E:15:67:3E:ED:E4:34:5F:91:4B:50:8C:32:9D:25:DC:76:A4:13:53:21:FE:ED:C0 + +POSTGRES_PORT = 5432 +CONNECTOR_1_MANAGEMENT_PORT = 8182 +CONNECTOR_1_IDS_PORT = 8283 +CONNECTOR_2_MANAGEMENT_PORT = 9192 +CONNECTOR_2_IDS_PORT = 9293 diff --git a/quick-start-guide/docker-compose.yml b/quick-start-guide/docker-compose.yml index e2092f6..724ea6d 100644 --- a/quick-start-guide/docker-compose.yml +++ b/quick-start-guide/docker-compose.yml @@ -1,73 +1,132 @@ -version: "3.9" +version: "3" services: postgresql: image: postgres:14-alpine - container_name: postgresql environment: - POSTGRES_USER: postgres - POSTGRES_PASSWORD: password - POSTGRES_MULTIPLE_DATABASES: connector1, connector2, broker + POSTGRES_USER: $POSTGRES_USER + POSTGRES_PASSWORD: $POSTGRES_PASSWORD + POSTGRES_DB: postgres healthcheck: test: [ "CMD-SHELL", "pg_isready -U postgres" ] - interval: 5s - timeout: 5s - retries: 5 + interval: 1s volumes: - - ./resources/sql/multiple-databases.sh:/docker-entrypoint-initdb.d/multiple-databases.sh + - ./resources/postgresql/create-databases.sh:/docker-entrypoint-initdb.d/create-databases.sh + ports: + - "$POSTGRES_PORT:5432" + + daps: + image: ghcr.io/ids-basecamp/daps:v1.0.0-basecamp + environment: + - OMEJDN_OPENID=true + - OMEJDN_ACCEPT_AUDIENCE=idsc:IDS_CONNECTORS_ALL + - OMEJDN_DEFAULT_AUDIENCE=idsc:IDS_CONNECTORS_ALL + - OMEJDN_ADMIN=admin:changethis + volumes: + - ./resources/daps/config/:/opt/config + - ./resources/daps/keys:/opt/keys + + clearing_house_app: + image: ghcr.io/ids-basecamp/clearinghouse/ch-app:1.0.0-beta.2 + depends_on: + postgresql: + condition: service_healthy + environment: + SERVICE_ID_LOG: 1 + SHARED_SECRET: $JWT_SIGN_SECRET + SIGNING_KEY: /app/keys/private_key.der + CH_APP_DATABASE_URL: "postgres://$POSTGRES_USER:$POSTGRES_PASSWORD@postgresql:5432/clearing_house" + CH_APP_CLEAR_DB: "false" + CH_APP_LOG_LEVEL: "INFO" + volumes: + - ./resources/clearing-house-app/private_key.der:/app/keys/private_key.der + + clearing_house_edc: + image: ghcr.io/ids-basecamp/clearinghouse/ch-edc:1.0.0-beta.2 + depends_on: + clearing_house_app: + condition: service_started + daps: + condition: service_started + environment: + WEB_HTTP_PORT: 9191 + WEB_HTTP_PATH: /api + + EDC_VAULT: /resources/vault.properties + EDC_KEYSTORE: /resources/keystore.jks + EDC_KEYSTORE_PASSWORD: $KEYSTORE_PASSWORD + + EDC_OAUTH_CERTIFICATE_ALIAS: $KEYSTORE_CERTIFICATE + EDC_OAUTH_PRIVATE_KEY_ALIAS: $KEYSTORE_PRIVATE_KEY + EDC_OAUTH_CLIENT_ID: $CH_EDC_CLIENT_ID + EDC_OAUTH_TOKEN_URL: http://daps:4567/token + EDC_OAUTH_PROVIDER_JWKS_URL: http://daps:4567/jwks.json + EDC_OAUTH_PROVIDER_AUDIENCE: IDSC:IDS_CONNECTORS_ALL + + TRUZZT_CLEARINGHOUSE_JWT_AUDIENCE: 1 + TRUZZT_CLEARINGHOUSE_JWT_ISSUER: 1 + TRUZZT_CLEARINGHOUSE_JWT_SIGN.SECRET: $JWT_SIGN_SECRET + TRUZZT_CLEARINGHOUSE_JWT_EXPIRES_AT: 30 + TRUZZT_CLEARINGHOUSE_APP_BASE_URL: http://clearing_house_app:8000 + volumes: + - ./resources/clearing-house-edc:/resources broker: image: ghcr.io/ids-basecamp/broker:v1.0.0-basecamp depends_on: postgresql: condition: service_healthy + daps: + condition: service_started environment: - WEB_HTTP_PORT: 13001 + WEB_HTTP_PORT: 9191 WEB_HTTP_PATH: /api - WEB_HTTP_DATA_PORT: 13002 + WEB_HTTP_MANAGEMENT_PORT: 9192 + WEB_HTTP_MANAGEMENT_PATH: / + WEB_HTTP_DATA_PORT: 9292 WEB_HTTP_DATA_PATH: /api/v1/data - WEB_HTTP_IDS_PORT: 13003 + WEB_HTTP_IDS_PORT: 9293 WEB_HTTP_IDS_PATH: /api/v1/ids - WEB_HTTP_MANAGEMENT_PORT: 13004 - WEB_HTTP_MANAGEMENT_PATH: / - EDC_IDS_ID: urn:connector:broker - EDC_IDS_TITLE: 'truzzt IDS BaseCamp Broker' - EDC_IDS_DESCRIPTION: "Truzzt's IDS BaseCamp Broker" - EDC_IDS_ENDPOINT: $BROKER_DOMAIN/api/v1/ids - IDS_WEBHOOK_ADDRESS: $BROKER_DOMAIN - EDC_IDS_CURATOR: http://truzzt.com - EDC_IDS_MAINTAINER: http://truzzt.com - EDC_CONNECTOR_NAME: truzzt-example-connector - EDC_HOSTNAME: $BROKER_DOMAIN - EDC_API_AUTH_KEY: ApiKeyDefaultValue + IDS_WEBHOOK_ADDRESS: http://broker:9293 + + EDC_API_AUTH_KEY: $API_AUTH_KEY EDC_WEB_REST_CORS_ENABLED: 'true' EDC_WEB_REST_CORS_HEADERS: 'origin,content-type,accept,authorization,x-api-key' EDC_WEB_REST_CORS_ORIGINS: '*' + EDC_FLYWAY_REPAIR: 'false' - EDC_DATASOURCE_DEFAULT_URL: $BROKER_POSTGRES_URL + EDC_DATASOURCE_DEFAULT_URL: jdbc:postgresql://postgresql:5432/broker EDC_DATASOURCE_DEFAULT_USER: $POSTGRES_USER EDC_DATASOURCE_DEFAULT_PASSWORD: $POSTGRES_PASSWORD + EDC_VAULT: /resources/vault.properties - EDC_KEYSTORE: /resources/broker.demo.ids-basecamp.local.jks - EDC_KEYSTORE_PASSWORD: password - EDC_OAUTH_CERTIFICATE_ALIAS: 1 - EDC_OAUTH_PRIVATE_KEY_ALIAS: 1 - EDC_OAUTH_CLIENT_ID: C1:9F:78:EB:E9:CF:49:25:38:39:5D:1E:AA:15:21:0F:87:1B:49:6A:ED:E4:34:5F:91:4B:50:8C:32:9D:25:DC:76:A4:13:53:21:FE:ED:C0 - EDC_OAUTH_TOKEN_URL: $DAPS_URL/token - EDC_OAUTH_PROVIDER_JWKS_URL: $DAPS_URL/jwks.json + EDC_KEYSTORE: /resources/keystore.jks + EDC_KEYSTORE_PASSWORD: $KEYSTORE_PASSWORD + + EDC_OAUTH_CERTIFICATE_ALIAS: $KEYSTORE_CERTIFICATE + EDC_OAUTH_PRIVATE_KEY_ALIAS: $KEYSTORE_PRIVATE_KEY + EDC_OAUTH_CLIENT_ID: $BROKER_CLIENT_ID + EDC_OAUTH_TOKEN_URL: http://daps:4567/token + EDC_OAUTH_PROVIDER_JWKS_URL: http://daps:4567/jwks.json EDC_OAUTH_PROVIDER_AUDIENCE: idsc:IDS_CONNECTORS_ALL EDC_CATALOG_CACHE_EXECUTION_DELAY_SECONDS: 5 EDC_CATALOG_CACHE_EXECUTION_PERIOD_SECONDS: 5 EDC_CATALOG_CACHE_PARTITION_NUM_CRAWLERS: 60 volumes: - - ./resources:/resources + - ./resources/broker:/resources connector_1: + image: ghcr.io/ids-basecamp/connector:v1.0.1-basecamp depends_on: postgresql: condition: service_healthy - image: ghcr.io/ids-basecamp/connector:v1.0.1-basecamp + daps: + condition: service_started + broker: + condition: service_started + clearing_house_edc: + condition: service_started environment: WEB_HTTP_PORT: 9191 WEB_HTTP_PATH: /api @@ -77,72 +136,85 @@ services: WEB_HTTP_DATA_PATH: /api/v1/data WEB_HTTP_IDS_PORT: 9293 WEB_HTTP_IDS_PATH: /api/v1/ids - EDC_API_AUTH_KEY: password + IDS_WEBHOOK_ADDRESS: http://connector_1:9293 + + EDC_API_AUTH_KEY: $API_AUTH_KEY + EDC_WEB_REST_CORS_ENABLED: 'true' + EDC_WEB_REST_CORS_HEADERS: 'origin,content-type,accept,authorization,x-api-key' + EDC_WEB_REST_CORS_ORIGINS: '*' + + EDC_HOSTNAME: connector_1:9293 + EDC_IDS_ID: urn:connector:ids-basecamp-demo-connector-1 + EDC_IDS_CURATOR: http://ids-basecamp.local + EDC_IDS_MAINTAINER: http://ids-basecamp.local + EDC_CONNECTOR_NAME: ids-basecamp-demo-connector-1 + + EDC_KEYSTORE: /resources/keystore.jks + EDC_KEYSTORE_PASSWORD: $KEYSTORE_PASSWORD + EDC_VAULT: /resources/vault.properties + + EDC_OAUTH_CERTIFICATE_ALIAS: $KEYSTORE_CERTIFICATE + EDC_OAUTH_PRIVATE_KEY_ALIAS: $KEYSTORE_PRIVATE_KEY + EDC_OAUTH_CLIENT_ID: $CONNECTOR_1_CLIENT_ID + EDC_OAUTH_TOKEN_URL: http://daps:4567/token + EDC_OAUTH_PROVIDER_JWKS_URL: http://daps:4567/jwks.json + EDC_OAUTH_PROVIDER_AUDIENCE: idsc:IDS_CONNECTORS_ALL EDC_DATASOURCE_DEFAULT_NAME: default - EDC_DATASOURCE_DEFAULT_URL: $CONNECTOR_1_POSTGRES_URL + EDC_DATASOURCE_DEFAULT_URL: jdbc:postgresql://postgresql:5432/connector_1 EDC_DATASOURCE_DEFAULT_USER: $POSTGRES_USER EDC_DATASOURCE_DEFAULT_PASSWORD: $POSTGRES_PASSWORD EDC_DATASOURCE_DATAPLANEINSTANCE_NAME: dataplaneinstance - EDC_DATASOURCE_DATAPLANEINSTANCE_URL: $CONNECTOR_1_POSTGRES_URL + EDC_DATASOURCE_DATAPLANEINSTANCE_URL: jdbc:postgresql://postgresql:5432/connector_1 EDC_DATASOURCE_DATAPLANEINSTANCE_USER: $POSTGRES_USER EDC_DATASOURCE_DATAPLANEINSTANCE_PASSWORD: $POSTGRES_PASSWORD EDC_DATASOURCE_ASSET_NAME: asset - EDC_DATASOURCE_ASSET_URL: $CONNECTOR_1_POSTGRES_URL + EDC_DATASOURCE_ASSET_URL: jdbc:postgresql://postgresql:5432/connector_1 EDC_DATASOURCE_ASSET_USER: $POSTGRES_USER EDC_DATASOURCE_ASSET_PASSWORD: $POSTGRES_PASSWORD EDC_DATASOURCE_CONTRACTDEFINITION_NAME: contractdefinition - EDC_DATASOURCE_CONTRACTDEFINITION_URL: $CONNECTOR_1_POSTGRES_URL + EDC_DATASOURCE_CONTRACTDEFINITION_URL: jdbc:postgresql://postgresql:5432/connector_1 EDC_DATASOURCE_CONTRACTDEFINITION_USER: $POSTGRES_USER EDC_DATASOURCE_CONTRACTDEFINITION_PASSWORD: $POSTGRES_PASSWORD EDC_DATASOURCE_CONTRACTNEGOTIATION_NAME: contractnegotiation - EDC_DATASOURCE_CONTRACTNEGOTIATION_URL: $CONNECTOR_1_POSTGRES_URL + EDC_DATASOURCE_CONTRACTNEGOTIATION_URL: jdbc:postgresql://postgresql:5432/connector_1 EDC_DATASOURCE_CONTRACTNEGOTIATION_USER: $POSTGRES_USER EDC_DATASOURCE_CONTRACTNEGOTIATION_PASSWORD: $POSTGRES_PASSWORD EDC_DATASOURCE_POLICY_NAME: policy - EDC_DATASOURCE_POLICY_URL: $CONNECTOR_1_POSTGRES_URL + EDC_DATASOURCE_POLICY_URL: jdbc:postgresql://postgresql:5432/connector_1 EDC_DATASOURCE_POLICY_USER: $POSTGRES_USER EDC_DATASOURCE_POLICY_PASSWORD: $POSTGRES_PASSWORD EDC_DATASOURCE_TRANSFERPROCESS_NAME: transferprocess - EDC_DATASOURCE_TRANSFERPROCESS_URL: $CONNECTOR_1_POSTGRES_URL + EDC_DATASOURCE_TRANSFERPROCESS_URL: jdbc:postgresql://postgresql:5432/connector_1 EDC_DATASOURCE_TRANSFERPROCESS_USER: $POSTGRES_USER EDC_DATASOURCE_TRANSFERPROCESS_PASSWORD: $POSTGRES_PASSWORD - EDC_CLEARINGHOUSE_LOG_URL: clearing-house-edc - BROKER_CLIENT_EXTENSION_ENABLED: "false" - EDC_BROKER_BASE_URL: broker - - EDC_OAUTH_CERTIFICATE_ALIAS: 1 - EDC_OAUTH_PRIVATE_KEY_ALIAS: 1 - EDC_OAUTH_CLIENT_ID: 75:C4:F1:4D:C6:AB:E1:2E:B8:FC:26:36:A8:BB:83:7A:73:C3:BB:D1:ED:E4:34:5F:91:4B:50:8C:32:9D:25:DC:76:A4:13:53:21:FE:ED:C0 - EDC_OAUTH_TOKEN_URL: $DAPS_URL/token - EDC_OAUTH_PROVIDER_JWKS_URL: $DAPS_URL/jwks.json - EDC_OAUTH_PROVIDER_AUDIENCE: idsc:IDS_CONNECTORS_ALL - - IDS_WEBHOOK_ADDRESS: http://connector_1:9293 - - EDC_KEYSTORE: /resources/connector-1.demo.ids-basecamp.local.jks - EDC_KEYSTORE_PASSWORD: password - EDC_VAULT: /resources/vault.properties + EDC_CLEARINGHOUSE_LOG_URL: http://clearing_house_edc:9191 + BROKER_CLIENT_EXTENSION_ENABLED: "true" + EDC_BROKER_BASE_URL: http://broker:9192 volumes: - - ./resources:/resources + - ./resources/connector-1:/resources ports: - - "9001:9191" - - "9002:9192" - - "9003:9292" - - "9004:9293" + - "$CONNECTOR_1_MANAGEMENT_PORT:9192" + - "$CONNECTOR_1_IDS_PORT:9293" connector_2: + image: ghcr.io/ids-basecamp/connector:v1.0.1-basecamp depends_on: postgresql: condition: service_healthy - image: ghcr.io/ids-basecamp/connector:v1.0.1-basecamp + daps: + condition: service_started + broker: + condition: service_started + clearing_house_edc: + condition: service_started environment: WEB_HTTP_PORT: 9191 WEB_HTTP_PATH: /api @@ -151,91 +223,71 @@ services: WEB_HTTP_DATA_PORT: 9292 WEB_HTTP_DATA_PATH: /api/v1/data WEB_HTTP_IDS_PORT: 9293 - WEB_HTTP_IDS_PATH: /api/v1/ids - EDC_API_AUTH_KEY: password + WEB_HTTP_IDS_PATH: /api/v1/ids + IDS_WEBHOOK_ADDRESS: http://connector_2:9293 + + EDC_API_AUTH_KEY: $API_AUTH_KEY + EDC_WEB_REST_CORS_ENABLED: 'true' + EDC_WEB_REST_CORS_HEADERS: 'origin,content-type,accept,authorization,x-api-key' + EDC_WEB_REST_CORS_ORIGINS: '*' + + EDC_HOSTNAME: connector_2:9293 + EDC_IDS_ID: urn:connector:ids-basecamp-demo-connector-2 + EDC_IDS_CURATOR: http://ids-basecamp.local + EDC_IDS_MAINTAINER: http://ids-basecamp.local + EDC_CONNECTOR_NAME: ids-basecamp-demo-connector-2 + + EDC_KEYSTORE: /resources/keystore.jks + EDC_KEYSTORE_PASSWORD: $KEYSTORE_PASSWORD + EDC_VAULT: /resources/vault.properties + + EDC_OAUTH_CERTIFICATE_ALIAS: $KEYSTORE_CERTIFICATE + EDC_OAUTH_PRIVATE_KEY_ALIAS: $KEYSTORE_PRIVATE_KEY + EDC_OAUTH_CLIENT_ID: $CONNECTOR_2_CLIENT_ID + EDC_OAUTH_TOKEN_URL: http://daps:4567/token + EDC_OAUTH_PROVIDER_JWKS_URL: http://daps:4567/jwks.json + EDC_OAUTH_PROVIDER_AUDIENCE: idsc:IDS_CONNECTORS_ALL EDC_DATASOURCE_DEFAULT_NAME: default - EDC_DATASOURCE_DEFAULT_URL: $CONNECTOR_2_POSTGRES_URL + EDC_DATASOURCE_DEFAULT_URL: jdbc:postgresql://postgresql:5432/connector_2 EDC_DATASOURCE_DEFAULT_USER: $POSTGRES_USER EDC_DATASOURCE_DEFAULT_PASSWORD: $POSTGRES_PASSWORD EDC_DATASOURCE_DATAPLANEINSTANCE_NAME: dataplaneinstance - EDC_DATASOURCE_DATAPLANEINSTANCE_URL: $CONNECTOR_2_POSTGRES_URL + EDC_DATASOURCE_DATAPLANEINSTANCE_URL: jdbc:postgresql://postgresql:5432/connector_2 EDC_DATASOURCE_DATAPLANEINSTANCE_USER: $POSTGRES_USER EDC_DATASOURCE_DATAPLANEINSTANCE_PASSWORD: $POSTGRES_PASSWORD EDC_DATASOURCE_ASSET_NAME: asset - EDC_DATASOURCE_ASSET_URL: $CONNECTOR_2_POSTGRES_URL + EDC_DATASOURCE_ASSET_URL: jdbc:postgresql://postgresql:5432/connector_2 EDC_DATASOURCE_ASSET_USER: $POSTGRES_USER EDC_DATASOURCE_ASSET_PASSWORD: $POSTGRES_PASSWORD EDC_DATASOURCE_CONTRACTDEFINITION_NAME: contractdefinition - EDC_DATASOURCE_CONTRACTDEFINITION_URL: $CONNECTOR_2_POSTGRES_URL + EDC_DATASOURCE_CONTRACTDEFINITION_URL: jdbc:postgresql://postgresql:5432/connector_2 EDC_DATASOURCE_CONTRACTDEFINITION_USER: $POSTGRES_USER EDC_DATASOURCE_CONTRACTDEFINITION_PASSWORD: $POSTGRES_PASSWORD EDC_DATASOURCE_CONTRACTNEGOTIATION_NAME: contractnegotiation - EDC_DATASOURCE_CONTRACTNEGOTIATION_URL: $CONNECTOR_2_POSTGRES_URL + EDC_DATASOURCE_CONTRACTNEGOTIATION_URL: jdbc:postgresql://postgresql:5432/connector_2 EDC_DATASOURCE_CONTRACTNEGOTIATION_USER: $POSTGRES_USER EDC_DATASOURCE_CONTRACTNEGOTIATION_PASSWORD: $POSTGRES_PASSWORD EDC_DATASOURCE_POLICY_NAME: policy - EDC_DATASOURCE_POLICY_URL: $CONNECTOR_2_POSTGRES_URL + EDC_DATASOURCE_POLICY_URL: jdbc:postgresql://postgresql:5432/connector_2 EDC_DATASOURCE_POLICY_USER: $POSTGRES_USER EDC_DATASOURCE_POLICY_PASSWORD: $POSTGRES_PASSWORD EDC_DATASOURCE_TRANSFERPROCESS_NAME: transferprocess - EDC_DATASOURCE_TRANSFERPROCESS_URL: $CONNECTOR_2_POSTGRES_URL + EDC_DATASOURCE_TRANSFERPROCESS_URL: jdbc:postgresql://postgresql:5432/connector_2 EDC_DATASOURCE_TRANSFERPROCESS_USER: $POSTGRES_USER EDC_DATASOURCE_TRANSFERPROCESS_PASSWORD: $POSTGRES_PASSWORD - EDC_CLEARINGHOUSE_LOG_URL: clearing-house-edc - BROKER_CLIENT_EXTENSION_ENABLED: "false" - EDC_BROKER_BASE_URL: broker - - EDC_OAUTH_CERTIFICATE_ALIAS: 1 - EDC_OAUTH_PRIVATE_KEY_ALIAS: 1 - EDC_OAUTH_CLIENT_ID: 1A:79:F6:EB:08:C8:97:01:6C:89:73:24:FE:21:CC:FA:5E:15:67:3E:ED:E4:34:5F:91:4B:50:8C:32:9D:25:DC:76:A4:13:53:21:FE:ED:C0 - EDC_OAUTH_TOKEN_URL: http://85.215.159.70:4568/token - EDC_OAUTH_PROVIDER_JWKS_URL: http://85.215.159.70:4568/jwks.json - EDC_OAUTH_PROVIDER_AUDIENCE: idsc:IDS_CONNECTORS_ALL - - IDS_WEBHOOK_ADDRESS: http://connector_2:9293 - - EDC_KEYSTORE: /resources/connector-2.demo.ids-basecamp.local.jks - EDC_KEYSTORE_PASSWORD: password - EDC_VAULT: /resources/vault.properties + EDC_CLEARINGHOUSE_LOG_URL: http://clearing_house_edc:9191 + BROKER_CLIENT_EXTENSION_ENABLED: "true" + EDC_BROKER_BASE_URL: http://broker:9192 volumes: - - ./resources:/resources + - ./resources/connector-2:/resources ports: - - "9005:9191" - - "9006:9192" - - "9007:9292" - - "9008:9293" - - clearing-house-edc: - image: ghcr.io/ids-basecamp/clearinghouse/ch-edc:1.0.0-beta.2 - environment: - WEB_HTTP_PORT: 7171 - WEB_HTTP_PATH: /api - WEB_HTTP_PROTOCOL_PORT: 7272 - WEB_HTTP_PROTOCOL_PATH: /protocol - - EDC_VAULT: /resources/vault.properties - EDC_KEYSTORE: /resources/clearing-house-edc.demo.ids-basecamp.local.jks - EDC_KEYSTORE_PASSWORD: password - - EDC_OAUTH_CERTIFICATE_ALIAS: 1 - EDC_OAUTH_PRIVATE_KEY_ALIAS: 1 - EDC_OAUTH_CLIENT_ID: E4:3D:A8:54:F3:74:E4:6F:8B:16:7E:F4:89:80:2E:0B:21:D6:05:AF:ED:E4:34:5F:91:4B:50:8C:32:9D:25:DC:76:A4:13:53:21:FE:ED:C0 - EDC_OAUTH_TOKEN_URL: http://85.215.159.70:4568/token - EDC_OAUTH_PROVIDER_JWKS_URL: http://85.215.159.70:4568/jwks.json - EDC_OAUTH_PROVIDER_AUDIENCE: IDSC:IDS_CONNECTORS_ALL - - TRUZZT_CLEARINGHOUSE_JWT_AUDIENCE: 1 - TRUZZT_CLEARINGHOUSE_JWT_ISSUER: 1 - TRUZZT_CLEARINGHOUSE_JWT_SIGN.SECRET: 123 - TRUZZT_CLEARINGHOUSE_JWT_EXPIRES_AT: 30 - TRUZZT_CLEARINGHOUSE_APP_BASE_URL: http://localhost:8000 - volumes: - - ./resources:/resources \ No newline at end of file + - "$CONNECTOR_2_MANAGEMENT_PORT:9192" + - "$CONNECTOR_2_IDS_PORT:9293" diff --git a/quick-start-guide/resources/broker.demo.ids-basecamp.local.jks b/quick-start-guide/resources/broker/keystore.jks similarity index 100% rename from quick-start-guide/resources/broker.demo.ids-basecamp.local.jks rename to quick-start-guide/resources/broker/keystore.jks diff --git a/quick-start-guide/resources/vault.properties b/quick-start-guide/resources/broker/vault.properties similarity index 100% rename from quick-start-guide/resources/vault.properties rename to quick-start-guide/resources/broker/vault.properties diff --git a/quick-start-guide/resources/clearing-house-app/private_key.der b/quick-start-guide/resources/clearing-house-app/private_key.der new file mode 100644 index 0000000000000000000000000000000000000000..f7f0a025839f7f2d7603ff496f4bb745e555bc9a GIT binary patch literal 2348 zcmV+{3Dfp4f(a-B0RRGm0s#Q3stNL$Cm7eexs7z?*r)l46J7c>gi=-9_x&Q$L*SU2 z6xpA{X%ck?>RlAw+9Cb)@6Uq{@z`&)ccbLu9N##c@R%UTYrxC zu`$!DHAxGV+ntjG;v!!{tZT=B81&#od8=MRq z2%Ozehm(#^buR0ov{^>HYiSWU;Hb-MNO~F^?i;J>MRbcbJ zXC+Kxi_xr=#<@PKa#rO{Fn9M0d7G;9syhPyQF~Dp_(%oy40GZ#JlbvyE!0Tq!@~5Y ztJW2qCFT`q5Wq`GF~(!e3{^V0aEN2huQc)UxgI!=MSP&?T-|6aAnXQCZ^>s;hPMDA zp%P6tqn*TLe3Q^^A_#qsPq{^6d=Y0H)zwt&?O_L~M^3C*Ow0H`ANFYj{2>I+qDst| zwh=(>%6zfbQl|9+0|5X50)hen39y&h|5_RC|DiKHQqw|2GIjHLY14Ex4enjUjxG}Q zNPb1Zp?k3I%`_~wP77$)e|0#cg=Doqo1)x7Lx#+POP-E``-X1%irH0nY>{L9`z1kk zNTE<|;=ylw*M+S8M^9i#v;=*sx=DWdaICISi;4;!gTlF=RH%=V16`=%H(q|X+mVc4 zh_1EXhs6QCx2O3N4P-iX*?Iv5J~G|oxKuu5%QQp}W#$N|AWlQ!@@7q2n!pnL^Ib^s z;{y#W|EhxZX=f5u&3w*hbZ1Lp)KFbawEz!RK9j*an!gKK-*SC~um1 zb0b*bFEGvkGXJs7Q+-F5Z8c0#SiHOy zcWv(hVLF-(Ljqlya6jGm(B|M<5KxaGSk>l6&bFKUY5@7L1rtZjpI2pP!hm<53AJ)An(U1V&prS z!iUvQ5fK^8t_gwx0)hbn0M``JM_=EyQSmPlQc7BYpR5r+y3oR1@-u?Po&VDdcC& z+8I~wT+9F_nLC8x6z&W5ode_G>Z0>P=-X^CDCV1eo~c z^57M5b_?J|2H7SCfdYa70RYP(^^hZ=4eYc;;^x?f2D}`PY%+5g1lb$VHyavy$~59J zD~l|%qLgb}3ia~N8Uya+!k>=kEyuU7{oLS;qy&T0?B7zS`XS`&MdBG z_~wR!z1Ux{ksPv*MD(4d9w!vx&5TKN<|z z-H4CAn`v`@7q0XXs7uxa{n-Hfx@G2AG{rz#UkE)*S#@1&a*MN?N4X*M2me1@7=q+e ze?Ze&LMA>5Di__2yHGiLwhZ)XA+qGdWK~#(u5|)}0RaHkr4#03E8@(MA|>jw0eAE1I`_9P@!(C1oTMgq_n*gH z>@i}A(~z@vXZO1Am*aZ7YK3_y)*Zg0Hxz`1db{hxl8D0p*4@`S0K82{?p+M|DhIvC z%SejZ`ZM07<5`R!V`a!<3+U{_!uJlj0TtD0A1d0`!2OG z7}qCgw%J#BBSVU?wxnXY>C*#$;W;9|HjVPAp>=Q%DFU`+X*tKAh zp|O)Yqv)~|1=3DHyog320_XXK*k?V|_FFu-FpU5$_1SJklLe@f;rSmrLe1VyYpc0} zS#~(pp1}EH;7eXlxMSK~p{HA0xMZ&cJ!NYooPKx`!A?E=%^j|uyX-qWJ`e^ptl*;dw z5?<)VYDS`Fz?+W}Vxo;2L0Mc%xW3m^^@>?{0iyg)bAg{bT)n Date: Fri, 1 Mar 2024 10:16:18 -0300 Subject: [PATCH 15/20] chore: adding new docker configurations to env file --- quick-start-guide/.env | 13 ++++++++++++- quick-start-guide/docker-compose.yml | 23 +++++++---------------- 2 files changed, 19 insertions(+), 17 deletions(-) diff --git a/quick-start-guide/.env b/quick-start-guide/.env index 398abe2..40c1829 100644 --- a/quick-start-guide/.env +++ b/quick-start-guide/.env @@ -2,11 +2,22 @@ POSTGRES_USER = postgres POSTGRES_PASSWORD = password API_AUTH_KEY = password -JWT_SIGN_SECRET = 123 + KEYSTORE_PASSWORD = password KEYSTORE_CERTIFICATE = 1 KEYSTORE_PRIVATE_KEY = 1 +JWT_AUDIENCE = 1 +JWT_ISSUER = 1 +JWT_SIGN_SECRET = 123 +JWT_EXPIRES_AT = 30 + +CH_APP_SERVICE_LOG = 1 + +BROKER_DELAY_SECONDS = 5 +BROKER_PERIOD_SECONDS = 5 +BROKER_NUM_CRAWLERS = 60 + BROKER_CLIENT_ID = C1:9F:78:EB:E9:CF:49:25:38:39:5D:1E:AA:15:21:0F:87:1B:49:6A:ED:E4:34:5F:91:4B:50:8C:32:9D:25:DC:76:A4:13:53:21:FE:ED:C0 CH_EDC_CLIENT_ID = E4:3D:A8:54:F3:74:E4:6F:8B:16:7E:F4:89:80:2E:0B:21:D6:05:AF:ED:E4:34:5F:91:4B:50:8C:32:9D:25:DC:76:A4:13:53:21:FE:ED:C0 CONNECTOR_1_CLIENT_ID = 75:C4:F1:4D:C6:AB:E1:2E:B8:FC:26:36:A8:BB:83:7A:73:C3:BB:D1:ED:E4:34:5F:91:4B:50:8C:32:9D:25:DC:76:A4:13:53:21:FE:ED:C0 diff --git a/quick-start-guide/docker-compose.yml b/quick-start-guide/docker-compose.yml index 724ea6d..e5c0e5c 100644 --- a/quick-start-guide/docker-compose.yml +++ b/quick-start-guide/docker-compose.yml @@ -32,7 +32,7 @@ services: postgresql: condition: service_healthy environment: - SERVICE_ID_LOG: 1 + SERVICE_ID_LOG: $CH_APP_SERVICE_LOG SHARED_SECRET: $JWT_SIGN_SECRET SIGNING_KEY: /app/keys/private_key.der CH_APP_DATABASE_URL: "postgres://$POSTGRES_USER:$POSTGRES_PASSWORD@postgresql:5432/clearing_house" @@ -63,10 +63,10 @@ services: EDC_OAUTH_PROVIDER_JWKS_URL: http://daps:4567/jwks.json EDC_OAUTH_PROVIDER_AUDIENCE: IDSC:IDS_CONNECTORS_ALL - TRUZZT_CLEARINGHOUSE_JWT_AUDIENCE: 1 - TRUZZT_CLEARINGHOUSE_JWT_ISSUER: 1 + TRUZZT_CLEARINGHOUSE_JWT_AUDIENCE: $JWT_AUDIENCE + TRUZZT_CLEARINGHOUSE_JWT_ISSUER: $JWT_ISSUER TRUZZT_CLEARINGHOUSE_JWT_SIGN.SECRET: $JWT_SIGN_SECRET - TRUZZT_CLEARINGHOUSE_JWT_EXPIRES_AT: 30 + TRUZZT_CLEARINGHOUSE_JWT_EXPIRES_AT: $JWT_EXPIRES_AT TRUZZT_CLEARINGHOUSE_APP_BASE_URL: http://clearing_house_app:8000 volumes: - ./resources/clearing-house-edc:/resources @@ -90,9 +90,6 @@ services: IDS_WEBHOOK_ADDRESS: http://broker:9293 EDC_API_AUTH_KEY: $API_AUTH_KEY - EDC_WEB_REST_CORS_ENABLED: 'true' - EDC_WEB_REST_CORS_HEADERS: 'origin,content-type,accept,authorization,x-api-key' - EDC_WEB_REST_CORS_ORIGINS: '*' EDC_FLYWAY_REPAIR: 'false' EDC_DATASOURCE_DEFAULT_URL: jdbc:postgresql://postgresql:5432/broker @@ -110,9 +107,9 @@ services: EDC_OAUTH_PROVIDER_JWKS_URL: http://daps:4567/jwks.json EDC_OAUTH_PROVIDER_AUDIENCE: idsc:IDS_CONNECTORS_ALL - EDC_CATALOG_CACHE_EXECUTION_DELAY_SECONDS: 5 - EDC_CATALOG_CACHE_EXECUTION_PERIOD_SECONDS: 5 - EDC_CATALOG_CACHE_PARTITION_NUM_CRAWLERS: 60 + EDC_CATALOG_CACHE_EXECUTION_DELAY_SECONDS: $BROKER_DELAY_SECONDS + EDC_CATALOG_CACHE_EXECUTION_PERIOD_SECONDS: $BROKER_PERIOD_SECONDS + EDC_CATALOG_CACHE_PARTITION_NUM_CRAWLERS: $BROKER_NUM_CRAWLERS volumes: - ./resources/broker:/resources @@ -139,9 +136,6 @@ services: IDS_WEBHOOK_ADDRESS: http://connector_1:9293 EDC_API_AUTH_KEY: $API_AUTH_KEY - EDC_WEB_REST_CORS_ENABLED: 'true' - EDC_WEB_REST_CORS_HEADERS: 'origin,content-type,accept,authorization,x-api-key' - EDC_WEB_REST_CORS_ORIGINS: '*' EDC_HOSTNAME: connector_1:9293 EDC_IDS_ID: urn:connector:ids-basecamp-demo-connector-1 @@ -227,9 +221,6 @@ services: IDS_WEBHOOK_ADDRESS: http://connector_2:9293 EDC_API_AUTH_KEY: $API_AUTH_KEY - EDC_WEB_REST_CORS_ENABLED: 'true' - EDC_WEB_REST_CORS_HEADERS: 'origin,content-type,accept,authorization,x-api-key' - EDC_WEB_REST_CORS_ORIGINS: '*' EDC_HOSTNAME: connector_2:9293 EDC_IDS_ID: urn:connector:ids-basecamp-demo-connector-2 From 529c89d7eac5e7b286a057bf61681d6a9bad6b59 Mon Sep 17 00:00:00 2001 From: Augusto Leal Date: Wed, 6 Mar 2024 08:53:09 -0300 Subject: [PATCH 16/20] feat: quick-start-guide readme --- quick-start-guide/README.md | 0 quick-start-guide/run.cmd | 1 - quick-start-guide/run.sh | 1 - 3 files changed, 2 deletions(-) create mode 100644 quick-start-guide/README.md delete mode 100755 quick-start-guide/run.cmd delete mode 100755 quick-start-guide/run.sh diff --git a/quick-start-guide/README.md b/quick-start-guide/README.md new file mode 100644 index 0000000..e69de29 diff --git a/quick-start-guide/run.cmd b/quick-start-guide/run.cmd deleted file mode 100755 index 7815dab..0000000 --- a/quick-start-guide/run.cmd +++ /dev/null @@ -1 +0,0 @@ -docker-compose -p ids-basecamp up -d --remove-orphans diff --git a/quick-start-guide/run.sh b/quick-start-guide/run.sh deleted file mode 100755 index 7815dab..0000000 --- a/quick-start-guide/run.sh +++ /dev/null @@ -1 +0,0 @@ -docker-compose -p ids-basecamp up -d --remove-orphans From 957c3b01f37cacc09a1b65439d70ad9c75de9dbb Mon Sep 17 00:00:00 2001 From: Augusto Leal Date: Wed, 6 Mar 2024 09:27:43 -0300 Subject: [PATCH 17/20] feat: quick-start-guide readme --- quick-start-guide/README.md | 76 +++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) diff --git a/quick-start-guide/README.md b/quick-start-guide/README.md index e69de29..310f3e0 100644 --- a/quick-start-guide/README.md +++ b/quick-start-guide/README.md @@ -0,0 +1,76 @@ +# Quick Start Guide - IDS Basecamp + +### This is a demo and a faster way to up the ids-basecamp ecosystem and understand how it works. + +## Supported Systems + +- Linux (or WSL on windows) +- Mac Os + +## Requirements + +- Git +- Docker + +## How to run + +- Clone the [ids-basecamp](https://github.com/ids-basecamp/ids-basecamp) repository +- Go to quick-start-guide directory +- To download the environment run this code below +> docker-compose down +- To run the docker image use this code below +> docker-compose -p ids-basecamp up -d + +## About the containers + +About the containers + +In this demo environment, the following containers will be launched: + +- Postgres + - Relational database used by Broker, Container 1, Container 2 and Clearing House App containers + +- DAPS + - [IDS DAPS](https://github.com/International-Data-Spaces-Association/IDS-G/blob/main/Components/IdentityProvider/DAPS/README.md) implementation used by Broker, Container 1, Container 2 and Clearing House EDC containers + +- Clearing House App + - [IDS Clearing House](https://github.com/International-Data-Spaces-Association/IDS-G/blob/main/Components/ClearingHouse/README.md) implementation, with a REST API + +- Clearing House EDC + - [Multipart protocol API](https://github.com/International-Data-Spaces-Association/IDS-G/blob/main/Communication/protocols/multipart/README.md#42-clearing-house-interactions) to communicate with Clearing House App REST API, used by Connector 1 and Connector 2 containers + +- Broker + - [IDS Broker](https://github.com/International-Data-Spaces-Association/IDS-G/tree/main/Components/MetaDataBroker) implementation used by Connector 1 and Connector 2 containers + +- Connector 1 and Connector 2 + - [IDS Connector](https://github.com/International-Data-Spaces-Association/IDS-G/blob/main/Components/Connector/README.md) implementations using a EDC Milestone 8 implementation + +## About environments + +The configurations variables can be found in .env file located into quick-start-guide folder + +| Variable | Description | +|------------------------------|:--------------------------------------------------------------------------------------------------------| +| POSTGRES_USER | Database default user | +| POSTGRES_PASSWORD | Database default password | +| API_AUTH_KEY | Connectors REST API access key | +| KEYSTORE_PASSWORD | Keystore password of keystore files (.jks) with the DAPS communication certificates | +| KEYSTORE_CERTIFICATE | Alias of the certificate from keystore file | +| KEYSTORE_PRIVATE_KEY | Alias of private key from keystore file | +| JWT_AUDIENCE | claim aud of JWT token to exchange between Clearing House EDC and Clearing House APP | +| JWT_ISSUER | claim iss of JWT token to exchange between Clearing House EDC and Clearing House APP | +| JWT_SIGN_SECRET | secret of token JWT token to exchange between Clearing House EDC and Clearing House APP | +| JWT_EXPIRES_AT | Expiration time (in seconds) of JWT token to exchange between Clearing House EDC and Clearing House APP | +| CH_APP_SERVICE_LOG | ID of service log module from Clearing House APP | +| BROKER_DELAY_SECONDS | Time to the first execution of the broker crawler | +| BROKER_PERIOD_SECONDS | Time to the next executions of the broker crawler | +| BROKER_NUM_CRAWLERS | Number of concurrents instances to be created from the broker crawler | +| BROKER_CLIENT_ID | DAPS oAuth client ID of Broker container | +| CH_EDC_CLIENT_ID | DAPS oAuth client ID of Clearing House EDC container | +| CONNECTOR_1_CLIENT_ID | DAPS oAuth client ID of Connector 1 container | +| CONNECTOR_2_CLIENT_ID | DAPS oAuth client ID of Connector 2 container | +| POSTGRES_PORT | Database local access port | +| CONNECTOR_1_MANAGEMENT_PORT | Connnector 1 API Managment local access port | +| CONNECTOR_1_IDS_PORT | Connector 1 IDS API local access port | +| CONNECTOR_2_MANAGEMENT_PORT | Connnector 2 API Managment local access port | +| CONNECTOR_2_IDS_PORT | Connector 2 IDS API local access port | \ No newline at end of file From 7803c40e218310f63361865d916df64e127171eb Mon Sep 17 00:00:00 2001 From: Glaucio Jannotti Date: Wed, 6 Mar 2024 09:36:17 -0300 Subject: [PATCH 18/20] feat: quick-start-guide readme --- quick-start-guide/README.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/quick-start-guide/README.md b/quick-start-guide/README.md index 310f3e0..d78bde2 100644 --- a/quick-start-guide/README.md +++ b/quick-start-guide/README.md @@ -16,11 +16,15 @@ - Clone the [ids-basecamp](https://github.com/ids-basecamp/ids-basecamp) repository - Go to quick-start-guide directory -- To download the environment run this code below -> docker-compose down -- To run the docker image use this code below + +- To start the environment run the code below: + > docker-compose -p ids-basecamp up -d +- To shutdown the environment run the code below: + +> docker-compose down + ## About the containers About the containers From d6e31303afcbb7f75f437b5c8049112e1b4ba7b2 Mon Sep 17 00:00:00 2001 From: Augustocmleal Date: Fri, 19 Apr 2024 15:46:42 +0100 Subject: [PATCH 19/20] feat: update docker compose images version --- quick-start-guide/docker-compose.yml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/quick-start-guide/docker-compose.yml b/quick-start-guide/docker-compose.yml index e5c0e5c..495fe5e 100644 --- a/quick-start-guide/docker-compose.yml +++ b/quick-start-guide/docker-compose.yml @@ -11,7 +11,7 @@ services: test: [ "CMD-SHELL", "pg_isready -U postgres" ] interval: 1s volumes: - - ./resources/postgresql/create-databases.sh:/docker-entrypoint-initdb.d/create-databases.sh + - ./resources/postgresql/create-databases.sh:/docker-entrypoint-initdb.d/create-databases.sh ports: - "$POSTGRES_PORT:5432" @@ -27,7 +27,7 @@ services: - ./resources/daps/keys:/opt/keys clearing_house_app: - image: ghcr.io/ids-basecamp/clearinghouse/ch-app:1.0.0-beta.2 + image: ghcr.io/ids-basecamp/clearinghouse/ch-app:1.0.0-beta.4 depends_on: postgresql: condition: service_healthy @@ -42,7 +42,7 @@ services: - ./resources/clearing-house-app/private_key.der:/app/keys/private_key.der clearing_house_edc: - image: ghcr.io/ids-basecamp/clearinghouse/ch-edc:1.0.0-beta.2 + image: ghcr.io/ids-basecamp/clearinghouse/ch-edc:1.0.0-beta.4 depends_on: clearing_house_app: condition: service_started @@ -72,7 +72,7 @@ services: - ./resources/clearing-house-edc:/resources broker: - image: ghcr.io/ids-basecamp/broker:v1.0.0-basecamp + image: ghcr.io/ids-basecamp/broker:v1.0.2-basecamp depends_on: postgresql: condition: service_healthy @@ -114,14 +114,14 @@ services: - ./resources/broker:/resources connector_1: - image: ghcr.io/ids-basecamp/connector:v1.0.1-basecamp + image: ghcr.io/ids-basecamp/connector:v1.0.3-basecamp depends_on: postgresql: condition: service_healthy daps: condition: service_started broker: - condition: service_started + condition: service_started clearing_house_edc: condition: service_started environment: @@ -199,16 +199,16 @@ services: - "$CONNECTOR_1_IDS_PORT:9293" connector_2: - image: ghcr.io/ids-basecamp/connector:v1.0.1-basecamp + image: ghcr.io/ids-basecamp/connector:v1.0.3-basecamp depends_on: postgresql: condition: service_healthy daps: condition: service_started broker: - condition: service_started + condition: service_started clearing_house_edc: - condition: service_started + condition: service_started environment: WEB_HTTP_PORT: 9191 WEB_HTTP_PATH: /api @@ -217,7 +217,7 @@ services: WEB_HTTP_DATA_PORT: 9292 WEB_HTTP_DATA_PATH: /api/v1/data WEB_HTTP_IDS_PORT: 9293 - WEB_HTTP_IDS_PATH: /api/v1/ids + WEB_HTTP_IDS_PATH: /api/v1/ids IDS_WEBHOOK_ADDRESS: http://connector_2:9293 EDC_API_AUTH_KEY: $API_AUTH_KEY From 45db65e637eb0322fd956c519f800d32b9fe8971 Mon Sep 17 00:00:00 2001 From: Glaucio Jannotti Date: Tue, 7 May 2024 18:00:17 -0300 Subject: [PATCH 20/20] feat: upgrading images on quick-start-guide --- quick-start-guide/.env | 5 +++++ quick-start-guide/README.md | 4 ++-- quick-start-guide/docker-compose.yml | 13 ++++++++----- 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/quick-start-guide/.env b/quick-start-guide/.env index 40c1829..b61ff45 100644 --- a/quick-start-guide/.env +++ b/quick-start-guide/.env @@ -28,3 +28,8 @@ CONNECTOR_1_MANAGEMENT_PORT = 8182 CONNECTOR_1_IDS_PORT = 8283 CONNECTOR_2_MANAGEMENT_PORT = 9192 CONNECTOR_2_IDS_PORT = 9293 + + +BROKER_SQL_FETCH_SIZE = 99999 +CONNECTOR_1_SQL_FETCH_SIZE = 99999 +CONNECTOR_2_SQL_FETCH_SIZE = 99999 \ No newline at end of file diff --git a/quick-start-guide/README.md b/quick-start-guide/README.md index d78bde2..fe4b88a 100644 --- a/quick-start-guide/README.md +++ b/quick-start-guide/README.md @@ -19,11 +19,11 @@ - To start the environment run the code below: -> docker-compose -p ids-basecamp up -d +> docker compose -p ids-basecamp up -d - To shutdown the environment run the code below: -> docker-compose down +> docker compose down ## About the containers diff --git a/quick-start-guide/docker-compose.yml b/quick-start-guide/docker-compose.yml index 495fe5e..699667f 100644 --- a/quick-start-guide/docker-compose.yml +++ b/quick-start-guide/docker-compose.yml @@ -27,7 +27,7 @@ services: - ./resources/daps/keys:/opt/keys clearing_house_app: - image: ghcr.io/ids-basecamp/clearinghouse/ch-app:1.0.0-beta.4 + image: ghcr.io/ids-basecamp/clearinghouse/ch-app:1.0.0-beta.5 depends_on: postgresql: condition: service_healthy @@ -42,7 +42,7 @@ services: - ./resources/clearing-house-app/private_key.der:/app/keys/private_key.der clearing_house_edc: - image: ghcr.io/ids-basecamp/clearinghouse/ch-edc:1.0.0-beta.4 + image: ghcr.io/ids-basecamp/clearinghouse/ch-edc:1.0.0-beta.5 depends_on: clearing_house_app: condition: service_started @@ -72,7 +72,7 @@ services: - ./resources/clearing-house-edc:/resources broker: - image: ghcr.io/ids-basecamp/broker:v1.0.2-basecamp + image: ghcr.io/ids-basecamp/broker:v1.0.3-basecamp depends_on: postgresql: condition: service_healthy @@ -95,6 +95,7 @@ services: EDC_DATASOURCE_DEFAULT_URL: jdbc:postgresql://postgresql:5432/broker EDC_DATASOURCE_DEFAULT_USER: $POSTGRES_USER EDC_DATASOURCE_DEFAULT_PASSWORD: $POSTGRES_PASSWORD + EDC_SQL_FETCH_SIZE: $BROKER_SQL_FETCH_SIZE EDC_VAULT: /resources/vault.properties EDC_KEYSTORE: /resources/keystore.jks @@ -114,7 +115,7 @@ services: - ./resources/broker:/resources connector_1: - image: ghcr.io/ids-basecamp/connector:v1.0.3-basecamp + image: ghcr.io/ids-basecamp/connector:v1.0.4-basecamp depends_on: postgresql: condition: service_healthy @@ -158,6 +159,7 @@ services: EDC_DATASOURCE_DEFAULT_URL: jdbc:postgresql://postgresql:5432/connector_1 EDC_DATASOURCE_DEFAULT_USER: $POSTGRES_USER EDC_DATASOURCE_DEFAULT_PASSWORD: $POSTGRES_PASSWORD + EDC_SQL_FETCH_SIZE: $CONNECTOR_1_SQL_FETCH_SIZE EDC_DATASOURCE_DATAPLANEINSTANCE_NAME: dataplaneinstance EDC_DATASOURCE_DATAPLANEINSTANCE_URL: jdbc:postgresql://postgresql:5432/connector_1 @@ -199,7 +201,7 @@ services: - "$CONNECTOR_1_IDS_PORT:9293" connector_2: - image: ghcr.io/ids-basecamp/connector:v1.0.3-basecamp + image: ghcr.io/ids-basecamp/connector:v1.0.4-basecamp depends_on: postgresql: condition: service_healthy @@ -243,6 +245,7 @@ services: EDC_DATASOURCE_DEFAULT_URL: jdbc:postgresql://postgresql:5432/connector_2 EDC_DATASOURCE_DEFAULT_USER: $POSTGRES_USER EDC_DATASOURCE_DEFAULT_PASSWORD: $POSTGRES_PASSWORD + EDC_SQL_FETCH_SIZE: $CONNECTOR_2_SQL_FETCH_SIZE EDC_DATASOURCE_DATAPLANEINSTANCE_NAME: dataplaneinstance EDC_DATASOURCE_DATAPLANEINSTANCE_URL: jdbc:postgresql://postgresql:5432/connector_2