Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fineract 2081: Enhance technical documentation #4077

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,21 @@
|fineract.security.basicauth.enabled
|FINERACT_SECURITY_BASICAUTH_ENABLED
|true
|TBD
|When set to true, the supported authentication method will be basic authentication.

|fineract.security.oauth.enabled
|FINERACT_SECURITY_OAUTH_ENABLED
|false
|TBD
|When set to true, the supported authentication method will be OAuth.

|fineract.security.2fa.enabled
|FINERACT_SECURITY_2FA_ENABLED
|false
|TBD
|Set the value to true enable two-factor authentication. For this to work as expected, ensure that you have set the correct email/sms configuration

|spring.security.oauth2.resourceserver.jwt.issuer-uri
|FINERACT_SERVER_OAUTH_RESOURCE_URL
|http://localhost:9000/auth/realms/fineract
|If OAuth is enabled and a custom resouce server (different from what is provided) is required, set the issuer-uri here.
|===

Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
= AWS Configuration Properties

For further understanding of the configuration properties related to AWS, refer to https://docs.awspring.io/spring-cloud-aws/docs/current/reference/html/index.html[Spring Cloud AWS documentation].

.AWS Configuration Properties
|===
|Name |Env Variable |Default Value |Description

|spring.cloud.aws.endpoint
|FINERACT_AWS_ENDPOINT
|
|The AWS service endpoint.

|spring.cloud.aws.region.static
|FINERACT_AWS_REGION_STATIC
|us-east-1
|The static region for AWS services.

|spring.cloud.aws.credentials.access-key
|FINERACT_AWS_CREDENTIALS_ACCESS_KEY
|
|The AWS access key.

|spring.cloud.aws.credentials.secret-key
|FINERACT_AWS_CREDENTIALS_SECRET_KEY
|
|The AWS secret key.

|spring.cloud.aws.credentials.instance-profile
|FINERACT_AWS_CREDENTIALS_INSTANCE_PROFILE
|false
|Whether to use the instance profile for credentials.

|spring.cloud.aws.credentials.profile.name
|FINERACT_AWS_CREDENTIALS_PROFILE_NAME
|
|The name of the AWS credentials profile.

|spring.cloud.aws.credentials.profile.path
|FINERACT_AWS_CREDENTIALS_PROFILE_PATH
|
|The path to the AWS credentials profile.
|===
36 changes: 18 additions & 18 deletions fineract-doc/src/docs/en/chapters/appendix/properties-database.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -7,91 +7,91 @@
|fineract.tenant.host
|FINERACT_DEFAULT_TENANTDB_HOSTNAME
|localhost
|TBD
|This property sets the hostname of the default tenant database.

|fineract.tenant.port
|FINERACT_DEFAULT_TENANTDB_PORT
|3306
|TBD
|This property sets the port of the default tenant database.

|fineract.tenant.username
|FINERACT_DEFAULT_TENANTDB_UID
|root
|TBD
|This property sets the username of the default tenant database.

|fineract.tenant.password
|FINERACT_DEFAULT_TENANTDB_PWD
|mysql
|TBD
|This property sets the password of the default tenant database.

|fineract.tenant.parameters
|FINERACT_DEFAULT_TENANTDB_CONN_PARAMS
|
|TBD
|This property sets the connection parameters of the default tenant database. eg. whether ssl is enabled or not

|fineract.tenant.timezone
|FINERACT_DEFAULT_TENANTDB_TIMEZONE
|Asia/Kolkata
|TBD
|This property sets the timezone of the default tenant

|fineract.tenant.identifier
|FINERACT_DEFAULT_TENANTDB_IDENTIFIER
|default
|TBD
|This property sets the unique identifier for the tenant within fineract

|fineract.tenant.name
|FINERACT_DEFAULT_TENANTDB_NAME
|fineract_default
|TBD
|This property sets the database name of the default tenant

|fineract.tenant.description
|FINERACT_DEFAULT_TENANTDB_DESCRIPTION
|Default Demo Tenant
|TBD
|This property sets the description of the default tenant

|fineract.tenant.master-password
|FINERACT_DEFAULT_TENANTDB_MASTER_PASSWORD
|fineract
|TBD
|The password used to encrypt sensitive tenant data within the database

|fineract.tenant.encryption
|FINERACT_DEFAULT_TENANTDB_ENCRYPTION
|AES/CBC/PKCS5Padding
|TBD
|This property sets the symmetric encryption algorithm used to encrypt sensitive tenant data within the database e.g tenant database password

|spring.liquibase.enabled
|FINERACT_LIQUIBASE_ENABLED
|true
|TBD
|If set to true, liquibase will be enabled and the instance running this configuration will run migrations

|fineract.tenant.read-only-name
|FINERACT_DEFAULT_TENANTDB_RO_NAME
|
|
|For read only configuration, set this to the name of the read only tenant database

|fineract.tenant.read-only-host
|FINERACT_DEFAULT_TENANTDB_RO_HOSTNAME
|
|
|For read only configuration, set this to the hostname of the read only tenant database

|fineract.tenant.read-only-port
|FINERACT_DEFAULT_TENANTDB_RO_PORT
|
|
|For read only configuration, set this to the port of the read only tenant database

|fineract.tenant.read-only-username
|FINERACT_DEFAULT_TENANTDB_RO_UID
|
|
|For read only configuration, set this to the username of the read only tenant database

|fineract.tenant.read-only-password
|FINERACT_DEFAULT_TENANTDB_RO_PWD
|
|
|For read only configuration, set this to the password of the read only tenant database

|fineract.tenant.read-only-parameters
|FINERACT_DEFAULT_TENANTDB_RO_CONN_PARAMS
|
|
|For read only configuration, set this to the connection parameters of the read only tenant database

|===
64 changes: 64 additions & 0 deletions fineract-doc/src/docs/en/chapters/appendix/properties-metrics.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
= Metrics Properties

For further understanding of the configurations properties related to metrics, refer to https://docs.spring.io/spring-boot/docs/2.0.5.RELEASE/reference/html/production-ready-metrics.html[Springboot metrics docs]

.Metrics Properties
|===
|Name |Env Variable |Default Value |Description


|management.info.git.mode
|
|FULL
|Mode for displaying Git information in the `/info` endpoint.

|management.endpoints.web.exposure.include
|FINERACT_MANAGEMENT_ENDPOINT_WEB_EXPOSURE_INCLUDE
|health,info,prometheus
|Comma-separated list of endpoints that should be exposed over the web.

|management.tracing.enabled
|FINERACT_MANAGEMENT_METRICS_TAGS_APPLICATION
|fineract
|Whether tracing is enabled.

|management.metrics.distribution.percentiles-histogram.http.server.requests
|FINERACT_MANAGEMENT_METRICS_DISTRIBUTION_HTTP_SERVER_REQUESTS
|false
|Whether to publish percentile histograms for HTTP server requests.

|management.otlp.metrics.export.url
|FINERACT_MANAGEMENT_OLTP_METRICS_EXPORT_URL
|http://tempo:4318/v1/traces
|URL to export OTLP metrics.

|management.otlp.metrics.export.aggregationTemporality
|FINERACT_MANAGEMENT_OLTP_METRICS_EXPORT_AGGREGATION_TEMPORALITY
|cumulative
|Aggregation temporality for OTLP metrics export.

|management.prometheus.metrics.export.enabled
|FINERACT_MANAGEMENT_PROMETHEUS_ENABLED
|false
|Whether to enable Prometheus metrics export.

|spring.cloud.aws.cloudwatch.enabled
|FINERACT_MANAGEMENT_CLOUDWATCH_ENABLED
|false
|Whether to enable AWS CloudWatch integration.

|management.metrics.export.cloudwatch.enabled
|FINERACT_MANAGEMENT_CLOUDWATCH_ENABLED
|false
|Whether to enable CloudWatch metrics export.

|management.metrics.export.cloudwatch.namespace
|FINERACT_MANAGEMENT_CLOUDWATCH_NAMESPACE
|fineract
|Namespace for CloudWatch metrics.

|management.metrics.export.cloudwatch.step
|FINERACT_MANAGEMENT_CLOUDWATCH_STEP
|1m
|Step size for CloudWatch metrics export.
|===
46 changes: 24 additions & 22 deletions fineract-doc/src/docs/en/chapters/appendix/properties-pool.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -7,110 +7,112 @@
|spring.datasource.hikari.driverClassName
|FINERACT_HIKARI_DRIVER_SOURCE_CLASS_NAME
|org.mariadb.jdbc.Driver
|TBD
|The correct driver name for the database that will be used with fineract.

|spring.datasource.hikari.jdbcUrl
|FINERACT_HIKARI_JDBC_URL
|jdbc:mariadb://localhost:3306/fineract_tenants
|TBD
|The database connection string for the database with tenant information that will be used with fineract.

|spring.datasource.hikari.username
|FINERACT_HIKARI_USERNAME
|root
|TBD
|The username for the database with tenant information that will be used with fineract

|spring.datasource.hikari.password
|FINERACT_HIKARI_PASSWORD
|mysql
|TBD
|The password for the database with tenant information that will be used with fineract

|spring.datasource.hikari.minimumIdle
|FINERACT_HIKARI_MINIMUM_IDLE
|3
|TBD
|The minimum number of connections in hakari pool that will be maintained when the system is idle

|spring.datasource.hikari.maximumPoolSize
|FINERACT_HIKARI_MAXIMUM_POOL_SIZE
|10
|TBD
|The maximum number of connections that hikari can create in the pool.

|spring.datasource.hikari.idleTimeout
|FINERACT_HIKARI_IDLE_TIMEOUT
|60000
|TBD
|The maximum time in milliseconds that a connection is allowed to sit idle in the pool.

|spring.datasource.hikari.connectionTimeout
|FINERACT_HIKARI_CONNECTION_TIMEOUT
|20000
|TBD
|The maximum time in milliseconds that hikari will wait for a connection to be established.

|spring.datasource.hikari.connectionTestquery
|FINERACT_HIKARI_TEST_QUERY
|SELECT 1
|TBD
|The query that will be used to test the database connection.

|spring.datasource.hikari.autoCommit
|FINERACT_HIKARI_AUTO_COMMIT
|true
|TBD
|If set to true, the connections in the pool will be in auto-commit mode.

|spring.datasource.hikari.dataSourceProperties['cachePrepStmts']
|FINERACT_HIKARI_DS_PROPERTIES_CACHE_PREP_STMTS
|true
|TBD
|If set to true, hikari caches compiled SQL statements to avoid the overhead of re-parsing and re-compiling SQL queries.

|spring.datasource.hikari.dataSourceProperties['prepStmtCacheSize']
|FINERACT_HIKARI_DS_PROPERTIES_PREP_STMT_CACHE_SIZE
|250
|TBD
|The maximum number of prepared statements that hikari can cache.

|spring.datasource.hikari.dataSourceProperties['prepStmtCacheSqlLimit']
|FINERACT_HIKARI_DS_PROPERTIES_PREP_STMT_CACHE_SQL_LIMIT
|2048
|TBD
|This property sets the upper limit for the size of individual SQL queries that can be stored in the cache. If a SQL query exceeds this limit in terms of character length, it will not be cached, even if caching is enabled.

|spring.datasource.hikari.dataSourceProperties['useServerPrepStmts']
|FINERACT_HIKARI_DS_PROPERTIES_USE_SERVER_PREP_STMTS
|true
|TBD
|This property determines if the connection should leverage server-side prepared statements rather than client-side ones.

|spring.datasource.hikari.dataSourceProperties['useLocalSessionState']
|FINERACT_HIKARI_DS_PROPERTIES_USE_LOCAL_SESSION_STATE
|true
|TBD
|This property allows the connection pool to locally track changes to session-specific properties (like character sets or time zones) rather than sending these queries to the database repeatedly.

|spring.datasource.hikari.dataSourceProperties['rewriteBatchedStatements']
|FINERACT_HIKARI_DS_PROPERTIES_REWRITE_BATCHED_STATEMENTS
|true
|TBD
|This property, when set to true, allows the JDBC driver to rewrite batched SQL statements into a more efficient single query format before sending them to the database.


|spring.datasource.hikari.dataSourceProperties['cacheResultSetMetadata']
|FINERACT_HIKARI_DS_PROPERTIES_CACHE_RESULT_SET_METADATA
|true
|TBD
|This property, when set to true, enables the caching of metadata for ResultSet objects. This metadata includes details such as column names, types, and other relevant schema information.

|spring.datasource.hikari.dataSourceProperties['cacheServerConfiguration']
|FINERACT_HIKARI_DS_PROPERTIES_CACHE_SERVER_CONFIGURATION
|true
|TBD
|When set to true, this property allows the JDBC driver to cache the server configuration settings, which include properties such as session state, character sets, and other configuration details relevant to the database server.


|spring.datasource.hikari.dataSourceProperties['elideSetAutoCommits']
|FINERACT_HIKARI_DS_PROPERTIES_ELIDE_SET_AUTO_COMMITS
|true
|TBD
|When set to true, this property prevents the JDBC driver from issuing a SET autocommit command on the database connection during its initialization.

|spring.datasource.hikari.dataSourceProperties['maintainTimeStats']
|FINERACT_HIKARI_DS_PROPERTIES_MAINTAIN_TIME_STATS
|false
|TBD
|When set to true, this property enables HikariCP to track and maintain statistics regarding various timing metrics related to connection pool operations, such as connection acquisition times.

|spring.datasource.hikari.dataSourceProperties['logSlowQueries']
|FINERACT_HIKARI_DS_PROPERTIES_LOG_SLOW_QUERIES
|true
|TBD
|When set to true, this property enables HikariCP to log SQL queries that exceed a specified execution time threshold, allowing developers and administrators to identify and analyze performance issues related to slow-running queries.

|spring.datasource.hikari.dataSourceProperties['dumpQueriesOnException']
|FINERACT_HIKARI_DS_PROPERTIES_DUMP_QUERIES_IN_EXCEPTION
|true
|TBD
| When set to true, this property instructs HikariCP to log the SQL statements that caused exceptions during execution. This includes capturing the query text and any associated parameters.
|===
Loading
Loading