Releases: datakaveri/dx-acl-apd
v1.1.0
Version Summary
Version Number : v1.1.1 [tag: v1.1.1]
Date: 15-November-2024
Projects / Repos Included in this release: DX ACL APD Server, DX Deployment and installation, DX's Documentation
Release Summary :
Data Exchange ACL APD Server v1.1.1 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
- Extended Create Access Request API to include addition fields
- Software License:
- With this release, all DX 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.ymlfile 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 DX Softwares will be distributed under Apache 2.0 License
What's Changed
- Update ACL-APD version by @shreelakshmijoshi in #108
- Updating integration tests by @shreelakshmijoshi in #111
- Update Jenkinsfile by @shreelakshmijoshi in #114
- Jenkins CI: Update collection file reference by @karun-singh in #118
- Remove request by @shreelakshmijoshi in #120
- Update openapi by @shreelakshmijoshi in #123
- Check APD URL by @shreelakshmijoshi in #126
- Update configs by @shreelakshmijoshi in #128
- Update Create Notification by @shreelakshmijoshi in #131
- updated recordIssues attributes in jenkins file by @karthickp432001 in #134
- Add predecessor docs by @shreelakshmijoshi in #136
- Update README.md by @shreelakshmijoshi in #137
- Resolve integration test failure by @shreelakshmijoshi in #138
- Update files by @shreelakshmijoshi in #139
- Update files by @shreelakshmijoshi in #141
- Update introduction for project d by @shreelakshmijoshi in #142
- Update file by @shreelakshmijoshi in #143
- Update files by @shreelakshmijoshi in #144
- Update file by @shreelakshmijoshi in #147
- Formatting by @swaminathanvasanth in #149
- Refactored the content by @swaminathanvasanth in #150
- Update file by @shreelakshmijoshi in #152
- Update files by @shreelakshmijoshi in #153
- Add unit test video by @shreelakshmijoshi in #154
- Add video asset by @shreelakshmijoshi in #155
- Add video assets by @shreelakshmijoshi in #156
- Refactor files by @shreelakshmijoshi in #157
- Refactoring files by @shreelakshmijoshi in #158
- Add Code of Conduct by @shreelakshmijoshi in #159
- Doc: Add logo by @shreelakshmijoshi in #161
- Doc: change image size by @shreelakshmijoshi in #162
- Fix: config-dev to config by @shreelakshmijoshi in #160
- Updating api doc link by @shreelakshmijoshi in #163
- Refactor: IUDX to DX URL by @shreelakshmijoshi in #166
- jwt-leeway by @tanvi029 in #167
- Refactoring api docs by @shreelakshmijoshi in #169
- Refactor: GitHub actions by @shreelakshmijoshi in #170
- Refactor: GitHub actions by @shreelakshmijoshi in #171
- Updating GitHub actions by @shreelakshmijoshi in #172
- Refactor file by @shreelakshmijoshi in #173
- Refactor:GitHub action by @shreelakshmijoshi in #174
- Changing image reference by @shreelakshmijoshi in #175
- Feature: Add SECURITY.md by @shreelakshmijoshi in #177
- Refactor/merging deployerdev and deployer by @shreelakshmijoshi in #176
- Separated the docker image tag workflow file by @sivanaikk in #140
- Refactor: Update pom.xml by @shreelakshmijoshi in #182
- Refactor: Update version by @shreelakshmijoshi in #183
New Contributors
- @swaminathanvasanth made their first contribution in #149
- @sivanaikk made their first contribution in #140
Full Changelog: v1.0.1...v1.1.0
v1.0.1
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.ymlfile 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
Iudx ACL-APD v1.0.0
Version 1.0.0 of ACL-APD introduces enhanced functionalities aimed at facilitating policy creation for both consumers and their delegates to access resources. Additionally, consumers can now request policy creation directly from the provider.
Key Modules:
- Policy: Enables providers and provider delegates to create policies.
- Notifications: Allows consumers and their delegates to send access requests for resources to the provider or provider delegate.
New Features:
- Implementation of PMD and Checkstyle for improved code quality.
- Transition from ID to UUID for heightened security.
- Email notifications sent to providers whenever a consumer requests resource access.
Existing APIs:
- POST notification: Enables consumers or their delegates to create notifications for resource access.
- PUT notification: Facilitates the approval or rejection of access requests by the provider or provider delegate.
- GET Notification: Allows users to view all access requests.
- DELETE notification: Permits consumers to delete their notifications.
- POST policy: Allows providers or their delegates to create policies.
- GET policy: Fetches all policies associated with a specific user.
- DELETE policy: Enables providers or their delegates to delete consumer policies.