Version Summary
Version Number : v5.6.0 [tag: v5.6.0]
Date: 15-November-2024
Projects / Repos Included in this release: DX Resource Server, DX Deployment and installation, DX's Documentation
Release Summary :
Data Exchange Resource Server v5.6.0 is released with the following enhancements
- Included wiki with extended documentation for the following
- Architecture
- Usage guides
- Configuration Mapping
- Prerequisites
- Added JWT leeway to allow time synchronization
- Added ingestion API
- Improved Async API
- 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
API Docs
The api docs can be found here.
How to use the Release:
External Dependencies Installation
The Resource Server connects with various external dependencies namely
- ELK stack
- PostgreSQL
- RabbitMQ
- Redis
- AWS S3
Once the above setup is ready as mentioned in the deployment, you can install the DX Resource Server.
Docker based Installation
- 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 Installation
- Install java 11 and maven
- Use the maven exec plugin based starter to start the server
mvn clean compile exec:java@resource-server
JAR based Installation
- Install java 11 and maven
- Set Environment variables
export RS_URL=https://<rs-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.resource.server-cluster-0.0.1-SNAPSHOT-fat.jar
- clustered vert.x containing micrometer metricsiudx.resource.server-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.resource.server-cluster-0.0.1-SNAPSHOT-fat.jar --host $(hostname) -c configs/config.json -m iudx.resource.server.database.archives.DatabaseVerticle,iudx.resource.server.authenticator.AuthenticationVerticle ,iudx.resource.server.metering.MeteringVerticle,iudx.resource.server.database.postgres.PostgresVerticle
Use the --help/-h
argument for more information. You may additionally append an RS_JAVA_OPTS
environment variable containing any Java options to pass to the application.
e.g.
$ export RS_JAVA_OPTS="-Xmx4096m"
$ java $RS_JAVA_OPTS -jar target/iudx.resource.server-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.resource.server-dev-0.0.1-SNAPSHOT-fat.jar -c configs/config.json
Use the --help/-h
argument for more information. You may additionally append an RS_JAVA_OPTS
environment variable containing any Java options to pass to the application.
e.g.
$ export RS_JAVA_OPTS="-Xmx1024m"
$ java $RS_JAVA_OPTS -jar target/iudx.resource.server-dev-0.0.1-SNAPSHOT-fat.jar ...
Enabling Data Encryption in transit
All the count and search APIs have a feature to get encrypted data.
To get the data in encrypted format, the user could provide a publicKey
in the header, with the value that is generated from lazySodium sealed box.
The header value should be in url-safe base64 format.
The encrypted data could be decrypted using the lazysodium sealed box by supplying the private and public key.
License
With this release, all DX Softwares will be distributed under Apache 2.0 License
Issues and Suggestions
Any Release related issues/suggestions, please raise here
For all other issues/suggestions related specific projects, please raise them to the respective project repo/issues.
What's Changed
- docs version update by @ankitmashu in #491
- collection veriosn updated by @ananjaykumar2 in #496
- Update flyway script by @shreelakshmijoshi in #498
- ogc audit table script by @ankitmashu in #500
- Update openapi by @shreelakshmijoshi in #502
- Update audit schema by @shreelakshmijoshi in #505
- Fix/git ignore by @ankitmashu in #511
- enhanced subs to revert changes in failure of pg by @ankitmashu in #508
- Fix/response fix by @ankitmashu in #514
- added primary key in postgres by @ankitmashu in #517
- git ignored by @ankitmashu in #516
- remove call back subscriptions by @ankitmashu in #519
- feat: string based entities search by @pranavrd in #522
- updated recordIssues attributes in jenkins file by @karthickp432001 in #525
- Separated docker tag workflow file by @sivanaikk in #527
- jwt leeway time added by @tanvi029 in #532
- ingestion entities api by @ankitmashu in #538
- async csv file by @ankitmashu in #544
- sync-with-main by @gopal-mahajan in #547
- publish adaptor , rmq push message change by @ankitmashu in #548
- disabled-logging-sensitive-info by @gopal-mahajan in #550
- ownerid and provider id check by @ankitmashu in #552
- config examples by @ankitmashu in #553
- unused callback databroker by @ankitmashu in #555
- updated docs and design docs for github by @ankitmashu in #556
- updated arch image by @ankitmashu in #557
- Make time limits for search queries configurable by @ananjaykumar2 in #559
- Update README.md by @swaminathanvasanth in #560
- Update Solution_Architecture.md by @swaminathanvasanth in #561
- Update Configurations.md by @swaminathanvasanth in #562
- Update Explanation.md by @swaminathanvasanth in #563
- Docs/documentation updation by @ankitmashu in #565
- final docs updates by @ankitmashu in #566
- rest assured fix for pipelines by @ankitmashu in #567
Full Changelog: v5.5.0...v5.6.0