Compare commits

...
500 Commits
Author SHA1 Message Date
Adam Saghy 1db87b1e12 FINERACT-2081: Fix date handling of refund tests cases
Fineract Build & Test - MySQL / build (push) Canceled after 0s
Fineract Build & Test - PostgreSQL / build (push) Canceled after 0s
Fineract Docker build - MariaDB / build (push) Canceled after 0s
Fineract Docker build - PostgreSQL / build (push) Canceled after 0s
Fineract Documentation build / build (push) Canceled after 0s
Fineract Build & Test - MariaDB / build (push) Canceled after 0s
Fineract Tests / build (push) Canceled after 0s
Fineract ActiveMQ Smoke / build (push) Canceled after 0s
Fineract Kafka Smoke / build (push) Canceled after 0s
2024-07-29 18:10:38 +02:00
Jose Alberto HernandezandAdam Saghy 8d43565b09 FINERACT-2081: Loan account summary interest refund field 2024-07-29 09:49:11 +02:00
Soma SörösandAdam Saghy b1798a66df FINERACT-2104: Accrual Activity - Support final Accrual Activity transaction creation at the event of the loan got fully paid 2024-07-24 14:48:34 +02:00
Jose Alberto HernandezandAdam Saghy 602ad4e953 FINERACT-2109: Lib dependencies and versions between modules 2024-07-24 10:23:33 +02:00
Adam Saghy 8f6e575c8f FINERACT-2081: Transaction summary report fix 2024-07-24 10:02:05 +02:00
Jose Alberto HernandezandAdam Saghy be0ecbdce3 FINERACT-2081: Loan account data additional fields for summary 2024-07-24 09:58:40 +02:00
Adam Saghy a012f11825 FINERACT-2107: Interest refund configuration 2024-07-23 23:07:25 +02:00
zeyad2003andAdam Saghy 0959c8e401 FINERACT-1716: remove redundant boilerplate code within CommandSource class 2024-07-23 23:05:45 +02:00
Adam Saghy 39ddc87ec5 FINERACT-2081: Fix delinquency test 2024-07-23 23:01:28 +02:00
Jose Alberto HernandezandAdam Saghy 703ef90109 FINERACT-2081: Loan account data additional fields for summary 2024-07-19 15:09:39 +02:00
Adam Saghy e4c857d6fa FINERACT-2081: Add missing fields to Loan product swagger 2024-07-19 10:37:54 +02:00
Soma SörösandAdam Saghy 905a733f9e FINERACT-2104: Accrual Activity Posting Job 2024-07-18 12:57:38 +02:00
zeyad2003andAdam Saghy 38d994452d FINERACT-1717:eliminate boilerpalate getter methods within JsonCommand class 2024-07-18 11:25:38 +02:00
Jose Alberto HernandezandAdam Saghy b3b14ba929 FINERACT-2081: Update Loan data avro schemas with new delinquent fields 2024-07-18 10:33:41 +02:00
Jose Alberto HernandezandAdam Saghy eb06b40190 FINERACT-2081: Fix delinquent data swagger type 2024-07-17 11:28:05 +02:00
Kristof JozsaandAdam Saghy 6c4932bd64 FINERACT-2081: fix caching keys at codes cache eviction 2024-07-15 13:40:34 +02:00
Adam Saghy ea4d164096 FINERACT-2081: Make sure charge paid by association is updated 2024-07-15 13:38:59 +02:00
Jose Alberto HernandezandAdam Saghy 319f457874 FINERACT-2102: Loan Product DownPayment attributes overrided in the Loan 2024-07-15 10:33:11 +02:00
Soma SörösandAdam Saghy 9fceaf98b3 FINERACT-2104: Accrual Activity Reverse Replay Transaction 2024-07-15 10:31:28 +02:00
Janos MeszarosandAdam Saghy a4f077d675 FINERACT-1981: Provide more general EMI calculator interface 2024-07-12 13:09:46 +02:00
Kristof JozsaandAdam Saghy c9d1b81cc6 FINERACT-2090: restructure loan disbursements
more refactors
2024-07-12 11:43:49 +02:00
Jose Alberto HernandezandAdam Saghy 79f32d32a3 FINERACT-2081: Loan account data additional fields for summary and delinquency 2024-07-11 17:41:57 +02:00
SantatraandArnold Gálovics 4ac102f4e0 Fix broken link in README (FINERACT-2088) 2024-07-10 09:55:33 +02:00
dependabot[bot]andArnold Gálovics 8d14b18329 Bump gradle/wrapper-validation-action from 3.3.2 to 3.4.2
Bumps [gradle/wrapper-validation-action](https://github.com/gradle/wrapper-validation-action) from 3.3.2 to 3.4.2.
- [Release notes](https://github.com/gradle/wrapper-validation-action/releases)
- [Commits](https://github.com/gradle/wrapper-validation-action/compare/216d1ad2b3710bf005dc39237337b9673fd8fcd5...88425854a36845f9c881450d9660b5fd46bee142)

---
updated-dependencies:
- dependency-name: gradle/wrapper-validation-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-10 09:54:26 +02:00
dependabot[bot]andArnold Gálovics 090820da2d Bump actions/upload-artifact from 4.3.3 to 4.3.4
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.3.3 to 4.3.4.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/65462800fd760344b1a7b4382951275a0abb4808...0b2256b8c012f0828dc542b3febcab082c67f72b)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-10 09:54:16 +02:00
dependabot[bot]andArnold Gálovics 976a69dfaf Bump actions/setup-node from 4.0.2 to 4.0.3
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4.0.2 to 4.0.3.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/60edb5dd545a775178f52524783378180af0d1f8...1e60f620b9541d16bece96c5465dc8ee9832be0b)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-10 09:54:04 +02:00
Ruchi DhamankarandAdam Saghy 1b75c868ba FINERACT-2090: Accruals rework 2024-07-09 14:55:04 +02:00
Soma SörösandAdam Saghy 3f4bbf3e14 FINERACT-2104: Accrual Activity Posting for Loans 2024-07-09 11:32:31 +02:00
Adam Saghy 67440c47ab FINERACT-1981: Adjust EMI if needed 2024-07-08 20:33:16 +02:00
Jose Alberto HernandezandAdam Saghy 5093ca7363 FINERACT-2102: Loan Product enableDownPayment overrided in the Loan application 2024-07-08 10:29:02 +02:00
zeyad2003andAdam Saghy f5add87f2a FINERACT-2103: refactor boilerplate code under portfolio package using Lombok annotations. 2024-07-04 13:25:35 +02:00
zeyad2003andAdam Saghy 0358921d02 FINERACT-2103: refactor the boilerplate code for ChargeData class and its affiliate code 2024-07-04 10:21:20 +02:00
Janos MeszarosandAdam Saghy cfdfa6cd57 FINERACT-1981: EMI Calculation, Daily, Weekly, Monthly support plug to Repayment Schedule 2024-07-03 20:41:45 +02:00
Marta JankovicsandAdam Saghy 112787cf07 FINERACT-2099: Initial Liquibase got executed every execution 2024-07-03 18:09:13 +02:00
Jose Alberto HernandezandAdam Saghy f17a0965db FINERACT-2098: Currency data needed in loan transaction for UI 2024-07-03 09:54:28 +02:00
Marta JankovicsandAdam Saghy b482fbd447 FINERACT-2081: Support for string type primary keys - refactor existing enums 2024-06-26 17:08:24 +02:00
Marta JankovicsandAdam Saghy 009e9ded01 FINERACT-2095: Support for string type primary keys - enum options 2024-06-26 15:00:50 +02:00
Adam Saghy 33ecbc7130 FINERACT-2092: Fix adjust transactions handling 2024-06-26 13:15:57 +02:00
Janos MeszarosandAdam Saghy db8000b4f3 FINERACT-1981: EMI Calculation, Daily, Weekly, Monthly support plug to Repayment Schedule 2024-06-26 09:21:38 +02:00
Janos MeszarosandAdam Saghy 9f5044b358 FINERACT-2081: Fix wrong type in Swagger getLoanIdResponse type 2024-06-25 20:38:36 +02:00
Jose Alberto HernandezandAdam Saghy d7ee5d62aa FINERACT-2081: Upgrade Spring Batch to 5.1.2 version 2024-06-24 20:56:42 +02:00
Kristof JozsaandAdam Saghy fac4832723 FINERACT-2090: restructure loan approvals 2024-06-24 11:30:53 +02:00
Soma SörösandAdam Saghy 9152408c24 FINERACT-2082: New Transaction Type - Interest Payment Waiver 2024-06-21 11:40:21 +02:00
Ruchi DhamankarandAdam Saghy 1c53fe2136 FINERACT-2090: Restructure Withdraw Loan Application Logic 2024-06-20 14:58:39 +02:00
Jose Alberto HernandezandAdam Saghy 0292171f6f FINERACT-1932: Fineract modularization - fineract-tax 2024-06-17 23:06:07 +02:00
Ruchi DhamankarandAdam Saghy 35ff4363a8 FINERACT-2090: Improve Loan Application Reject logic 2024-06-17 20:46:53 +02:00
Jose Alberto HernandezandAdam Saghy edc7fff86f FINERACT-2096: Fix duplicate key value exception 2024-06-17 20:46:32 +02:00
Jose Alberto HernandezandAdam Saghy 3b603f5e80 FINERACT-1932: Fineract modularization - fineract-report 2024-06-17 17:55:22 +02:00
dependabot[bot]andArnold Gálovics a9cda96738 Bump actions/checkout from 4.1.2 to 4.1.7
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.2 to 4.1.7.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4.1.2...692973e3d937129bcbf40652eb9f2f61becf3332)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-17 15:49:15 +02:00
Marta JankovicsandAdam Saghy f48f94c454 FINERACT-2091: Support for string type primary keys 2024-06-13 20:29:23 +02:00
Adam Saghy 111e28ed1b FINERACT-2081: Fix linked account validation 2024-06-12 17:23:24 +02:00
Adam Saghy bb022bd324 FINERACT-2081: Update README.md 2024-06-12 17:23:13 +02:00
Kristof JozsaandAdam Saghy c9f0799a06 FINERACT-2090: refactor and cleanup Loan entity 2024-06-12 16:29:50 +02:00
Ruchi DhamankarandAdam Saghy 369b809700 FINERACT-1971: Wrong GL entries on refund with reverse replay and charge off 2024-06-11 16:58:53 +02:00
Janos MeszarosandAdam Saghy f0deb111cb FINERACT-1981: EMI Calculation 2024-06-11 16:44:48 +02:00
Adam SaghyandArnold Gálovics d502dfa437 FINERACT-2081: Integration test configuration 2024-06-11 07:48:29 +02:00
Adam Saghy a6b69ec029 FINERACT-2081: Fix linked account validation 2024-06-10 20:07:38 +02:00
Jose Alberto HernandezandAdam Saghy 6f62699cb3 FINERACT-1932: Fineract modularization - fineract-loan 2024-06-10 20:06:21 +02:00
Marta JankovicsandAdam Saghy 655466785c FINERACT-1932: Fineract modularization - custom modules 2024-06-10 15:39:13 +02:00
Adam Saghy 92e291a9e4 FINERACT-2090: Restructure Loan creation and modification 2024-06-06 23:09:50 +02:00
Ruchi DhamankarandAdam Saghy a078cfd8c5 FINERACT-1971: Accrual for interest bearing loan with charge accrual based on submitted On Date fix 2024-06-06 14:08:02 +02:00
James DandGitHub 4bf93fdde7 scarf in asciidoc format 2024-06-04 16:58:51 -07:00
James DandGitHub 488db1076d Update introduction.adoc , remove 2024-06-02 17:30:34 -07:00
James DandGitHub 8e9eccf303 Update introduction.adoc , remove the error ? 2024-06-02 17:25:40 -07:00
James DandGitHub 25733b9ec6 Update introduction.adoc
remove ref to CN and added Scarf pixel
2024-06-02 17:10:55 -07:00
Víctor RomeroandGitHub be76613683 FINERACT-2089 Upgrade java dependencies/libraries (#3906) 2024-05-30 12:32:44 -06:00
Adam Saghy 1d607c7946 FINERACT-2081: Publish docker image only for develop branch and versioned tags 2024-05-29 21:52:31 +02:00
Soma SörösandAdam Saghy e0227885d7 FINERACT-2081: chargeback integration tests 2024-05-29 18:04:16 +02:00
Jose Alberto HernandezandAdam Saghy adcfc3c8ba FINERACT-1981: Function Value using simple interest for EMI calculation 2024-05-29 11:24:25 +02:00
Ruchi DhamankarandAdam Saghy 2092a9a911 FINERACT-2081: Chargeback reverse replay fails fix 2024-05-29 11:23:01 +02:00
James DandGitHub 620f60c650 Merge pull request #3887 from FintecheandoMX/develop
Github Action for DockerHub Publishing
2024-05-28 14:51:30 -07:00
Victor Romero e82f342d4b Github Action for DockerHub Publishing 2024-05-28 13:56:09 -06:00
Jose Alberto HernandezandAdam Saghy 885316690e FINERACT-1981: Rate factor using simple interest for EMI calculation 2024-05-28 12:16:00 +02:00
Ruchi DhamankarandAdam Saghy 53f4864980 FINERACT-1932: Fineract modularization Fineract progressive loan module 2024-05-24 14:35:34 +02:00
zeyad2003andAdam Saghy f59ae64222 FINERACT-2075: (chore) introduce lombok annotations to LoanProduct class.
- remove the redundant getters/setters methods from LoanProduct class.
- replace the non-standard methods with the convenient ones.
- modify other files that were depending on the old naming.
2024-05-23 15:01:02 +02:00
Jose Alberto HernandezandAdam Saghy d0e71ed7d6 FINERACT-2081: Remove Disable Schedule Extension For DownPayment unused code 2024-05-22 15:03:56 +02:00
Jose Alberto HernandezandAdam Saghy a3fb836b73 FINERACT-1932: Fineract modularization - fineract-charge 2024-05-21 22:53:36 +02:00
Jose Alberto HernandezandAdam Saghy e13a9cba01 FINERACT-2073: Client search v2 using Client Identifiers 2024-05-21 11:32:15 +02:00
Arnold GalovicsandArnold Gálovics 63ee58aabd FINERACT-2085: Implementation for decrypting database passwords with CLI tooling 2024-05-21 11:21:26 +02:00
Jose Alberto HernandezandAdam Saghy 55a67b1344 FINERACT-2082: Progressive loan schedule type should only support Advanced payment allocation strategy 2024-05-20 19:25:49 +02:00
Boris LitvinandAdam Saghy 1679ea9237 FINERACT-2078: Remove hardcoded use of RoundingMode outside of MoneyHelper 2024-05-17 17:03:01 +02:00
Jose Alberto HernandezandAdam Saghy abc7cec2ec FINERACT-1932: Fineract modularization - fineract-rates 2024-05-17 15:12:02 +02:00
Ruchi DhamankarandAdam Saghy 8b2c9da804 FINERACT-1971: Installment level delinquency for loan modification 2024-05-15 15:04:38 +02:00
dependabot[bot]andArnold Gálovics 582742d2ef Bump actions/checkout from 4.1.2 to 4.1.5
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.2 to 4.1.5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/9bb56186c3b09b4f86b1c65136769dd318469633...44c2b7a8a4ea60a981eaca3cf939b5f4305c123b)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-14 16:53:51 +02:00
dependabot[bot]andArnold Gálovics f26377f9a0 Bump gradle/wrapper-validation-action from 2.1.2 to 3.3.2
Bumps [gradle/wrapper-validation-action](https://github.com/gradle/wrapper-validation-action) from 2.1.2 to 3.3.2.
- [Release notes](https://github.com/gradle/wrapper-validation-action/releases)
- [Commits](https://github.com/gradle/wrapper-validation-action/compare/b231772637bb498f11fdbc86052b6e8a8dc9fc92...216d1ad2b3710bf005dc39237337b9673fd8fcd5)

---
updated-dependencies:
- dependency-name: gradle/wrapper-validation-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-14 16:53:37 +02:00
dependabot[bot]andArnold Gálovics 9b1f9f3aec Bump actions/upload-artifact from 4.3.1 to 4.3.3
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.3.1 to 4.3.3.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/5d5d22a31266ced268874388b861e4b58bb5c2f3...65462800fd760344b1a7b4382951275a0abb4808)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-14 16:53:28 +02:00
Ruchi DhamankarandAdam Saghy b108ca92a6 FINERACT-1971: Enhance validation for installment level delinquency for loan product 2024-05-14 15:03:39 +02:00
Ruchi DhamankarandAdam Saghy bcf04b7e6f FINERACT-1971: Enhancing re-Amortization validation 2024-05-13 10:50:08 +02:00
Ruchi DhamankarandAdam Saghy 33a584bbcd FINERACT-1971: Override enableInstallmentLevelDelinquency loan application 2024-05-09 23:34:34 +02:00
Adam Saghy f6a35ce977 FINERACT-2070: Use generic product names 2024-05-09 23:34:21 +02:00
Ruchi DhamankarandAdam Saghy 5d0152c262 FINERACT-1971: Disable delinquency calculation for non active loans 2024-05-09 15:18:04 +02:00
Adam Saghy be655756a5 FINERACT-2070: Remove TestRailId annotations 2024-05-08 13:13:45 +02:00
Jose Alberto HernandezandAdam Saghy 849790ea46 FINERACT-1971: Down payment (auto) transaction using installment multiples of setting 2024-05-07 11:45:10 +02:00
James DandGitHub 7499859d39 Merge pull request #3880 from FintecheandoMX/develop 2024-05-03 23:46:59 -07:00
Víctor RomeroandGitHub 1c2bd33bc3 Rollback debug 2024-05-04 00:41:06 -06:00
Victor Romero 9cc76fe70a HU4 Return data 2024-05-04 00:20:36 -06:00
Adam Saghy 967a4d42c1 FINERACT-1958: Fix repayment schedule generation 2024-05-02 13:09:00 +02:00
Aleksandar VidakovicandAleksandar Vidakovic a022a51189 FINERACT-2076: SQL query optimization 2024-04-25 14:08:04 +02:00
Adam Saghy 039bca440b FINERACT-1971: Fix wrong due date calculation when loan got submitted 2024-04-23 20:45:51 +02:00
Jose Alberto HernandezandAdam Saghy 2b9e114c05 FINERACT-1932: Fineract modularization - fineract-document 2024-04-19 15:32:04 +02:00
Jose Alberto HernandezandAdam Saghy ce2f05ee78 FINERACT-1926: Fix No Such Element exception in Asset buyback 2024-04-19 10:45:46 +02:00
Adam Saghy 677761238d FINERACT-2066: Remove parallelization of external event status update 2024-04-17 18:17:03 +02:00
zeyad2003andAdam Saghy 457be1ad15 FINERACT-2075: (chore) refactor some classes under loanproduct package in loan module.
- Remove Getters, Setters, and constructors from `LoanProductMinMaxConstraints` & `LoanProductVariableInstallmentConfig`.
2024-04-16 18:09:16 +02:00
Adam Saghy 0761c39d16 FINERACT-1971: Fix marking external events sent in parallel 2024-04-16 18:07:39 +02:00
Adam Saghy 40a65eda15 FINERACT-1971: Fix final accrual in case of waived charge 2024-04-16 16:44:23 +02:00
Jose Alberto HernandezandAdam Saghy 99ba46386b FINERACT-1971: RepaymentOverDueBusinessEvent should not be sent when balance is 0 2024-04-15 11:27:54 +02:00
Jose Alberto HernandezandAdam Saghy 35bdbccd2e FINERACT-2065: Fix schedule handling with higher fixed length value than Loan term 2024-04-11 15:35:21 +02:00
zeyad2003andAdam Saghy 5ad63752c9 FINERACT-2056: (chore) introduce builder pattern and remove redundant methods & constructors.
- used @Getter & @Builder annotations on the above of GroupSavingsIndividualMonitoringAccountData.
- removed the getters and getInstance() methods from the implementation.
- change GSIMReadPlatformServiceImpl to make use of the new implementation.
2024-04-11 10:53:59 +02:00
Adam Saghy fe85677d65 FINERACT-1971: Fix loan cob parameter name 2024-04-10 14:51:45 +02:00
Adam Saghy a7ad33abff FINERACT-2042: Fix chargeback on overpaid loan 2024-04-10 14:51:38 +02:00
Jose Alberto HernandezandAdam Saghy d7a4e0e953 FINERACT-1932: Fineract modularization - fineract-branch 2024-04-09 20:25:24 +02:00
Udo BasseyandAdam Saghy cf65d81ccc FINERACT-2020:Added currency field to LoanAccountSummaryData, also added integration test and swagger documentation 2024-04-09 20:07:47 +02:00
Adam Saghy 4c503fff0d FINERACT-2060: Fix balance of reamortization at the event of reverse-replay 2024-04-08 16:52:13 +02:00
Adam Saghy 60b4a618af FINERACT-1926: Enhance performance of "Trial balance with Asset owner" report 2024-04-08 13:30:23 +02:00
Jose Alberto HernandezandAdam Saghy 127add41d6 Fix legacy integration test cases for specific holiday 2024-04-05 19:19:35 +02:00
Adam Saghy 749d6511ef FINERACT-1971: use KeyHolder instead of LASTVAL/LAST_INSERT_ID 2024-04-02 19:34:10 +02:00
Peter BagrijandAdam Saghy 5fa2295bd0 FINERACT-2057: JSON deserialization backward compatibility 2024-03-28 15:18:31 +01:00
dependabot[bot]andArnold Gálovics 444df1bbb4 Bump actions/checkout from 4.1.1 to 4.1.2
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.1 to 4.1.2.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/b4ffde65f46336ab88eb53be808477a3936bae11...9bb56186c3b09b4f86b1c65136769dd318469633)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-28 13:18:26 +01:00
taskain7 dfd2968c46 FINERACT-2072: Disburse without auto down payment 2024-03-28 12:36:18 +01:00
Mend RenovateandArnold Gálovics 6412d3d624 fix(deps): update non-major 2024-03-27 17:00:40 +01:00
Mend RenovateandArnold Gálovics ec7a7d9d7c chore(deps): update actions/checkout digest to b4ffde6 2024-03-27 16:59:21 +01:00
taskain7 aa267b7fc5 FINERACT-2071: Fixing journal entries on buyback 2024-03-27 14:26:13 +01:00
Peter BagrijandAdam Saghy d310d0dcbd FINERACT-1971: Fixing long running COB related tests 2024-03-27 12:55:35 +01:00
Jose Alberto HernandezandAdam Saghy b64b4b7105 FINERACT-2065: Schedule handling for fixed length configuration 2024-03-27 12:54:26 +01:00
Adam Saghy 6458094a5e FINERACT-2059: Support reverse-replay of Re-age transaction 2024-03-27 12:52:42 +01:00
zeyad2003andAdam Saghy ae6dde0224 FINERACT-1269: (fix) add a try-catch block to ensure that the json is deserialized successfully.
- Wrap the fromJson() method with try-catch block and throw proper exception.
- Add `publishHookEventHandlesInvalidJson()` method to test the invalid json is handled successfully.
2024-03-27 12:50:38 +01:00
Arnold GalovicsandArnold Gálovics ed5098b5a5 FINERACT-2070: Further test cases 2024-03-26 21:24:05 +01:00
Wilfred KigenyiandAdam Saghy 7c618a69d5 process current and previous standing instructions on loans 2024-03-26 12:44:04 +01:00
Arnold GalovicsandArnold Gálovics 5c54a9dbea FINERACT-2070: More test cases 2024-03-26 11:01:21 +01:00
goyalrocks007andAdam Saghy 86bd2763f0 Fineract-1964: Add functionality to calculate maturity amount before creating FD account 2024-03-26 09:57:17 +01:00
dependabot[bot]andArnold Gálovics 3753d89444 Bump actions/checkout from 4.1.1 to 4.1.2
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.1 to 4.1.2.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4.1.1...9bb56186c3b09b4f86b1c65136769dd318469633)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-26 08:12:59 +01:00
dependabot[bot]andArnold Gálovics 907f32308f Bump actions/setup-java from 4.1.0 to 4.2.1
Bumps [actions/setup-java](https://github.com/actions/setup-java) from 4.1.0 to 4.2.1.
- [Release notes](https://github.com/actions/setup-java/releases)
- [Commits](https://github.com/actions/setup-java/compare/v4.1.0...99b8673ff64fbf99d8d325f52d9a5bdedb8483e9)

---
updated-dependencies:
- dependency-name: actions/setup-java
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-26 08:12:53 +01:00
Adam Saghy 5f558c59c8 FINERACT-1981: Fix multi-disbursements on same day issue 2024-03-25 14:43:48 +01:00
Aleksandar VidakovicandArnold Gálovics 014144f614 FINERACT-2070: Integrate the new test framework into the public build pipeline 2024-03-25 14:02:37 +01:00
Peter BagrijandPeter Bagrij 0641fc6b99 FINERACT-1971: Fixing AggregateId of LoanOwnershipTransferBusinessEvent 2024-03-25 08:44:57 +01:00
dependabot[bot]andArnold Gálovics c36905e7b7 Bump actions/checkout from 4.1.1 to 4.1.2
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.1 to 4.1.2.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/b4ffde65f46336ab88eb53be808477a3936bae11...9bb56186c3b09b4f86b1c65136769dd318469633)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-23 18:16:58 +01:00
dependabot[bot]andArnold Gálovics c94f21059a Bump gradle/wrapper-validation-action
Bumps [gradle/wrapper-validation-action](https://github.com/gradle/wrapper-validation-action) from 63d15e7a1e697b1de6f3ba0507106f89100c8518 to b231772637bb498f11fdbc86052b6e8a8dc9fc92.
- [Release notes](https://github.com/gradle/wrapper-validation-action/releases)
- [Commits](https://github.com/gradle/wrapper-validation-action/compare/63d15e7a1e697b1de6f3ba0507106f89100c8518...b231772637bb498f11fdbc86052b6e8a8dc9fc92)

---
updated-dependencies:
- dependency-name: gradle/wrapper-validation-action
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-22 20:52:25 +01:00
Peter BagrijandAdam Saghy c404f474e9 FINERACT-1971: Fixing Loan COB error on startup when Loan COB is disabled 2024-03-22 12:16:40 +01:00
Peter BagrijandPeter Bagrij c34f2b4f59 FINERACT-2068: Loan Status Change History 2024-03-20 16:49:03 +01:00
zeyad2003andArnold Gálovics bb0c7eba7a FINERACT-1716: Reduce boilerplate code by using @Getter annotation in CommandWrapper class. 2024-03-20 12:37:07 +01:00
Arnold GalovicsandArnold Gálovics 5e75c7f3ed FINERACT-2059: Loan ReAging validations 2024-03-20 12:36:59 +01:00
Adam Saghy aac6f7cd21 FINERACT-1971: Fix loan balance for additional (N+1) installment 2024-03-19 22:11:26 +01:00
Adam SaghyandArnold Gálovics e66da3eaba FINERACT-2059: Re-aging repayment schedule handling 2024-03-19 17:02:08 +01:00
Mend RenovateandArnold Gálovics 52f614df59 chore(deps): update actions/checkout digest to b4ffde6 2024-03-19 13:54:31 +01:00
zeyad2003andPeter Bagrij 6b94192ac6 FINERACT-2067: (doc) fix some typos in fineract-doc module. 2024-03-19 13:42:45 +01:00
Adam Saghy d955bc26cb FINERACT-2059: Re-aging repayment schedule handling 2024-03-19 10:30:18 +01:00
dependabot[bot]andPeter Bagrij 314758abb5 Bump actions/setup-java from 4.2.0 to 4.2.1
Bumps [actions/setup-java](https://github.com/actions/setup-java) from 4.2.0 to 4.2.1.
- [Release notes](https://github.com/actions/setup-java/releases)
- [Commits](https://github.com/actions/setup-java/compare/5896cecc08fd8a1fbdfaf517e29b571164b031f7...99b8673ff64fbf99d8d325f52d9a5bdedb8483e9)

---
updated-dependencies:
- dependency-name: actions/setup-java
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-18 13:43:49 +01:00
Adam SaghyandArnold Gálovics 40970e830b FINERACT-1971: Conditional renaming: Credited Principal renamed back to credits amount 2024-03-14 08:18:22 +01:00
dependabot[bot]andArnold Gálovics b2b950477c Bump actions/setup-java from 4.1.0 to 4.2.0
Bumps [actions/setup-java](https://github.com/actions/setup-java) from 4.1.0 to 4.2.0.
- [Release notes](https://github.com/actions/setup-java/releases)
- [Commits](https://github.com/actions/setup-java/compare/9704b39bf258b59bc04b50fa2dd55e9ed76b47a8...5896cecc08fd8a1fbdfaf517e29b571164b031f7)

---
updated-dependencies:
- dependency-name: actions/setup-java
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-14 08:17:46 +01:00
taskain7 174b239c10 FINERACT-2066: Send async event job tuning 2024-03-14 06:32:45 +01:00
Peter BagrijandPeter Bagrij b2685ce9cf FINERACT-2065: Fixed length loan configuration 2024-03-13 18:59:42 +01:00
Adam Saghy 76ad2a2bc9 FINERACT-1971: Fix changed report checksum error 2024-03-13 17:07:50 +01:00
dependabot[bot]andArnold Gálovics 019f471b36 Bump actions/checkout from 4.1.1 to 4.1.2
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.1 to 4.1.2.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/b4ffde65f46336ab88eb53be808477a3936bae11...9bb56186c3b09b4f86b1c65136769dd318469633)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-13 14:37:58 +01:00
taskain7 dce264c169 FINERACT-2060: re-amortization 2024-03-13 14:15:14 +01:00
Arnold Galovicsandtaskain7 f05be57c50 FINERACT-2060: Validation rules for loan reamortization 2024-03-12 21:09:01 +01:00
Peter BagrijandPeter Bagrij c857527389 FINERACT-1971: Adding missing assertion for overpayment portion 2024-03-12 10:29:42 +01:00
Peter BagrijandAdam Saghy 26061067d7 FINERACT-1971: Credited Principal renamed back to credits amount. 2024-03-11 13:40:57 +01:00
Peter BagrijandPeter Bagrij 99f89b2d8a FINERACT-2042: chargeback with chargeoff 2024-03-08 17:10:07 +01:00
Arnold GalovicsandArnold Gálovics 18697f7cd6 FINERACT-1971: Properly calculating past due amounts when raising a delinquency range change event 2024-03-08 16:20:11 +01:00
Adam Saghyandtaskain7 5ce69c19fe FINERACT-2024: Fix Overpayment portion miscalculated in CBR reverse-replay 2024-03-08 06:04:07 +01:00
zeyad2003andPeter Bagrij 698e2ce8c3 chore: add lombok implementation to ReportParameterJoinData
- Remove all getter methods, and the args constructor from the class.
- Add the @Getter & @AllArgsConstructor annotations.
- Check no issues happened in ReadReportingServiceImpl class.
2024-03-07 13:17:08 +01:00
Peter BagrijandPeter Bagrij 697449e7e7 FINERACT-2042 Chargeback with credit allocation, accounting 2024-03-07 11:34:48 +01:00
Arnold Galovicsandtaskain7 5f9845f86a FINERACT-1971: Triggering a loan level event during reamortization and reaging 2024-03-04 14:05:40 +01:00
Adam Saghy 8803c554f5 FINERACT-1981: Fix Disbursement on overpaid loan (Cumulative) 2024-03-04 11:13:11 +01:00
Adam Saghy ce255916df FINERACT-1960: Fix savings product validation 2024-03-04 10:50:07 +01:00
taskain7andAdam Saghy 49b3c014ef FINERACT-2058: loan can be marked as fraud in any status 2024-03-01 12:06:43 +01:00
pushkalandAdam Saghy ef1bcda368 Introduce Lombok to savings module: interoperation package (FINERACT-2056)
Introduce Lombok to savings module: interoperation package (FINERACT-2056)
2024-03-01 11:54:37 +01:00
Jose Alberto HernandezandAdam Saghy fc0fee1e6a FINERACT-1971: Delinquency evaluation should be happen only for Active loans in COB 2024-02-29 17:36:20 +01:00
Adam Saghy 84afccc1f7 FINERACT-1981: Fix status change after Disbursement 2024-02-29 16:36:02 +01:00
taskain7 996c292411 FINERACT-2042: charge-off journal entries if loan is fraud 2024-02-29 01:18:27 +01:00
Adam Saghy 65b1c45a5f FINERACT-1981: Fix down-payment handling on overpaid loan (Advanced payment allocation loan) 2024-02-28 15:53:14 +01:00
dependabot[bot]andArnold Gálovics cd6258bd91 Bump actions/setup-java from 4.0.0 to 4.1.0
Bumps [actions/setup-java](https://github.com/actions/setup-java) from 4.0.0 to 4.1.0.
- [Release notes](https://github.com/actions/setup-java/releases)
- [Commits](https://github.com/actions/setup-java/compare/387ac29b308b003ca37ba93a6cab5eb57c8f5f93...9704b39bf258b59bc04b50fa2dd55e9ed76b47a8)

---
updated-dependencies:
- dependency-name: actions/setup-java
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-28 13:55:21 +01:00
Peter BagrijandPeter Bagrij 4bc6755514 FINERACT-2042 Handling overpayment of chargeback with credit allocations 2024-02-28 10:09:11 +01:00
Adam Saghy 5be1001fd5 FINERACT-1981: Fix down-payment handling on overpaid loan (Advanced payment allocation loan) 2024-02-27 13:50:42 +01:00
Arnold GalovicsandArnold Gálovics 4a11f0ca29 FINERACT-1971: Added reamortization foundational work 2024-02-27 08:15:26 +01:00
Jose Alberto HernandezandAdam Saghy 6ee881b89a FINERACT-1960: GL account mappings to use Savings product with Accrual accounting 2024-02-26 15:25:28 +01:00
Adam Saghy 051b37c4b3 FINERACT-1971: Enhanced error logging: Optimistic lock exception handling + log most specific exception 2024-02-22 16:09:56 +01:00
Mend RenovateandArnold Gálovics 72c7bffe35 Update actions/upload-artifact action to v4 2024-02-22 15:42:44 +01:00
goyalrocks007andAdam Saghy 3a3b95491d FINERACT-1477: Change the logging level for InsufficientAccountBalanceException in batch job 2024-02-21 11:02:53 +01:00
Arnold GalovicsandArnold Gálovics 4d4502fbe0 FINERACT-1971: Loan re-aging foundational implementation 2024-02-20 15:43:49 +01:00
Mend RenovateandArnold Gálovics 0d06e2bb2c Update actions/upload-artifact digest to a8a3f3a 2024-02-20 10:03:18 +01:00
Mend RenovateandArnold Gálovics 96e3fca5d0 Update non-major 2024-02-20 10:03:09 +01:00
Adam Saghy 6910051674 FINERACT-1981: Fix principal due during disbursement on overpaid loan 2024-02-20 09:47:12 +01:00
Mend RenovateandArnold Gálovics 03a83b46c8 Update dependency com.github.librepdf:openpdf to v2 2024-02-20 08:29:02 +01:00
Adam SaghyandArnold Gálovics 8e991e1a36 FINERACT-1971: Payment type is not mandatory 2024-02-20 08:28:46 +01:00
Adam SaghyandArnold Gálovics 23e00ffec9 FINERACT-1971: Enhanced error logging - Attach stacktrace 2024-02-20 08:28:27 +01:00
Adam Saghyandtaskain7 d06b0562f1 FINERACT-1971: Include downpayment as last repayment in Collection data 2024-02-14 14:01:24 +01:00
Arnold GalovicsandArnold Gálovics 1d2fc73715 FINERACT-1971: Internal server error fix for handling batch API hard locked loan 2024-02-14 11:42:20 +01:00
dependabot[bot]andArnold Gálovics d112ee4b26 Bump actions/upload-artifact from 3.1.3 to 4.3.1
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3.1.3 to 4.3.1.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/a8a3f3ad30e3422c9c7b888a15615d19a852ae32...5d5d22a31266ced268874388b861e4b58bb5c2f3)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-13 12:55:15 +01:00
Adam Saghy adea7be214 FINERACT-1981: Fix principal due during disbursement on overpaid loan 2024-02-13 12:50:42 +01:00
Peter BagrijandPeter Bagrij 10c314e5d9 FINERACT-2042 Reverse Replay of Credit Allocation 2024-02-13 12:32:46 +01:00
Adam SaghyandArnold Gálovics 6c953dbc87 FINERACT-1971: Add downpayment to transaction summary report 2024-02-13 09:45:21 +01:00
Adam SaghyandArnold Gálovics 127898e2fa FINERACT-1981: Fix principal due during disbursement on overpaid loan 2024-02-13 09:44:59 +01:00
dependabot[bot]andArnold Gálovics fcb824378e Bump actions/setup-node from 4.0.1 to 4.0.2
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4.0.1 to 4.0.2.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8...60edb5dd545a775178f52524783378180af0d1f8)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-13 09:43:34 +01:00
dependabot[bot]andArnold Gálovics f59a3a3ede Bump gradle/wrapper-validation-action
Bumps [gradle/wrapper-validation-action](https://github.com/gradle/wrapper-validation-action) from 83cf5fdbbf627c8da6fec32f28db58967a3136ac to 63d15e7a1e697b1de6f3ba0507106f89100c8518.
- [Release notes](https://github.com/gradle/wrapper-validation-action/releases)
- [Commits](https://github.com/gradle/wrapper-validation-action/compare/83cf5fdbbf627c8da6fec32f28db58967a3136ac...63d15e7a1e697b1de6f3ba0507106f89100c8518)

---
updated-dependencies:
- dependency-name: gradle/wrapper-validation-action
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-13 09:43:22 +01:00
Mariappan SivakumarandAdam Saghy afd262cfb6 FINERACT-2035: Client Trend For Day Scale is not work Due to BadSqlGrammar Error 2024-02-13 09:23:57 +01:00
Mariappan SivakumarandAdam Saghy 5577365858 FINERACT-2054: BadSqlGrammar Error in Loans Awaiting Disbursal Summary Report
This error is thrown because of Office/Branch( ounder.name) is not mentioned in the Group by clause
2024-02-13 09:23:29 +01:00
Peter BagrijandPeter Bagrij c504996c1d FINERACT-2042 Credit Allocation for Principal and Interest components 2024-02-12 12:26:27 +01:00
taskain7andAdam Saghy 717eb69425 FINERACT-2040: CBR GL accounts match with Charge off GL accounts if loan is not overpaid 2024-02-08 14:10:30 +01:00
Adam Saghy 181ec08f90 FINERACT-1972: Use default date for snapshot event + measure capability 2024-02-08 13:33:32 +01:00
Mend RenovateandArnold Gálovics e7fad88a06 Update actions/upload-artifact digest to a8a3f3a 2024-02-06 16:00:40 +01:00
Mend RenovateandArnold Gálovics 628e5aa561 Update all non-major dependencies 2024-02-06 16:00:31 +01:00
Arnold GalovicsandArnold Gálovics 770719e8ec FINERACT-1971: Handling inline COB execution before batch API execution outside of the batch transaction 2024-02-06 16:00:17 +01:00
Adam Saghy 99352c66b2 FINERACT-1981: Disbursement on overpaid loan 2024-02-06 13:20:01 +01:00
Mend RenovateandArnold Gálovics 8a67b5af65 Update dependency com.puppycrawl.tools:checkstyle to v10.13.0 2024-02-06 10:18:48 +01:00
dependabot[bot]andArnold Gálovics c78f2063a3 Bump actions/upload-artifact from 4.3.0 to 4.3.1
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.3.0 to 4.3.1.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/26f96dfa697d77e81fd5907df203aa23a56210a8...5d5d22a31266ced268874388b861e4b58bb5c2f3)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-06 10:18:32 +01:00
dependabot[bot]andArnold Gálovics 3952ef9d34 Bump gradle/wrapper-validation-action
Bumps [gradle/wrapper-validation-action](https://github.com/gradle/wrapper-validation-action) from 342dbebe7272035434f9baccc29a816ec6dd2c7b to 83cf5fdbbf627c8da6fec32f28db58967a3136ac.
- [Release notes](https://github.com/gradle/wrapper-validation-action/releases)
- [Commits](https://github.com/gradle/wrapper-validation-action/compare/342dbebe7272035434f9baccc29a816ec6dd2c7b...83cf5fdbbf627c8da6fec32f28db58967a3136ac)

---
updated-dependencies:
- dependency-name: gradle/wrapper-validation-action
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-05 17:41:59 +01:00
Jose Alberto HernandezandAdam Saghy f3710cda92 FINERACT-1932: Fineract modularization - fineract-accounting 2024-02-01 23:51:50 +01:00
taskain7andAdam Saghy 129748e30d FINERACT-2040: CBR GL accounts match with Chargeoff GL accounts only after reversal 2024-02-01 10:53:08 +01:00
Peter BagrijandPeter Bagrij cca520125b FINERACT-2042 Configurable CreditAllocations for Loan Product 2024-01-31 09:25:23 +01:00
Jose Alberto HernandezandAdam Saghy 02cf6749af FINERACT-1932: Fineract modularization - fineract-savings 2024-01-29 14:14:31 +01:00
Jose Alberto HernandezandAdam Saghy 1f00bb6d33 FINERACT-1971: Fix Delinquency bucket error upon Loan product editing 2024-01-29 09:23:42 +01:00
Ruchi DhamankarandAdam Saghy f7a056204c FINERACT-1971: Auto down payment disbursement to savings not affecting linked account 2024-01-26 14:12:02 +01:00
Peter BagrijandPeter Bagrij b01ccc4619 FINERACT-2042 Configurable Allocation Rules for Chargeback Transaction. PR 1 of 3 - Persistence Layer 2024-01-25 20:22:58 +01:00
taskain7 a77ece75f8 FINERACT-1971: remove disableScheduleExtensionForDownPayment 2024-01-25 10:33:25 +01:00
Peter BagrijandArnold Gálovics 8aa56aad58 FINERACT-1971 Fixing CORS config 2024-01-25 08:06:30 +01:00
Ruchi DhamankarandPeter Bagrij 1a29266d86 FINERACT-2044: Fix spring boot loader PropertyLauncher class not found error 2024-01-24 17:45:49 +01:00
dependabot[bot]andArnold Gálovics 4357eb2167 Bump actions/upload-artifact from 4.2.0 to 4.3.0
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.2.0 to 4.3.0.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/694cdabd8bdb0f10b2cea11669e1bf5453eed0a6...26f96dfa697d77e81fd5907df203aa23a56210a8)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-24 10:49:58 +01:00
Arnold GalovicsandArnold Gálovics 3c238b9b8f FINERACT-1971: Added installment level delinquency data to LoanAccountDataV1/CollectionDataV1 avro schema 2024-01-24 08:27:34 +01:00
dependabot[bot]andArnold Gálovics 5194f205a5 Bump actions/upload-artifact from 3.1.3 to 4.2.0
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3.1.3 to 4.2.0.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/a8a3f3ad30e3422c9c7b888a15615d19a852ae32...694cdabd8bdb0f10b2cea11669e1bf5453eed0a6)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-23 15:30:54 +01:00
Peter BagrijandPeter Bagrij 8b379695d7 FINERACT-1972 Custom Snapshot Event Triggered by COB 2024-01-22 15:29:21 +01:00
Mend RenovateandArnold Gálovics 4cb8946bc1 Update actions/upload-artifact digest to a8a3f3a 2024-01-22 13:41:59 +01:00
Mend RenovateandArnold Gálovics e5ea0b812f Update non-major 2024-01-22 11:43:21 +01:00
Mend RenovateandArnold Gálovics 937f922b19 Update all non-major dependencies 2024-01-22 11:43:09 +01:00
dependabot[bot]andArnold Gálovics c372aebec4 Bump actions/upload-artifact from 4.0.0 to 4.2.0
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.0.0 to 4.2.0.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/c7d193f32edcb7bfad88892161225aeda64e9392...694cdabd8bdb0f10b2cea11669e1bf5453eed0a6)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-22 11:37:44 +01:00
Ruchi DhamankarandAdam Saghy 2b1fe03e76 FINERACT-2042: Chargeback for down payment transaction 2024-01-22 09:47:27 +01:00
Adam SaghyandArnold Gálovics e00279bd29 FINERACT-1971: Error log when exception happened during batch execution 2024-01-22 09:42:25 +01:00
Adam Saghy d56cf85dcd FINERACT-1968: Fix overpayment calculation 2024-01-19 14:31:20 +01:00
Jose Alberto HernandezandAdam Saghy e169b5cd61 FINERACT-1971: Delinquency evaluation should be happen only for Active Loans 2024-01-18 14:07:19 +01:00
taskain7andAdam Saghy 189b94bd19 FINERACT-2041: totalRepaymentAmount includes down payment transactions 2024-01-18 13:56:50 +01:00
Ruchi DhamankarandAdam Saghy 89c3dc34f1 FINERACT-1971: N plus one installment loan reschedule 2024-01-18 13:55:02 +01:00
Arnold Galovicsandtaskain7 7d7669f570 FINERACT-1971: Transaction summary report fix + handling journal entries for chargeback scenarios 2024-01-18 11:57:38 +01:00
Arnold GalovicsandArnold Gálovics 51028fdbd0 Liquibase compatibility fix 2024-01-18 11:23:51 +01:00
Mend RenovateandArnold Gálovics 9a7a425696 Update all non-major dependencies 2024-01-18 11:23:51 +01:00
taskain7andAdam Saghy 583d73e7c9 FINERACT-2040: CBR journal entries when loan is charged off fix 2024-01-18 09:42:01 +01:00
Arnold GalovicsandArnold Gálovics cbe8f029e2 FINERACT-1971: Fix for not properly resolving delinquency range data for loan in case there's an installment delinquency 2024-01-18 08:28:43 +01:00
Aleksandar VidakovicandAleksandar Vidakovic ef465562b5 FINERACT-1874: Minor fix release build 2024-01-17 17:26:04 +01:00
taskain7andAdam Saghy 1148f5f974 FINERACT-1971: saving account annual fee test fix 2024-01-17 16:33:33 +01:00
Ruchi DhamankarandAdam Saghy 0672996678 FINERACT-1971: Fix next payment due date loan delinquent detail 2024-01-12 15:57:06 +01:00
Jose Alberto HernandezandAdam Saghy e3a771aa71 FINERACT-1981: Advanced payment allocation validation between Loan product and Loan account 2024-01-12 15:41:36 +01:00
Marta JankovicsandAdam Saghy fec768c192 FINERACT-2039: GET Savings API swagger fix 2024-01-11 14:43:19 +01:00
jmartaandAdam Saghy 16eac933d6 FINERACT-1977: 4-eye-principle, maker-checker permission 2024-01-11 11:46:32 +01:00
Arnold GalovicsandArnold Gálovics 2fe1b0e7d3 FINERACT-1971: Fix for allowing null default values for LoanAccountDeliquencyRangeDataV1 avro schema for installment level delinquency info 2024-01-09 15:42:39 +01:00
Rajkumar-SelvarajandAleksandar Vidakovic 5d96e8cc32 FINERACT-2034 : Fixed Handle Null Loan Cycle Counter in Loan Product Assignment for Borrow Cycle Enabled Products 2024-01-08 06:59:08 +01:00
Aleksandar VidakovicandAleksandar Vidakovic 478fb55b0f FINERACT-2036: Fix code quality 2024-01-07 19:11:13 +01:00
Aleksandar VidakovicandAleksandar Vidakovic 314929e692 FINERACT-2012: Fineract resource settings 2024-01-06 18:59:27 +01:00
Aleksandar VidakovicandAleksandar Vidakovic aec6cbe31f FINERACT-1893: Run reports fix 2024-01-06 18:58:38 +01:00
Aleksandar VidakovicandAleksandar Vidakovic e4944c44d6 FINERACT-2009: Upgrade latest framework libs 2024-01-06 14:13:33 +01:00
Arnold GalovicsandAdam Saghy 1f3bb34e13 FINERACT-1971: Swagger fixes 2024-01-05 11:21:30 +01:00
2vinodhkumarandAdam Saghy 50eefd2ee5 FINERACT-2031: Fix reschedule to next repayment date. Schedule should shift all the remaining installments to next repayment date as per the loan frequency.
FINERACT-2031: Fix reschedule to next repayment date. Schedule should shift all the remaining installments to next repayment date as per the loan frequency.

FINERACT-2031: Fix reschedule to next repayment date. Schedule should shift all the remaining installments to next repayment date as per the loan frequency.

FINERACT-2031: Fix reschedule to next repayment date. Schedule should shift all the remaining installments to next repayment date as per the loan frequency.

FINERACT-2031: Fix reschedule to next repayment date. Schedule should shift all the remaining installments to next repayment date as per the loan frequency.
2024-01-04 14:18:07 +01:00
jmartaandAdam Saghy e27a0bb53f FINERACT-2000: Clean-up retryable error codes 2024-01-03 12:08:07 +01:00
Adam SaghyandArnold Gálovics 2f38d284df FINERACT-1968: Fix when multiple disbursement happens on the 1st day of the loan 2024-01-03 10:39:38 +01:00
Ruchi DhamankarandAdam Saghy d3b626558f FINERACT-1971:Installment Delinquency value with delinquency pause 2023-12-31 12:43:41 +01:00
mariiaKraievskaandAdam Saghy 89750eeb2e FINERACT-2017: Improve test apply holidays to loans job 2023-12-31 11:54:46 +01:00
Adam Saghy 7da6d57c45 FINERACT-2017: Mark holiday was processed 2023-12-19 17:29:44 +01:00
mariiaKraievskaandAdam Saghy 8d6528408d FINERACT-2017: Fix apply holidays to loans job 2023-12-19 15:49:56 +01:00
Jose Alberto HernandezandAdam Saghy aff009c400 FINERTACT-1724: Advanced payment allocation fixes for Loan Schedule 2023-12-19 11:24:48 +01:00
Adam Saghy 834cfb6e27 Revert "FINERACT-1932: Fineract modularization - fineract-savings"
This reverts commit b9314d0b1e.
2023-12-15 18:48:44 +01:00
taskain7andAdam Saghy f981ffe519 FINERACT-1971: Loan transaction processing strategy validation fix 2023-12-15 14:02:50 +01:00
Jose Alberto HernandezandAdam Saghy b9314d0b1e FINERACT-1932: Fineract modularization - fineract-savings 2023-12-15 12:07:34 +01:00
Ruchi DhamankarandAdam Saghy 5edd18aec2 FINERACT-1992: Backdated delinquency pause events 2023-12-15 11:01:54 +01:00
mariiaKraievskaandAdam Saghy cd2f2f8102 FINERACT-1805: Fix getting details of a share transactions 2023-12-14 21:25:04 +01:00
Adam Saghy cba759533d FINERACT-1724: Set system user when a job got restarted by stuck job listener 2023-12-14 21:23:17 +01:00
Jose Alberto HernandezandAdam Saghy 4e877451c3 FINERACT-1724: Loan product delinquency bucket should not be mandatory 2023-12-14 14:39:00 +01:00
Ruchi DhamankarandAdam Saghy 6526e101a1 FINERACT-1992: Backdated delinquency pause 2023-12-13 10:36:36 +01:00
Adam Saghy da2cdd8bfd FINERACT-2026: Fix job run history 2023-12-13 10:23:43 +01:00
taskain7 7a417b058b FINERACT-1971: Delinquency pause validation bug fixes 2023-12-12 13:54:58 +01:00
Peter BagrijandAdam Saghy fb492b8172 FINERACT-1724 Improve cashier data validator 2023-12-11 10:38:53 +01:00
Peter BagrijandAdam Saghy 6dbab1737e FINERACT-1971 Improve Request Validation 2023-12-11 10:37:20 +01:00
Ruchi DhamankarandAdam Saghy 31a7e3644d FINERACT-1968: Adding Installment percentage fee Adv Payment allocation 2023-12-08 14:00:37 +01:00
Adam Saghy ae77d29be2 FINERACT-1958: Fix down-payment for loan reschedule and for interest bearing loans 2023-12-08 10:10:02 +01:00
Ruchi DhamankarandAdam Saghy 5b8f15ca95 FINERACT-1968:Advanced Payment allocation reprocessing transaction reverse replay 2023-12-07 16:21:10 +01:00
Peter BagrijandPeter Bagrij 5a8a2b9e35 FINERACT-2025 SQL Query Improvement 2023-12-07 10:17:35 +01:00
taskain7 cb40f230b1 [FINERACT-1992] Delinquency calculation with pause 2023-12-05 16:21:33 +01:00
taskain7 977fb20171 [FINERACT-1971] Create delinquency action permission 2023-12-05 09:57:15 +01:00
Arnold GalovicsandArnold Gálovics 646d7738c2 FINERACT-1971: Fix when waived N+1 installment's obligationsMet and obligationsMetOnDate is not or wrongly set 2023-12-04 14:09:10 +01:00
Peter BagrijandAdam Saghy 8505145fde FINERACT-1971 Credit balance refund for future date shall be rejected 2023-11-30 16:27:52 +01:00
Peter BagrijandAdam Saghy 5e5511f70a FINERACT-1724 Fix compilation issue after auto rebase 2023-11-30 14:38:39 +01:00
Adam Saghy ea68edce2d FINERACT-1981: Order disbursements and repayment periods properly 2023-11-30 12:42:44 +01:00
Peter BagrijandAdam Saghy b08fd9b573 FINERACT-1992 Fixing consecutive pause periods 2023-11-30 11:47:01 +01:00
Ruchi DhamankarandAdam Saghy 570b67b18e FINERACT-1992: Multi Delinquency event for installment range change 2023-11-30 10:39:23 +01:00
Peter BagrijandAdam Saghy 9129fb89a3 FINERACT-1968 Waive loan charges with advanced payment allocations 2023-11-30 10:38:52 +01:00
Arnold GalovicsandArnold Gálovics 35171c0823 FINERACT-1971: Marking the fallback method as public so it works properly with Resilience4J 2023-11-28 17:17:14 +01:00
Arnold GalovicsandArnold Gálovics 3b46332443 Code fixes for new checkstyle rules 2023-11-25 20:29:37 +01:00
Mend RenovateandArnold Gálovics 52acaf75f5 Update non-major 2023-11-25 20:29:37 +01:00
Arnold GalovicsandArnold Gálovics e3f7eadf53 Downgraded Liquibase since there's a bug where the database encryption task runs twice 2023-11-25 18:01:25 +01:00
Arnold GalovicsandArnold Gálovics 028a002426 Downgraded spotbugs 2023-11-25 18:01:25 +01:00
Mend RenovateandArnold Gálovics 47ff783be9 Update all non-major dependencies 2023-11-25 18:01:25 +01:00
Adam Saghy 054903a952 FINERACT-1968: Enhanced charge handling 2023-11-23 19:21:43 +01:00
Ruchi DhamankarandAdam Saghy 48300cd19d FINERACT-1992: Multi delinquency implication on events 2023-11-23 10:30:19 +01:00
Arnold GalovicsandArnold Gálovics f089f01116 Switched over to plain activemq client instead of the intermediary jakarta one 2023-11-22 19:51:44 +01:00
Mend RenovateandArnold Gálovics 5c97289341 Update dependency org.apache.activemq:activemq-client-jakarta to v6 2023-11-22 19:51:44 +01:00
Peter BagrijandAdam Saghy 677a499fab FINERACT-1724 Fix running the unit and cucumber tests locally 2023-11-22 15:15:28 +01:00
Peter BagrijandAdam Saghy bef6595032 FINERACT-1992 Emit LoanAccountDelinquencyPauseChangedBusinessEvent 2023-11-22 15:15:00 +01:00
Arnold GalovicsandAdam Saghy 967960d6c2 FINERACT-1971: Transaction Summary Report with Asset Owner does not
report overpaid amount
2023-11-21 16:01:38 +01:00
Peter BagrijandAdam Saghy 06a56d106d FINERACT-1992 Improve validation errors. 2023-11-21 10:34:45 +01:00
jmartaandAdam Saghy ee79c58e15 FINERACT-1909: Retry feature for commands - deadlock 2023-11-20 19:49:47 +01:00
Mend RenovateandArnold Gálovics 3acb2b3c50 Update dependency software.amazon.msk:aws-msk-iam-auth to v2 2023-11-20 13:55:50 +01:00
jmartaandAdam Saghy 4f2400ca3e FINERACT-2011: Savings Account - transaction order is incorrectly mixed after certain activities 2023-11-20 11:50:31 +01:00
Adam Saghy d0341e69cb FINERACT-1968: Fix rounding issue 2023-11-20 10:11:55 +01:00
Adam Saghy a95b6c7d1b FINERACT-1968: Credit balance refund 2023-11-20 09:30:39 +01:00
Peter BagrijandArnold Gálovics 03154f3101 FINERACT-1724 fix flaky testCatchUpInLockedInstanceLastCOBDateIsNotNull test 2023-11-20 09:16:49 +01:00
Peter BagrijandAdam Saghy c65a763c7f FINERACT-1992 Installment level delinquency is exposed to the loan api. 2023-11-17 15:43:21 +01:00
Peter BagrijandAdam Saghy 42d4198641 FINERACT-1992 Delinquency Pause API Changes 2023-11-14 19:33:57 +01:00
taskain7andAdam Saghy 71f9f57ba0 [FINERACT-1968] horizontal processing for refund for active loans transaction 2023-11-14 15:28:35 +01:00
Arnold GalovicsandArnold Gálovics 35243ee709 FINERACT-1971: Fix for not using installmentInMultiplesOf parameter in case of flat interest for loans 2023-11-14 14:00:25 +01:00
Adam Saghy 1eab93c8f3 FINERACT-1968: Support horizontal and vertical installment processing 2023-11-13 11:56:02 +01:00
taskain7andAdam Saghy 3799835414 [FINERACT-1968] Refund for active loan transaction 2023-11-10 14:19:28 +01:00
Adam Saghy 7a9bc6defe FINERACT-1971: Retry if original request is still under processing 2023-11-10 14:17:48 +01:00
Aleksandar VidakovicandAleksandar Vidakovic e2cf138437 FINERACT-1484: Micrometer Monitoring 2023-11-09 13:58:42 +01:00
Ruchi DhamankarandAdam Saghy 5c77242005 FINERACT-1958: downpayment periods for disbursements on same day 2023-11-08 18:07:07 +01:00
Arnold GalovicsandArnold Gálovics f4eee46a43 FINERACT-1971: Tiny refactoring to be able to customize down payment logic in disbursement 2023-11-08 17:16:35 +01:00
Arnold GalovicsandArnold Gálovics f681ee9ca5 FINERACT-1971: Fix for infinite recursive loop in CalendarUtils when tenant and system TZ is different 2023-11-08 14:35:25 +01:00
Arnold GalovicsandArnold Gálovics 9efe4f7ed5 FINERACT-1971: Added default values for LoanAccountLockApi for paging parameters 2023-11-08 13:26:57 +01:00
Peter BagrijandArnold Gálovics 8f3b114028 FINERACT-1724 fix eom tests 2023-11-08 09:11:07 +01:00
Adam Saghy 983f3d2da0 FINERACT-1981: Reschedule loan with new repayment date (Progressive loan schedule) 2023-11-07 16:48:10 +01:00
Peter BagrijandAleksandar Vidakovic 436877d94b FINERACT-1724 ActiveMQ is upgraded 2023-11-07 08:46:41 +01:00
Aleksandar VidakovicandAleksandar Vidakovic 2b4c932ddd FINERACT-1999: Publish snapshot versions without signing 2023-11-05 11:14:56 +01:00
Adam Saghy f5aa8d22e8 FINERACT-1724: Move product account mapping packages to core 2023-11-03 16:56:40 +01:00
jmartaandAdam Saghy a42f46957d FINERACT-1909: Retry feature for commands - no wrap for retryable exceptions 2023-11-03 16:56:23 +01:00
Ruchi DhamankarandAdam Saghy 224dbdc040 FINERACT-1968: Advanced payment allocation Write-off 2023-11-03 14:51:03 +01:00
Mohamed Magdi-AbdelmonemandAleksandar Vidakovic dc3b94d117 FINERACT-1932: Add starter Configuration class for portfolio.savings module 2023-10-31 18:55:40 +01:00
Adam Saghy 30ad4f50fa FINERACT-1981: Update (loan product request) swagger with loan schedule type 2023-10-31 17:23:34 +01:00
Adam Saghy ea55ddac13 FINERACT-1968: Fix repayment schedule reprocessing for N+1 situations 2023-10-31 17:21:08 +01:00
taskain7andArnold Gálovics 3bda17a4f1 [FINERACT-1968] unit tests for charge payment 2023-10-31 15:36:23 +01:00
Ruchi DhamankarandArnold Gálovics 3bb90a8987 FINERACT-1992: Paused delinquency actions persistence 2023-10-31 13:48:14 +01:00
5ebeca0f2d FINERACT-1971: Swagger classes primary keys fix (#3545)
FINERACT-1971 Swagger adjustments

---------

Co-authored-by: Arnold Galovics <galovicsarnold@gmail.com>
2023-10-31 13:18:05 +01:00
jmartaandAdam Saghy 03e71a29ff FINERACT-1996: Reporting should support query that includes json path for DB field in Postgres 2023-10-31 11:13:23 +01:00
taskain7andAdam Saghy 24cb62443e [FINERACT-1968] charge payment adv.paym.alloc.strategy 2023-10-31 11:03:12 +01:00
Adam SaghyandArnold Gálovics 5d62cfef04 FINERACT-1968: Adv.paym.disbursement 2023-10-31 08:15:50 +01:00
Adam SaghyandArnold Gálovics 2ea23be9a4 FINERACT-1981: Progressive loan schedule handling 2023-10-31 08:15:50 +01:00
Peter BagrijandAdam Saghy 71d2e51051 FINERACT-1971: Fixing obligation met on date when adding charge after maturity 2023-10-30 19:07:51 +01:00
Peter BagrijandArnold Gálovics 9b2c24289c FINERACT-1971: Fixing Loan repayment re-schedule with down payment. 2023-10-30 16:00:52 +01:00
Mohamed Magdi-AbdelmonemandAleksandar Vidakovic 0b1ca2dced FINERACT-1932: Add custom Configuration class for shareproduct services 2023-10-30 10:58:05 +01:00
Mend RenovateandArnold Gálovics ecca18d0f7 Update actions/setup-node action to v4 2023-10-30 10:55:45 +01:00
Mohamed Magdi-AbdelmonemandArnold Gálovics 245c00bd59 FINERACT-1932: Add starter Configuration class for portfolio.interestratechart module 2023-10-30 10:54:21 +01:00
Mohamed Magdi-AbdelmonemandAleksandar Vidakovic 0abb60c922 FINERACT-1932: Add starter Configuration class for portfolio.group module 2023-10-28 02:11:50 +02:00
Peter BagrijandAdam Saghy 937098c4ee FINERACT-1905 Loan Charge Reverse Replay with Advanced Payment Allocation 2023-10-27 22:10:14 +02:00
Mohamed Magdi-AbdelmonemandAleksandar Vidakovic c5932ec7a5 FINERACT-1932: Add starter Configuration class for portfolio.fund module 2023-10-27 17:37:13 +02:00
Mohamed Magdi-AbdelmonemandAleksandar Vidakovic 0d3f0372cd FINERACT-1932: Add starter Configuration class for self-shareaccounts module 2023-10-27 17:33:39 +02:00
Mohamed Magdi-AbdelmonemandAleksandar Vidakovic f11808eba7 FINERACT-1932: Add custom Configuration class for shareaccounts services 2023-10-27 17:32:28 +02:00
Mohamed Magdi-AbdelmonemandAleksandar Vidakovic 311eb875b3 FINERACT-1932: Add custom Configuration class for self-pockets module 2023-10-27 16:05:25 +02:00
Mohamed Magdi-AbdelmonemandAleksandar Vidakovic 19bd4fcb29 FINERACT-1932: Add custom Configuration class for self-client module 2023-10-27 16:03:01 +02:00
Sinha, AbhinavandAleksandar Vidakovic e75e758e71 Add custom Configuration class for notification module (FINERACT-1932) 2023-10-27 15:56:39 +02:00
Ruchi DhamankarandAdam Saghy 8cea837a5b FINERACT-1992-FINERACT-Installment-level-delinquency-calculation 2023-10-27 14:31:59 +02:00
Peter BagrijandAdam Saghy 585d200c67 FINERACT-1724
- Improve Kafka and ActiveMQ smoke-tests. It is enough to run one single testcase.
2023-10-27 14:13:08 +02:00
Sinha, AbhinavandAleksandar Vidakovic 2af06b96da Add custom Configuration class for adhocquery module (FINERACT-1932) 2023-10-27 13:32:02 +02:00
Sinha, AbhinavandAleksandar Vidakovic ff8a186b5c Add custom Configuration class for organisation/monetary module (FINERACT-1932) 2023-10-26 20:03:52 +02:00
Sinha, AbhinavandAleksandar Vidakovic 01e7dcf4ce Add custom Configuration class for organisation/provisioning module (FINERACT-1932) 2023-10-26 20:03:30 +02:00
Sinha, AbhinavandAleksandar Vidakovic 62811ad60b Add custom Configuration class for collateralmanagement module (FINERACT-1932) 2023-10-26 16:34:49 +02:00
Sinha, AbhinavandAleksandar Vidakovic 54ca135c3f Add custom Configuration class for organisation/holiday module (FINERACT-1932) 2023-10-26 16:31:58 +02:00
Sinha, AbhinavandAleksandar Vidakovic 1ef600ed73 Add custom Configuration class for accounting/accrual module (FINERACT-1932) 2023-10-26 15:29:42 +02:00
Sinha, AbhinavandAleksandar Vidakovic bf9352ed7e Add custom Configuration class for accounting/journalentry module (FINERACT-1932) 2023-10-26 15:27:06 +02:00
Sinha, AbhinavandAleksandar Vidakovic 6aa45f73ea Add custom Configuration class for accounting/provisioning module (FINERACT-1932) 2023-10-26 15:26:06 +02:00
Sinha, AbhinavandAleksandar Vidakovic a779abaf7d Add custom Configuration class for accounting/rule module (FINERACT-1932) 2023-10-26 15:25:20 +02:00
Sinha, AbhinavandAleksandar Vidakovic 1c652ba0a6 Add custom Configuration class for commands module (FINERACT-1932) 2023-10-26 15:20:53 +02:00
Sinha, AbhinavandAleksandar Vidakovic 93b8ab8678 Add custom Configuration class for organisation/office module (FINERACT-1932) 2023-10-26 15:14:43 +02:00
Sinha, AbhinavandAleksandar Vidakovic 9535bc0ec5 Add custom Configuration class for organisation/staff module (FINERACT-1932) 2023-10-26 15:12:45 +02:00
Sinha, AbhinavandAleksandar Vidakovic 66341db853 Add custom Configuration class for organisation/teller module (FINERACT-1932) 2023-10-26 15:11:44 +02:00
Sinha, AbhinavandAleksandar Vidakovic 9f3ebfbc31 Add custom Configuration class for organisation/workingdays module (FINERACT-1932) 2023-10-26 15:09:54 +02:00
Sinha, AbhinavandAleksandar Vidakovic 8710b1cff0 Add custom Configuration class for interoperation module (FINERACT-1932) 2023-10-26 15:09:01 +02:00
Sinha, AbhinavandAleksandar Vidakovic 9aa1c14b70 Add custom Configuration class for mix module (FINERACT-1932) 2023-10-26 15:07:23 +02:00
Arnold GalovicsandArnold Gálovics c13742f704 FINERACT-1971: Flaky test improvement on BatchAPI 2023-10-26 11:22:00 +02:00
jmartaandAdam Saghy e602fa6b3c FINERACT-1983: Date handling improvements - general 2023-10-25 22:41:23 +02:00
jmartaandAdam Saghy 71afd6dead FINERACT-1955: Timezone handling of Savings account 2023-10-24 16:00:57 +02:00
Peter BagrijandArnold Gálovics 6cb8ae0ed3 FINERACT-1724
- fix bootstrap server config
2023-10-24 13:07:14 +02:00
Peter BagrijandArnold Gálovics 5ab2b19ae4 FINERACT-1724
- Fix starter config by returning the most specific type.
2023-10-24 13:06:58 +02:00
Peter BagrijandArnold Gálovics f72f578d4b FINERACT-1724
- Fixing the order of disbursement and downpayment transactions
2023-10-24 13:06:49 +02:00
Peter BagrijandArnold Gálovics 7370dfdc73 FINERACT-1724
- Fixing fragile givenEventsForPurgeWhenTaskExecutionThenEventsPurgeForDaysCriteria failed here: https://github.com/apache/fineract/actions/runs/6576359375/job/17865569282
2023-10-24 13:06:39 +02:00
Mend RenovateandArnold Gálovics f946e35d6e Update actions/checkout digest to b4ffde6 2023-10-24 13:06:30 +02:00
Mend RenovateandArnold Gálovics 733ee7588b Update dependency org.apache.bval:org.apache.bval.bundle to v3 2023-10-24 13:06:24 +02:00
dependabot[bot]andArnold Gálovics 6ab6167746 Bump actions/setup-node from 3.8.1 to 4.0.0
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3.8.1 to 4.0.0.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d...8f152de45cc393bb48ce5d89d36b731f54556e65)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-24 11:09:49 +02:00
Adam Saghy 83c505e1d1 FINERACT-1971: Update sonar plugin 2023-10-20 15:52:05 +02:00
jmartaandAdam Saghy fadfcd68e2 FINERACT-1929: Allow the length of client name to be 160 chars 2023-10-19 18:27:44 +02:00
jmartaandAdam Saghy e87dd888d2 FINERACT-1978: Delete data table does not delete references 2023-10-19 16:48:36 +02:00
jmartaandAdam Saghy 21978cc4e1 FINERACT-1971: Minor bug-fixes 2023-10-19 14:18:20 +02:00
Peter Bagrijandtaskain7 f79891b084 FINERACT-1724
- Add support for M1/M2 or other ARM64. Docker image will be based on AMR64 images, for the rest of the architectures it falls back to amd64.
2023-10-19 12:17:33 +02:00
Jose Alberto HernandezandAdam Saghy 73b77b9414 FINERACT-1992: Multi-dlnqcy - Configuration of Installment level delinquency 2023-10-18 09:27:52 +02:00
Mend RenovateandArnold Gálovics e0d087320a Update plugin com.adarshr.test-logger to v4 2023-10-16 21:52:10 +02:00
taskain7andGitHub 389a1f15b2 FINERACT-1971: Downpayment repayment undo (#3512)
[FINERACT-1971] Downpayment repayment undo
2023-10-16 14:11:06 +02:00
taskain7andArnold Gálovics 4bb9c40cdc [FINERACT-1971] don't send event if the installment is paid 2023-10-16 13:31:42 +02:00
taskain7 c0d0b565cb [FINERACT-1971] LoanRepaymentDueBusinessEvent shouldn't be sent if the loan is not disbursed or the outstanding balance is greater than 0 2023-10-14 11:11:45 +02:00
dependabot[bot]andArnold Gálovics 67bea02deb Bump actions/setup-java from 3.12.0 to 3.13.0
Bumps [actions/setup-java](https://github.com/actions/setup-java) from 3.12.0 to 3.13.0.
- [Release notes](https://github.com/actions/setup-java/releases)
- [Commits](https://github.com/actions/setup-java/compare/cd89f46ac9d01407894225f350157564c9c7cee2...0ab4596768b603586c0de567f2430c30f5b0d2b0)

---
updated-dependencies:
- dependency-name: actions/setup-java
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-13 13:34:24 +02:00
Ruchi DhamankarandArnold Gálovics 8b1a1c0d40 FINERACT-1992-Installment-level-delinquency-calculation-db 2023-10-12 09:30:54 +02:00
Mohamed Magdi-AbdelmonemandArnold Gálovics 4d3c40dc50 FINERACT-1932: Add stater configuration class for portfolio.loanaccount module services 2023-10-11 08:15:48 +02:00
Mohamed Magdi-AbdelmonemandArnold Gálovics 3aac1339e9 FINERACT-1932: Add stater configuration class for portfolio.loadproduct module services 2023-10-11 08:14:07 +02:00
Mohamed Magdi-AbdelmonemandArnold Gálovics e4af9b30ea FINERACT-1932: Add stater configuration class for template module services 2023-10-11 08:13:49 +02:00
Mohamed Magdi-AbdelmonemandArnold Gálovics 0c1997aa9a FINERACT-1932: Add stater configuration class for spm module services 2023-10-11 08:13:34 +02:00
Mend RenovateandArnold Gálovics 1173658520 Update actions/setup-java digest to cd89f46 2023-10-11 08:13:03 +02:00
taskain7andArnold Gálovics 4a77dafc5a [FINERACT-1971] LoanRepaymentDueBusinessEvent shouldn't be sent if the loan is not disbursed or the outstanding balance is greater than 0 2023-10-11 08:12:33 +02:00
Jose Alberto HernandezandArnold Gálovics 2bd4c24a50 FINERACT-1968: Add Advanced Payment Alloc Data in Loan Product 2023-10-11 08:11:36 +02:00
Ruchi DhamankarandArnold Gálovics d2fe39362c FINERACT-1968-Advanced-Payment-Allocation-Charge-Off 2023-10-09 14:20:15 +02:00
taskain7 06b56437b1 [FINERACT-1968] Adv. Pay. All. CBR test 2023-10-07 01:08:51 +02:00
Ruchi DhamankarandArnold Gálovics 231a178d1e FINERACT-1724-Loan-Product-Update 2023-10-06 14:10:57 +02:00
Mohamed Magdi-AbdelmonemandArnold Gálovics 69c3d575b7 FINERACT-1932: Add stater configuration class for provider.paymenttype services 2023-10-05 08:30:49 +02:00
Mohamed Magdi-AbdelmonemandArnold Gálovics f47053ef30 FINERACT-1932: Add stater configuration class for provider.paymentdetail services 2023-10-05 08:30:38 +02:00
Adam SaghyandArnold Gálovics c89e7c3f46 FINERACT-1971: Adding charge on a closed loan after maturity date should create an N+1 installment 2023-10-05 08:22:09 +02:00
Peter BagrijandArnold Gálovics be7c419b24 FINERACT-1971
- fix undo last disbursal with auto down payment enabled and repayment between the two disbursements
2023-10-04 13:54:54 +02:00
jmartaandArnold Gálovics 80bcb27b0a FINERACT-1921: BatchAPI - status code mismatch 2023-10-03 12:37:22 +02:00
Sinha, AbhinavandArnold Gálovics 666c097ec8 Add custom Configuration class for collectionsheet module (FINERACT-1932) 2023-10-02 15:15:57 +02:00
Mohamed MagdyandArnold Gálovics ad63024b4f Add custom AutoConfiguration class for transfer service (FINERACT-1932) 2023-10-02 15:15:45 +02:00
Mohamed MagdyandArnold Gálovics 34fc1a2cc5 Add custom AutoConfiguration class for tax service (FINERACT-1932) 2023-10-02 15:15:35 +02:00
Mohamed Magdi-AbdelmonemandArnold Gálovics 2272174c24 FINERACT-1932: Add custom Configuration class for self-account module 2023-10-02 15:15:27 +02:00
Mohamed Magdi-AbdelmonemandArnold Gálovics c422d2611e FINERACT-1932: Add starter configuration class for portfolio.rate module 2023-10-02 15:14:53 +02:00
Sinha, AbhinavandArnold Gálovics e41d7635e0 Add custom Configuration class for floatingrates module (FINERACT-1932) 2023-10-02 15:14:33 +02:00
Mohamed Magdi-AbdelmonemandArnold Gálovics 01e68e34ce FINERACT-1932: Add starter configuration class for portfolio.repaymentwithpostdatedchecks module 2023-10-02 15:14:22 +02:00
Mend RenovateandArnold Gálovics 4bcf465ac0 Update postgres Docker tag to v16 2023-10-02 15:14:09 +02:00
Mend RenovateandArnold Gálovics de13be60e6 Update ghcr.io/navikt/mock-oauth2-server Docker tag to v2 2023-10-02 15:14:02 +02:00
Mend RenovateandArnold Gálovics 43ceac2ea3 Update gradle/wrapper-validation-action digest to 342dbeb 2023-10-02 15:13:54 +02:00
Mend RenovateandArnold Gálovics 9a591b6216 Pin dependencies 2023-10-02 15:13:42 +02:00
dependabot[bot]andArnold Gálovics 9e2ce141ad Bump actions/setup-java from 3.12.0 to 3.13.0
Bumps [actions/setup-java](https://github.com/actions/setup-java) from 3.12.0 to 3.13.0.
- [Release notes](https://github.com/actions/setup-java/releases)
- [Commits](https://github.com/actions/setup-java/compare/cd89f46ac9d01407894225f350157564c9c7cee2...0ab4596768b603586c0de567f2430c30f5b0d2b0)

---
updated-dependencies:
- dependency-name: actions/setup-java
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-02 15:13:35 +02:00
Ruchi DhamankarandAdam Saghy 7e893eac78 FINERACT-1958-Loan-repayment-calculation 2023-09-29 17:32:26 +02:00
mariiaKraievskaandAdam Saghy 480b9542ed FINERACT-1938: Fix calculating running balance after release amount in batch request 2023-09-29 17:31:38 +02:00
Adam Saghy 88d2f44cb4 FINERACT-1958: Business events for down payment installments 2023-09-29 13:08:05 +02:00
taskain7andAdam Saghy 1b31d932ca [FINERACT-1958] Business events for down payment installments 2023-09-29 13:08:05 +02:00
Ruchi DhamankarandAdam Saghy 98b7c2948a FINERACT-1958-Rework-Down-Payment-Overlapping-Installment 2023-09-28 18:13:52 +02:00
jmartaandAdam Saghy f7f41d3e3c FINERACT-1971: Minor bug-fixes and enhancements 2023-09-28 18:11:29 +02:00
Peter BagrijandArnold Gálovics 3f088e9c2a FINERACT-1971
- GetSavingsAccountsSummary accountBalance and availableBalance should be BigDecimal
2023-09-28 15:09:08 +02:00
jmartaandAdam Saghy 32da7db35d FINERACT-1927: Incorrect exception info in BatchAPI response 2023-09-27 19:13:26 +02:00
Peter BagrijandAdam Saghy f452ce2cad FINERACT-1968
- integration tests added for validating chargeback support.
2023-09-26 11:05:54 +02:00
Adam Saghy fecc3913a8 FINERACT-1958: Rework down-payment calculation 2023-09-22 11:33:22 +02:00
Adam Saghy 0927c8e1d9 FINERACT-1971: Align dates and dateformat in tests 2023-09-21 18:43:17 +02:00
Adam Saghy 710e6145be FINERACT-1971: Bugfix for transaction summary report for Asset owners 2023-09-21 11:36:25 +02:00
Kristof JozsaandAleksandar Vidakovic 3fe997e472 FINERACT-1979: Better versioning plugin for Gradle builds 2023-09-19 16:30:13 +02:00
Ruchi DhamankarandAdam Saghy aefb7d0edb FINERACT-1958-disbursement-period-order-backdated-disbursement 2023-09-18 15:20:21 +02:00
jmartaandAdam Saghy 1f107b4e81 FINERACT-1931: Savings Account with overdraft - cannot deposit after negative balance 2023-09-18 15:19:57 +02:00
jmartaandAdam Saghy ad3e518291 FINERACT-1976: Payment type permissions not working 2023-09-18 12:22:51 +02:00
Ruchi DhamankarandAdam Saghy 8b19879f12 FINERACT-1971-Loan-Product-modify-PUT-api-error-fix 2023-09-18 10:51:19 +02:00
Adam Saghy 8eecb866c8 FINERACT-1975: BatchAPI - JSON handler cannot handle null (fix) 2023-09-15 08:01:01 +02:00
Adam Saghy f7d41b58b3 FINERACT-1724: Fix pagination 2023-09-14 17:28:46 +02:00
Peter BagrijandAdam Saghy 95475509de FINERACT-1971
- validation added for the case when advanced repayment strategy is used with empty or missing allocation rules.
2023-09-14 14:11:20 +02:00
Ruchi DhamankarandAdam Saghy f89147ed3c FINERACT-1958-backdated-disbursement 2023-09-14 14:08:51 +02:00
abraham.menyhartandAdam Saghy 781f3ae78c FINERACT-1760: savings account externalId support 2023-09-13 17:08:30 +02:00
Peter BagrijandAdam Saghy 6d3357e740 FINERACT-1958
- reverse handling of disbursement with down payment
2023-09-11 16:29:08 +02:00
Mend RenovateandArnold Gálovics 3a092590e9 Update actions/checkout action to v4 2023-09-11 16:22:47 +02:00
dependabot[bot]andArnold Gálovics acd891e6f2 Bump actions/upload-artifact from 3.1.2 to 3.1.3
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3.1.2 to 3.1.3.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/0b7f8abb1508181956e8e162db84b466c27e18ce...a8a3f3ad30e3422c9c7b888a15615d19a852ae32)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-11 15:06:20 +02:00
Sinha, AbhinavandArnold Gálovics 3de1be6252 Add custom Configuration class for meeting service (FINERACT-1932) 2023-09-11 14:49:06 +02:00
Mohamed Magdi-AbdelmonemandArnold Gálovics 00cab57a9b FINERACT-1932: Add custom Configuration class for search module 2023-09-11 14:45:12 +02:00
Sinha, AbhinavandArnold Gálovics 21af639abc Add custom Configuration class for delinquency module (FINERACT-1932) 2023-09-11 14:45:01 +02:00
Mohamed Magdi-AbdelmonemandArnold Gálovics e4e9d008f2 FINERACT-1932: Add custom Configuration class for self-loanaccount module 2023-09-11 14:44:05 +02:00
Mohamed Magdi-AbdelmonemandArnold Gálovics ed4c85a5c8 FINERACT-1932: Add custom Configuration class for self-registration module 2023-09-11 14:43:39 +02:00
Mohamed Magdi-AbdelmonemandArnold Gálovics 5b0ed43054 FINERACT-1932: Add custom Configuration class for self-savings module 2023-09-11 14:43:04 +02:00
Mend RenovateandArnold Gálovics bbb9a05cba Update actions/checkout digest to f43a0e5 2023-09-11 14:28:49 +02:00
Ruchi DhamankarandAdam Saghy 233cb5af57 FINERACT-1958-Configuration-extending-schedule-with-downpayment 2023-09-11 10:48:29 +02:00
Adam Saghy 4b02527561 FINERACT-1968: Enhance Loan product template with advanced payment allocation 2023-09-08 14:45:44 +02:00
dependabot[bot]andArnold Gálovics c04f435b1a Bump actions/checkout from 3.6.0 to 4.0.0
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.6.0 to 4.0.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/f43a0e5ff2bd294095638e18286ca9a3d1956744...3df4ab11eba7bda6032a0b82a6bb43b11571feac)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-06 09:01:52 +02:00
Adam Saghy 6d938995a0 FINERACT-1968: Advanced payment allocation - Default allocation 2023-09-05 17:14:32 +02:00
taskain7andAdam Saghy 26eca0fccd [FINERACT-1958] Tests for delinquency bucket on down payment installment 2023-09-05 09:43:52 +02:00
taskain7andAdam Saghy 3fd0557f7a [FINERACT-1958] Tests for interest not applied on down payment installment 2023-09-04 23:16:57 +02:00
Arnold GalovicsandArnold Gálovics c1ef701908 FINERACT-1724: Made inline loan COB reader and processor job scoped to avoid state sharing 2023-09-04 15:50:35 +02:00
Adam Saghy 0eb2a44ff3 FINERACT-1724: Fix wrong datepattern in integration test 2023-09-04 14:03:34 +02:00
Jose Alberto HernandezandAdam Saghy 4a2aeff350 FINERACT-1926: Asset Externalization on Fineract 2023-09-01 13:54:23 +02:00
jmartaandAdam Saghy 6a90ce3f10 FINERACT-1969 SQL Injection exception thrown even if no insecure string is in the input 2023-08-31 17:31:16 +02:00
jmartaandAdam Saghy 28e9a62137 FINERACT-1911: Assign Data Table to Transaction - validation 2023-08-31 13:49:10 +02:00
Sinha, AbhinavandArnold Gálovics 6910759985 Add custom Configuration class for useradministration service (FINERACT-1932) 2023-08-30 14:28:11 +02:00
Janos HaberandArnold Gálovics f829eaa9d6 FINERACT-1760: Get office by external id
- [x] Add new resource to update
- [x] Integration test
2023-08-30 14:27:39 +02:00
Adam Saghy 59c5ad4500 FINERACT-1724: Refactor loan repayment transaction processor 2023-08-30 13:48:26 +02:00
Adam Saghy e2e10d2008 FINERACT-1968: Advanced payment allocation strategy for Loan 2023-08-30 13:47:30 +02:00
Sinha, AbhinavandArnold Gálovics 349103015f Add custom Configuration class for Account module (FINERACT-1932) 2023-08-30 11:26:27 +02:00
Sinha, AbhinavandArnold Gálovics 5348477afb Add custom Configuration class for calendar module (FINERACT-1932) 2023-08-30 11:26:20 +02:00
Sinha, AbhinavandArnold Gálovics 367896ccf2 Add custom Configuration class for charge module (FINERACT-1932) 2023-08-30 11:26:13 +02:00
Sinha, AbhinavandArnold Gálovics 6ff1966562 Add custom Configuration class for collateral module (FINERACT-1932) 2023-08-30 11:26:04 +02:00
Arnold GalovicsandAdam Saghy 435f75b6c0 FINERACT-1724: Fix for closing the AWS credentials provider unnecessarily upon startup 2023-08-30 11:13:14 +02:00
Janos HaberandArnold Gálovics 63d6cb38ab FINERACT-1760: Update office by external id
- [x] Add new resource to update
- [x] Integration test
2023-08-30 09:50:56 +02:00
Mend RenovateandArnold Gálovics adcdd1a224 Update actions/checkout digest to f43a0e5 2023-08-30 09:50:24 +02:00
taskain7andArnold Gálovics c9e9a5f546 [FINERACT-1965] Dateformat validation error message with the original dateformat 2023-08-30 09:50:03 +02:00
Ruchi DhamankarandAdam Saghy e7013309ca FINERACT-1958-Overlapping-installment-payment-allocation 2023-08-29 14:08:08 +02:00
Adam SaghyandArnold Gálovics 001ad2fa1f FINERACT-1839: Fix N+1 installment due date 2023-08-29 14:05:13 +02:00
jmartaandAdam Saghy f1e70111b4 FINERACT-1910 Support Pagination, sorting and filtering for Datatable 2023-08-28 16:58:06 +02:00
taskain7 498e81a734 [FINERACT-1958] Charge cannot be added to down payment installment 2023-08-28 14:00:46 +02:00
Adam Saghyandtaskain7 0c3863471b FINERACT-1839: Fix N+1 installment due date 2023-08-28 11:20:00 +02:00
Víctor RomeroandGitHub 33ff4f5492 Publish library projects required for plugins (#3403) 2023-08-26 23:20:14 -06:00
Arnold GalovicsandArnold Gálovics b6b33fd67b FINERACT-1724: Added CORS support for Actuator endpoints 2023-08-25 13:27:34 +02:00
jmartaandAdam Saghy e20e715488 FINERACT-1943 Transaction and datatable GET queries 2023-08-25 10:56:16 +02:00
jmartaandAdam Saghy ee31ff0ed8 FINERACT-1911: Alter datatable - column update, delete fix 2023-08-25 10:56:09 +02:00
Adam SaghyandArnold Gálovics 2f4705952b FINERACT-1968: Advance payment allocation - ASCII doc 2023-08-23 12:54:59 +02:00
abraham.menyhartandArnold Gálovics 3210a09375 FINERACT-1724: Fix batch api response code 2023-08-23 12:33:02 +02:00
taskain7 3885104767 [FINERACT-1958] Repayment schedule recalculation fix for multidisburse down payment 2023-08-23 10:36:55 +02:00
Ruchi DhamankarandArnold Gálovics bfa6a6605b FINERACT-1958-loan-downpayment-transaction-permission-enum-values 2023-08-23 10:13:00 +02:00
Adam Saghy 2ccf7bd727 FINERACT-1926: Add index 2023-08-22 15:48:28 +02:00
Adam Saghy 128d45889b FINERACT-1926: Add constraints 2023-08-22 15:22:41 +02:00
Ruchi DhamankarandAdam Saghy 3c6fc1e47b FINERACT-1958-Loan-Product-repayment-start-date-configuration 2023-08-22 12:28:36 +02:00
taskain7andAdam Saghy b1cde8a809 [FINERACT-1958] Repayment schedule for down payment 2023-08-22 11:06:43 +02:00
Peter BagrijandAdam Saghy d481ba61de FINERACT-1724
- GPG Service initialization is moved to step7 of the release script. This should reduce the build time and removes noise during normal (non release) builds.
2023-08-22 10:50:54 +02:00
Mend RenovateandArnold Gálovics 91751ebf4d Update actions/setup-node digest to 5e21ff4 2023-08-21 17:13:58 +02:00
Peter BagrijandAdam Saghy 42a4485aeb FINERACT-1724 Fixing enum formatting 2023-08-18 18:30:40 +02:00
Peter BagrijandAdam Saghy 0802860835 FINERACT-1968
- API - Advanced payment allocation strategy configuration on Loan product
2023-08-18 17:34:19 +02:00
abraham.menyhartandAdam Saghy 03c1379205 FINERACT-1724: Fix all typos in transaction summary report with owner 2023-08-18 17:34:07 +02:00
jmartaandAdam Saghy c7300fd526 FINERACT-1911: Support timestamp type 2023-08-18 16:50:31 +02:00
Ruchi DhamankarandAdam Saghy a4f9b167f2 FINERACT-1958-Down-Payment-transaction-type 2023-08-18 15:09:33 +02:00
taskain7 baa447196e [FINERACT-1958] Repayment schedule for down payment 2023-08-18 14:51:54 +02:00
jmartaandAdam Saghy b616a96fc9 FINERACT-1911: Assign Data Table to Transaction - general 2023-08-17 09:25:51 +02:00
Adam SaghyandArnold Gálovics 2275f9c301 FINERACT-1926: Enrich with external owner Loan transaction adjust business event 2023-08-17 08:41:45 +02:00
Janos HaberandAdam Saghy 3a31ee9600 FINERACT-1724: Add indexes to assets and jobs
- [x] Add `loan_id` as indexed field on the `m_external_asset_owner_transfer`
- [x] Add `job_execution_id` as indexed field on the `batch_job_execution_params` table
2023-08-15 14:17:00 +02:00
dependabot[bot]andArnold Gálovics 5679723187 Bump actions/setup-node from 3.7.0 to 3.8.0
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3.7.0 to 3.8.0.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/e33196f7422957bea03ed53f6fbb155025ffc7b8...bea5baf987ba7aa777a8a0b4ace377a21c45c381)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-15 08:51:20 +02:00
Ruchi DhamankarandArnold Gálovics ef2c446761 FINERACT-1958-Autopayment-downpayment 2023-08-15 08:33:12 +02:00
abraham.menyhartandArnold Gálovics 7c0c525cd5 FINERACT-1724: Wrong status (error) code retrieved when invalid request was provided to Batch API 2023-08-15 08:32:24 +02:00
Peter BagrijandArnold Gálovics a45ff9a3e0 FINERACT-1724
- fixes the JPA exception which is raised when a message was redelivered and earlier all the loans got closed for that given partition.
2023-08-15 08:30:49 +02:00
Mend RenovateandArnold Gálovics f12430752f Update dependency ubuntu to v22 2023-08-14 10:13:56 +02:00
Janos HaberandAdam Saghy 07122fd10a FINERACT-1968: Advanced repayment allocation strategy - data model
- [x] m_loan_product_payment_allocation_rule table created
- [x] m_loan_payment_allocation_rule table created
- [x] LoanProductPaymentAllocationRule entity
- [x] LoanPaymentAllocationRule entity
- [x] List of enum converter to String converter to use `AllocationType` list
2023-08-11 14:58:56 +02:00
2624 changed files with 146790 additions and 28735 deletions
+10 -6
View File
@@ -7,24 +7,28 @@ permissions:
jobs:
build:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
env:
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GE_ACCESS_TOKEN }}
steps:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # tag=v3
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
with:
fetch-depth: 0
- name: Set up JDK 17
uses: actions/setup-java@cd89f46ac9d01407894225f350157564c9c7cee2 # v3
uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 # v4
with:
java-version: '17'
distribution: 'zulu'
cache: gradle
- name: Build the image
run: ./gradlew :fineract-provider:clean :fineract-provider:jibDockerBuild -x test
run: ./gradlew --no-daemon --console=plain :fineract-provider:clean :fineract-provider:build :fineract-provider:jibDockerBuild -x test -x cucumber
- name: Start the stack
run: docker-compose up -d
run: docker compose up -d
- name: Wait for stack to come up
run: sleep 300
run: sleep 500
- name: Check the stack
run: docker ps
- name: Check health
run: curl -f -k --retry 10 --retry-connrefused --connect-timeout 30 --retry-delay 30 https://localhost:8443/fineract-provider/actuator/health
- name: Check info
+10 -6
View File
@@ -7,24 +7,28 @@ permissions:
jobs:
build:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
env:
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GE_ACCESS_TOKEN }}
steps:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # tag=v3
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
with:
fetch-depth: 0
- name: Set up JDK 17
uses: actions/setup-java@cd89f46ac9d01407894225f350157564c9c7cee2 # v3
uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 # v4
with:
java-version: '17'
distribution: 'zulu'
cache: gradle
- name: Build the image
run: ./gradlew --no-daemon --console=plain :fineract-provider:clean :fineract-provider:jibDockerBuild -x test
run: ./gradlew --no-daemon --console=plain :fineract-provider:clean :fineract-provider:build :fineract-provider:jibDockerBuild -x test -x cucumber
- name: Start the Standalone Stack
run: docker-compose -f docker-compose-postgresql.yml up -d
run: docker compose -f docker-compose-postgresql.yml up -d
- name: Wait for stack to come up
run: sleep 300
run: sleep 500
- name: Check the stack
run: docker ps
- name: Check health
run: curl -f -k --retry 10 --retry-connrefused --connect-timeout 30 --retry-delay 30 https://localhost:8443/fineract-provider/actuator/health
- name: Check info
+7 -5
View File
@@ -6,25 +6,27 @@ permissions:
jobs:
build:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
env:
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GE_ACCESS_TOKEN }}
steps:
- name: Checkout
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # tag=v3
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
with:
fetch-depth: 0
- name: Set up JDK 17
uses: actions/setup-java@cd89f46ac9d01407894225f350157564c9c7cee2 # v3
uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 # v4
with:
java-version: '17'
distribution: 'zulu'
cache: gradle
- uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # tag=v3
- uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4
with:
node-version: 16
- name: Congfigure vega-cli
run: npm i -g vega-cli --unsafe
- name: Validate Gradle wrapper
uses: gradle/wrapper-validation-action@56b90f209b02bf6d1deae490e9ef18b21a389cd4
uses: gradle/wrapper-validation-action@88425854a36845f9c881450d9660b5fd46bee142
- name: Install additional software
run: |
sudo apt-get update
+14 -11
View File
@@ -6,11 +6,11 @@ permissions:
jobs:
build:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
services:
mariad:
image: mariadb:11.0
image: mariadb:11.2
ports:
- 3306:3306
env:
@@ -18,7 +18,7 @@ jobs:
options: --health-cmd="healthcheck.sh --su-mysql --connect --innodb_initialized" --health-interval=5s --health-timeout=2s --health-retries=3
mock-oauth2-server:
image: ghcr.io/navikt/mock-oauth2-server:1.0.0
image: ghcr.io/navikt/mock-oauth2-server:2.1.1
ports:
- 9000:9000
env:
@@ -30,20 +30,22 @@ jobs:
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GE_ACCESS_TOKEN }}
steps:
- name: Checkout
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # tag=v3
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
with:
fetch-depth: 0
- name: Set up JDK 17
uses: actions/setup-java@cd89f46ac9d01407894225f350157564c9c7cee2 # v3
uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 # v4
with:
java-version: '17'
distribution: 'zulu'
cache: gradle
- uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # tag=v3
- uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4
with:
node-version: 16
- name: Congfigure vega-cli
run: npm i -g vega-cli --unsafe
- name: Validate Gradle wrapper
uses: gradle/wrapper-validation-action@56b90f209b02bf6d1deae490e9ef18b21a389cd4
uses: gradle/wrapper-validation-action@88425854a36845f9c881450d9660b5fd46bee142
- name: Verify MariaDB connection
run: |
while ! mysqladmin ping -h"127.0.0.1" -P3306 ; do
@@ -79,24 +81,25 @@ jobs:
FINERACT_REPORT_EXPORT_S3_BUCKET_NAME: fineract-reports
run: |
./gradlew --no-daemon --console=plain build -x cucumber -x test -x doc
./gradlew --no-daemon --console=plain cucumber
./gradlew --no-daemon --console=plain test -x :twofactor-tests:test -x :oauth2-test:test
./gradlew --no-daemon --console=plain cucumber -x :fineract-e2e-tests-runner:cucumber
./gradlew --no-daemon --console=plain test -x :twofactor-tests:test -x :oauth2-test:test -x :fineract-e2e-tests-runner:test
./gradlew --no-daemon --console=plain :twofactor-tests:test
./gradlew --no-daemon --console=plain :oauth2-tests:test
- name: Archive test results
if: always()
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # tag=v3
uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4
with:
name: test-results
path: |
build/reports/
integration-tests/build/reports/
twofactor-tests/build/reports/
oauth2-tests/build/reports/
- name: Archive server logs
if: always()
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # tag=v3
uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4
with:
name: server-logs
path: |
+14 -11
View File
@@ -6,11 +6,11 @@ permissions:
jobs:
build:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
services:
mariad:
image: mysql:8.0
image: mysql:8.3
ports:
- 3306:3306
env:
@@ -18,7 +18,7 @@ jobs:
options: --health-cmd="mysqladmin ping" --health-interval=5s --health-timeout=2s --health-retries=3
mock-oauth2-server:
image: ghcr.io/navikt/mock-oauth2-server:1.0.0
image: ghcr.io/navikt/mock-oauth2-server:2.1.1
ports:
- 9000:9000
env:
@@ -30,20 +30,22 @@ jobs:
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GE_ACCESS_TOKEN }}
steps:
- name: Checkout
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # tag=v3
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
with:
fetch-depth: 0
- name: Set up JDK 17
uses: actions/setup-java@cd89f46ac9d01407894225f350157564c9c7cee2 # v3
uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 # v4
with:
java-version: '17'
distribution: 'zulu'
cache: gradle
- uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # tag=v3
- uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4
with:
node-version: 16
- name: Congfigure vega-cli
run: npm i -g vega-cli --unsafe
- name: Validate Gradle wrapper
uses: gradle/wrapper-validation-action@56b90f209b02bf6d1deae490e9ef18b21a389cd4
uses: gradle/wrapper-validation-action@88425854a36845f9c881450d9660b5fd46bee142
- name: Verify MariaDB connection
run: |
while ! mysqladmin ping -h"127.0.0.1" -P3306 ; do
@@ -79,24 +81,25 @@ jobs:
FINERACT_REPORT_EXPORT_S3_BUCKET_NAME: fineract-reports
run: |
./gradlew --no-daemon --console=plain build -x cucumber -x test -x doc
./gradlew --no-daemon --console=plain cucumber
./gradlew --no-daemon --console=plain test -x :twofactor-tests:test -x :oauth2-test:test -PdbType=mysql
./gradlew --no-daemon --console=plain cucumber -x :fineract-e2e-tests-runner:cucumber
./gradlew --no-daemon --console=plain test -x :twofactor-tests:test -x :oauth2-test:test :fineract-e2e-tests-runner:test -PdbType=mysql
./gradlew --no-daemon --console=plain :twofactor-tests:test -PdbType=mysql
./gradlew --no-daemon --console=plain :oauth2-tests:test -PdbType=mysql
- name: Archive test results
if: always()
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # tag=v3
uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4
with:
name: test-results
path: |
build/reports/
integration-tests/build/reports/
twofactor-tests/build/reports/
oauth2-tests/build/reports/
- name: Archive server logs
if: always()
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # tag=v3
uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4
with:
name: server-logs
path: |
+14 -11
View File
@@ -6,11 +6,11 @@ permissions:
jobs:
build:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
services:
postgresql:
image: postgres:15.3
image: postgres:16.1
ports:
- 5432:5432
env:
@@ -19,7 +19,7 @@ jobs:
options: --health-cmd="pg_isready -q -d postgres -U root" --health-interval=5s --health-timeout=2s --health-retries=3
mock-oauth2-server:
image: ghcr.io/navikt/mock-oauth2-server:1.0.0
image: ghcr.io/navikt/mock-oauth2-server:2.1.1
ports:
- 9000:9000
env:
@@ -31,20 +31,22 @@ jobs:
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GE_ACCESS_TOKEN }}
steps:
- name: Checkout
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # tag=v3
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
with:
fetch-depth: 0
- name: Set up JDK 17
uses: actions/setup-java@cd89f46ac9d01407894225f350157564c9c7cee2 # v3
uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 # v4
with:
java-version: '17'
distribution: 'zulu'
cache: gradle
- uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # tag=v3
- uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4
with:
node-version: 16
- name: Congfigure vega-cli
run: npm i -g vega-cli --unsafe
- name: Validate Gradle wrapper
uses: gradle/wrapper-validation-action@56b90f209b02bf6d1deae490e9ef18b21a389cd4
uses: gradle/wrapper-validation-action@88425854a36845f9c881450d9660b5fd46bee142
- name: Verify PostgreSQL connection
run: |
while ! pg_isready -d postgres -U root -h 127.0.0.1 -p 5432 ; do
@@ -80,24 +82,25 @@ jobs:
FINERACT_REPORT_EXPORT_S3_BUCKET_NAME: fineract-reports
run: |
./gradlew --no-daemon --console=plain build -x cucumber -x test -x doc
./gradlew --no-daemon --console=plain cucumber
./gradlew --no-daemon --console=plain test -x :twofactor-tests:test -x :oauth2-test:test -PdbType=postgresql
./gradlew --no-daemon --console=plain cucumber -x :fineract-e2e-tests-runner:cucumber
./gradlew --no-daemon --console=plain test -x :twofactor-tests:test -x :oauth2-test:test :fineract-e2e-tests-runner:test -PdbType=postgresql
./gradlew --no-daemon --console=plain :twofactor-tests:test -PdbType=postgresql
./gradlew --no-daemon --console=plain :oauth2-tests:test -PdbType=postgresql
- name: Archive test results
if: always()
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # tag=v3
uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4
with:
name: test-results
path: |
build/reports/
integration-tests/build/reports/
twofactor-tests/build/reports/
oauth2-tests/build/reports/
- name: Archive server logs
if: always()
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # tag=v3
uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4
with:
name: server-logs
path: |
+42
View File
@@ -0,0 +1,42 @@
name: Fineract Tests
on: [push, pull_request]
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-22.04
env:
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GE_ACCESS_TOKEN }}
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
with:
fetch-depth: 0
- name: Set up JDK 17
uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 # v4
with:
java-version: '17'
distribution: 'zulu'
cache: gradle
- name: Build the image
run: ./gradlew --no-daemon --console=plain :fineract-provider:clean :fineract-provider:build :fineract-provider:jibDockerBuild -x test -x cucumber
- name: Start the Fineract stack
run: docker compose -f docker-compose-postgresql.yml up -d
- name: Wait for stack to come up
run: sleep 400
- name: Check the stack
run: docker ps
- name: Check health Manager
run: curl -f -k --retry 10 --retry-connrefused --connect-timeout 30 --retry-delay 30 https://localhost:8443/fineract-provider/actuator/health
- name: Execute tests
env:
BASE_URL: https://localhost:8443
TEST_USERNAME: mifos
TEST_PASSWORD: password
TEST_TENANT_ID: default
INITIALIZATION_ENABLED: true
EVENT_VERIFICATION_ENABLED: false
run: ./gradlew --no-daemon --console=plain fineract-e2e-tests-runner:cucumber --tags 'not @Skip' allureReport
+36
View File
@@ -0,0 +1,36 @@
name: Fineract Publish to DockerHub
on:
push:
branches:
- develop
tags:
- 1.*
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-22.04
env:
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GE_ACCESS_TOKEN }}
steps:
- name: Checkout Source Code
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
with:
fetch-depth: 0
- name: Set up JDK 17
uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 # v4
with:
java-version: '17'
distribution: 'zulu'
cache: gradle
- name: Extract branch name
shell: bash
run: echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_OUTPUT
id: extract_branch
- name: Build the Apache Fineract image
run: |
./gradlew --no-daemon --console=plain :fineract-provider:jib -x test -x cucumber -Djib.to.auth.username=${{secrets.DOCKERHUB_USER}} -Djib.to.auth.password=${{secrets.DOCKERHUB_TOKEN}} -Djib.from.platforms=linux/amd64,linux/arm64 -Djib.to.image=apache/fineract -Djib.to.tags=${{ steps.extract_branch.outputs.branch }}
+10 -6
View File
@@ -7,24 +7,28 @@ permissions:
jobs:
build:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
env:
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GE_ACCESS_TOKEN }}
steps:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # tag=v3
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
with:
fetch-depth: 0
- name: Set up JDK 17
uses: actions/setup-java@cd89f46ac9d01407894225f350157564c9c7cee2 # v3
uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 # v4
with:
java-version: '17'
distribution: 'zulu'
cache: gradle
- name: Build the image
run: ./gradlew --no-daemon --console=plain :fineract-provider:clean :fineract-provider:jibDockerBuild -x test
run: ./gradlew --no-daemon --console=plain :fineract-provider:clean :fineract-provider:build :fineract-provider:jibDockerBuild -x test -x cucumber
- name: Start the ActiveMQ Stack
run: docker-compose -f docker-compose-postgresql-activemq.yml up --scale fineract-worker=1 -d
run: docker compose -f docker-compose-postgresql-activemq.yml up --scale fineract-worker=1 -d
- name: Wait for stack to come up
run: sleep 500
- name: Check the stack
run: docker ps
- name: Check health Manager
run: curl -f -k --retry 10 --retry-connrefused --connect-timeout 30 --retry-delay 30 https://localhost:8443/fineract-provider/actuator/health
- name: Check health Worker1
@@ -34,4 +38,4 @@ jobs:
- name: Check info Worker1
run: (( $(curl -f -k --retry 5 --retry-connrefused --connect-timeout 30 --retry-delay 30 https://localhost:8444/fineract-provider/actuator/info | wc --chars) > 100 ))
- name: Run Smoke Test with Remote COB
run: ./gradlew --no-daemon --console=plain :integration-tests:cleanTest :integration-tests:test --tests "org.apache.fineract.integrationtests.investor.externalassetowner.InitiateExternalAssetOwnerTransferTest" -PcargoDisabled
run: ./gradlew --no-daemon --console=plain :integration-tests:cleanTest :integration-tests:test --tests "org.apache.fineract.integrationtests.investor.externalassetowner.InitiateExternalAssetOwnerTransferTest.saleActiveLoanToExternalAssetOwnerAndBuybackADayLater" -PcargoDisabled
+10 -6
View File
@@ -7,24 +7,28 @@ permissions:
jobs:
build:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
env:
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GE_ACCESS_TOKEN }}
steps:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # tag=v3
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
with:
fetch-depth: 0
- name: Set up JDK 17
uses: actions/setup-java@cd89f46ac9d01407894225f350157564c9c7cee2 # v3
uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 # v4
with:
java-version: '17'
distribution: 'zulu'
cache: gradle
- name: Build the image
run: ./gradlew --no-daemon --console=plain :fineract-provider:clean :fineract-provider:jibDockerBuild -x test
run: ./gradlew --no-daemon --console=plain :fineract-provider:clean :fineract-provider:build :fineract-provider:jibDockerBuild -x test -x cucumber
- name: Start the Kafka Stack
run: docker-compose -f docker-compose-postgresql-kafka.yml up --scale fineract-worker=1 -d
run: docker compose -f docker-compose-postgresql-kafka.yml up --scale fineract-worker=1 -d
- name: Wait for stack to come up
run: sleep 500
- name: Check the stack
run: docker ps
- name: Check health Manager
run: curl -f -k --retry 10 --retry-connrefused --connect-timeout 30 --retry-delay 30 https://localhost:8443/fineract-provider/actuator/health
- name: Check health Worker1
@@ -34,4 +38,4 @@ jobs:
- name: Check info Worker1
run: (( $(curl -f -k --retry 5 --retry-connrefused --connect-timeout 30 --retry-delay 30 https://localhost:8444/fineract-provider/actuator/info | wc --chars) > 100 ))
- name: Run Smoke Test with Remote COB
run: ./gradlew --no-daemon --console=plain :integration-tests:cleanTest :integration-tests:test --tests "org.apache.fineract.integrationtests.investor.externalassetowner.InitiateExternalAssetOwnerTransferTest" -PcargoDisabled
run: ./gradlew --no-daemon --console=plain :integration-tests:cleanTest :integration-tests:test --tests "org.apache.fineract.integrationtests.investor.externalassetowner.InitiateExternalAssetOwnerTransferTest.saleActiveLoanToExternalAssetOwnerAndBuybackADayLater" -PcargoDisabled
+6 -4
View File
@@ -9,7 +9,7 @@ permissions:
jobs:
build:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
env:
TZ: Asia/Kolkata
SONAR_ORGANIZATION: ${{ secrets.SONAR_ORGANIZATION }}
@@ -20,14 +20,16 @@ jobs:
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GE_ACCESS_TOKEN }}
steps:
- name: Checkout
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # tag=v3
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
with:
fetch-depth: 0
- name: Set up JDK 17
uses: actions/setup-java@cd89f46ac9d01407894225f350157564c9c7cee2 # v3
uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 # v4
with:
java-version: '17'
distribution: 'zulu'
cache: gradle
- name: Validate Gradle wrapper
uses: gradle/wrapper-validation-action@56b90f209b02bf6d1deae490e9ef18b21a389cd4
uses: gradle/wrapper-validation-action@88425854a36845f9c881450d9660b5fd46bee142
- name: Sonarqube
run: ./gradlew --no-daemon --console=plain -Dsonar.verbose=true -Dsonar.login=$SONAR_TOKEN -Dsonar.host.url=$SONAR_HOST_URL -Dsonar.organization=$SONAR_ORGANIZATION -Dsonar.projectKey=$SONAR_PROJECT_KEY --info --stacktrace sonarqube
+1 -1
View File
@@ -15,7 +15,7 @@ jobs:
pull-requests: write # for actions/stale to close stale PRs
runs-on: ubuntu-latest
steps:
- uses: actions/stale@1160a2240286f5da8ec72b1c0816ce2481aabf84 # v8
- uses: actions/stale@28ca1036281a5e5922ead5184a1bbf96e5fc984e # v9
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
# stale-issue-message: 'Stale issue message'
+4 -4
View File
@@ -25,8 +25,8 @@ licenses
**/.asciidoctor/images/*
**/.asciidoctor/diagram/*
**/images/diag-*.svg
fineract-avro-schemas/out/
fineract-client/out/
fineract-provider/src/main/generated/
integration-tests/out/
module/dummy/starter/out/
**/out/
gradleExp/
+64
View File
@@ -0,0 +1,64 @@
{
"jfrConfig": {
"settings": "profile"
},
"asyncProfilerConfig": {
"jfrsync": true,
"alloc": true,
"event": "wall",
"misc": ""
},
"file": "$PROJECT_DIR/profile.jfr",
"conversionConfig": {
"nonProjectPackagePrefixes": [
"java.",
"javax.",
"kotlin.",
"jdk.",
"com.google.",
"org.apache.",
"org.spring.",
"sun.",
"scala."
],
"enableMarkers": true,
"initialVisibleThreads": 10,
"initialSelectedThreads": 10,
"includeGCThreads": false,
"includeInitialSystemProperty": false,
"includeInitialEnvironmentVariables": false,
"includeSystemProcesses": false,
"ignoredEvents": [
"jdk.ActiveSetting",
"jdk.ActiveRecording",
"jdk.BooleanFlag",
"jdk.IntFlag",
"jdk.DoubleFlag",
"jdk.LongFlag",
"jdk.NativeLibrary",
"jdk.StringFlag",
"jdk.UnsignedIntFlag",
"jdk.UnsignedLongFlag",
"jdk.InitialSystemProperty",
"jdk.InitialEnvironmentVariable",
"jdk.SystemProcess",
"jdk.ModuleExport",
"jdk.ModuleRequire"
],
"minRequiredItemsPerThread": 3
},
"additionalGradleTargets": [
{
"targetPrefix": "quarkus",
"optionForVmArgs": "-Djvm.args",
"description": "Example quarkus config, adding profiling arguments via -Djvm.args option to the Gradle task run"
}
],
"additionalMavenTargets": [
{
"targetPrefix": "quarkus:",
"optionForVmArgs": "-Djvm.args",
"description": "Example quarkus config, adding profiling arguments via -Djvm.args option to the Maven goal run"
}
]
}
+26 -14
View File
@@ -1,6 +1,6 @@
Apache Fineract: A Platform for Microfinance
============
[![Swagger Validation](https://validator.swagger.io/validator?url=https://demo.fineract.dev/fineract-provider/swagger-ui/fineract.yaml)](https://validator.swagger.io/validator/debug?url=https://demo.fineract.dev/fineract-provider/swagger-ui/fineract.yaml) [![build](https://github.com/apache/fineract/actions/workflows/build.yml/badge.svg)](https://github.com/apache/fineract/actions/workflows/build.yml) [![Docker Hub](https://img.shields.io/docker/pulls/apache/fineract.svg?logo=Docker)](https://hub.docker.com/r/apache/fineract) [![Docker Build](https://img.shields.io/docker/cloud/build/apache/fineract.svg?logo=Docker)](https://hub.docker.com/r/apache/fineract/builds) [![Technical Debt](https://sonarcloud.io/api/project_badges/measure?project=apache_fineract&metric=sqale_index)](https://sonarcloud.io/summary/new_code?id=apache_fineract)
[![Swagger Validation](https://validator.swagger.io/validator?url=https://sandbox.mifos.community/fineract-provider/swagger-ui/fineract.yaml)](https://validator.swagger.io/validator/debug?url=https://sandbox.mifos.community/fineract-provider/swagger-ui/fineract.yaml) [![build](https://github.com/apache/fineract/actions/workflows/build.yml/badge.svg)](https://github.com/apache/fineract/actions/workflows/build.yml) [![Docker Hub](https://img.shields.io/docker/pulls/apache/fineract.svg?logo=Docker)](https://hub.docker.com/r/apache/fineract) [![Docker Build](https://img.shields.io/docker/cloud/build/apache/fineract.svg?logo=Docker)](https://hub.docker.com/r/apache/fineract/builds) [![Technical Debt](https://sonarcloud.io/api/project_badges/measure?project=apache_fineract&metric=sqale_index)](https://sonarcloud.io/summary/new_code?id=apache_fineract)
</b>
@@ -22,15 +22,15 @@ If you are interested in contributing to this project, but perhaps don't quite k
REQUIREMENTS
============
* `Java >= 17` (Azul Zulu JVM is tested by our CI on GitHub Actions)
* MariaDB `10.9`
* MariaDB `11.2`
You can run the required version of the database server in a container, instead of having to install it, like this:
docker run --name mariadb-10.9 -p 3306:3306 -e MARIADB_ROOT_PASSWORD=mysql -d mariadb:10.9
docker run --name mariadb-11.2 -p 3306:3306 -e MARIADB_ROOT_PASSWORD=mysql -d mariadb:11.2
and stop and destroy it like this:
docker rm -f mariadb-10.9
docker rm -f mariadb-11.2
<br>Beware that this database container database keeps its state inside the container and not on the host filesystem. It is lost when you destroy (rm) this container. This is typically fine for development. See [Caveats: Where to Store Data on the database container documentation](https://hub.docker.com/_/mariadb) re. how to make it persistent instead of ephemeral.<br>
@@ -75,7 +75,7 @@ Run the following commands:
============
1. Clone the repository or download and extract the archive file to your local directory.
2. Run `./gradlew clean bootJar` to build a modern cloud native fully self contained JAR file which will be created at `fineract-provider/build/libs` directory.
3. As we are not allowed to include a JDBC driver in the built JAR, download a JDBC driver of your choice. For example: `wget https://downloads.mariadb.com/Connectors/java/connector-java-2.7.5/mariadb-java-client-2.7.5.jar`
3. As we are not allowed to include a JDBC driver in the built JAR, download a JDBC driver of your choice. For example: `wget https://downloads.mariadb.com/Connectors/java/connector-java-3.3.2/mariadb-java-client-3.3.2.jar`
4. Start the jar and pass the directory where you have downloaded the JDBC driver as loader.path, for example: `java -Dloader.path=. -jar fineract-provider/build/libs/fineract-provider.jar` (does not require external Tomcat)
NOTE: we cannot upgrade to version 3.0.x of the MariaDB driver just yet; have to wait until 3.0.4 is out for a bug fix.
@@ -191,7 +191,8 @@ Now to run a new Fineract instance you can simply:
1. `git clone https://github.com/apache/fineract.git ; cd fineract`
1. for windows, use `git clone https://github.com/apache/fineract.git --config core.autocrlf=input ; cd fineract`
1. `./gradlew :fineract-provider:jibDockerBuild -x test`
1. `docker-compose up -d`
1. install the Loki log driver with `docker plugin install grafana/loki-docker-driver:latest --alias loki --grant-all-permissions`
1. `docker compose -f docker-compose-development.yml up -d`
1. fineract (back-end) is running at https://localhost:8443/fineract-provider/
1. wait for https://localhost:8443/fineract-provider/actuator/health to return `{"status":"UP"}`
1. you must go to https://localhost:8443 and remember to accept the self-signed SSL certificate of the API once in your browser, otherwise you get a message that is rather misleading from the UI.
@@ -206,6 +207,16 @@ _(Note that in previous versions, the `mysqlserver` environment variable used at
`docker run` time did something similar; this has changed in [FINERACT-773](https://issues.apache.org/jira/browse/FINERACT-773)),
and the `mysqlserver` environment variable is now no longer supported.)_
The logfiles and the Java Flight Recorder output are available in `PROJECT_ROOT/build/fineract/logs`. If you use IntelliJ then you can double-click on the `.jfr` file and open it with the IDE. You can also download Azul Mission Control from here https://www.azul.com/products/components/azul-mission-control/ to analyze the Java Flight Recorder file.
NOTE: If you have issues with the file permissions and Docker Compose then you might need to change the variable values for `FINERACT_USER` and `FINERACT_GROUP` in `PROJECT_ROOT/config/docker/env/fineract-common.env`. You can find out what values you need to put there with the following commands:
```
id -u ${USER}
id -u ${GROUP}
```
Please make sure that you are not checking in your changed values. The defaults should normally work for most people.
Connection pool configuration
=============================
@@ -217,7 +228,7 @@ NOTE: we'll keep backwards compatibility until one of the next releases to ensur
<br>SSL CONFIGURATION
=================
Read also [the HTTPS related doc](fineract-doc/src/docs/en/deployment.adoc#https).
Read also [the HTTPS related doc](fineract-doc/src/docs/en/chapters/deployment/https.adoc).
By default SSL is enabled, but all SSL related properties are now tunable. SSL can be turned off by setting the environment variable `FINERACT_SERVER_SSL_ENABLED` to false. If you do that then please make sure to also change the server port to `8080` via the variable `FINERACT_SERVER_PORT`, just for the sake of keeping the conventions.
You can choose now easily a different SSL keystore by setting `FINERACT_SERVER_SSL_KEY_STORE` with a path to a different (not embedded) keystore. The password can be set via `FINERACT_SERVER_SSL_KEY_STORE_PASSWORD`. See the `application.properties` file and the latest Spring Boot documentation (https://docs.spring.io/spring-boot/docs/current/reference/html/application-properties.html) for more details.
@@ -376,7 +387,7 @@ The progress of this project can be viewed here: [View change log](https://githu
License
============
This project is licensed under Apache License Version 2.0. See <https://github.com/apache/incubator-fineract/blob/develop/LICENSE.md> for reference.
This project is licensed under Apache License Version 2.0. See <https://github.com/apache/fineract/blob/develop/APACHE_LICENSETEXT.md> for reference.
The Connector/J JDBC Driver client library from MariaDB.org, which is licensed under the LGPL,
is used in development when running integration tests that use the Liquibase library. That JDBC
@@ -391,11 +402,11 @@ complies with the [Apache Software Foundation third-party license policy](https:
<br><br>APACHE FINERACT PLATFORM API
============
The API for Fineract is documented in [apiLive.htm](fineract-provider/src/main/resources/static/api-docs/apiLive.htm), and the [apiLive.htm can be viewed on Fineract.dev](https://fineract.apache.org/legacy-docs/apiLive.htm "API Documentation"). If you have your own Fineract instance running, you can find this documentation under [/fineract-provider/api-docs/apiLive.htm](https://localhost:8443/fineract-provider/api-docs/apiLive.htm).
The API for Fineract is documented in [apiLive.htm](fineract-provider/src/main/resources/static/legacy-docs/apiLive.htm), and the [apiLive.htm can be viewed on fineract.apache.org](https://fineract.apache.org/docs/legacy/ "API Documentation"). If you have your own Fineract instance running, you can find this documentation under [/fineract-provider/legacy-docs/apiLive.htm](https://localhost:8443/fineract-provider/legacy-docs/apiLive.htm).
The Swagger documentation (work in progress; see [FINERACT-733](https://issues.apache.org/jira/browse/FINERACT-733)) can be accessed under [/fineract-provider/swagger-ui/index.html](https://localhost:8443/fineract-provider/swagger-ui/index.html) and [live Swagger UI here on Fineract.dev](https://demo.fineract.dev/fineract-provider/swagger-ui/index.html).
The Swagger documentation (work in progress; see [FINERACT-733](https://issues.apache.org/jira/browse/FINERACT-733)) can be accessed under [/fineract-provider/swagger-ui/index.html](https://localhost:8443/fineract-provider/swagger-ui/index.html) and [live Swagger UI here on Fineract.dev](https://sandbox.mifos.community/fineract-provider/swagger-ui/index.html).
Apache Fineract supports client code generation using [Swagger Codegen](https://github.com/swagger-api/swagger-codegen) based on the [OpenAPI Specification](https://swagger.io/specification/). For more instructions on how to generate the client code, check [docs/developers/swagger/client.md](docs/developers/swagger/client.md).
Apache Fineract supports client code generation using [Swagger Codegen](https://github.com/swagger-api/swagger-codegen) based on the [OpenAPI Specification](https://swagger.io/specification/). For more instructions on how to generate the client code, check [fineract-doc/src/docs/en/chapters/sdk/client.adoc](fineract-doc/src/docs/en/chapters/sdk/client.adoc).
<br>API CLIENTS (Web UIs, Mobile, etc.)
@@ -410,7 +421,7 @@ Apache Fineract supports client code generation using [Swagger Codegen](https://
<br>ONLINE DEMOS
============
* [fineract.dev](https://www.fineract.dev) always runs the latest version of this code
* [sandbox.mifos.community](https://sandbox.mifos.community) always runs the latest version of this code
* [demo.mifos.io](https://demo.mifos.io) A demo account is provided for users to experience the functionality of the Community App. Users can use "mifos" for USERNAME and "password" for PASSWORD (without quotation marks).
* [Swagger-UI Demo video](https://www.youtube.com/watch?v=FlVd-0YAo6c) This is a demo video for Swagger-UI documentation, more information [here](https://github.com/apache/fineract#swagger-ui-documentation).
@@ -435,7 +446,7 @@ Apache Fineract / Mifos X Demo (November 2016) - <https://www.youtube.com/watch?
============
We use Swagger-UI to generate and maintain our API documentation, you can see the demo video [here](https://www.youtube.com/watch?v=FlVd-0YAo6c) or a live version
[here](https://demo.fineract.dev/fineract-provider/swagger-ui/index.html). If you interested to know more about Swagger-UI you can check their [website](https://swagger.io/).
[here](https://sandbox.mifos.community/fineract-provider/swagger-ui/index.html). If you interested to know more about Swagger-UI you can check their [website](https://swagger.io/).
<br>GORVENANCE AND POLICIES
=======================
@@ -466,7 +477,8 @@ documents the process through which you can become a committer in this project.
Pull Requests
-------------
We request that your commit message include a FINERACT JIRA issue, recommended to be put in parentheses at the end of the first line. Start with an upper case imperative verb (not past form), and a short but concise clear description. (E.g. _Add enforced HideUtilityClassConstructor checkstyle (FINERACT-821)_ or _Fix inability to reschedule when interest accrued larger than EMI (FINERACT-1109)_ etc.).
We request that your commit message include a FINERACT JIRA issue, and a one-liner that describe the changes.
Start with an upper case imperative verb (not past form), and a short but concise clear description. (E.g. "FINERACT-821: Add enforced HideUtilityClassConstructor checkstyle").
If your PR is failing to pass our CI build due to a test failure, then:
+97 -41
View File
@@ -1,4 +1,4 @@
/**
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
@@ -19,7 +19,7 @@
// TODO: this is work in progress, please follow FINERACT-1171
buildscript {
ext {
jacocoVersion = '0.8.10'
jacocoVersion = '0.8.11'
retrofitVersion = '2.9.0'
okhttpVersion = '4.9.3'
oltuVersion = '1.0.1'
@@ -28,23 +28,45 @@ buildscript {
[
'fineract-api',
'fineract-core',
'fineract-accounting',
'fineract-provider',
'fineract-branch',
'fineract-document',
'fineract-investor',
'fineract-charge',
'fineract-rates',
'fineract-tax',
'fineract-loan',
'fineract-savings',
'fineract-report',
'integration-tests',
'twofactor-tests',
'oauth2-tests',
'fineract-client',
'fineract-avro-schemas'
'fineract-avro-schemas',
'fineract-e2e-tests-core',
'fineract-e2e-tests-runner',
'fineract-progressive-loan'
].contains(it.name)
}
fineractPublishProjects = subprojects.findAll{
[
'fineract-avro-schemas',
'fineract-api',
'fineract-client',
'fineract-core',
'fineract-accounting',
'fineract-provider',
'fineract-investor',
'fineract-loan'
'fineract-charge',
'fineract-rates',
'fineract-tax',
'fineract-loan',
'fineract-savings',
'fineract-report',
'fineract-branch',
'fineract-document',
'fineract-progressive-loan'
].contains(it.name)
}
npmRepository = 'https://npm.pkg.github.com'
@@ -58,37 +80,39 @@ buildscript {
classpath 'org.eclipse.persistence:eclipselink:4.0.0'
classpath 'jakarta.ws.rs:jakarta.ws.rs-api:3.1.0'
classpath 'com.google.cloud.tools:jib-layer-filter-extension-gradle:0.3.0'
classpath 'org.apache.commons:commons-lang3:3.12.0'
classpath 'io.swagger.core.v3:swagger-jaxrs2-jakarta:2.2.11'
classpath 'org.apache.commons:commons-lang3:3.14.0'
classpath 'io.swagger.core.v3:swagger-jaxrs2-jakarta:2.2.22'
classpath 'jakarta.servlet:jakarta.servlet-api:6.0.0'
}
}
plugins {
id "org.barfuin.gradle.taskinfo" version "2.1.0"
id 'com.adarshr.test-logger' version '3.2.0'
id 'com.diffplug.spotless' version '6.19.0' apply false
id 'org.nosphere.apache.rat' version '0.8.0' apply false
id 'me.qoomon.git-versioning' version '6.4.3'
id "org.barfuin.gradle.taskinfo" version "2.2.0"
id 'com.adarshr.test-logger' version '4.0.0'
id 'com.diffplug.spotless' version '6.25.0' apply false
id 'org.nosphere.apache.rat' version '0.8.1' apply false
id 'com.github.hierynomus.license' version '0.16.1' apply false
id 'com.github.jk1.dependency-license-report' version '2.5' apply false
id 'org.zeroturnaround.gradle.jrebel' version '1.1.12' apply false
id 'org.springframework.boot' version '3.1.1' apply false
id 'org.zeroturnaround.gradle.jrebel' version '1.2.0' apply false
id 'org.springframework.boot' version '3.2.6' apply false
id 'net.ltgt.errorprone' version '3.1.0' apply false
id 'io.swagger.core.v3.swagger-gradle-plugin' version '2.2.11' apply false
id 'io.swagger.core.v3.swagger-gradle-plugin' version '2.2.19' apply false
id 'com.gorylenko.gradle-git-properties' version '2.4.1' apply false
id 'org.asciidoctor.jvm.convert' version '3.3.2' apply false
id 'org.asciidoctor.jvm.pdf' version '3.3.2' apply false
id 'org.asciidoctor.jvm.epub' version '3.3.2' apply false
id 'org.asciidoctor.jvm.revealjs' version '3.3.2' apply false
id 'org.asciidoctor.jvm.gems' version '3.3.2' apply false
// id 'org.asciidoctor.jvm.revealjs' version '3.3.2' apply false
// id 'org.asciidoctor.jvm.gems' version '3.3.2' apply false
id 'org.asciidoctor.kindlegen.base' version '3.2.0' apply false
id 'com.google.cloud.tools.jib' version '3.3.2' apply false
id 'fr.brouillard.oss.gradle.jgitver' version '0.10.0-rc03'
id 'org.sonarqube' version '4.2.1.3168'
id 'com.github.andygoossens.modernizer' version '1.8.0' apply false
id 'com.github.spotbugs' version '5.0.14' apply false
id 'com.google.cloud.tools.jib' version '3.4.2' apply false
id 'org.sonarqube' version '4.4.1.3373'
id 'com.github.andygoossens.modernizer' version '1.9.0' apply false
// TODO: upgrade to 6.0.4
id 'com.github.spotbugs' version '5.2.5' apply false
id 'se.thinkcode.cucumber-runner' version '0.0.11' apply false
id "com.github.davidmc24.gradle.plugin.avro-base" version "1.7.1" apply false
id "com.github.davidmc24.gradle.plugin.avro-base" version "1.9.1" apply false
id 'org.openapi.generator' version '7.2.0' apply false
}
apply from: "${rootDir}/buildSrc/src/main/groovy/org.apache.fineract.release.gradle"
@@ -97,17 +121,32 @@ description = '''\
Run as:
gradle clean bootRun'''
ext['groovy.version'] = '4.0.6'
version = '0.0.0-SNAPSHOT'
gitVersioning.apply {
refs {
considerTagsOnBranches = true
describeTagPattern = '.*(\\d+\\.\\d+\\.\\d+).*'
describeTagFirstParent = false
branch("release\\/\\d+\\.\\d+\\.\\d+") {
version = '${describe.tag.version.major}.${describe.tag.version.minor}.${describe.tag.version.patch}'
}
branch("maintenance\\/\\d+\\.\\d+") {
version = '${describe.tag.version.major}.${describe.tag.version.minor}.${describe.tag.version.patch}'
}
}
rev {
version = '${describe.tag.version.major}.${describe.tag.version.minor.next}.${describe.tag.version.patch}-SNAPSHOT'
}
}
ext['groovy.version'] = '4.0.17'
ext['swaggerFile'] = "$rootDir/fineract-provider/build/classes/java/main/static/fineract.json".toString()
allprojects {
group = 'org.apache.fineract'
jgitver {
strategy 'PATTERN'
versionPattern ( project.hasProperty('fineract.release.version') ? '${v}' : '${M}.${m}.${p}-${meta.GIT_SHA1_8}' )
}
repositories {
mavenCentral()
}
@@ -126,7 +165,7 @@ allprojects {
spotless {
format 'misc', {
target '**/*.md', '**/*.properties', '**/.gitignore', '**/.openapi-generator-ignore', '**/*.yml', '**/*.xml', '**/**.json', '**/*.sql'
targetExclude '**/build/**', '**/bin/**', '**/.settings/**', '**/.idea/**', '**/.gradle/**', '**/gradlew.bat', '**/licenses/**', '**/banner.txt', '.vscode/**'
targetExclude '**/build/**', '**/bin/**', '**/.settings/**', '**/.idea/**', '**/.gradle/**', '**/gradlew.bat', '**/licenses/**', '**/banner.txt', '.vscode/**', '.profileconfig.json'
indentWithSpaces(4)
endWithNewline()
trimTrailingWhitespace()
@@ -259,7 +298,8 @@ allprojects {
".mailmap",
'**/images/diag-*.svg',
'**/*.avsc',
"**/generated/**/*MapperImpl.java"
"**/generated/**/*MapperImpl.java",
'**/META-INF/fineract-test.config'
]
}
}
@@ -304,6 +344,15 @@ configure(project.fineractJavaProjects) {
sourceSets.main.output.resourcesDir = sourceSets.main.java.classesDirectory
sourceSets.test.output.resourcesDir = sourceSets.test.java.classesDirectory
configurations.named('spotbugs').configure {
resolutionStrategy.eachDependency {
if (it.requested.group == 'org.ow2.asm') {
it.useVersion '9.5'
it.because "Asm 9.5 is required for JDK 21 support"
}
}
}
configurations {
implementation.setCanBeResolved(true)
api.setCanBeResolved(true)
@@ -341,9 +390,9 @@ configure(project.fineractJavaProjects) {
// and during an IntelliJ recompilation, it fails
//"-Werror",
"-Xmaxwarns",
1500,
"1500",
"-Xmaxerrs",
1500
"1500"
]
// TODO FINERACT-959 (gradually) enable -Xlint:all (see "javac -help -X")
@@ -406,7 +455,7 @@ configure(project.fineractJavaProjects) {
// Configuration for the Checkstyle plugin
// https://docs.gradle.org/current/userguide/checkstyle_plugin.html
dependencies {
checkstyle 'com.puppycrawl.tools:checkstyle:10.12.1'
checkstyle 'com.puppycrawl.tools:checkstyle:10.14.2'
checkstyle 'com.github.sevntu-checkstyle:sevntu-checks:1.44.1'
}
@@ -428,7 +477,7 @@ configure(project.fineractJavaProjects) {
// Configuration for the errorprone plugin
// https://github.com/tbroyer/gradle-errorprone-plugin
dependencies {
errorprone "com.google.errorprone:error_prone_core:2.20.0"
errorprone "com.google.errorprone:error_prone_core:2.26.1"
}
tasks.withType(JavaCompile) {
@@ -554,6 +603,7 @@ configure(project.fineractJavaProjects) {
'org.mockito:mockito-junit-jupiter',
'org.junit.jupiter:junit-jupiter-api',
'org.junit.jupiter:junit-jupiter-engine',
'org.junit.jupiter:junit-jupiter-params',
'org.junit.platform:junit-platform-runner', // required to be able to run tests directly under Eclipse, see FINERACT-943 & FINERACT-1021
'org.bouncycastle:bcpkix-jdk15to18',
'org.bouncycastle:bcprov-jdk15to18',
@@ -582,7 +632,8 @@ configure(project.fineractJavaProjects) {
// To generate an HTML report instead of XML
spotbugs {
reportLevel = 'high'
// reportLevel = 'high'
// reportLevel = com.github.spotbugs.snom.Confidence.DEFAULT
showProgress = false
excludeFilter = file("$rootDir/config/spotbugs/exclude.xml")
}
@@ -661,10 +712,10 @@ configure(project.fineractCustomProjects) {
'com.google.truth.extensions:truth-java8-extension',
'io.github.classgraph:classgraph',
'io.cucumber:cucumber-core',
'io.cucumber:cucumber-java',
'io.cucumber:cucumber-java8',
'io.cucumber:cucumber-junit-platform-engine',
'io.cucumber:cucumber-spring',
'io.cucumber:cucumber-java:7.16.1',
'io.cucumber:cucumber-java8:7.16.1',
'io.cucumber:cucumber-junit-platform-engine:7.16.1',
'io.cucumber:cucumber-spring:7.16.1',
)
testCompileOnly('org.projectlombok:lombok')
@@ -677,7 +728,10 @@ configure(project.fineractCustomProjects) {
configure(project.fineractPublishProjects) {
apply plugin: 'maven-publish'
apply plugin: 'signing'
if (!project.hasProperty('noSign')) {
apply plugin: 'signing'
}
publishing {
publications {
@@ -731,8 +785,10 @@ configure(project.fineractPublishProjects) {
}
}
signing {
sign publishing.publications.mavenJava
if (!project.hasProperty('noSign')) {
signing {
sign publishing.publications.mavenJava
}
}
}
+2 -1
View File
@@ -20,7 +20,7 @@
import static org.slf4j.LoggerFactory.*
plugins {
id 'io.spring.dependency-management' version '1.1.0'
id 'io.spring.dependency-management' version '1.1.4'
id 'groovy'
id 'java-gradle-plugin'
id 'groovy-gradle-plugin'
@@ -58,4 +58,5 @@ dependencies {
implementation 'com.squareup.retrofit2:retrofit'
implementation 'com.squareup.retrofit2:converter-jackson'
implementation 'com.fasterxml.jackson.core:jackson-databind'
implementation 'com.squareup.okhttp3:okhttp'
}
@@ -22,15 +22,21 @@ apply plugin: 'io.spring.dependency-management'
// https://github.com/spring-gradle-plugins/dependency-management-plugin
dependencyManagement {
imports {
mavenBom 'org.springframework:spring-framework-bom:6.0.10'
mavenBom 'org.springframework.boot:spring-boot-dependencies:3.1.1'
mavenBom 'org.jetbrains.kotlin:kotlin-bom:1.8.22'
mavenBom 'org.junit:junit-bom:5.9.3'
mavenBom 'com.fasterxml.jackson:jackson-bom:2.15.2'
mavenBom 'io.cucumber:cucumber-bom:7.12.1'
mavenBom 'io.netty:netty-bom:4.1.94.Final'
mavenBom 'org.mockito:mockito-bom:5.4.0'
mavenBom 'software.amazon.awssdk:bom:2.20.97'
mavenBom 'com.squareup.okhttp3:okhttp-bom:4.12.0'
mavenBom 'org.slf4j:slf4j-bom:2.0.12'
mavenBom 'io.micrometer:micrometer-bom:1.12.2'
mavenBom 'org.springframework:spring-framework-bom:6.1.3'
mavenBom 'org.springframework.boot:spring-boot-dependencies:3.2.6'
mavenBom 'io.awspring.cloud:spring-cloud-aws-dependencies:3.1.0'
mavenBom 'io.opentelemetry:opentelemetry-bom:1.34.1'
mavenBom 'org.jetbrains.kotlin:kotlin-bom:1.9.24'
mavenBom 'org.junit:junit-bom:5.10.2'
mavenBom 'com.fasterxml.jackson:jackson-bom:2.16.1'
mavenBom 'io.cucumber:cucumber-bom:7.15.0'
mavenBom 'io.netty:netty-bom:4.1.110.Final'
mavenBom 'org.mockito:mockito-bom:5.10.0'
mavenBom 'software.amazon.awssdk:bom:2.23.18'
mavenBom 'io.github.resilience4j:resilience4j-bom:2.2.0'
}
dependencies {
@@ -38,42 +44,40 @@ dependencyManagement {
// We do not use :+ to get the latest available version available on Maven Central, as that could suddenly break things.
// We use the Renovate Bot to automatically propose Pull Requests (PRs) when upgrades for all of these versions are available.
dependency 'org.slf4j:slf4j-api:2.0.7'
dependency 'org.slf4j:slf4j-simple:2.0.7'
dependency 'org.slf4j:jcl-over-slf4j:2.0.7'
dependency 'org.slf4j:jul-to-slf4j:2.0.7'
dependency 'org.slf4j:log4j-over-slf4j:2.0.7'
dependency 'ch.qos.logback:logback-core:1.4.8'
dependency 'ch.qos.logback:logback-classic:1.4.8'
dependency 'ch.qos.logback:logback-core:1.5.3'
dependency 'ch.qos.logback:logback-classic:1.5.3'
dependency 'ch.qos.logback.contrib:logback-json-classic:0.1.5'
dependency 'ch.qos.logback.contrib:logback-jackson:0.1.5'
dependency 'org.codehaus.janino:janino:3.1.9'
dependency 'org.codehaus.janino:janino:3.1.11'
dependency 'org.eclipse.persistence:org.eclipse.persistence.jpa:4.0.0'
dependency 'com.google.guava:guava:32.0.0-jre'
dependency 'com.google.code.gson:gson:2.10.1'
dependency 'com.google.truth:truth:1.1.5'
dependency 'com.google.truth.extensions:truth-java8-extension:1.1.5'
dependency 'com.google.googlejavaformat:google-java-format:1.17.0'
dependency ('org.apache.commons:commons-email:1.5') {
dependency 'com.google.truth:truth:1.4.0'
dependency 'com.google.truth.extensions:truth-java8-extension:1.4.0'
dependency 'com.google.googlejavaformat:google-java-format:1.19.2'
dependency 'org.apache.commons:commons-collections4:4.4'
dependency ('software.amazon.msk:aws-msk-iam-auth:2.0.3') {
exclude 'commons-logging:commons-logging:'
}
dependency ('org.apache.commons:commons-email:1.6.0') {
exclude 'com.sun.mail:javax.mail'
exclude 'javax.activation:activation'
}
dependency 'commons-io:commons-io:2.13.0'
dependency 'com.github.librepdf:openpdf:1.3.30'
dependency ('org.mnode.ical4j:ical4j:3.2.11') {
dependency 'commons-io:commons-io:2.15.1'
dependency 'com.github.librepdf:openpdf:2.0.0'
dependency ('org.mnode.ical4j:ical4j:3.2.14') {
exclude 'com.sun.mail:javax.mail'
exclude 'org.codehaus.groovy:groovy'
}
dependency 'org.apache.commons:commons-csv:1.10.0'
dependency 'org.quartz-scheduler:quartz:2.3.2'
dependency 'software.amazon.awssdk:bom:2.20.97'
dependency 'org.ehcache:ehcache:3.10.8'
dependency 'com.github.spullara.mustache.java:compiler:0.9.10'
dependency 'com.jayway.jsonpath:json-path:2.8.0'
dependency 'org.apache.tika:tika-core:2.8.0'
dependency ('org.apache.tika:tika-parser-microsoft-module:2.8.0') {
dependency 'com.github.spullara.mustache.java:compiler:0.9.11'
dependency 'com.jayway.jsonpath:json-path:2.9.0'
dependency 'org.apache.tika:tika-core:2.9.1'
dependency ('org.apache.tika:tika-parser-microsoft-module:2.9.2') {
exclude 'org.bouncycastle:bcprov-jdk15on'
exclude 'org.bouncycastle:bcmail-jdk15on'
exclude 'org.bouncycastle:bcprov-jdk18on'
@@ -82,9 +86,7 @@ dependencyManagement {
exclude 'org.apache.logging.log4j:log4j-api'
exclude 'org.slf4j:slf4j-api'
exclude 'commons-io:commons-io'
exclude 'commons-logging:commons-logging'
exclude 'commons-codec:commons-codec'
exclude 'org.apache.commons:commons-compress'
exclude 'org.apache.commons:commons-lang3'
exclude 'org.apache.poi:poi'
exclude 'org.apache.poi:poi-scratchpad'
@@ -92,7 +94,7 @@ dependencyManagement {
exclude 'org.apache.commons:commons-compress'
exclude 'xml-apis:xml-apis'
}
dependency ('org.apache.tika:tika-parser-miscoffice-module:2.8.0') {
dependency ('org.apache.tika:tika-parser-miscoffice-module:2.9.2') {
exclude 'org.bouncycastle:bcprov-jdk15on'
exclude 'org.bouncycastle:bcmail-jdk15on'
exclude 'org.bouncycastle:bcprov-jdk18on'
@@ -102,7 +104,6 @@ dependencyManagement {
exclude 'org.slf4j:slf4j-api'
exclude 'commons-io:commons-io'
exclude 'commons-codec:commons-codec'
exclude 'org.apache.commons:commons-compress'
exclude 'org.apache.commons:commons-lang3'
exclude 'org.apache.poi:poi'
exclude 'org.apache.poi:poi-scratchpad'
@@ -116,19 +117,20 @@ dependencyManagement {
dependency 'jakarta.management.j2ee:jakarta.management.j2ee-api:1.1.4'
dependency 'jakarta.jms:jakarta.jms-api:3.1.0'
dependency 'jakarta.ws.rs:jakarta.ws.rs-api:3.1.0'
dependency 'org.glassfish.jersey.media:jersey-media-multipart:3.1.2'
dependency 'org.glassfish.jersey.media:jersey-media-multipart:3.1.5'
dependency 'org.glassfish.jaxb:jaxb-runtime:2.3.6' // Swagger needs exactly this version
dependency 'org.apache.bval:org.apache.bval.bundle:2.0.6'
dependency 'joda-time:joda-time:2.12.5'
dependency 'org.apache.bval:org.apache.bval.bundle:3.0.0'
dependency 'joda-time:joda-time:2.12.7'
dependency 'io.github.classgraph:classgraph:4.8.160'
dependency 'org.awaitility:awaitility:4.2.0'
dependency 'com.github.spotbugs:spotbugs-annotations:4.7.3'
dependency 'io.github.classgraph:classgraph:4.8.168'
dependency 'org.awaitility:awaitility:4.2.1'
// TODO: upgrade to 4.8.3
dependency 'com.github.spotbugs:spotbugs-annotations:4.8.3'
dependency 'javax.cache:cache-api:1.1.1'
dependency 'org.mock-server:mockserver-junit-jupiter:5.15.0'
dependency 'org.webjars:webjars-locator-core:0.53'
dependency 'com.icegreen:greenmail-junit5:2.0.0'
dependency 'com.intuit.karate:karate-junit5:1.4.0'
dependency 'org.webjars:webjars-locator-core:0.55'
dependency 'com.icegreen:greenmail-junit5:2.0.1'
dependency 'com.intuit.karate:karate-junit5:1.4.1'
// fineract client dependencies
dependency "com.squareup.retrofit2:retrofit:2.9.0"
@@ -145,64 +147,59 @@ dependencyManagement {
dependency "com.squareup.retrofit2:converter-scalars:2.9.0"
dependency "com.squareup.retrofit2:converter-gson:2.9.0"
dependency "com.squareup.retrofit2:converter-protobuf:2.9.0"
dependency 'io.reactivex.rxjava2:rxjava:2.2.21'
dependency "org.apache.oltu.oauth2:org.apache.oltu.oauth2.common:1.0.1"
dependency "org.apache.oltu.oauth2:org.apache.oltu.oauth2.client:1.0.1"
dependency "org.apache.oltu.oauth2:org.apache.oltu.oauth2.httpclient4:1.0.1"
dependency "com.squareup.okhttp3:okhttp:4.11.0"
dependency "com.squareup.okhttp3:okcurl:4.11.0"
dependency "com.squareup.okhttp3:logging-interceptor:4.11.0"
dependency "com.squareup.okhttp3:okhttp-apache:4.9.3"
dependency "com.squareup.okhttp3:okhttp-android-support:4.9.3"
dependency "com.squareup.okhttp3:okhttp-urlconnection:4.11.0"
dependency "com.squareup.okhttp3:okhttp-sse:4.11.0"
dependency "io.gsonfire:gson-fire:1.8.5"
dependency "io.gsonfire:gson-fire:1.9.0"
dependency "com.google.code.findbugs:jsr305:3.0.2"
dependency "commons-codec:commons-codec:1.16.0"
dependency "org.projectlombok:lombok:1.18.28"
dependency "org.projectlombok:lombok:1.18.32"
dependency 'org.bouncycastle:bcpkix-jdk15to18:1.75'
dependency 'org.bouncycastle:bcprov-jdk15to18:1.75'
dependency 'org.bouncycastle:bcpkix-jdk15to18:1.77'
dependency 'org.bouncycastle:bcprov-jdk15to18:1.77'
dependency 'org.bouncycastle:bcprov-jdk15on:1.70'
dependency 'org.bouncycastle:bcpg-jdk15on:1.70'
dependency 'org.eclipse.jgit:org.eclipse.jgit:6.6.0.202305301015-r'
dependency 'org.eclipse.jgit:org.eclipse.jgit.ssh.apache:6.6.0.202305301015-r'
dependency 'org.eclipse.jgit:org.eclipse.jgit:6.8.0.202311291450-r'
dependency 'org.eclipse.jgit:org.eclipse.jgit.ssh.apache:6.8.0.202311291450-r'
dependency 'org.tmatesoft.svnkit:svnkit:1.10.11'
dependency 'com.vdurmont:semver4j:3.1.0'
dependency 'org.beryx:text-io:3.4.1'
dependency ('org.springdoc:springdoc-openapi-starter-webmvc-ui:2.1.0') {
dependency ('org.springdoc:springdoc-openapi-starter-webmvc-ui:2.3.0') {
exclude 'io.swagger.core.v3:swagger-core'
}
dependency 'com.google.cloud.sql:mysql-socket-factory-connector-j-8:1.12.0'
dependency 'com.google.cloud.sql:mysql-socket-factory-connector-j-8:1.15.2'
dependency ('org.apache.activemq:activemq-client-jakarta:5.18.2') {
dependency ('org.apache.activemq:activemq-client:6.0.1') {
exclude 'javax.annotation:javax.annotation-api'
}
dependency 'io.swagger.core.v3:swagger-annotations-jakarta:2.2.11'
dependency ('io.swagger.core.v3:swagger-jaxrs2-jakarta:2.2.11') {
dependency 'io.swagger.core.v3:swagger-annotations-jakarta:2.2.22'
dependency ('io.swagger.core.v3:swagger-jaxrs2-jakarta:2.2.22') {
exclude 'jakarta.activation:jakarta.activation-api'
}
dependency ('io.swagger.core.v3:swagger-core-jakarta:2.2.11') {
dependency ('io.swagger.core.v3:swagger-core-jakarta:2.2.22') {
exclude 'jakarta.activation:jakarta.activation-api'
}
dependency "jakarta.annotation:jakarta.annotation-api:2.1.1"
dependency 'jakarta.annotation:jakarta.annotation-api:2.1.1'
dependency 'jakarta.activation:jakarta.activation-api:2.1.2'
dependency ('com.sun.mail:jakarta.mail:2.0.1') {
// Spring needs this version
exclude 'com.sun.activation:jakarta.activation'
}
dependency ('jakarta.xml.bind:jakarta.xml.bind-api:4.0.0') {
dependency ('jakarta.xml.bind:jakarta.xml.bind-api:4.0.1') {
exclude 'jakarta.activation:jakarta.activation-api'
}
dependency ('org.liquibase:liquibase-core:4.23.0') {
dependency ('org.liquibase:liquibase-core:4.25.1') {
exclude 'javax.xml.bind:jaxb-api'
}
dependency 'org.liquibase.ext:liquibase-postgresql:4.25.1.1'
dependency ('org.dom4j:dom4j:2.1.4') {
exclude 'relaxngDatatype:relaxngDatatype' // already in com.sun.xml.bind:jaxb-osgi:2.3.0.1
@@ -211,41 +208,46 @@ dependencyManagement {
exclude 'pull-parser:pull-parser'
}
dependency 'org.owasp.esapi:esapi:2.5.2.0'
dependency 'org.awaitility:awaitility:4.2.0'
dependency 'org.owasp.esapi:esapi:2.5.3.1'
dependency 'org.awaitility:awaitility:4.2.1'
dependencySet(group: 'org.apache.poi', version: '5.2.3') {
dependencySet(group: 'org.apache.poi', version: '5.2.5') {
entry 'poi'
entry 'poi-ooxml'
entry 'poi-ooxml-schemas'
}
dependencySet(group: 'io.rest-assured', version: '5.3.1') {
dependencySet(group: 'io.rest-assured', version: '5.4.0') {
entry 'rest-assured'
entry 'json-path'
entry 'xml-path'
}
dependency 'org.apache.groovy:groovy-xml:4.0.13'
dependency 'org.apache.groovy:groovy-json:4.0.13'
dependency 'org.apache.groovy:groovy-xml:4.0.18'
dependency 'org.apache.groovy:groovy-json:4.0.18'
dependency 'org.mapstruct:mapstruct:1.5.5.Final'
dependency 'org.mapstruct:mapstruct-processor:1.5.5.Final'
dependency "org.apache.avro:avro:1.11.1"
dependency "org.apache.avro:avro:1.11.3"
dependency "io.github.resilience4j:resilience4j-spring-boot2:2.0.2"
dependency ('org.mariadb.jdbc:mariadb-java-client:3.1.4') {
dependency ('org.mariadb.jdbc:mariadb-java-client:3.3.2') {
exclude 'org.slf4j:jcl-over-slf4j'
exclude 'org.slf4j:slf4j-api'
}
dependency 'org.postgresql:postgresql:42.6.0'
dependency 'org.postgresql:postgresql:42.7.3'
dependency 'org.assertj:assertj-core:3.24.2'
dependency 'org.assertj:assertj-core:3.25.3'
dependency 'org.apache.commons:commons-math3:3.6.1'
dependency 'org.mockito:mockito-inline:5.2.0'
dependency 'com.github.tomakehurst:wiremock-standalone:3.0.1'
dependency 'io.cucumber:cucumber-java:7.16.1'
dependency 'io.cucumber:cucumber-java8:7.16.1'
dependency 'io.cucumber:cucumber-junit-platform-engine:7.16.1'
dependency 'io.cucumber:cucumber-spring:7.16.1'
}
}
@@ -66,7 +66,6 @@ class FineractPlugin implements Plugin<Project> {
this.confluenceService = new ConfluenceService(extension.config.confluence)
this.subversionService = new SubversionService(extension.config.subversion)
this.emailService = new EmailService(extension.config.smtp)
this.gpgService = new GpgService(extension.config.gpg)
this.gitService = new GitService(extension.config.git, extension.config.gpg)
this.context = context(project)
}
@@ -331,7 +330,7 @@ class FineractPlugin implements Plugin<Project> {
project.tasks.register("fineractReleaseStep7") {
doFirst {
FineractPluginExtension.FineractPluginStep step = step(extension, "step7")
gpgService = new GpgService(extension.config.gpg)
gpgService.sign(step.gpg)
step.gpg.files.findAll {
@@ -73,8 +73,8 @@ class EmailService {
if(params.bcc) {
msg.setRecipients(Message.RecipientType.BCC, InternetAddress.parse(params.bcc))
}
msg.setSubject(params.subject)
msg.setText(params.message);
msg.setSubject(params.subject, "UTF-8")
msg.setText(params.message, "UTF-8");
Transport.send(msg);
@@ -27,6 +27,8 @@ import org.apache.fineract.gradle.FineractPluginExtension
import org.slf4j.Logger
import org.slf4j.LoggerFactory
import java.nio.charset.Charset
class TemplateService {
private static final Logger log = LoggerFactory.getLogger(TemplateService.class)
@@ -35,7 +37,7 @@ class TemplateService {
TemplateService(FineractPluginExtension.FineractPluginConfigTemplate config) {
def dir = new File(config.templateDir);
this.config = new Configuration(Configuration.VERSION_2_3_31);
this.config = new Configuration(Configuration.VERSION_2_3_32);
this.config.setDirectoryForTemplateLoading(dir)
this.config.setDefaultEncoding("UTF-8");
this.config.setLogTemplateExceptions(false);
@@ -58,7 +60,7 @@ class TemplateService {
Template template = null;
if(params.templateFile) {
template = new Template("template", new FileReader(new File(params.templateFile)), this.config)
template = new Template("template", new FileReader(new File(params.templateFile), Charset.forName("UTF-8")), this.config)
}
if(params.template) {
template = new Template("template", new StringReader(params.template), this.config)
@@ -69,7 +71,7 @@ class TemplateService {
def output = new File(params.outputFile)
output.createNewFile()
template.process(data, new FileWriter(output, false))
template.process(data, new FileWriter(output, Charset.forName("UTF-8"), false))
} else {
def output = new StringWriter()
@@ -36,4 +36,4 @@ ${project['fineract.config.name']}
🎉 Powered by Fineract Release Plugin 🎊
🎉 Powered by Fineract Release Plugin 🎊
@@ -18,4 +18,4 @@
under the License.
-->
[FINERACT] [PROPOSAL] 📦 New release ${project['fineract.release.version']}
[FINERACT] [PROPOSAL] 📦 New release ${project['fineract.release.version']}
@@ -18,4 +18,4 @@
under the License.
-->
[FINERACT] [ANNOUNCE] 🔀 ${project['fineract.release.version']} release branch
[FINERACT] [ANNOUNCE] 🔀 ${project['fineract.release.version']} release branch
@@ -18,4 +18,4 @@
under the License.
-->
[FINERACT] [VOTE] 🗳️ ${project['fineract.release.version']} for release
[FINERACT] [VOTE] 🗳️ ${project['fineract.release.version']} for release
@@ -18,4 +18,4 @@
under the License.
-->
[FINERACT] [VOTE] [RESULT] 🧾️ ${project['fineract.release.version']} for release
[FINERACT] [VOTE] [RESULT] 🧾️ ${project['fineract.release.version']} for release
@@ -40,4 +40,4 @@ https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=${project['finera
For more information on Apache Fineract please visit
project home page: https://fineract.apache.org
The Apache Fineract Team
The Apache Fineract Team
@@ -18,4 +18,4 @@
under the License.
-->
[ANNOUNCE] Apache Fineract ${project['fineract.release.version']} Release
[ANNOUNCE] Apache Fineract ${project['fineract.release.version']} Release
@@ -18,4 +18,4 @@
under the License.
-->
Fineract ${project['fineract.release.version']} release
Fineract ${project['fineract.release.version']} release
+24
View File
@@ -0,0 +1,24 @@
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
[default]
aws_access_key_id=localstack
aws_secret_access_key=localstack
region=us-east-1
output=json
+26
View File
@@ -0,0 +1,26 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
version: "3.8"
services:
activemq:
image: symptoma/activemq:5.18.3
ports:
- "6161:6161"
- "61616:61616"
+32
View File
@@ -0,0 +1,32 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
version: "3.8"
services:
fineract:
# user: "${FINERACT_USER}:${FINERACT_GROUP}"
image: fineract-custom:latest
volumes:
- ${PWD}/config/docker/logback/logback-override.xml:/app/logback-override.xml
- ${PWD}/config/docker/aws/etc/credentials:/etc/aws/credentials:ro
- ${PWD}/build/fineract/logs:/var/logs/fineract:rw
healthcheck:
test: ["CMD", 'sh', '-c', 'echo -e "Checking for the availability of Fineract server deployment"; while ! nc -z "localhost" 8443; do sleep 1; printf "-"; done; echo -e " >> Fineract server has started";' ]
timeout: 1s
retries: 60
+32
View File
@@ -0,0 +1,32 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
version: "3.8"
services:
fineract:
# user: "${FINERACT_USER}:${FINERACT_GROUP}"
image: fineract:latest
volumes:
- ${PWD}/config/docker/logback/logback-override.xml:/app/logback-override.xml
- ${PWD}/config/docker/aws/etc/credentials:/etc/aws/credentials:ro
- ${PWD}/build/fineract/logs:/var/logs/fineract:rw
healthcheck:
test: ["CMD", 'sh', '-c', 'echo -e "Checking for the availability of Fineract server deployment"; while ! nc -z "localhost" 8443; do sleep 1; printf "-"; done; echo -e " >> Fineract server has started";' ]
timeout: 1s
retries: 60
+28
View File
@@ -0,0 +1,28 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
x-logging: &default-logging
driver: loki
options:
loki-url: 'http://localhost:3100/api/prom/push'
loki-pipeline-stages: |
- multiline:
firstline: '^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}.\d{3}'
max_wait_time: 3s
- regex:
expression: '^(?P<date>\d{4}-\d{2}-\d{2}) (?P<time>\d{2}:\d{2}:\d{2}.\d{3}) (?P<message>(?s:.*))$$'
+33
View File
@@ -0,0 +1,33 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
version: "3.8"
services:
mariadb:
container_name: mariadb
image: mariadb:11.2
volumes:
- ${PWD}/config/docker/mysql/conf.d/server_collation.cnf:/etc/mysql/conf.d/server_collation.cnf:ro
- ${PWD}/config/docker/mysql/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d:Z,ro
restart: always
env_file:
- ${PWD}/config/docker/env/mysql.env
healthcheck:
test: [ "CMD", "healthcheck.sh", "--su-mysql", "--connect", "--innodb_initialized" ]
timeout: 10s
retries: 10
ports:
- "3306:3306"
+76
View File
@@ -0,0 +1,76 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
x-logging: &default-logging
driver: loki
options:
loki-url: 'http://localhost:3100/api/prom/push'
loki-pipeline-stages: |
- multiline:
firstline: '^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}.\d{3}'
max_wait_time: 3s
- regex:
expression: '^(?P<date>\d{4}-\d{2}-\d{2}) (?P<time>\d{2}:\d{2}:\d{2}.\d{3}) (?P<message>(?s:.*))$$'
version: "3.8"
services:
loki:
container_name: loki
image: grafana/loki:2.9.2
command: -config.file=/etc/loki/local-config.yaml
ports:
- "3100:3100"
prometheus:
container_name: prometheus
image: prom/prometheus:v2.47.2
command: '--config.file=/etc/prometheus/prometheus.yml'
ports:
- "9090:9090"
volumes:
- ${PWD}/config/docker/prometheus/etc:/etc/prometheus
logging: *default-logging
grafana:
container_name: grafana
image: grafana/grafana-oss:10.2.0
ports:
- "3000:3000"
volumes:
- ${PWD}/config/docker/grafana/datasources:/etc/grafana/provisioning/datasources
- ${PWD}/config/docker/grafana/etc/dashboards.yml:/etc/grafana/provisioning/dashboards/dashboards.yaml
- ${PWD}/config/docker/grafana/dashboards:/var/lib/grafana/dashboards
logging: *default-logging
tempo:
container_name: tempo
image: grafana/tempo:2.2.4
# command: [ "--target=all", "--storage.trace.backend=local", "--storage.trace.local.path=/tmp/tempo", "--auth.enabled=false" ]
command: [ "-config.file=/etc/tempo.yml" ]
ports:
- "14268:14268" # jaeger ingest
- "3200:3200" # tempo
- "9095:9095" # tempo grpc
- "4317:4317" # otlp grpc
- "4318:4318" # otlp http
- "9411:9411" # zipkin
volumes:
- ${PWD}/config/docker/tempo/etc/tempo.yml:/etc/tempo.yml
- /tmp/tempo:/tmp/tempo
logging: *default-logging
+34
View File
@@ -0,0 +1,34 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
version: "3.8"
services:
postgresql:
image: postgres:16.1
volumes:
- ${PWD}/config/docker/postgresql/docker-entrypoint-initdb.d/01-init.sh:/docker-entrypoint-initdb.d/01-init.sh:Z,ro
restart: always
env_file:
- ${PWD}/config/docker/env/postgresql.env
healthcheck:
test: [ "CMD", "pg_isready", "-q", "-d", "postgres", "-U", "root" ]
timeout: 10s
retries: 10
ports:
- "5432:5432"
+21
View File
@@ -0,0 +1,21 @@
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
FINERACT_REMOTE_JOB_MESSAGE_HANDLER_JMS_ENABLED=true
FINERACT_REMOTE_JOB_MESSAGE_HANDLER_JMS_BROKER_URL=tcp://activemq:61616
+30
View File
@@ -0,0 +1,30 @@
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
# TODO: remove AWS_ENDPOINT_URL and use FINERACT_AWS_ENDPOINT
AWS_EC2_METADATA_DISABLED=true
AWS_ENDPOINT_URL=http://localstack:4666
#FINERACT_AWS_ENDPOINT=http://localstack:4666
FINERACT_AWS_REGION_STATIC=us-east-1
FINERACT_AWS_CREDENTIALS_INSTANCE_PROFILE=false
#FINERACT_AWS_CREDENTIALS_ACCESS_KEY=localstack
#FINERACT_AWS_CREDENTIALS_SECRET_KEY=localstack
FINERACT_AWS_CREDENTIALS_PROFILE_NAME=default
FINERACT_AWS_CREDENTIALS_PROFILE_PATH=/etc/aws/credentials
FINERACT_AUTOCONFIGURE_EXCLUDE=
+23
View File
@@ -0,0 +1,23 @@
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
FINERACT_MANAGEMENT_CLOUDWATCH_ENABLED=true
FINERACT_MANAGEMENT_CLOUDWATCH_NAMESPACE=fineract
FINERACT_MANAGEMENT_CLOUDWATCH_REGION=us-east-1
FINERACT_MANAGEMENT_CLOUDWATCH_STEP=1m
+22
View File
@@ -0,0 +1,22 @@
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
# see here for more details related to JFR: https://access.redhat.com/documentation/en-us/red_hat_build_of_openjdk/8/html/using_jdk_flight_recorder_with_red_hat_build_of_openjdk/configure-jfr-options
# JAVA_TOOL_OPTIONS="-Xmx2G -Xms2G -Dlogging.config=/app/logback-override.xml -XX:TieredStopAtLevel=1 -XX:+UseContainerSupport -XX:+UseStringDeduplication -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5000 -XX:+UnlockDiagnosticVMOptions -XX:+DebugNonSafepoints -XX:StartFlightRecording=delay=20s,duration=60s,disk=true,name=fineract,path-to-gc-roots=true,dumponexit=true,filename=/var/logs/fineract/fineract.jfr,settings=profile -Xlog:jfr=info"
JAVA_TOOL_OPTIONS="-Xmx2G -Xms2G -Dlogging.config=/app/logback-override.xml -XX:TieredStopAtLevel=1 -XX:+UseContainerSupport -XX:+UseStringDeduplication -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5000 -XX:+UnlockDiagnosticVMOptions -XX:+DebugNonSafepoints -Xlog:jfr=info"
+59
View File
@@ -0,0 +1,59 @@
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
# ... following variables are optional; "application.properties" contains reasonable defaults (same as here)
FINERACT_USER=1000
FINERACT_GROUP=1000
FINERACT_HIKARI_MINIMUM_IDLE=3
FINERACT_HIKARI_MAXIMUM_POOL_SIZE=10
FINERACT_HIKARI_IDLE_TIMEOUT=60000
FINERACT_HIKARI_CONNECTION_TIMEOUT=20000
FINERACT_HIKARI_TEST_QUERY=SELECT 1
FINERACT_HIKARI_AUTO_COMMIT=true
FINERACT_SERVER_SSL_ENABLED=true
FINERACT_HIKARI_USERNAME=root
FINERACT_HIKARI_PASSWORD=skdcnwauicn2ucnaecasdsajdnizucawencascdca
FINERACT_HIKARI_DS_PROPERTIES_CACHE_PREP_STMTS=true
FINERACT_HIKARI_DS_PROPERTIES_PREP_STMT_CACHE_SIZE=250
FINERACT_HIKARI_DS_PROPERTIES_PREP_STMT_CACHE_SQL_LIMIT=2048
FINERACT_HIKARI_DS_PROPERTIES_USE_SERVER_PREP_STMTS=true
FINERACT_HIKARI_DS_PROPERTIES_USE_LOCAL_SESSION_STATE=true
FINERACT_HIKARI_DS_PROPERTIES_REWRITE_BATCHED_STATEMENTS=true
FINERACT_HIKARI_DS_PROPERTIES_CACHE_RESULT_SET_METADATA=true
FINERACT_HIKARI_DS_PROPERTIES_CACHE_SERVER_CONFIGURATION=true
FINERACT_HIKARI_DS_PROPERTIES_ELIDE_SET_AUTO_COMMITS=true
FINERACT_HIKARI_DS_PROPERTIES_MAINTAIN_TIME_STATS=false
FINERACT_HIKARI_DS_PROPERTIES_LOG_SLOW_QUERIES=true
FINERACT_HIKARI_DS_PROPERTIES_DUMP_QUERIES_IN_EXCEPTION=true
# NOTE: env vars prefixed "FINERACT_DEFAULT_TENANTDB_*" are used to create the default tenant database
FINERACT_DEFAULT_TENANTDB_CONN_PARAMS=
FINERACT_DEFAULT_TENANTDB_TIMEZONE=Asia/Kolkata
FINERACT_DEFAULT_TENANTDB_IDENTIFIER=default
FINERACT_DEFAULT_TENANTDB_NAME=fineract_default
FINERACT_DEFAULT_TENANTDB_DESCRIPTION=Default Demo Tenant
FINERACT_DEFAULT_TENANTDB_HOSTNAME=db
FINERACT_DEFAULT_TENANTDB_PWD=skdcnwauicn2ucnaecasdsajdnizucawencascdca
FINERACT_DEFAULT_MASTER_PASSWORD=fineract
FINERACT_MANAGEMENT_ENDPOINT_WEB_EXPOSURE_INCLUDE=health,info,prometheus
FINERACT_MANAGEMENT_METRICS_TAGS_APPLICATION=fineract
FINERACT_REMOTE_JOB_MESSAGE_HANDLER_SPRING_EVENTS_ENABLED=false
FINERACT_INSECURE_HTTP_CLIENT=true
SPRING_PROFILES_ACTIVE=test,diagnostics
OTEL_SERVICE_NAME=fineract
JAVA_TOOL_OPTIONS="-Xmx1G -XX:MinRAMPercentage=25 -XX:MaxRAMPercentage=80 -XX:TieredStopAtLevel=1 -XX:+UseContainerSupport -XX:+UseStringDeduplication --add-exports=java.naming/com.sun.jndi.ldap=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.security=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.management/javax.management=ALL-UNNAMED --add-opens=java.naming/javax.naming=ALL-UNNAMED"
+26
View File
@@ -0,0 +1,26 @@
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
FINERACT_NODE_ID=1
FINERACT_MODE_BATCH_MANAGER_ENABLED=true
FINERACT_MODE_BATCH_WORKER_ENABLED=false
LOAN_COB_CHUNK_SIZE=10
LOAN_COB_PARTITION_SIZE=10
LOAN_COB_POLL_INTERVAL=1000
OTEL_SERVICE_NAME=fineract-manager
+25
View File
@@ -0,0 +1,25 @@
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
# NOTE: env vars prefixed "FINERACT_HIKARI_*" are used to configure the database connection pool
FINERACT_HIKARI_DRIVER_SOURCE_CLASS_NAME=org.mariadb.jdbc.Driver
FINERACT_HIKARI_JDBC_URL=jdbc:mariadb://db:3306/fineract_tenants
# NOTE: env vars prefixed "FINERACT_DEFAULT_TENANTDB_*" are used to create the default tenant database
FINERACT_DEFAULT_TENANTDB_PORT=3306
FINERACT_DEFAULT_TENANTDB_UID=root
+27
View File
@@ -0,0 +1,27 @@
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
# NOTE: env vars prefixed "FINERACT_HIKARI_*" are used to configure the database connection pool
FINERACT_HIKARI_DRIVER_SOURCE_CLASS_NAME=org.postgresql.Driver
FINERACT_HIKARI_JDBC_URL=jdbc:postgresql://db:5432/fineract_tenants
FINERACT_HIKARI_USERNAME=postgres
FINERACT_HIKARI_PASSWORD=skdcnwauicn2ucnaecasdsajdnizucawencascdca
# NOTE: env vars prefixed "FINERACT_DEFAULT_TENANTDB_*" are used to create the default tenant database
FINERACT_DEFAULT_TENANTDB_PORT=5432
FINERACT_DEFAULT_TENANTDB_UID=postgres
+24
View File
@@ -0,0 +1,24 @@
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
FINERACT_NODE_ID=2
FINERACT_MODE_BATCH_MANAGER_ENABLED=false
FINERACT_MODE_BATCH_WORKER_ENABLED=true
OTEL_SERVICE_NAME=fineract-worker
FINERACT_LIQUIBASE_ENABLED=false
+20
View File
@@ -0,0 +1,20 @@
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
FINERACT_NODE_ID=1
+34
View File
@@ -0,0 +1,34 @@
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
FINERACT_REMOTE_JOB_MESSAGE_HANDLER_JMS_ENABLED=false
FINERACT_REMOTE_JOB_MESSAGE_HANDLER_KAFKA_ENABLED=true
FINERACT_REMOTE_JOB_MESSAGE_HANDLER_KAFKA_BOOTSTRAP_SERVERS=b-3-public.democluster1.am2oyx.c4.kafka.eu-central-1.amazonaws.com:9198,b-2-public.democluster1.am2oyx.c4.kafka.eu-central-1.amazonaws.com:9198,b-1-public.democluster1.am2oyx.c4.kafka.eu-central-1.amazonaws.com:9198
FINERACT_REMOTE_JOB_MESSAGE_HANDLER_KAFKA_ADMIN_EXTRA_PROPERTIES=security.protocol=SASL_SSL|sasl.mechanism=AWS_MSK_IAM|sasl.jaas.config=software.amazon.msk.auth.iam.IAMLoginModule required;|sasl.client.callback.handler.class=software.amazon.msk.auth.iam.IAMClientCallbackHandler
FINERACT_REMOTE_JOB_MESSAGE_HANDLER_KAFKA_PRODUCER_EXTRA_PROPERTIES=security.protocol=SASL_SSL|sasl.mechanism=AWS_MSK_IAM|sasl.jaas.config=software.amazon.msk.auth.iam.IAMLoginModule required;|sasl.client.callback.handler.class=software.amazon.msk.auth.iam.IAMClientCallbackHandler
FINERACT_REMOTE_JOB_MESSAGE_HANDLER_KAFKA_CONSUMER_EXTRA_PROPERTIES=security.protocol=SASL_SSL|sasl.mechanism=AWS_MSK_IAM|sasl.jaas.config=software.amazon.msk.auth.iam.IAMLoginModule required;|sasl.client.callback.handler.class=software.amazon.msk.auth.iam.IAMClientCallbackHandler
FINERACT_REMOTE_JOB_MESSAGE_HANDLER_KAFKA_TOPIC_NAME=job-topic
FINERACT_REMOTE_JOB_MESSAGE_HANDLER_KAFKA_TOPIC_REPLICAS=2
FINERACT_EXTERNAL_EVENTS_ENABLED=true
FINERACT_EXTERNAL_EVENTS_KAFKA_ENABLED=true
FINERACT_EXTERNAL_EVENTS_KAFKA_BOOTSTRAP_SERVERS=b-3-public.democluster1.am2oyx.c4.kafka.eu-central-1.amazonaws.com:9198,b-2-public.democluster1.am2oyx.c4.kafka.eu-central-1.amazonaws.com:9198,b-1-public.democluster1.am2oyx.c4.kafka.eu-central-1.amazonaws.com:9198
FINERACT_EXTERNAL_EVENTS_KAFKA_ADMIN_EXTRA_PROPERTIES=security.protocol=SASL_SSL|sasl.mechanism=AWS_MSK_IAM|sasl.jaas.config=software.amazon.msk.auth.iam.IAMLoginModule required;|sasl.client.callback.handler.class=software.amazon.msk.auth.iam.IAMClientCallbackHandler
FINERACT_EXTERNAL_EVENTS_KAFKA_PRODUCER_EXTRA_PROPERTIES:linger.ms=10|batch.size=16384|security.protocol=SASL_SSL|sasl.mechanism=AWS_MSK_IAM|sasl.jaas.config=software.amazon.msk.auth.iam.IAMLoginModule required;|sasl.client.callback.handler.class=software.amazon.msk.auth.iam.IAMClientCallbackHandler
FINERACT_EXTERNAL_EVENTS_KAFKA_TOPIC_NAME=external-events
FINERACT_EXTERNAL_EVENTS_KAFKA_TOPIC_REPLICAS=2
+27
View File
@@ -0,0 +1,27 @@
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
FINERACT_REMOTE_JOB_MESSAGE_HANDLER_JMS_ENABLED=false
FINERACT_REMOTE_JOB_MESSAGE_HANDLER_KAFKA_ENABLED=true
FINERACT_REMOTE_JOB_MESSAGE_HANDLER_KAFKA_BOOTSTRAP_SERVERS=kafka:9092
FINERACT_REMOTE_JOB_MESSAGE_HANDLER_KAFKA_TOPIC_NAME=job-topic
FINERACT_EXTERNAL_EVENTS_ENABLED=true
FINERACT_EXTERNAL_EVENTS_KAFKA_ENABLED=true
FINERACT_EXTERNAL_EVENTS_KAFKA_BOOTSTRAP_SERVERS=kafka:9092
FINERACT_EXTERNAL_EVENTS_KAFKA_TOPIC_NAME=external-events
+27
View File
@@ -0,0 +1,27 @@
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
KAFKA_CFG_NODE_ID=0
KAFKA_CFG_PROCESS_ROLES=controller,broker
KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093
KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT
KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=0@kafka:9093
KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER
ALLOW_PLAINTEXT_LISTENER=yes
KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://kafka:9092
+20
View File
@@ -0,0 +1,20 @@
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
MYSQL_ROOT_PASSWORD=skdcnwauicn2ucnaecasdsajdnizucawencascdca
+22
View File
@@ -0,0 +1,22 @@
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
FINERACT_MANAGEMENT_OLTP_ENABLED=true
FINERACT_MANAGEMENT_OLTP_METRICS_EXPORT_URL=http://tempo:4318/v1/traces
FINERACT_MANAGEMENT_OLTP_METRICS_EXPORT_AGGREGATION_TEMPORALITY=cumulative
+25
View File
@@ -0,0 +1,25 @@
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
POSTGRES_USER=root
POSTGRES_PASSWORD=skdcnwauicn2ucnaecasdsajdnizucawencascdca
FINERACT_DB_USER=postgres
FINERACT_DB_PASS=skdcnwauicn2ucnaecasdsajdnizucawencascdca
FINERACT_TENANTS_DB_NAME=fineract_tenants
FINERACT_TENANT_DEFAULT_DB_NAME=fineract_default
+20
View File
@@ -0,0 +1,20 @@
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
FINERACT_MANAGEMENT_PROMETHEUS_ENABLED=true
+21
View File
@@ -0,0 +1,21 @@
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
FINERACT_MANAGEMENT_TRACIING_ENABLED=true
FINERACT_MANAGEMENT_METRICS_DISTRIBUTION_HTTP_SERVER_REQUESTS=true
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,95 @@
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
apiVersion: 1
# list of datasources that should be deleted from the database
deleteDatasources:
- name: Prometheus
orgId: 1
# list of datasources to insert/update depending on
# what's available in the database
datasources:
# <string, required> name of the datasource. Required
- uid: prometheus
orgId: 1
name: Prometheus
type: prometheus
typeName: Prometheus
access: proxy
url: http://prometheus:9090
password: ''
user: ''
database: ''
basicAuth: false
isDefault: true
jsonData:
exemplarTraceIdDestinations:
- datasourceUid: tempo
name: trace_id
httpMethod: POST
readOnly: false
editable: true
- uid: tempo
orgId: 1
name: Tempo
type: tempo
typeName: Tempo
access: proxy
url: http://tempo:3200
password: ''
user: ''
database: ''
basicAuth: false
isDefault: false
jsonData:
nodeGraph:
enabled: true
search:
hide: false
tracesToLogs:
datasourceUid: loki
filterBySpanID: false
filterByTraceID: true
mapTagNamesEnabled: false
tags:
- compose_service
readOnly: false
editable: true
- uid: loki
orgId: 1
name: Loki
type: loki
typeName: Loki
access: proxy
url: http://loki:3100
password: ''
user: ''
database: ''
basicAuth: false
isDefault: false
jsonData:
derivedFields:
- datasourceUid: tempo
matcherRegex: (?:trace_id)=(\w+)
name: TraceID
url: $${__value.raw}
readOnly: false
editable: true
+29
View File
@@ -0,0 +1,29 @@
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
apiVersion: 1
providers:
- name: 'Dashboards'
orgId: 1
folder: ''
type: 'file'
disableDeletion: true
editable: true
options:
path: '/var/lib/grafana/dashboards'
@@ -0,0 +1,61 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<configuration>
<!--
<include resource="org/springframework/boot/logging/logback/defaults.xml" />
<include resource="org/springframework/boot/logging/logback/file-appender.xml" />
<include resource="org/springframework/boot/logging/logback/console-appender.xml" />
-->
<contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator">
<resetJUL>false</resetJUL>
</contextListener>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<withJansi>false</withJansi>
<encoder>
<pattern>%green(%d{yyyy-MM-dd HH:mm:ss.SSS}) [%thread] %highlight(%-5level) %cyan(%logger{36}) - %msg%n</pattern>
</encoder>
</appender>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>/var/logs/fineract/fineract.log</file>
<append>true</append>
<prudent>true</prudent>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>/var/logs/fineract/fineract.%d{yyyy-MM-dd}.log</fileNamePattern>
<maxHistory>2</maxHistory>
<totalSizeCap>100MB</totalSizeCap>
</rollingPolicy>
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
<charset>UTF-8</charset>
</encoder>
</appender>
<logger name="org.springframework.transaction" level="INFO" />
<root level="INFO">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE"/>
</root>
</configuration>
@@ -0,0 +1,57 @@
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
global:
scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
# scrape_timeout is set to the global default (10s).
# Alertmanager configuration
alerting:
alertmanagers:
- static_configs:
- targets:
# - alertmanager:9093
# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
# - "first_rules.yml"
# - "second_rules.yml"
# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
- job_name: "prometheus"
# metrics_path defaults to '/metrics'
# scheme defaults to 'http'.
static_configs:
- targets: ["localhost:9090"]
- job_name: "fineract-server"
# Override the global default and scrape targets from this job every 5 seconds.
scrape_interval: 5s
metrics_path: "/actuator/prometheus"
scheme: "https"
static_configs:
- targets: ["fineract-server:8443"]
+74
View File
@@ -0,0 +1,74 @@
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
server:
http_listen_port: 3200
query_frontend:
search:
duration_slo: 5s
throughput_bytes_slo: 1.073741824e+09
trace_by_id:
duration_slo: 5s
distributor:
receivers: # this configuration will listen on all ports and protocols that tempo is capable of.
jaeger: # the receives all come from the OpenTelemetry collector. more configuration information can
protocols: # be found there: https://github.com/open-telemetry/opentelemetry-collector/tree/main/receiver
thrift_http: #
grpc: # for a production deployment you should only enable the receivers you need!
thrift_binary:
thrift_compact:
zipkin:
otlp:
protocols:
http:
grpc:
opencensus:
ingester:
max_block_duration: 5m # cut the headblock when this much time passes. this is being set for demo purposes and should probably be left alone normally
compactor:
compaction:
block_retention: 1h # overall Tempo trace retention. set for demo purposes
metrics_generator:
registry:
external_labels:
source: tempo
cluster: docker-compose
storage:
path: /tmp/tempo/generator/wal
remote_write:
- url: http://prometheus:9090/api/v1/write
send_exemplars: true
storage:
trace:
backend: local # backend configuration to use
wal:
path: /tmp/tempo/wal # where to store the wal locally
local:
path: /tmp/tempo/blocks
#overrides:
# defaults:
# metrics_generator:
# processors: [service-graphs, span-metrics] # enables metrics generator
+76
View File
@@ -26,4 +26,80 @@
<Match>
<Package name="~.*\.domain"/>
</Match>
<Match>
<Package name="~.*\.domain\..*"/>
</Match>
<Match>
<Package name="~.*\.data"/>
</Match>
<Match>
<Package name="~org\.apache\.fineract\.integrationtests.*"/>
</Match>
<Match>
<Package name="~.*\.self\..*"/>
<Bug pattern="UUF_UNUSED_PUBLIC_OR_PROTECTED_FIELD" />
</Match>
<Match>
<Package name="~.*\.api"/>
<Bug pattern="UUF_UNUSED_PUBLIC_OR_PROTECTED_FIELD" />
</Match>
<Match>
<Package name="~.*\.api"/>
<Bug pattern="URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD" />
</Match>
<Match>
<Package name="~.*\.api"/>
<Bug pattern="UUF_UNUSED_FIELD" />
</Match>
<Match>
<Bug pattern="MS_EXPOSE_REP" />
</Match>
<Match>
<Bug pattern="EI_EXPOSE_REP" />
</Match>
<Match>
<Bug pattern="EI_EXPOSE_REP2" />
</Match>
<Match>
<Bug pattern="NP_LOAD_OF_KNOWN_NULL_VALUE" />
</Match>
<Match>
<Bug pattern="NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE" />
</Match>
<Match>
<Bug pattern="NP_NULL_ON_SOME_PATH" />
</Match>
<Match>
<Bug pattern="NP_NULL_PARAM_DEREF" />
</Match>
<Match>
<Bug pattern="RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE" />
</Match>
<Match>
<Bug pattern="RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE" />
</Match>
<Match>
<Bug pattern="REC_CATCH_EXCEPTION" />
</Match>
<Match>
<Bug pattern="OBL_UNSATISFIED_OBLIGATION" />
</Match>
<Match>
<Bug pattern="OBL_UNSATISFIED_OBLIGATION_EXCEPTION_EDGE" />
</Match>
<Match>
<Bug pattern="MS_MUTABLE_COLLECTION_PKGPROTECT" />
</Match>
<Match>
<Bug pattern="BX_UNBOXING_IMMEDIATELY_REBOXED" />
</Match>
<Match>
<Bug pattern="RV_RETURN_VALUE_IGNORED_BAD_PRACTICE" />
</Match>
<Match>
<Bug pattern="RV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT" />
</Match>
<Match>
<Bug pattern="UR_UNINIT_READ" />
</Match>
</FindBugsFilter>
@@ -24,9 +24,9 @@ import org.springframework.stereotype.Component;
@Component
public class AcmeLoanRepaymentScheduleTransactionProcessor extends FineractStyleLoanRepaymentScheduleTransactionProcessor {
private static final String STRATEGY_CODE = "acme-standard-strategy";
public static final String STRATEGY_CODE = "acme-standard-strategy";
private static final String STRATEGY_NAME = "ACME Corp.: standard loan transaction processing strategy";
public static final String STRATEGY_NAME = "ACME Corp.: standard loan transaction processing strategy";
@Override
public String getCode() {
+6 -18
View File
@@ -25,6 +25,12 @@ apply from: "${rootDir}/buildSrc/src/main/groovy/org.apache.fineract.dependencie
jib {
from {
image = 'azul/zulu-openjdk-alpine:17'
platforms {
platform {
architecture = System.getProperty("os.arch").equals("aarch64")?"arm64":"amd64"
os = 'linux'
}
}
}
to {
@@ -38,22 +44,6 @@ jib {
container {
creationTime = 'USE_CURRENT_TIMESTAMP'
mainClass = 'org.apache.fineract.ServerApplication'
jvmFlags = [
'-Xms1G',
'-XshowSettings:vm',
'-XX:+UseContainerSupport',
'-XX:+UseStringDeduplication',
'-XX:MinRAMPercentage=25',
'-XX:MaxRAMPercentage=80',
'--add-exports=java.naming/com.sun.jndi.ldap=ALL-UNNAMED',
'--add-opens=java.base/java.lang=ALL-UNNAMED',
'--add-opens=java.base/java.lang.invoke=ALL-UNNAMED',
'--add-opens=java.base/java.io=ALL-UNNAMED',
'--add-opens=java.base/java.security=ALL-UNNAMED',
'--add-opens=java.base/java.util=ALL-UNNAMED',
'--add-opens=java.management/javax.management=ALL-UNNAMED',
'--add-opens=java.naming/javax.naming=ALL-UNNAMED'
]
args = [
'-Duser.home=/tmp',
'-Dfile.encoding=UTF-8',
@@ -105,5 +95,3 @@ jib {
}
}
}
// tasks.jibDockerBuild.dependsOn(':fineract-provider:bootJar')
-87
View File
@@ -1,87 +0,0 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
# You can replace and test a more recent version of docker compose
version: '3.7'
services:
# Backend service
fineractmysql:
image: mariadb:11.0
volumes:
- ../../fineract-db/server_collation.cnf:/etc/mysql/conf.d/server_collation.cnf
- ../../fineract-db/docker:/docker-entrypoint-initdb.d:Z,ro
restart: always
environment:
MYSQL_ROOT_PASSWORD: skdcnwauicn2ucnaecasdsajdnizucawencascdca
healthcheck:
test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost", "--password=skdcnwauicn2ucnaecasdsajdnizucawencascdca" ]
timeout: 10s
retries: 10
ports:
- "3306:3306"
fineract-server:
image: fineract-custom:latest
volumes:
- ../../fineract-provider/build/data:/data
healthcheck:
test: ["CMD", 'sh', '-c', 'echo -e "Checking for the availability of Fineract server deployment"; while ! nc -z "fineract-server" 8443; do sleep 1; printf "-"; done; echo -e " >> Fineract server has started";' ]
timeout: 10s
retries: 10
ports:
- 8443:8443
depends_on:
fineractmysql:
condition: service_healthy
environment:
# NOTE: node aware scheduler
- FINERACT_NODE_ID=1
# NOTE: env vars prefixed "FINERACT_HIKARI_*" are used to configure the database connection pool
- FINERACT_HIKARI_DRIVER_SOURCE_CLASS_NAME=org.mariadb.jdbc.Driver
- FINERACT_HIKARI_JDBC_URL=jdbc:mariadb://fineractmysql:3306/fineract_tenants
- FINERACT_HIKARI_USERNAME=root
- FINERACT_HIKARI_PASSWORD=skdcnwauicn2ucnaecasdsajdnizucawencascdca
# ... following variables are optional; "application.properties" contains reasonable defaults (same as here)
- FINERACT_HIKARI_MINIMUM_IDLE=3
- FINERACT_HIKARI_MAXIMUM_POOL_SIZE=10
- FINERACT_HIKARI_IDLE_TIMEOUT=60000
- FINERACT_HIKARI_CONNECTION_TIMEOUT=20000
- FINERACT_HIKARI_TEST_QUERY=SELECT 1
- FINERACT_HIKARI_AUTO_COMMIT=true
- FINERACT_HIKARI_DS_PROPERTIES_CACHE_PREP_STMTS=true
- FINERACT_HIKARI_DS_PROPERTIES_PREP_STMT_CACHE_SIZE=250
- FINERACT_HIKARI_DS_PROPERTIES_PREP_STMT_CACHE_SQL_LIMIT=2048
- FINERACT_HIKARI_DS_PROPERTIES_USE_SERVER_PREP_STMTS=true
- FINERACT_HIKARI_DS_PROPERTIES_USE_LOCAL_SESSION_STATE=true
- FINERACT_HIKARI_DS_PROPERTIES_REWRITE_BATCHED_STATEMENTS=true
- FINERACT_HIKARI_DS_PROPERTIES_CACHE_RESULT_SET_METADATA=true
- FINERACT_HIKARI_DS_PROPERTIES_CACHE_SERVER_CONFIGURATION=true
- FINERACT_HIKARI_DS_PROPERTIES_ELIDE_SET_AUTO_COMMITS=true
- FINERACT_HIKARI_DS_PROPERTIES_MAINTAIN_TIME_STATS=false
- FINERACT_HIKARI_DS_PROPERTIES_LOG_SLOW_QUERIES=true
- FINERACT_HIKARI_DS_PROPERTIES_DUMP_QUERIES_IN_EXCEPTION=true
# NOTE: env vars prefixed "FINERACT_DEFAULT_TENANTDB_*" are used to create the default tenant database
- FINERACT_DEFAULT_TENANTDB_HOSTNAME=fineractmysql
- FINERACT_DEFAULT_TENANTDB_PORT=3306
- FINERACT_DEFAULT_TENANTDB_UID=root
- FINERACT_DEFAULT_TENANTDB_PWD=skdcnwauicn2ucnaecasdsajdnizucawencascdca
- FINERACT_DEFAULT_TENANTDB_CONN_PARAMS=
- FINERACT_DEFAULT_TENANTDB_TIMEZONE=Asia/Kolkata
- FINERACT_DEFAULT_TENANTDB_IDENTIFIER=default
- FINERACT_DEFAULT_TENANTDB_NAME=fineract_default
- FINERACT_DEFAULT_TENANTDB_DESCRIPTION=Default Demo Tenant
- JAVA_TOOL_OPTIONS="-Xmx1G"
+1 -1
View File
@@ -16,7 +16,7 @@
# under the License.
#
version: '3.7'
version: "3.8"
services:
# Frontend service
community-app:
+39
View File
@@ -0,0 +1,39 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
# You can replace and test a more recent version of docker compose
version: "3.8"
services:
db:
extends:
file: ./config/docker/compose/mariadb.yml
service: mariadb
fineract:
extends:
file: ./config/docker/compose/fineract-custom.yml
service: fineract
ports:
- "8443:8443"
depends_on:
db:
condition: service_healthy
env_file:
- ./config/docker/env/fineract.env
- ./config/docker/env/fineract-common.env
- ./config/docker/env/fineract-mariadb.env
+90
View File
@@ -0,0 +1,90 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
x-logging: &default-logging
driver: loki
options:
loki-url: 'http://localhost:3100/api/prom/push'
loki-pipeline-stages: |
- multiline:
firstline: '^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}.\d{3}'
max_wait_time: 3s
- regex:
expression: '^(?P<date>\d{4}-\d{2}-\d{2}) (?P<time>\d{2}:\d{2}:\d{2}.\d{3}) (?P<message>(?s:.*))$$'
version: "3.8"
services:
loki:
extends:
file: ./config/docker/compose/observability.yml
service: loki
prometheus:
extends:
file: ./config/docker/compose/observability.yml
service: prometheus
depends_on:
- loki
grafana:
extends:
file: ./config/docker/compose/observability.yml
service: grafana
depends_on:
- loki
tempo:
extends:
file: ./config/docker/compose/observability.yml
service: tempo
depends_on:
- loki
db:
extends:
file: ./config/docker/compose/mariadb.yml
service: mariadb
depends_on:
- loki
logging: *default-logging
fineract:
container_name: fineract-development
extends:
file: ./config/docker/compose/fineract.yml
service: fineract
ports:
- "8443:8443"
- "5000:5000"
depends_on:
db:
condition: service_healthy
loki:
condition: service_started
env_file:
- ./config/docker/env/aws.env
- ./config/docker/env/fineract.env
- ./config/docker/env/fineract-common.env
- ./config/docker/env/fineract-mariadb.env
- ./config/docker/env/tracing.env
- ./config/docker/env/oltp.env
- ./config/docker/env/prometheus.env
# - ./config/docker/env/cloudwatch.env
- ./config/docker/env/debug.env
logging: *default-logging
+31 -125
View File
@@ -16,142 +16,48 @@
# under the License.
#
# You can replace and test a more recent version of docker compose
version: '3.7'
version: "3.8"
services:
activemq:
image: rmohr/activemq:5.15.9-alpine
ports:
- 6161:6161
- 61616:61616
# Backend service
fineractpostgresql:
image: postgres:15.3
volumes:
- ./fineract-db/docker/postgresql:/docker-entrypoint-initdb.d/:Z,ro
restart: always
environment:
POSTGRES_USER: root
POSTGRES_PASSWORD: skdcnwauicn2ucnaecasdsajdnizucawencascdca
FINERACT_DB_USER: postgres
FINERACT_DB_PASS: skdcnwauicn2ucnaecasdsajdnizucawencascdca
FINERACT_TENANTS_DB_NAME: fineract_tenants
FINERACT_TENANT_DEFAULT_DB_NAME: fineract_default
healthcheck:
test: [ "CMD", "pg_isready", "-q", "-d", "postgres", "-U", "root" ]
timeout: 10s
retries: 10
ports:
- "5432:5432"
extends:
file: ./config/docker/compose/activemq.yml
service: activemq
db:
extends:
file: ./config/docker/compose/postgresql.yml
service: postgresql
fineract-manager:
image: fineract:latest
volumes:
- ./fineract-provider/build/data:/data
healthcheck:
test: ["CMD", 'sh', '-c', 'echo -e "Checking for the availability of Fineract server deployment"; while ! nc -z "fineract-server" 8443; do sleep 1; printf "-"; done; echo -e " >> Fineract server has started";' ]
timeout: 10s
retries: 10
extends:
file: ./config/docker/compose/fineract.yml
service: fineract
ports:
- 8443:8443
- "8443:8443"
depends_on:
fineractpostgresql:
db:
condition: service_healthy
environment:
- FINERACT_NODE_ID=1
- FINERACT_HIKARI_DRIVER_SOURCE_CLASS_NAME=org.postgresql.Driver
- FINERACT_HIKARI_JDBC_URL=jdbc:postgresql://fineractpostgresql:5432/fineract_tenants
- FINERACT_HIKARI_USERNAME=postgres
- FINERACT_HIKARI_PASSWORD=skdcnwauicn2ucnaecasdsajdnizucawencascdca
- FINERACT_HIKARI_MINIMUM_IDLE=3
- FINERACT_HIKARI_MAXIMUM_POOL_SIZE=10
- FINERACT_HIKARI_IDLE_TIMEOUT=60000
- FINERACT_HIKARI_CONNECTION_TIMEOUT=20000
- FINERACT_HIKARI_TEST_QUERY=SELECT 1
- FINERACT_HIKARI_AUTO_COMMIT=true
- FINERACT_SERVER_SSL_ENABLED=true
- FINERACT_HIKARI_DS_PROPERTIES_CACHE_PREP_STMTS=true
- FINERACT_HIKARI_DS_PROPERTIES_PREP_STMT_CACHE_SIZE=250
- FINERACT_HIKARI_DS_PROPERTIES_PREP_STMT_CACHE_SQL_LIMIT=2048
- FINERACT_HIKARI_DS_PROPERTIES_USE_SERVER_PREP_STMTS=true
- FINERACT_HIKARI_DS_PROPERTIES_USE_LOCAL_SESSION_STATE=true
- FINERACT_HIKARI_DS_PROPERTIES_REWRITE_BATCHED_STATEMENTS=true
- FINERACT_HIKARI_DS_PROPERTIES_CACHE_RESULT_SET_METADATA=true
- FINERACT_HIKARI_DS_PROPERTIES_CACHE_SERVER_CONFIGURATION=true
- FINERACT_HIKARI_DS_PROPERTIES_ELIDE_SET_AUTO_COMMITS=true
- FINERACT_HIKARI_DS_PROPERTIES_MAINTAIN_TIME_STATS=false
- FINERACT_HIKARI_DS_PROPERTIES_LOG_SLOW_QUERIES=true
- FINERACT_HIKARI_DS_PROPERTIES_DUMP_QUERIES_IN_EXCEPTION=true
- FINERACT_DEFAULT_TENANTDB_HOSTNAME=fineractpostgresql
- FINERACT_DEFAULT_TENANTDB_PORT=5432
- FINERACT_DEFAULT_TENANTDB_UID=postgres
- FINERACT_DEFAULT_TENANTDB_PWD=skdcnwauicn2ucnaecasdsajdnizucawencascdca
- FINERACT_DEFAULT_TENANTDB_CONN_PARAMS=
- FINERACT_DEFAULT_TENANTDB_TIMEZONE=Asia/Kolkata
- FINERACT_DEFAULT_TENANTDB_IDENTIFIER=default
- FINERACT_DEFAULT_TENANTDB_NAME=fineract_default
- FINERACT_DEFAULT_TENANTDB_DESCRIPTION=Default Demo Tenant
- JAVA_TOOL_OPTIONS="-Xmx1G"
- FINERACT_REMOTE_JOB_MESSAGE_HANDLER_JMS_ENABLED=true
- FINERACT_REMOTE_JOB_MESSAGE_HANDLER_SPRING_EVENTS_ENABLED=false
- FINERACT_MODE_BATCH_MANAGER_ENABLED=true
- FINERACT_MODE_BATCH_WORKER_ENABLED=false
- FINERACT_REMOTE_JOB_MESSAGE_HANDLER_JMS_BROKER_URL=tcp://activemq:61616
- LOAN_COB_CHUNK_SIZE=10
- LOAN_COB_PARTITION_SIZE=10
- SPRING_PROFILES_ACTIVE=test,diagnostics
env_file:
- ./config/docker/env/fineract-manager.env
- ./config/docker/env/fineract-common.env
- ./config/docker/env/fineract-postgresql.env
- ./config/docker/env/activemq.env
fineract-worker:
image: fineract:latest
volumes:
- ./fineract-provider/build/data:/data
extends:
file: ./config/docker/compose/fineract.yml
service: fineract
deploy:
mode: replicated
replicas: 2
healthcheck:
test: ["CMD", 'sh', '-c', 'echo -e "Checking for the availability of Fineract server deployment"; while ! nc -z "fineract-server" 8443; do sleep 1; printf "-"; done; echo -e " >> Fineract server has started";' ]
timeout: 10s
retries: 10
ports:
- "8444-8445:8443"
depends_on:
fineractpostgresql:
fineract-manager:
condition: service_healthy
environment:
- FINERACT_NODE_ID=2
- FINERACT_HIKARI_DRIVER_SOURCE_CLASS_NAME=org.postgresql.Driver
- FINERACT_HIKARI_JDBC_URL=jdbc:postgresql://fineractpostgresql:5432/fineract_tenants
- FINERACT_HIKARI_USERNAME=postgres
- FINERACT_HIKARI_PASSWORD=skdcnwauicn2ucnaecasdsajdnizucawencascdca
- FINERACT_HIKARI_MINIMUM_IDLE=3
- FINERACT_HIKARI_MAXIMUM_POOL_SIZE=10
- FINERACT_HIKARI_IDLE_TIMEOUT=60000
- FINERACT_HIKARI_CONNECTION_TIMEOUT=20000
- FINERACT_HIKARI_TEST_QUERY=SELECT 1
- FINERACT_HIKARI_AUTO_COMMIT=true
- FINERACT_SERVER_SSL_ENABLED=true
- FINERACT_HIKARI_DS_PROPERTIES_CACHE_PREP_STMTS=true
- FINERACT_HIKARI_DS_PROPERTIES_PREP_STMT_CACHE_SIZE=250
- FINERACT_HIKARI_DS_PROPERTIES_PREP_STMT_CACHE_SQL_LIMIT=2048
- FINERACT_HIKARI_DS_PROPERTIES_USE_SERVER_PREP_STMTS=true
- FINERACT_HIKARI_DS_PROPERTIES_USE_LOCAL_SESSION_STATE=true
- FINERACT_HIKARI_DS_PROPERTIES_REWRITE_BATCHED_STATEMENTS=true
- FINERACT_HIKARI_DS_PROPERTIES_CACHE_RESULT_SET_METADATA=true
- FINERACT_HIKARI_DS_PROPERTIES_CACHE_SERVER_CONFIGURATION=true
- FINERACT_HIKARI_DS_PROPERTIES_ELIDE_SET_AUTO_COMMITS=true
- FINERACT_HIKARI_DS_PROPERTIES_MAINTAIN_TIME_STATS=false
- FINERACT_HIKARI_DS_PROPERTIES_LOG_SLOW_QUERIES=true
- FINERACT_HIKARI_DS_PROPERTIES_DUMP_QUERIES_IN_EXCEPTION=true
- FINERACT_DEFAULT_TENANTDB_HOSTNAME=fineractpostgresql
- FINERACT_DEFAULT_TENANTDB_PORT=5432
- FINERACT_DEFAULT_TENANTDB_UID=postgres
- FINERACT_DEFAULT_TENANTDB_PWD=skdcnwauicn2ucnaecasdsajdnizucawencascdca
- FINERACT_DEFAULT_TENANTDB_CONN_PARAMS=
- FINERACT_DEFAULT_TENANTDB_TIMEZONE=Asia/Kolkata
- FINERACT_DEFAULT_TENANTDB_IDENTIFIER=default
- FINERACT_DEFAULT_TENANTDB_NAME=fineract_default
- FINERACT_DEFAULT_TENANTDB_DESCRIPTION=Default Demo Tenant
- JAVA_TOOL_OPTIONS="-Xmx1G"
- FINERACT_REMOTE_JOB_MESSAGE_HANDLER_JMS_ENABLED=true
- FINERACT_REMOTE_JOB_MESSAGE_HANDLER_SPRING_EVENTS_ENABLED=false
- FINERACT_MODE_BATCH_MANAGER_ENABLED=false
- FINERACT_MODE_BATCH_WORKER_ENABLED=true
- FINERACT_REMOTE_JOB_MESSAGE_HANDLER_JMS_BROKER_URL=tcp://activemq:61616
env_file:
- ./config/docker/env/fineract-worker.env
- ./config/docker/env/fineract-common.env
- ./config/docker/env/fineract-postgresql.env
- ./config/docker/env/activemq.env
+29 -151
View File
@@ -16,167 +16,45 @@
# under the License.
#
# You can replace and test a more recent version of docker compose
version: '3.7'
version: "3.8"
services:
# Backend service
fineractpostgresql:
image: postgres:15.3
volumes:
- ./fineract-db/docker/postgresql:/docker-entrypoint-initdb.d/:Z,ro
environment:
POSTGRES_USER: root
POSTGRES_PASSWORD: skdcnwauicn2ucnaecasdsajdnizucawencascdca
FINERACT_DB_USER: postgres
FINERACT_DB_PASS: skdcnwauicn2ucnaecasdsajdnizucawencascdca
FINERACT_TENANTS_DB_NAME: fineract_tenants
FINERACT_TENANT_DEFAULT_DB_NAME: fineract_default
healthcheck:
test: [ "CMD", "pg_isready", "-q", "-d", "postgres", "-U", "root" ]
timeout: 10s
retries: 10
ports:
- "5432:5432"
db:
extends:
file: ./config/docker/compose/postgresql.yml
service: postgresql
fineract-manager:
image: fineract:latest
volumes:
- ./fineract-provider/build/data:/data
healthcheck:
test: ["CMD", 'sh', '-c', 'echo -e "Checking for the availability of Fineract server deployment"; while ! nc -z "fineract-server" 8443; do sleep 1; printf "-"; done; echo -e " >> Fineract server has started";' ]
timeout: 10s
retries: 10
extends:
file: ./config/docker/compose/fineract.yml
service: fineract
ports:
- 8443:8443
- "8443:8443"
depends_on:
fineractpostgresql:
db:
condition: service_healthy
environment:
- AWS_ACCESS_KEY_ID=
- AWS_SECRET_ACCESS_KEY=
- FINERACT_NODE_ID=1
- FINERACT_HIKARI_DRIVER_SOURCE_CLASS_NAME=org.postgresql.Driver
- FINERACT_HIKARI_JDBC_URL=jdbc:postgresql://fineractpostgresql:5432/fineract_tenants
- FINERACT_HIKARI_USERNAME=postgres
- FINERACT_HIKARI_PASSWORD=skdcnwauicn2ucnaecasdsajdnizucawencascdca
- FINERACT_HIKARI_MINIMUM_IDLE=3
- FINERACT_HIKARI_MAXIMUM_POOL_SIZE=10
- FINERACT_HIKARI_IDLE_TIMEOUT=60000
- FINERACT_HIKARI_CONNECTION_TIMEOUT=20000
- FINERACT_HIKARI_TEST_QUERY=SELECT 1
- FINERACT_HIKARI_AUTO_COMMIT=true
- FINERACT_SERVER_SSL_ENABLED=true
- FINERACT_HIKARI_DS_PROPERTIES_CACHE_PREP_STMTS=true
- FINERACT_HIKARI_DS_PROPERTIES_PREP_STMT_CACHE_SIZE=250
- FINERACT_HIKARI_DS_PROPERTIES_PREP_STMT_CACHE_SQL_LIMIT=2048
- FINERACT_HIKARI_DS_PROPERTIES_USE_SERVER_PREP_STMTS=true
- FINERACT_HIKARI_DS_PROPERTIES_USE_LOCAL_SESSION_STATE=true
- FINERACT_HIKARI_DS_PROPERTIES_REWRITE_BATCHED_STATEMENTS=true
- FINERACT_HIKARI_DS_PROPERTIES_CACHE_RESULT_SET_METADATA=true
- FINERACT_HIKARI_DS_PROPERTIES_CACHE_SERVER_CONFIGURATION=true
- FINERACT_HIKARI_DS_PROPERTIES_ELIDE_SET_AUTO_COMMITS=true
- FINERACT_HIKARI_DS_PROPERTIES_MAINTAIN_TIME_STATS=false
- FINERACT_HIKARI_DS_PROPERTIES_LOG_SLOW_QUERIES=true
- FINERACT_HIKARI_DS_PROPERTIES_DUMP_QUERIES_IN_EXCEPTION=true
- FINERACT_DEFAULT_TENANTDB_HOSTNAME=fineractpostgresql
- FINERACT_DEFAULT_TENANTDB_PORT=5432
- FINERACT_DEFAULT_TENANTDB_UID=postgres
- FINERACT_DEFAULT_TENANTDB_PWD=skdcnwauicn2ucnaecasdsajdnizucawencascdca
- FINERACT_DEFAULT_TENANTDB_CONN_PARAMS=
- FINERACT_DEFAULT_TENANTDB_TIMEZONE=Asia/Kolkata
- FINERACT_DEFAULT_TENANTDB_IDENTIFIER=default
- FINERACT_DEFAULT_TENANTDB_NAME=fineract_default
- FINERACT_DEFAULT_TENANTDB_DESCRIPTION=Default Demo Tenant
- JAVA_TOOL_OPTIONS="-Xmx1G"
- FINERACT_REMOTE_JOB_MESSAGE_HANDLER_JMS_ENABLED=false
- FINERACT_REMOTE_JOB_MESSAGE_HANDLER_SPRING_EVENTS_ENABLED=false
- FINERACT_REMOTE_JOB_MESSAGE_HANDLER_KAFKA_ENABLED=true
- FINERACT_REMOTE_JOB_MESSAGE_HANDLER_KAFKA_BOOTSTRAP_SERVERS=b-3-public.democluster1.am2oyx.c4.kafka.eu-central-1.amazonaws.com:9198,b-2-public.democluster1.am2oyx.c4.kafka.eu-central-1.amazonaws.com:9198,b-1-public.democluster1.am2oyx.c4.kafka.eu-central-1.amazonaws.com:9198
- FINERACT_REMOTE_JOB_MESSAGE_HANDLER_KAFKA_ADMIN_EXTRA_PROPERTIES=security.protocol=SASL_SSL|sasl.mechanism=AWS_MSK_IAM|sasl.jaas.config=software.amazon.msk.auth.iam.IAMLoginModule required;|sasl.client.callback.handler.class=software.amazon.msk.auth.iam.IAMClientCallbackHandler
- FINERACT_REMOTE_JOB_MESSAGE_HANDLER_KAFKA_PRODUCER_EXTRA_PROPERTIES=security.protocol=SASL_SSL|sasl.mechanism=AWS_MSK_IAM|sasl.jaas.config=software.amazon.msk.auth.iam.IAMLoginModule required;|sasl.client.callback.handler.class=software.amazon.msk.auth.iam.IAMClientCallbackHandler
- FINERACT_REMOTE_JOB_MESSAGE_HANDLER_KAFKA_CONSUMER_EXTRA_PROPERTIES=security.protocol=SASL_SSL|sasl.mechanism=AWS_MSK_IAM|sasl.jaas.config=software.amazon.msk.auth.iam.IAMLoginModule required;|sasl.client.callback.handler.class=software.amazon.msk.auth.iam.IAMClientCallbackHandler
- FINERACT_REMOTE_JOB_MESSAGE_HANDLER_KAFKA_TOPIC_NAME=job-topic
- FINERACT_REMOTE_JOB_MESSAGE_HANDLER_KAFKA_TOPIC_REPLICAS=2
- FINERACT_MODE_BATCH_MANAGER_ENABLED=true
- FINERACT_MODE_BATCH_WORKER_ENABLED=false
- LOAN_COB_CHUNK_SIZE=10
- LOAN_COB_PARTITION_SIZE=10
- FINERACT_EXTERNAL_EVENTS_ENABLED=true
- FINERACT_EXTERNAL_EVENTS_KAFKA_ENABLED=true
- FINERACT_EXTERNAL_EVENTS_KAFKA_BOOTSTRAP_SERVERS=b-3-public.democluster1.am2oyx.c4.kafka.eu-central-1.amazonaws.com:9198,b-2-public.democluster1.am2oyx.c4.kafka.eu-central-1.amazonaws.com:9198,b-1-public.democluster1.am2oyx.c4.kafka.eu-central-1.amazonaws.com:9198
- FINERACT_EXTERNAL_EVENTS_KAFKA_ADMIN_EXTRA_PROPERTIES=security.protocol=SASL_SSL|sasl.mechanism=AWS_MSK_IAM|sasl.jaas.config=software.amazon.msk.auth.iam.IAMLoginModule required;|sasl.client.callback.handler.class=software.amazon.msk.auth.iam.IAMClientCallbackHandler
- FINERACT_EXTERNAL_EVENTS_KAFKA_PRODUCER_EXTRA_PROPERTIES:linger.ms=10|batch.size=16384|security.protocol=SASL_SSL|sasl.mechanism=AWS_MSK_IAM|sasl.jaas.config=software.amazon.msk.auth.iam.IAMLoginModule required;|sasl.client.callback.handler.class=software.amazon.msk.auth.iam.IAMClientCallbackHandler
- FINERACT_EXTERNAL_EVENTS_KAFKA_TOPIC_NAME=external-events
- FINERACT_EXTERNAL_EVENTS_KAFKA_TOPIC_REPLICAS=2
- SPRING_PROFILES_ACTIVE=test,diagnostics
env_file:
- ./config/docker/env/fineract-manager.env
- ./config/docker/env/fineract-common.env
- ./config/docker/env/fineract-postgresql.env
- ./config/docker/env/aws.env
- ./config/docker/env/kafka-client-msk.env
fineract-worker:
image: fineract:latest
volumes:
- ./fineract-provider/build/data:/data
extends:
file: ./config/docker/compose/fineract.yml
service: fineract
deploy:
mode: replicated
replicas: 2
healthcheck:
test: ["CMD", 'sh', '-c', 'echo -e "Checking for the availability of Fineract server deployment"; while ! nc -z "fineract-server" 8443; do sleep 1; printf "-"; done; echo -e " >> Fineract server has started";' ]
timeout: 10s
retries: 10
ports:
- "8444-8445:8443"
depends_on:
fineractpostgresql:
fineract-manager:
condition: service_healthy
environment:
- AWS_ACCESS_KEY_ID=
- AWS_SECRET_ACCESS_KEY=
- FINERACT_NODE_ID=1
- FINERACT_HIKARI_DRIVER_SOURCE_CLASS_NAME=org.postgresql.Driver
- FINERACT_HIKARI_JDBC_URL=jdbc:postgresql://fineractpostgresql:5432/fineract_tenants
- FINERACT_HIKARI_USERNAME=postgres
- FINERACT_HIKARI_PASSWORD=skdcnwauicn2ucnaecasdsajdnizucawencascdca
- FINERACT_HIKARI_MINIMUM_IDLE=3
- FINERACT_HIKARI_MAXIMUM_POOL_SIZE=10
- FINERACT_HIKARI_IDLE_TIMEOUT=60000
- FINERACT_HIKARI_CONNECTION_TIMEOUT=20000
- FINERACT_HIKARI_TEST_QUERY=SELECT 1
- FINERACT_HIKARI_AUTO_COMMIT=true
- FINERACT_SERVER_SSL_ENABLED=true
- FINERACT_HIKARI_DS_PROPERTIES_CACHE_PREP_STMTS=true
- FINERACT_HIKARI_DS_PROPERTIES_PREP_STMT_CACHE_SIZE=250
- FINERACT_HIKARI_DS_PROPERTIES_PREP_STMT_CACHE_SQL_LIMIT=2048
- FINERACT_HIKARI_DS_PROPERTIES_USE_SERVER_PREP_STMTS=true
- FINERACT_HIKARI_DS_PROPERTIES_USE_LOCAL_SESSION_STATE=true
- FINERACT_HIKARI_DS_PROPERTIES_REWRITE_BATCHED_STATEMENTS=true
- FINERACT_HIKARI_DS_PROPERTIES_CACHE_RESULT_SET_METADATA=true
- FINERACT_HIKARI_DS_PROPERTIES_CACHE_SERVER_CONFIGURATION=true
- FINERACT_HIKARI_DS_PROPERTIES_ELIDE_SET_AUTO_COMMITS=true
- FINERACT_HIKARI_DS_PROPERTIES_MAINTAIN_TIME_STATS=false
- FINERACT_HIKARI_DS_PROPERTIES_LOG_SLOW_QUERIES=true
- FINERACT_HIKARI_DS_PROPERTIES_DUMP_QUERIES_IN_EXCEPTION=true
- FINERACT_DEFAULT_TENANTDB_HOSTNAME=fineractpostgresql
- FINERACT_DEFAULT_TENANTDB_PORT=5432
- FINERACT_DEFAULT_TENANTDB_UID=postgres
- FINERACT_DEFAULT_TENANTDB_PWD=skdcnwauicn2ucnaecasdsajdnizucawencascdca
- FINERACT_DEFAULT_TENANTDB_CONN_PARAMS=
- FINERACT_DEFAULT_TENANTDB_TIMEZONE=Asia/Kolkata
- FINERACT_DEFAULT_TENANTDB_IDENTIFIER=default
- FINERACT_DEFAULT_TENANTDB_NAME=fineract_default
- FINERACT_DEFAULT_TENANTDB_DESCRIPTION=Default Demo Tenant
- JAVA_TOOL_OPTIONS="-Xmx1G"
- FINERACT_MODE_BATCH_MANAGER_ENABLED=false
- FINERACT_MODE_BATCH_WORKER_ENABLED=true
- FINERACT_REMOTE_JOB_MESSAGE_HANDLER_JMS_ENABLED=false
- FINERACT_REMOTE_JOB_MESSAGE_HANDLER_SPRING_EVENTS_ENABLED=false
- FINERACT_REMOTE_JOB_MESSAGE_HANDLER_KAFKA_ENABLED=true
- FINERACT_REMOTE_JOB_MESSAGE_HANDLER_KAFKA_BOOTSTRAP_SERVERS=b-3-public.democluster1.am2oyx.c4.kafka.eu-central-1.amazonaws.com:9198,b-2-public.democluster1.am2oyx.c4.kafka.eu-central-1.amazonaws.com:9198,b-1-public.democluster1.am2oyx.c4.kafka.eu-central-1.amazonaws.com:9198
- FINERACT_REMOTE_JOB_MESSAGE_HANDLER_KAFKA_ADMIN_EXTRA_PROPERTIES=security.protocol=SASL_SSL|sasl.mechanism=AWS_MSK_IAM|sasl.jaas.config=software.amazon.msk.auth.iam.IAMLoginModule required;|sasl.client.callback.handler.class=software.amazon.msk.auth.iam.IAMClientCallbackHandler
- FINERACT_REMOTE_JOB_MESSAGE_HANDLER_KAFKA_PRODUCER_EXTRA_PROPERTIES=security.protocol=SASL_SSL|sasl.mechanism=AWS_MSK_IAM|sasl.jaas.config=software.amazon.msk.auth.iam.IAMLoginModule required;|sasl.client.callback.handler.class=software.amazon.msk.auth.iam.IAMClientCallbackHandler
- FINERACT_REMOTE_JOB_MESSAGE_HANDLER_KAFKA_CONSUMER_EXTRA_PROPERTIES=security.protocol=SASL_SSL|sasl.mechanism=AWS_MSK_IAM|sasl.jaas.config=software.amazon.msk.auth.iam.IAMLoginModule required;|sasl.client.callback.handler.class=software.amazon.msk.auth.iam.IAMClientCallbackHandler
- FINERACT_REMOTE_JOB_MESSAGE_HANDLER_KAFKA_TOPIC_NAME=job-topic
- FINERACT_REMOTE_JOB_MESSAGE_HANDLER_KAFKA_TOPIC_REPLICAS=2
- FINERACT_EXTERNAL_EVENTS_ENABLED=true
- FINERACT_EXTERNAL_EVENTS_KAFKA_ENABLED=true
- FINERACT_EXTERNAL_EVENTS_KAFKA_BOOTSTRAP_SERVERS=b-3-public.democluster1.am2oyx.c4.kafka.eu-central-1.amazonaws.com:9198,b-2-public.democluster1.am2oyx.c4.kafka.eu-central-1.amazonaws.com:9198,b-1-public.democluster1.am2oyx.c4.kafka.eu-central-1.amazonaws.com:9198
- FINERACT_EXTERNAL_EVENTS_KAFKA_ADMIN_EXTRA_PROPERTIES=security.protocol=SASL_SSL|sasl.mechanism=AWS_MSK_IAM|sasl.jaas.config=software.amazon.msk.auth.iam.IAMLoginModule required;|sasl.client.callback.handler.class=software.amazon.msk.auth.iam.IAMClientCallbackHandler
- FINERACT_EXTERNAL_EVENTS_KAFKA_PRODUCER_EXTRA_PROPERTIES:linger.ms=10|batch.size=16384|security.protocol=SASL_SSL|sasl.mechanism=AWS_MSK_IAM|sasl.jaas.config=software.amazon.msk.auth.iam.IAMLoginModule required;|sasl.client.callback.handler.class=software.amazon.msk.auth.iam.IAMClientCallbackHandler
- FINERACT_EXTERNAL_EVENTS_KAFKA_TOPIC_NAME=external-events
- FINERACT_EXTERNAL_EVENTS_KAFKA_TOPIC_REPLICAS=2
- SPRING_PROFILES_ACTIVE=test,diagnostics
env_file:
- ./config/docker/env/fineract-worker.env
- ./config/docker/env/fineract-common.env
- ./config/docker/env/fineract-postgresql.env
- ./config/docker/env/aws.env
- ./config/docker/env/kafka-client-msk.env
+33 -143
View File
@@ -17,161 +17,51 @@
#
# You can replace and test a more recent version of docker compose
version: '3.7'
version: "3.7"
services:
kafka:
image: 'bitnami/kafka:3.5.1-debian-11-r7'
image: "bitnami/kafka:3.5.1-debian-11-r7"
ports:
- '9092:9092'
environment:
- KAFKA_CFG_NODE_ID=0
- KAFKA_CFG_PROCESS_ROLES=controller,broker
- KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093
- KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT
- KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=0@kafka:9093
- KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER
- ALLOW_PLAINTEXT_LISTENER=yes
- KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://kafka:9092
# Backend service
fineractpostgresql:
image: postgres:15.3
volumes:
- ./fineract-db/docker/postgresql:/docker-entrypoint-initdb.d/:Z,ro
environment:
POSTGRES_USER: root
POSTGRES_PASSWORD: skdcnwauicn2ucnaecasdsajdnizucawencascdca
FINERACT_DB_USER: postgres
FINERACT_DB_PASS: skdcnwauicn2ucnaecasdsajdnizucawencascdca
FINERACT_TENANTS_DB_NAME: fineract_tenants
FINERACT_TENANT_DEFAULT_DB_NAME: fineract_default
healthcheck:
test: [ "CMD", "pg_isready", "-q", "-d", "postgres", "-U", "root" ]
timeout: 10s
retries: 10
ports:
- "5432:5432"
- "9092:9092"
env_file:
- ./config/docker/env/kafka-server.env
db:
extends:
file: ./config/docker/compose/postgresql.yml
service: postgresql
fineract-manager:
image: fineract:latest
volumes:
- ./fineract-provider/build/data:/data
healthcheck:
test: ["CMD", 'sh', '-c', 'echo -e "Checking for the availability of Fineract server deployment"; while ! nc -z "fineract-server" 8443; do sleep 1; printf "-"; done; echo -e " >> Fineract server has started";' ]
timeout: 10s
retries: 10
extends:
file: ./config/docker/compose/fineract.yml
service: fineract
ports:
- 8443:8443
- "8443:8443"
depends_on:
fineractpostgresql:
db:
condition: service_healthy
environment:
- FINERACT_NODE_ID=1
- FINERACT_HIKARI_DRIVER_SOURCE_CLASS_NAME=org.postgresql.Driver
- FINERACT_HIKARI_JDBC_URL=jdbc:postgresql://fineractpostgresql:5432/fineract_tenants
- FINERACT_HIKARI_USERNAME=postgres
- FINERACT_HIKARI_PASSWORD=skdcnwauicn2ucnaecasdsajdnizucawencascdca
- FINERACT_HIKARI_MINIMUM_IDLE=3
- FINERACT_HIKARI_MAXIMUM_POOL_SIZE=10
- FINERACT_HIKARI_IDLE_TIMEOUT=60000
- FINERACT_HIKARI_CONNECTION_TIMEOUT=20000
- FINERACT_HIKARI_TEST_QUERY=SELECT 1
- FINERACT_HIKARI_AUTO_COMMIT=true
- FINERACT_SERVER_SSL_ENABLED=true
- FINERACT_HIKARI_DS_PROPERTIES_CACHE_PREP_STMTS=true
- FINERACT_HIKARI_DS_PROPERTIES_PREP_STMT_CACHE_SIZE=250
- FINERACT_HIKARI_DS_PROPERTIES_PREP_STMT_CACHE_SQL_LIMIT=2048
- FINERACT_HIKARI_DS_PROPERTIES_USE_SERVER_PREP_STMTS=true
- FINERACT_HIKARI_DS_PROPERTIES_USE_LOCAL_SESSION_STATE=true
- FINERACT_HIKARI_DS_PROPERTIES_REWRITE_BATCHED_STATEMENTS=true
- FINERACT_HIKARI_DS_PROPERTIES_CACHE_RESULT_SET_METADATA=true
- FINERACT_HIKARI_DS_PROPERTIES_CACHE_SERVER_CONFIGURATION=true
- FINERACT_HIKARI_DS_PROPERTIES_ELIDE_SET_AUTO_COMMITS=true
- FINERACT_HIKARI_DS_PROPERTIES_MAINTAIN_TIME_STATS=false
- FINERACT_HIKARI_DS_PROPERTIES_LOG_SLOW_QUERIES=true
- FINERACT_HIKARI_DS_PROPERTIES_DUMP_QUERIES_IN_EXCEPTION=true
- FINERACT_DEFAULT_TENANTDB_HOSTNAME=fineractpostgresql
- FINERACT_DEFAULT_TENANTDB_PORT=5432
- FINERACT_DEFAULT_TENANTDB_UID=postgres
- FINERACT_DEFAULT_TENANTDB_PWD=skdcnwauicn2ucnaecasdsajdnizucawencascdca
- FINERACT_DEFAULT_TENANTDB_CONN_PARAMS=
- FINERACT_DEFAULT_TENANTDB_TIMEZONE=Asia/Kolkata
- FINERACT_DEFAULT_TENANTDB_IDENTIFIER=default
- FINERACT_DEFAULT_TENANTDB_NAME=fineract_default
- FINERACT_DEFAULT_TENANTDB_DESCRIPTION=Default Demo Tenant
- JAVA_TOOL_OPTIONS="-Xmx1G"
- FINERACT_REMOTE_JOB_MESSAGE_HANDLER_JMS_ENABLED=false
- FINERACT_REMOTE_JOB_MESSAGE_HANDLER_SPRING_EVENTS_ENABLED=false
- FINERACT_REMOTE_JOB_MESSAGE_HANDLER_KAFKA_ENABLED=true
- FINERACT_REMOTE_JOB_MESSAGE_HANDLER_KAFKA_BOOTSTRAP_SERVERS=kafka:9092
- FINERACT_REMOTE_JOB_MESSAGE_HANDLER_KAFKA_TOPIC_NAME=job-topic
- FINERACT_MODE_BATCH_MANAGER_ENABLED=true
- FINERACT_MODE_BATCH_WORKER_ENABLED=false
- LOAN_COB_CHUNK_SIZE=10
- LOAN_COB_PARTITION_SIZE=10
- FINERACT_EXTERNAL_EVENTS_ENABLED=true
- FINERACT_EXTERNAL_EVENTS_KAFKA_ENABLED=true
- FINERACT_EXTERNAL_EVENTS_KAFKA_BOOTSTRAP_SERVERS=kafka:9092
- FINERACT_EXTERNAL_EVENTS_KAFKA_TOPIC_NAME=external-events
- SPRING_PROFILES_ACTIVE=test,diagnostics
kafka:
condition: service_started
env_file:
- ./config/docker/env/fineract-manager.env
- ./config/docker/env/fineract-common.env
- ./config/docker/env/fineract-postgresql.env
- ./config/docker/env/kafka-client.env
fineract-worker:
image: fineract:latest
volumes:
- ./fineract-provider/build/data:/data
extends:
file: ./config/docker/compose/fineract.yml
service: fineract
deploy:
mode: replicated
replicas: 2
healthcheck:
test: ["CMD", 'sh', '-c', 'echo -e "Checking for the availability of Fineract server deployment"; while ! nc -z "fineract-server" 8443; do sleep 1; printf "-"; done; echo -e " >> Fineract server has started";' ]
timeout: 10s
retries: 10
ports:
- "8444-8445:8443"
depends_on:
fineractpostgresql:
fineract-manager:
condition: service_healthy
environment:
- FINERACT_NODE_ID=1
- FINERACT_HIKARI_DRIVER_SOURCE_CLASS_NAME=org.postgresql.Driver
- FINERACT_HIKARI_JDBC_URL=jdbc:postgresql://fineractpostgresql:5432/fineract_tenants
- FINERACT_HIKARI_USERNAME=postgres
- FINERACT_HIKARI_PASSWORD=skdcnwauicn2ucnaecasdsajdnizucawencascdca
- FINERACT_HIKARI_MINIMUM_IDLE=3
- FINERACT_HIKARI_MAXIMUM_POOL_SIZE=10
- FINERACT_HIKARI_IDLE_TIMEOUT=60000
- FINERACT_HIKARI_CONNECTION_TIMEOUT=20000
- FINERACT_HIKARI_TEST_QUERY=SELECT 1
- FINERACT_HIKARI_AUTO_COMMIT=true
- FINERACT_SERVER_SSL_ENABLED=true
- FINERACT_HIKARI_DS_PROPERTIES_CACHE_PREP_STMTS=true
- FINERACT_HIKARI_DS_PROPERTIES_PREP_STMT_CACHE_SIZE=250
- FINERACT_HIKARI_DS_PROPERTIES_PREP_STMT_CACHE_SQL_LIMIT=2048
- FINERACT_HIKARI_DS_PROPERTIES_USE_SERVER_PREP_STMTS=true
- FINERACT_HIKARI_DS_PROPERTIES_USE_LOCAL_SESSION_STATE=true
- FINERACT_HIKARI_DS_PROPERTIES_REWRITE_BATCHED_STATEMENTS=true
- FINERACT_HIKARI_DS_PROPERTIES_CACHE_RESULT_SET_METADATA=true
- FINERACT_HIKARI_DS_PROPERTIES_CACHE_SERVER_CONFIGURATION=true
- FINERACT_HIKARI_DS_PROPERTIES_ELIDE_SET_AUTO_COMMITS=true
- FINERACT_HIKARI_DS_PROPERTIES_MAINTAIN_TIME_STATS=false
- FINERACT_HIKARI_DS_PROPERTIES_LOG_SLOW_QUERIES=true
- FINERACT_HIKARI_DS_PROPERTIES_DUMP_QUERIES_IN_EXCEPTION=true
- FINERACT_DEFAULT_TENANTDB_HOSTNAME=fineractpostgresql
- FINERACT_DEFAULT_TENANTDB_PORT=5432
- FINERACT_DEFAULT_TENANTDB_UID=postgres
- FINERACT_DEFAULT_TENANTDB_PWD=skdcnwauicn2ucnaecasdsajdnizucawencascdca
- FINERACT_DEFAULT_TENANTDB_CONN_PARAMS=
- FINERACT_DEFAULT_TENANTDB_TIMEZONE=Asia/Kolkata
- FINERACT_DEFAULT_TENANTDB_IDENTIFIER=default
- FINERACT_DEFAULT_TENANTDB_NAME=fineract_default
- FINERACT_DEFAULT_TENANTDB_DESCRIPTION=Default Demo Tenant
- JAVA_TOOL_OPTIONS="-Xmx1G"
- FINERACT_MODE_BATCH_MANAGER_ENABLED=false
- FINERACT_MODE_BATCH_WORKER_ENABLED=true
- FINERACT_REMOTE_JOB_MESSAGE_HANDLER_JMS_ENABLED=false
- FINERACT_REMOTE_JOB_MESSAGE_HANDLER_SPRING_EVENTS_ENABLED=false
- FINERACT_REMOTE_JOB_MESSAGE_HANDLER_KAFKA_ENABLED=true
- FINERACT_REMOTE_JOB_MESSAGE_HANDLER_KAFKA_BOOTSTRAP_SERVERS=kafka:9092
- FINERACT_REMOTE_JOB_MESSAGE_HANDLER_KAFKA_TOPIC_NAME=job-topic
- FINERACT_EXTERNAL_EVENTS_ENABLED=true
- FINERACT_EXTERNAL_EVENTS_KAFKA_ENABLED=true
- FINERACT_EXTERNAL_EVENTS_KAFKA_BOOTSTRAP_SERVERS=kafka:9092
- FINERACT_EXTERNAL_EVENTS_KAFKA_TOPIC_NAME=external-events
- SPRING_PROFILES_ACTIVE=test,diagnostics
env_file:
- ./config/docker/env/fineract-worker.env
- ./config/docker/env/fineract-common.env
- ./config/docker/env/fineract-postgresql.env
- ./config/docker/env/kafka-client.env
+18 -74
View File
@@ -16,81 +16,25 @@
# under the License.
#
# You can replace and test a more recent version of docker compose
version: '3.7'
version: "3.8"
services:
# Backend service
fineractpostgresql:
image: postgres:15.3
volumes:
- ./fineract-db/docker/postgresql:/docker-entrypoint-initdb.d/:Z,ro
restart: always
environment:
POSTGRES_USER: root
POSTGRES_PASSWORD: skdcnwauicn2ucnaecasdsajdnizucawencascdca
FINERACT_DB_USER: postgres
FINERACT_DB_PASS: skdcnwauicn2ucnaecasdsajdnizucawencascdca
FINERACT_TENANTS_DB_NAME: fineract_tenants
FINERACT_TENANT_DEFAULT_DB_NAME: fineract_default
healthcheck:
test: [ "CMD", "pg_isready", "-q", "-d", "postgres", "-U", "root" ]
timeout: 10s
retries: 10
db:
extends:
file: ./config/docker/compose/postgresql.yml
service: postgresql
fineract:
extends:
file: ./config/docker/compose/fineract.yml
service: fineract
ports:
- "5432:5432"
fineract-server:
image: fineract:latest
volumes:
- ./fineract-provider/build/data:/data
healthcheck:
test: ["CMD", 'sh', '-c', 'echo -e "Checking for the availability of Fineract server deployment"; while ! nc -z "fineract-server" 8443; do sleep 1; printf "-"; done; echo -e " >> Fineract server has started";' ]
timeout: 10s
retries: 10
ports:
- 8443:8443
- "8443:8443"
depends_on:
fineractpostgresql:
db:
condition: service_healthy
environment:
# TODO: env vars prefixed with "fineract_tenants_*" will be removed with one of the next releases
#- fineract_tenants_driver=org.postgresql.Driver
#- fineract_tenants_url=jdbc:postgresql://fineractpostgresql:5432/fineract_tenants
#- fineract_tenants_uid=postgres
#- fineract_tenants_pwd=skdcnwauicn2ucnaecasdsajdnizucawencascdca
# NOTE: node aware scheduler
- FINERACT_NODE_ID=1
# NOTE: env vars prefixed "FINERACT_HIKARI_*" are used to configure the database connection pool
- FINERACT_HIKARI_DRIVER_SOURCE_CLASS_NAME=org.postgresql.Driver
- FINERACT_HIKARI_JDBC_URL=jdbc:postgresql://fineractpostgresql:5432/fineract_tenants
- FINERACT_HIKARI_USERNAME=postgres
- FINERACT_HIKARI_PASSWORD=skdcnwauicn2ucnaecasdsajdnizucawencascdca
# ... following variables are optional; "application.properties" contains reasonable defaults (same as here)
- FINERACT_HIKARI_MINIMUM_IDLE=3
- FINERACT_HIKARI_MAXIMUM_POOL_SIZE=10
- FINERACT_HIKARI_IDLE_TIMEOUT=60000
- FINERACT_HIKARI_CONNECTION_TIMEOUT=20000
- FINERACT_HIKARI_TEST_QUERY=SELECT 1
- FINERACT_HIKARI_AUTO_COMMIT=true
- FINERACT_HIKARI_DS_PROPERTIES_CACHE_PREP_STMTS=true
- FINERACT_HIKARI_DS_PROPERTIES_PREP_STMT_CACHE_SIZE=250
- FINERACT_HIKARI_DS_PROPERTIES_PREP_STMT_CACHE_SQL_LIMIT=2048
- FINERACT_HIKARI_DS_PROPERTIES_USE_SERVER_PREP_STMTS=true
- FINERACT_HIKARI_DS_PROPERTIES_USE_LOCAL_SESSION_STATE=true
- FINERACT_HIKARI_DS_PROPERTIES_REWRITE_BATCHED_STATEMENTS=true
- FINERACT_HIKARI_DS_PROPERTIES_CACHE_RESULT_SET_METADATA=true
- FINERACT_HIKARI_DS_PROPERTIES_CACHE_SERVER_CONFIGURATION=true
- FINERACT_HIKARI_DS_PROPERTIES_ELIDE_SET_AUTO_COMMITS=true
- FINERACT_HIKARI_DS_PROPERTIES_MAINTAIN_TIME_STATS=false
- FINERACT_HIKARI_DS_PROPERTIES_LOG_SLOW_QUERIES=true
- FINERACT_HIKARI_DS_PROPERTIES_DUMP_QUERIES_IN_EXCEPTION=true
# NOTE: env vars prefixed "FINERACT_DEFAULT_TENANTDB_*" are used to create the default tenant database
- FINERACT_DEFAULT_TENANTDB_HOSTNAME=fineractpostgresql
- FINERACT_DEFAULT_TENANTDB_PORT=5432
- FINERACT_DEFAULT_TENANTDB_UID=postgres
- FINERACT_DEFAULT_TENANTDB_PWD=skdcnwauicn2ucnaecasdsajdnizucawencascdca
- FINERACT_DEFAULT_TENANTDB_CONN_PARAMS=
- FINERACT_DEFAULT_TENANTDB_TIMEZONE=Asia/Kolkata
- FINERACT_DEFAULT_TENANTDB_IDENTIFIER=default
- FINERACT_DEFAULT_TENANTDB_NAME=fineract_default
- FINERACT_DEFAULT_TENANTDB_DESCRIPTION=Default Demo Tenant
- JAVA_TOOL_OPTIONS="-Xmx1G"
env_file:
- ./config/docker/env/fineract.env
- ./config/docker/env/fineract-common.env
- ./config/docker/env/fineract-postgresql.env
+27
View File
@@ -0,0 +1,27 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
version: "3.8"
services:
# Frontend service
community-app:
image: openmf/web-app:latest
container_name: mifos-web-app
restart: always
ports:
- 4200:80
+18 -70
View File
@@ -16,77 +16,25 @@
# under the License.
#
# You can replace and test a more recent version of docker compose
version: '3.7'
version: "3.8"
services:
# Backend service
fineractmysql:
image: mariadb:11.0
volumes:
- ./fineract-db/server_collation.cnf:/etc/mysql/conf.d/server_collation.cnf
- ./fineract-db/docker:/docker-entrypoint-initdb.d:Z,ro
restart: always
environment:
MYSQL_ROOT_PASSWORD: skdcnwauicn2ucnaecasdsajdnizucawencascdca
healthcheck:
test: ["CMD", "healthcheck.sh", "--su-mysql", "--connect", "--innodb_initialized"]
timeout: 10s
retries: 10
db:
extends:
file: ./config/docker/compose/mariadb.yml
service: mariadb
fineract:
extends:
file: ./config/docker/compose/fineract.yml
service: fineract
ports:
- "3306:3306"
fineract-server:
image: fineract:latest
volumes:
- ./fineract-provider/build/data:/data
healthcheck:
test: ["CMD", 'sh', '-c', 'echo -e "Checking for the availability of Fineract server deployment"; while ! nc -z "fineract-server" 8443; do sleep 1; printf "-"; done; echo -e " >> Fineract server has started";' ]
timeout: 10s
retries: 10
ports:
- 8443:8443
- "8443:8443"
depends_on:
fineractmysql:
db:
condition: service_healthy
environment:
# TODO: env vars prefixed with "fineract_tenants_*" will be removed with one of the next releases
#- fineract_tenants_driver=org.mariadb.jdbc.Driver
#- fineract_tenants_url=jdbc:mariadb://fineractmysql:3306/fineract_tenants
#- fineract_tenants_uid=root
#- fineract_tenants_pwd=skdcnwauicn2ucnaecasdsajdnizucawencascdca
# NOTE: node aware scheduler
- FINERACT_NODE_ID=1
# NOTE: env vars prefixed "FINERACT_HIKARI_*" are used to configure the database connection pool
- FINERACT_HIKARI_DRIVER_SOURCE_CLASS_NAME=org.mariadb.jdbc.Driver
- FINERACT_HIKARI_JDBC_URL=jdbc:mariadb://fineractmysql:3306/fineract_tenants
- FINERACT_HIKARI_USERNAME=root
- FINERACT_HIKARI_PASSWORD=skdcnwauicn2ucnaecasdsajdnizucawencascdca
# ... following variables are optional; "application.properties" contains reasonable defaults (same as here)
- FINERACT_HIKARI_MINIMUM_IDLE=3
- FINERACT_HIKARI_MAXIMUM_POOL_SIZE=10
- FINERACT_HIKARI_IDLE_TIMEOUT=60000
- FINERACT_HIKARI_CONNECTION_TIMEOUT=20000
- FINERACT_HIKARI_TEST_QUERY=SELECT 1
- FINERACT_HIKARI_AUTO_COMMIT=true
- FINERACT_HIKARI_DS_PROPERTIES_CACHE_PREP_STMTS=true
- FINERACT_HIKARI_DS_PROPERTIES_PREP_STMT_CACHE_SIZE=250
- FINERACT_HIKARI_DS_PROPERTIES_PREP_STMT_CACHE_SQL_LIMIT=2048
- FINERACT_HIKARI_DS_PROPERTIES_USE_SERVER_PREP_STMTS=true
- FINERACT_HIKARI_DS_PROPERTIES_USE_LOCAL_SESSION_STATE=true
- FINERACT_HIKARI_DS_PROPERTIES_REWRITE_BATCHED_STATEMENTS=true
- FINERACT_HIKARI_DS_PROPERTIES_CACHE_RESULT_SET_METADATA=true
- FINERACT_HIKARI_DS_PROPERTIES_CACHE_SERVER_CONFIGURATION=true
- FINERACT_HIKARI_DS_PROPERTIES_ELIDE_SET_AUTO_COMMITS=true
- FINERACT_HIKARI_DS_PROPERTIES_MAINTAIN_TIME_STATS=false
- FINERACT_HIKARI_DS_PROPERTIES_LOG_SLOW_QUERIES=true
- FINERACT_HIKARI_DS_PROPERTIES_DUMP_QUERIES_IN_EXCEPTION=true
# NOTE: env vars prefixed "FINERACT_DEFAULT_TENANTDB_*" are used to create the default tenant database
- FINERACT_DEFAULT_TENANTDB_HOSTNAME=fineractmysql
- FINERACT_DEFAULT_TENANTDB_PORT=3306
- FINERACT_DEFAULT_TENANTDB_UID=root
- FINERACT_DEFAULT_TENANTDB_PWD=skdcnwauicn2ucnaecasdsajdnizucawencascdca
- FINERACT_DEFAULT_TENANTDB_CONN_PARAMS=
- FINERACT_DEFAULT_TENANTDB_TIMEZONE=Asia/Kolkata
- FINERACT_DEFAULT_TENANTDB_IDENTIFIER=default
- FINERACT_DEFAULT_TENANTDB_NAME=fineract_default
- FINERACT_DEFAULT_TENANTDB_DESCRIPTION=Default Demo Tenant
- JAVA_TOOL_OPTIONS="-Xmx1G"
env_file:
- ./config/docker/env/fineract.env
- ./config/docker/env/fineract-common.env
- ./config/docker/env/fineract-mariadb.env
+100
View File
@@ -0,0 +1,100 @@
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
description = 'Fineract Accounting'
apply plugin: 'java'
apply plugin: 'eclipse'
compileJava.doLast {
def mainSS = sourceSets.main
def source = mainSS.java.classesDirectory.get()
copy {
from file("src/main/resources/jpa/accounting/persistence.xml")
into "${source}/META-INF/"
}
javaexec {
description = 'Performs EclipseLink static weaving of entity classes'
def target = source
main 'org.eclipse.persistence.tools.weaving.jpa.StaticWeave'
args '-persistenceinfo', source, source, target
classpath sourceSets.main.runtimeClasspath
}
delete {
delete "${source}/META-INF/persistence.xml"
}
}
configurations {
providedRuntime // needed for Spring Boot executable WAR
providedCompile
compile() {
exclude module: 'hibernate-entitymanager'
exclude module: 'hibernate-validator'
exclude module: 'activation'
exclude module: 'bcmail-jdk14'
exclude module: 'bcprov-jdk14'
exclude module: 'bctsp-jdk14'
exclude module: 'c3p0'
exclude module: 'stax-api'
exclude module: 'jaxb-api'
exclude module: 'jaxb-impl'
exclude module: 'jboss-logging'
exclude module: 'itext-rtf'
exclude module: 'classworlds'
}
runtime
}
apply from: 'dependencies.gradle'
// Configuration for the modernizer plugin
// https://github.com/andygoossens/gradle-modernizer-plugin
modernizer {
ignoreClassNamePatterns = [
'.*AbstractPersistableCustom',
'.*EntityTables',
'.*domain.*'
]
}
// If we are running Gradle within Eclipse to enhance classes with OpenJPA,
// set the classes directory to point to Eclipse's default build directory
if (project.hasProperty('env') && project.getProperty('env') == 'eclipse') {
sourceSets.main.java.outputDir = new File(rootProject.projectDir, "fineract-accounting/bin/main")
}
eclipse {
project {
buildCommand([ LaunchConfigHandle: "<project>/.externalToolBuilders/OpenJPA Enhance Builder.launch" ], 'org.eclipse.ui.externaltools.ExternalToolBuilder')
}
}
/* http://stackoverflow.com/questions/19653311/jpa-repository-works-in-idea-and-production-but-not-in-gradle */
sourceSets.main.output.resourcesDir = sourceSets.main.java.classesDirectory
sourceSets.test.output.resourcesDir = sourceSets.test.java.classesDirectory
if (!(project.hasProperty('env') && project.getProperty('env') == 'dev')) {
sourceSets {
test {
java {
exclude '**/core/boot/tests/**'
}
}
}
}
+80
View File
@@ -0,0 +1,80 @@
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
dependencies {
// Never use "compile" scope, but make all dependencies either 'implementation', 'runtimeOnly' or 'testCompile'.
// Note that we never use 'api', because Fineract at least currently is a simple monolithic application ("WAR"), not a library.
// We also (normally should have) no need to ever use 'compileOnly'.
// implementation dependencies are directly used (compiled against) in src/main (and src/test)
//
implementation(project(path: ':fineract-core'))
implementation(project(path: ':fineract-charge'))
implementation('org.apache.avro:avro')
implementation(
project(path: ':fineract-avro-schemas')
)
implementation(
'org.springframework.boot:spring-boot-starter-web',
'org.springframework.boot:spring-boot-starter-security',
'org.springframework.boot:spring-boot-starter-batch',
'org.springframework.batch:spring-batch-integration',
'jakarta.ws.rs:jakarta.ws.rs-api',
'org.glassfish.jersey.media:jersey-media-multipart',
'com.google.guava:guava',
'com.google.code.gson:gson',
'org.apache.commons:commons-lang3',
'com.jayway.jsonpath:json-path',
'com.github.spotbugs:spotbugs-annotations',
'io.swagger.core.v3:swagger-annotations-jakarta',
'com.squareup.retrofit2:converter-gson',
'org.springdoc:springdoc-openapi-starter-webmvc-ui',
'org.mapstruct:mapstruct',
'io.github.resilience4j:resilience4j-spring-boot3',
)
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
annotationProcessor 'org.mapstruct:mapstruct-processor'
implementation ('org.springframework.boot:spring-boot-starter-data-jpa') {
exclude group: 'org.hibernate'
}
implementation('org.eclipse.persistence:org.eclipse.persistence.jpa') {
exclude group: 'org.eclipse.persistence', module: 'jakarta.persistence'
}
// testCompile dependencies are ONLY used in src/test, not src/main.
// Do NOT repeat dependencies which are ALREADY in implementation or runtimeOnly!
//
testImplementation( 'io.github.classgraph:classgraph' )
testImplementation ('org.springframework.boot:spring-boot-starter-test') {
exclude group: 'com.jayway.jsonpath', module: 'json-path'
exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
exclude group: 'jakarta.activation'
exclude group: 'javax.activation'
exclude group: 'org.skyscreamer'
}
testImplementation ('org.mockito:mockito-inline')
}
@@ -38,15 +38,10 @@ import org.apache.fineract.infrastructure.core.data.ApiParameterError;
import org.apache.fineract.infrastructure.core.data.DataValidatorBuilder;
import org.apache.fineract.infrastructure.core.exception.InvalidJsonException;
import org.apache.fineract.infrastructure.core.exception.PlatformApiDataValidationException;
import org.apache.fineract.infrastructure.core.serialization.FromApiJsonDeserializer;
import org.apache.fineract.infrastructure.core.serialization.FromJsonHelper;
import org.apache.fineract.infrastructure.core.service.DateUtils;
import org.apache.fineract.portfolio.loanaccount.guarantor.command.GuarantorCommand;
import org.springframework.stereotype.Component;
/**
* Implementation of {@link FromApiJsonDeserializer} for {@link GuarantorCommand}'s.
*/
@Component
@RequiredArgsConstructor
public final class AccrualAccountingDataValidator {
@@ -70,7 +70,7 @@ public class GLClosuresApiResource {
Arrays.asList("id", "officeId", "officeName", "closingDate", "deleted", "createdDate", "lastUpdatedDate", "createdByUserId",
"createdByUsername", "lastUpdatedByUserId", "lastUpdatedByUsername"));
private final String resourceNameForPermission = "GLCLOSURE";
private static final String RESOURCE_NAME_FOR_PERMISSION = "GLCLOSURE";
private final PlatformSecurityContext context;
private final GLClosureReadPlatformService glClosureReadPlatformService;
@@ -88,7 +88,7 @@ public class GLClosuresApiResource {
public String retrieveAllClosures(@Context final UriInfo uriInfo,
@QueryParam("officeId") @Parameter(name = "officeId") final Long officeId) {
this.context.authenticatedUser().validateHasReadPermission(this.resourceNameForPermission);
this.context.authenticatedUser().validateHasReadPermission(RESOURCE_NAME_FOR_PERMISSION);
final List<GLClosureData> glClosureDatas = this.glClosureReadPlatformService.retrieveAllGLClosures(officeId);
final ApiRequestJsonSerializationSettings settings = this.apiRequestParameterHelper.process(uriInfo.getQueryParameters());
@@ -106,7 +106,7 @@ public class GLClosuresApiResource {
public String retreiveClosure(@PathParam("glClosureId") @Parameter(description = "glClosureId") final Long glClosureId,
@Context final UriInfo uriInfo) {
this.context.authenticatedUser().validateHasReadPermission(this.resourceNameForPermission);
this.context.authenticatedUser().validateHasReadPermission(RESOURCE_NAME_FOR_PERMISSION);
final ApiRequestJsonSerializationSettings settings = this.apiRequestParameterHelper.process(uriInfo.getQueryParameters());

Some files were not shown because too many files have changed in this diff Show More