Version Summary
Version Number : v1.0.1 [tag: v1.0.1]
Date: 03-April-2024
Projects / Repos Included in this release: IUDX ACL APD Server, IUDX Deployment and installation, IUDX's Documentation
Release Summary :
India Urban Data Exchange (IUDX) | ACL APD Server v1.0.1 is released with enhanced features.
Highlights:
- Updated Software Client libraries
- Updated Auditing Flow
- Updated Software Testing
- Updated Postman Collection
- Improved test coverage
- Software License:
- With this release, all IUDX Softwares will be distributed under Apache 2.0 License
API Docs
The api docs can be found here.
Test Reports
Test reports can be found here
How to use the Release:
External Dependencies Installation
The DX ACL-APD Server connects with various external dependencies namely:
- PostgreSQL
- RabbitMQ
Find the installation of the above along with the configurations to modify the database url, port, and associated credentials
in the appropriate sections here
Get 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@acl-apd-server
JAR based
- Install java 11 and maven
- Set Environment variables
export ACL_APD_URL=https://<acl-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.iudx.apd.acl.server-cluster-0.0.1-SNAPSHOT-fat.jar
- clustered vert.x containing micrometer metricsiudx.iudx.apd.acl.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.iudx.apd.acl.server-cluster-0.0.1-SNAPSHOT-fat.jar --host $(hostname) -c secrets/all-verticles-configs/config-dev.json -m iudx.apd.acl.server.authentication.AuthenticationVerticle, iudx.apd.acl.server.apiserver.ApiServerVerticle, iudx.apd.acl.server.policy.PolicyVerticle, iudx.apd.acl.server.notification.NotificationVerticle, iudx.apd.acl.server.auditing.AuditingVerticle
Use the --help/-h
argument for more information. You may additionally append an ACL_APD_JAVA_OPTS
environment
variable containing any Java options to pass to the application.
e.g.
$ export ACL_APD_JAVA_OPTS="Xmx40496m"
$ java $ACL_APD_JAVA_OPTS -jar target/iudx.iudx.apd.acl.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.iudx.apd.acl.server-cluster-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 RS_JAVA_OPTS
environment variable containing any Java options to pass to the application.
e.g.
$ export ACL_APD_JAVA_OPTS="-Xmx1024m"
$ java ACL_APD_JAVA_OPTS -jar target/iudx.iudx.apd.acl.server-cluster-0.0.1-SNAPSHOT-fat.jar ...
License
With this release, all IUDX Softwares will be distributed under Apache 2.0 License
What's Changed
- refactor-postman-collection-env by @gopal-mahajan in #83
- Add logs by @shreelakshmijoshi in #84
- updated-postman-collection by @gopal-mahajan in #86
- Remove unused dependency by @shreelakshmijoshi in #89
- Include updatedAt in response by @shreelakshmijoshi in #90
- Software-Updates by @DivyaSreeMunagavalasa in #91
- Updated postman collection for integration testing by @gopal-mahajan in #95
- Jenkins CI: Add integration test stage by @karun-singh in #85
- Jenkins CICD Fixes and Added git badges by @karun-singh in #99
- Fix query by @shreelakshmijoshi in #96
- Feature/add readme changes by @shreelakshmijoshi in #101
- License information update by @sushanthakumar in #98
- Update log4j2 by @shreelakshmijoshi in #102
New Contributors
- @DivyaSreeMunagavalasa made their first contribution in #91
- @sushanthakumar made their first contribution in #98
Full Changelog: v1.0.0...v1.0.1