Skip to content

Releases: datakaveri/dx-acl-apd

v1.0.1

03 Apr 10:39
bac6114
Compare
Choose a tag to compare

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:

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

  1. Install docker and docker-compose
  2. Clone this repo
  3. Build the images
    ./docker/build.sh
  4. Modify the docker-compose.yml file to map the config file you just created
  5. Start the server in production (prod) or development (dev) mode using docker-compose
    docker-compose up prod

Maven based

  1. Install java 11 and maven
  2. Use the maven exec plugin based starter to start the server
    mvn clean compile exec:java@acl-apd-server

JAR based

  1. Install java 11 and maven
  2. Set Environment variables
export ACL_APD_URL=https://<acl-apd-domain-name>
export LOG_LEVEL=INFO
  1. Use maven to package the application as a JAR
    mvn clean package -Dmaven.test.skip=true
  2. 2 JAR files would be generated in the target/ directory
    • iudx.iudx.apd.acl.server-cluster-0.0.1-SNAPSHOT-fat.jar - clustered vert.x containing micrometer metrics
    • iudx.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

New Contributors

Full Changelog: v1.0.0...v1.0.1

Iudx ACL-APD v1.0.0

23 Nov 09:40
66c8df1
Compare
Choose a tag to compare

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.