Releases: datakaveri/dx-data-marketplace-apd
v1.1.0
Version Summary
Version Number : v1.1.0 [tag: v1.1.0]
Date: 15-November-2024
Projects / Repos Included in this release: DX DMP APD Server, DX Deployment and installation, DX's Documentation
Release Summary :
Data Exchange DMP APD Server v1.1.0 is released with the following enhancements
- Included wiki with extended documentation for the following
- Architecture
- Usage guides
- Configuration Mapping
- Prerequisites
- Updated Verify Policy
- Added JWT leeway to allow time synchronization
- Software License:
- With this release, all DX Softwares will be distributed under Apache 2.0 License
Test Reports:
Please find the release test details and reports [here] (https://jenkins.iudx.io/job/iudx%20DMP%20APD%20(master)%20pipeline/81/)
External Dependencies Installation
DMP APD Server uses the following external dependencies
- PostgreSQL
- RabbitMQ
Find the installations of the above along with the configurations to modify the database url, port and associated credentials in the appropriate sections here
Getting Started
Docker Based
- Install docker and docker-compose
- Clone this repo
- Build the images
./docker/build.sh
- Modify the
docker-compose.yml
file to map the config file you just created - Start the server in production (prod) or development (dev) mode using docker-compose
docker-compose up prod
Maven Based
- Install java 11 and maven
- Use the maven exec plugin based starter to start the server
mvn clean compile exec:java@rs-apd-server
JAR based
- Install java 11 and maven
- Set Environment variables
export DMP_APD_URL=https://<dmp-apd-domain-name>
export LOG_LEVEL=INFO
- Use maven to package the application as a JAR
mvn clean package -Dmaven.test.skip=true
- 2 JAR files would be generated in the
target/
directoryiudx.data.marketplace-cluster-0.0.1-SNAPSHOT-fat.jar
- clustered vert.x containing micrometer metricsiudx.data.marketplace-dev-0.0.1-SNAPSHOT-fat.jar
- non-clustered vert.x and does not contain micrometer metrics
Running the clustered JAR
Note: The clustered JAR requires Zookeeper to be installed. Refer here to learn more about how to set up Zookeeper. Additionally, the zookeepers
key in the config being used needs to be updated with the IP address/domain of the system running Zookeeper.
The JAR requires 3 runtime arguments when running:
- --config/-c : path to the config file
- --hostname/-i : the hostname for clustering
- --modules/-m : comma separated list of module names to deploy
e.g. java -jar target/iudx.data.marketplace-cluster-0.0.1-SNAPSHOT-fat.jar --host $(hostname) -c secrets/all-verticles-configs/config-dev.json -m iudx.data.marketplace.postgres.PostgresVerticle,iudx.data.marketplace.product.ProductVerticle ,iudx.data.marketplace.authenticator.AuthenticationVerticle ,iudx.data.marketplace.consumer.ConsumerVerticle,iudx.data.marketplace.auditing.AuditingVerticle
Use the --help/-h
argument for more information. You may additionally append an DMP_APD_JAVA_OPTS
environment variable containing any Java options to pass to the application.
e.g.
$ export DMP_APD_JAVA_OPTS="-Xmx4096m"
$ java $DMP_APD_JAVA_OPTS -jar target/iudx.data.marketplace-cluster-0.0.1-SNAPSHOT-fat.jar ...
Running the non-clustered JAR
The JAR requires 1 runtime argument when running:
- --config/-c : path to the config file
e.g. java -Dvertx.logger-delegate-factory-class-name=io.vertx.core.logging.Log4j2LogDelegateFactory -jar target/iudx.data.marketplace-dev-0.0.1-SNAPSHOT-fat.jar -c secrets/all-verticles-configs/config-dev.json
Use the --help/-h
argument for more information. You may additionally append an DMP_APD_JAVA_OPTS
environment variable containing any Java options to pass to the application.
e.g.
$ export DMP_APD_JAVA_OPTS="-Xmx1024m"
$ java $DMP_APD_JAVA_OPTS -jar target/iudx.data.marketplace-dev-0.0.1-SNAPSHOT-fat.jar ...
License
With this release, all DX Softwares will be distributed under Apache 2.0 License
What's Changed
- Update DMP version by @shreelakshmijoshi in #58
- Add default flyway by @shreelakshmijoshi in #62
- Updating SETUP.md by @shreelakshmijoshi in #64
- Update openapi specs by @shreelakshmijoshi in #65
- Update CreatePolicy by @shreelakshmijoshi in #70
- Adding context based fetch for verify policy by @shreelakshmijoshi in #75
- Update verify policy by @shreelakshmijoshi in #77
- Upate schema by @shreelakshmijoshi in #80
- Update openapi spec by @shreelakshmijoshi in #82
- Implement check policy by @shreelakshmijoshi in #84
- Add query param by @shreelakshmijoshi in #86
- Update Postman collection by @shreelakshmijoshi in #87
- Update verify policy by @shreelakshmijoshi in #90
- Check APD URL by @shreelakshmijoshi in #93
- updated recordIssues attributes in jenkins file by @karthickp432001 in #98
- jwt leeway time added by @tanvi029 in #101
- Update documentation by @shreelakshmijoshi in #104
- Project d by @shreelakshmijoshi in #105
- Refactor: file name by @shreelakshmijoshi in #106
- Updating GitHub actions by @shreelakshmijoshi in #107
- Refactor: README.md by @shreelakshmijoshi in #108
- Refactor: github actions by @shreelakshmijoshi in #109
- Refactor: github actions by @shreelakshmijoshi in #110
- Refactor: Configurations URL by @shreelakshmijoshi in #111
- Refactor: postman collection URL by @shreelakshmijoshi in #112
- Refactor: Update wiki by @shreelakshmijoshi in #113
- Refactor: Update link by @shreelakshmijoshi in #114
- Refactor: Github actions by @shreelakshmijoshi in #115
- Adding video by @shreelakshmijoshi in #117
- Refactor: add video by @shreelakshmijoshi in #118
- Refactor: README.md by @shreelakshmijoshi in #119
- Refactor:README.md by @shreelakshmijoshi in #120
- Refactor: README.md by @shreelakshmijoshi in #121
- Refactor: video asset reference by @shreelakshmijoshi in #122
- Refacto: README.md by @shreelakshmijoshi in #123
- Refactor: add video file by @shreelakshmijoshi in #124
- Refactor: video links by @shreelakshmijoshi in #125
- Docs: update README.md by @shreelakshmijoshi in #126
- Refactoring video assets 4 by @shreelakshmijoshi in #127
- Refactor: version update by @shreelakshmijoshi in #128
- Refactor: Update exclusions by @shreelakshmijoshi in #129
- Resolving checkstyle issues by @shreelakshmijoshi in #130
Full Changelog: v1.0.0...v1.1.0
v1.0.0
Version Summary
Version Number : v1.0.0 [tag: v1.0.0]
Date: 03-April-2024
Projects / Repos Included in this release: IUDX DMP APD Server, IUDX Deployment and installation, IUDX's Documentation
Release Summary :
India Urban Data Exchange (IUDX) | DMP APD Server v1.0.0 is released with enhanced features.
Highlights:
- Allows creation of Products
- Allows access policies to be defined based on Products
- Integrated with RazorPay for Payment
- Uses latest software client libraries
- Integrated with ImmuDB for Auditing
- Enhanced Software Testing
- Includes Postman Collection
- Postman and Newman based integration testing
- JUnit for unit testing and Jacoco based test coverage
- Security testing through ZAP Proxy
- Software License:
- With this release, all IUDX Softwares will be distributed under Apache 2.0 License
Test Reports:
Please find the release test details and reports [here] (https://jenkins.iudx.io/job/iudx%20DMP%20APD%20(master)%20pipeline/16/)
External Dependencies Installation
DMP APD Server uses the following external dependencies
- PostgreSQL
- RabbitMQ
Find the installations of the above along with the configurations to modify the database url, port and associated credentials in the appropriate sections here
Getting Started
Docker Based
- Install docker and docker-compose
- Clone this repo
- Build the images
./docker/build.sh
- Modify the
docker-compose.yml
file to map the config file you just created - Start the server in production (prod) or development (dev) mode using docker-compose
docker-compose up prod
Maven Based
- Install java 11 and maven
- Use the maven exec plugin based starter to start the server
mvn clean compile exec:java@rs-apd-server
JAR based
- Install java 11 and maven
- Set Environment variables
export DMP_APD_URL=https://<dmp-apd-domain-name>
export LOG_LEVEL=INFO
- Use maven to package the application as a JAR
mvn clean package -Dmaven.test.skip=true
- 2 JAR files would be generated in the
target/
directoryiudx.data.marketplace-cluster-0.0.1-SNAPSHOT-fat.jar
- clustered vert.x containing micrometer metricsiudx.data.marketplace-dev-0.0.1-SNAPSHOT-fat.jar
- non-clustered vert.x and does not contain micrometer metrics
Running the clustered JAR
Note: The clustered JAR requires Zookeeper to be installed. Refer here to learn more about how to set up Zookeeper. Additionally, the zookeepers
key in the config being used needs to be updated with the IP address/domain of the system running Zookeeper.
The JAR requires 3 runtime arguments when running:
- --config/-c : path to the config file
- --hostname/-i : the hostname for clustering
- --modules/-m : comma separated list of module names to deploy
e.g. java -jar target/iudx.data.marketplace-cluster-0.0.1-SNAPSHOT-fat.jar --host $(hostname) -c secrets/all-verticles-configs/config-dev.json -m iudx.data.marketplace.postgres.PostgresVerticle,iudx.data.marketplace.product.ProductVerticle ,iudx.data.marketplace.authenticator.AuthenticationVerticle ,iudx.data.marketplace.consumer.ConsumerVerticle,iudx.data.marketplace.auditing.AuditingVerticle
Use the --help/-h
argument for more information. You may additionally append an DMP_APD_JAVA_OPTS
environment variable containing any Java options to pass to the application.
e.g.
$ export DMP_APD_JAVA_OPTS="-Xmx4096m"
$ java $DMP_APD_JAVA_OPTS -jar target/iudx.data.marketplace-cluster-0.0.1-SNAPSHOT-fat.jar ...
Running the non-clustered JAR
The JAR requires 1 runtime argument when running:
- --config/-c : path to the config file
e.g. java -Dvertx.logger-delegate-factory-class-name=io.vertx.core.logging.Log4j2LogDelegateFactory -jar target/iudx.data.marketplace-dev-0.0.1-SNAPSHOT-fat.jar -c secrets/all-verticles-configs/config-dev.json
Use the --help/-h
argument for more information. You may additionally append an DMP_APD_JAVA_OPTS
environment variable containing any Java options to pass to the application.
e.g.
$ export DMP_APD_JAVA_OPTS="-Xmx1024m"
$ java $DMP_APD_JAVA_OPTS -jar target/iudx.data.marketplace-dev-0.0.1-SNAPSHOT-fat.jar ...
License
With this release, all IUDX Softwares will be distributed under Apache 2.0 License
What's Changed
- first commit by @pranavrd in #1
- Feat/provider apis by @pranavrd in #3
- Feat:Consumer APIs by @pranavrd in #4
- junit-tests by @tanvi029 in #6
- updates to id, change in product creation, dataset changed to resourc… by @pranavrd in #8
- Adding initial stub by @shreelakshmijoshi in #7
- docker files by @pranavrd in #9
- fix: database schema and queries for existing APIs by @pranavrd in #11
- fix product schema, postman collection, insert query by @pranavrd in #12
- fix: insert product query by @pranavrd in #13
- Adding Auditing for policy endpoints by @shreelakshmijoshi in #10
- fix: api response for list product apis by @pranavrd in #15
- List Product Variants by @pranavrd in #17
- Feat/payment gateway integration by @pranavrd in #14
- Update OpenAPI specs by @shreelakshmijoshi in #16
- Remove hardcoding by @shreelakshmijoshi in #18
- Remove Create policy by @shreelakshmijoshi in #19
- Feat/payment gateway integration by @pranavrd in #21
- List product variants by @shreelakshmijoshi in #23
- Adding list purchase api by @shreelakshmijoshi in #22
- Feat/payment webhook by @pranavrd in #24
- Updating readme.md by @shreelakshmijoshi in #27
- Add changes by @shreelakshmijoshi in #29
- Latest Software Versions by @DivyaSreeMunagavalasa in #28
- Add RS URL by @shreelakshmijoshi in #32
- License information update by @sushanthakumar in #30
- updated dependencies - fixed scope for checkstyle by @pranavrd in #34
- Update files by @shreelakshmijoshi in #35
- Update files by @shreelakshmijoshi in #36
- Fix/auth for pay verify by @pranavrd in #37
- Update files by @shreelakshmijoshi in #38
- Jenkins CICD Pipeline by @iSRIDHARRAO in #31
- Update Create Policy by @shreelakshmijoshi in #39
- Fix/order paid schema by @pranavrd in #41
- Fix purchase response by @shreelakshmijoshi in #42
- Fix purchase response by @shreelakshmijoshi in #43
- Add unit tests by @shreelakshmijoshi in #44
- added badges by @iSRIDHARRAO in #40
- Update Postman collection by @shreelakshmijoshi in #45
New Contributors
- @pranavrd made their first contribution in #1
- @tanvi029 made their first contribution in #6
- @shreelakshmijoshi made their first contribution in #7
- @DivyaSreeMunagavalasa made their first contribution in #28
- @sushanthakumar made their first contribution in #30
- @iSRIDHARRAO made their first contribution in #31
Full Changelog: https:...