Skip to content

Commit

Permalink
Changing documentation, adding information about riak deprecation
Browse files Browse the repository at this point in the history
  • Loading branch information
Janusz Jakubiec authored and Janusz Jakubiec committed Mar 13, 2023
1 parent ee620df commit 848b062
Show file tree
Hide file tree
Showing 17 changed files with 81 additions and 25 deletions.
3 changes: 3 additions & 0 deletions doc/authentication-methods/riak.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
!!! warning
Riak is deprecated and its support will be withdrawn in future versions of MongooseIM.

## Overview

This authentication method stores user accounts in Riak.
Expand Down
32 changes: 17 additions & 15 deletions doc/configuration/auth.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@ The following methods are supported:
* [`anonymous`](../authentication-methods/anonymous.md) - allows anonymous connections,
* [`ldap`](../authentication-methods/ldap.md) - checks the user credentials in LDAP,
* [`jwt`](../authentication-methods/jwt.md) - authenticates the users with JSON Web Tokens,
* [`riak`](../authentication-methods/riak.md) - stores the user accounts in a Riak database,
* [`riak (deprecated)`](../authentication-methods/riak.md) - stores the user accounts in a Riak database,
!!! warning
Riak is deprecated and its support will be withdrawn in future versions of MongooseIM.
* [`http`](../authentication-methods/http.md) - uses an external HTTP service to authenticate the user,
* [`pki`](../authentication-methods/pki.md) - uses the certificate provided by the user to authenticate them,
* [`dummy`](../authentication-methods/dummy.md) - no authentication, only for development and testing.
Expand Down Expand Up @@ -57,18 +59,18 @@ Specifies the list of allowed SASL mechanisms, which are announced during stream

The table below shows the supported SASL mechanisms (columns) for each authentication method (row).

| | plain | digest | scram_sha* | anonymous | external |
|-----------|:-----:|:------:|:----------:|:---------:|:--------:|
| internal | x | x | x | | |
| rdbms | x | x | x | | |
| external | x | | | | |
| anonymous | x | x | x | x | |
| ldap | x | | | | x |
| jwt | x | | | | |
| riak | x | x | x | | |
| http | x | x | x | | |
| pki | | | | | x |
| dummy | x | | | | |
| | plain | digest | scram_sha* | anonymous | external |
|-------------------|:-----:|:------:|:----------:|:---------:|:--------:|
| internal | x | x | x | | |
| rdbms | x | x | x | | |
| external | x | | | | |
| anonymous | x | x | x | x | |
| ldap | x | | | | x |
| jwt | x | | | | |
| riak (deprecated) | x | x | x | | |
| http | x | x | x | | |
| pki | | | | | x |
| dummy | x | | | | |

### `auth.sasl_external`
* **Syntax:** list of strings, allowed values: `"standard"`, `"common_name"`, `"auth_id"`
Expand All @@ -85,7 +87,7 @@ This option allows you to list the enabled ones in the order of preference (they

## Password-related options

These options are common to the `http`, `rdbms`, `internal` and `riak` methods.
These options are common to the `http`, `rdbms`, `internal` and `riak(deprecated)` methods.

### `auth.password.format`
* **Syntax:** string, one of: `"plain"`, `"scram"`
Expand Down Expand Up @@ -156,5 +158,5 @@ See the links below for options related to the particular methods:
* [External method options](../authentication-methods/external.md#configuration-options)
* [LDAP method options](../authentication-methods/ldap.md#configuration-options)
* [JWT method options](../authentication-methods/jwt.md#configuration-options)
* [Riak method options](../authentication-methods/riak.md#configuration-options)
* [Riak(deprecated) method options](../authentication-methods/riak.md#configuration-options)
* [HTTP method options](../authentication-methods/http.md#configuration-options)
14 changes: 10 additions & 4 deletions doc/configuration/database-backends-configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ Transient data:
Being an Erlang-based database, it's the default persistence option for most modules in MongooseIM.

!!! Warning
We **strongly recommend** keeping **persistent** data in an external DB (RDBMS or Riak) for production.
We **strongly recommend** keeping **persistent** data in an external DB (RDBMS) for production.
Mnesia is not suitable for the volumes of **persistent** data which some modules may require.
Sooner or later a migration will be needed which may be painful.
It is possible to store all data in Mnesia, but only for testing purposes, not for any serious deployments.
Expand All @@ -43,10 +43,13 @@ Persistent Data:
Never loose your data.
Use MySQL, MariaDB, PostgreSQL, or MS SQL Server.

* Riak KV - If you're planning to deploy a massive cluster, consider Riak KV as a potential storage backend solution.
* Riak KV (deprecated) - If you're planning to deploy a massive cluster, consider Riak KV as a potential storage backend solution.
It offers high availability and fault tolerance which is exactly what you need for your distributed MongooseIM architecture.
Use Riak KV with `privacy lists`, `vcards`, `roster`, `private storage`, `last activity` and `message archive`.
Erlang Solutions commercially supports Riak KV.

!!! warning
Riak is deprecated and its support will be withdrawn in future versions of MongooseIM.


* Cassandra - Only for MAM (Message Archive Management).

Expand Down Expand Up @@ -232,7 +235,10 @@ Configure the `outgoing_pools.rdbms` section as follows:

## NoSQL

### Riak KV
### Riak KV (deprecated)

!!! warning
Riak is deprecated and its support will be withdrawn in future versions of MongooseIM.

Riak KV, for Key-Value, is technically supported by MongooseIM for versions upper than Riak KV 2.0. Erlang Solutions commercially supports Riak KV.

Expand Down
3 changes: 3 additions & 0 deletions doc/developers-guide/Testing-MongooseIM.md
Original file line number Diff line number Diff line change
Expand Up @@ -288,6 +288,9 @@ Why would we want to ever repeat the tests?
In order to test different backends of the same parts of the system.
E.g. a message archive might store messages in MySQL/PostgreSQL or Riak KV - the glue code between the XMPP logic module and database is different in each case, therefore repeating the same tests with different databases is necessary to guarantee a truthful code coverage measurement.

!!! warning
Riak is deprecated and its support will be withdrawn in future versions of MongooseIM.

### Testing a feature in development / TDD

The whole suite takes a significant amount of time to complete.
Expand Down
5 changes: 4 additions & 1 deletion doc/developers-guide/mod_muc_light_developers_guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -156,9 +156,12 @@ Drawbacks are:
### Medium

* Add optional per-room processes to avoid the need of DB transactions and ensure message ordering (maybe "hard"?).
* Riak backend
* Riak(deprecated) backend
* Redis backend

!!! warning
Riak is deprecated and its support will be withdrawn in future versions of MongooseIM.

### Hard

* Room metadata cache (maybe "medium"?).
3 changes: 3 additions & 0 deletions doc/developers-guide/release_config.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,9 @@ Options:
user System user to run the server as. Default:
```

!!! warning
Riak is deprecated and its support will be withdrawn in future versions of MongooseIM.

This script is also accessible via the make `configure` target.

### Example
Expand Down
3 changes: 3 additions & 0 deletions doc/modules/mod_last.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,9 @@ Strategy to handle incoming stanzas. For details, please refer to
* **Default:** `"mnesia"`
* **Example:** `backend = "rdbms"`

!!! warning
Riak is deprecated and its support will be withdrawn in future versions of MongooseIM.

Storage backend.

### Riak-specific options
Expand Down
11 changes: 10 additions & 1 deletion doc/modules/mod_mam.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,13 @@ MongooseIM is compatible with MAM 0.4-0.6.
Configure MAM with different storage backends:

* RDBMS (databases like MySQL, PostgreSQL, MS SQL Server)
* Riak KV (NoSQL)
* Riak KV (deprecated) (NoSQL)
* Cassandra (NoSQL)
* ElasticSearch (NoSQL)

!!! warning
Riak is deprecated and its support will be withdrawn in future versions of MongooseIM.

`mod_mam` is a meta-module that ensures all relevant `mod_mam_*` modules are loaded and properly configured.

### Message retraction
Expand Down Expand Up @@ -69,6 +72,9 @@ Also note that the default separator for the search query is `AND` (which roughl
* **Default:** `"rdbms"`
* **Example:** `backend = "riak"`

!!! warning
Riak is deprecated and its support will be withdrawn in future versions of MongooseIM.

Database backend to use.

### `modules.mod_mam.no_stanzaid_element`
Expand Down Expand Up @@ -307,6 +313,9 @@ Your instance of Riak KV must be configured with Yokozuna enabled.

This backend works with Riak KV 2.0 and above, but we recommend version 2.1.1.

!!! warning
Riak is deprecated and its support will be withdrawn in future versions of MongooseIM.

#### Riak-specific options

#### `modules.mod_mam.riak.bucket_type`
Expand Down
6 changes: 6 additions & 0 deletions doc/modules/mod_offline.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,9 @@ to disable this error message.
* **Default:** `"mnesia"`
* **Example:** `backend = "rdbms"`

!!! warning
Riak is deprecated and its support will be withdrawn in future versions of MongooseIM.

Storage backend.

### `modules.mod_offline.store_groupchat_messages`
Expand All @@ -37,6 +40,9 @@ to disable this error message.

### Riak-specific options

!!! warning
Riak is deprecated and its support will be withdrawn in future versions of MongooseIM.

#### `modules.mod_offline.riak.bucket_type`
* **Syntax:** non-empty string
* **Default:** `"offline"`
Expand Down
3 changes: 3 additions & 0 deletions doc/modules/mod_privacy.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@ This extension allows user to block IQs, messages, presences, or all, based on J
* **Default:** `"mnesia"`
* **Example:** `backend = "mnesia"`

!!! warning
Riak is deprecated and its support will be withdrawn in future versions of MongooseIM.

### Riak-specific options

#### `modules.mod_privacy.riak.defaults_bucket_type`
Expand Down
3 changes: 3 additions & 0 deletions doc/modules/mod_private.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,9 @@ Strategy to handle incoming stanzas. For details, please refer to

Database backend to use.

!!! warning
Riak is deprecated and its support will be withdrawn in future versions of MongooseIM.

**CAUTION:** Riak KV backend doesn't support transactions (rollbacks), so please avoid inserting
more than one value in a single set request, otherwise you may end up with partially saved data.
Backend returns the first error.
Expand Down
3 changes: 3 additions & 0 deletions doc/modules/mod_roster.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,9 @@ Improves performance but should be disabled, when shared rosters are used.
* **Default:** `"mnesia"`
* **Example:** `backend = "mnesia"`

!!! warning
Riak is deprecated and its support will be withdrawn in future versions of MongooseIM.

### Riak-specific options

#### `modules.mod_roster.riak.bucket_type`
Expand Down
6 changes: 6 additions & 0 deletions doc/modules/mod_vcard.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,9 @@ Enables/disables the domain set in the previous option. `false` makes searching

vCard storage backend.

!!! warning
Riak is deprecated and its support will be withdrawn in future versions of MongooseIM.

!!! Warning
LDAP backend is read-only.

Expand Down Expand Up @@ -92,6 +95,9 @@ An array of search fields, which values should be Base64-encoded by MongooseIM b

### Riak-specific options

!!! warning
Riak is deprecated and its support will be withdrawn in future versions of MongooseIM.

#### `modules.mod_vcard.riak.bucket_type`
* **Syntax:** string
* **Default:** `"vcard"`
Expand Down
2 changes: 1 addition & 1 deletion doc/user-guide/Features.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ This modular architecture allows high customisability and easy access to the req

MongooseIM enables authenticating users using external or internal [databases](../authentication-methods/rdbms.md) (Mnesia, RDBMS, NoSQL), [LDAP](../authentication-methods/ldap.md), [HTTP](../authentication-methods/http.md) or [external scripts](../authentication-methods/external.md). It also allows connecting [anonymous users](../authentication-methods/anonymous.md), when required.

For storing persistent data, MongooseIM uses Mnesia (the distributed internal Erlang database), relational databases: MySQL, PostgreSQL or a NoSQL alternative: Riak KV.
For storing persistent data, MongooseIM uses Mnesia (the distributed internal Erlang database), relational databases: MySQL, PostgreSQL or a NoSQL alternative: Riak KV (deprecated).
Please take a look at [database backends configurations](../configuration/database-backends-configuration.md) to learn more.
If necessary, MongooseIM can be customised to work with a different database.
You can [contact us](https://www.erlang-solutions.com/contact/) to learn more.
Expand Down
5 changes: 4 additions & 1 deletion doc/user-guide/High-level-Architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,13 @@ There is no need to set up any backups for transient data since it naturally reb

#### Persistent databases

Both RDBMS/SQL (MySQL/PostgreSQL) and NoSQL (Riak KV) databases are supported.
Both RDBMS/SQL (MySQL/PostgreSQL) and NoSQL (Riak KV (deprecated)) databases are supported.

Backups should be regular, and tested.

!!! warning
Riak is deprecated and its support will be withdrawn in future versions of MongooseIM.

#### LDAP directory

LDAP will also run on a separate cluster.
Expand Down
2 changes: 1 addition & 1 deletion doc/user-guide/Supported-standards.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
* Redis
* Persistent:
* RDBMS: MySQL, PostgreSQL, generic ODBC
* NoSQL: Riak KV, Cassandra
* NoSQL: Riak KV(deprecated), Cassandra
* Integration with third-party services
* [Amazon Simple Notification Service](../modules/mod_event_pusher_sns.md)

Expand Down
2 changes: 1 addition & 1 deletion mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ nav:
- 'Anonymous': 'authentication-methods/anonymous.md'
- 'LDAP': 'authentication-methods/ldap.md'
- 'JWT': 'authentication-methods/jwt.md'
- 'Riak': 'authentication-methods/riak.md'
- 'Riak (deprecated)': 'authentication-methods/riak.md'
- 'HTTP': 'authentication-methods/http.md'
- 'PKI': 'authentication-methods/pki.md'
- 'Dummy': 'authentication-methods/dummy.md'
Expand Down

0 comments on commit 848b062

Please sign in to comment.