diff --git a/docs/content/en/reference/integrations/cache-integrations.md b/docs/content/en/reference/integrations/cache-integrations.md new file mode 100644 index 000000000..c301c7b4b --- /dev/null +++ b/docs/content/en/reference/integrations/cache-integrations.md @@ -0,0 +1,40 @@ +--- +title: "Cache Integrations" +description: "A cache integration reference guide" +lead: "This section contains a cache integration reference guide for Authelia." +date: 2022-11-19T16:47:09+11:00 +draft: false +images: [] +menu: + reference: + parent: "integrations" +weight: 320 +toc: true +--- + +We currently only support [Redis Standalone] and [Redis Sentinel] for cached information like sessions +(other than in-memory). + +## Redis + +The following is guidance on versions of [Redis] supported. + +### Standalone + +When it comes to [Redis Standalone] we support the versions supported by [Redis] themselves which can be found in the +[Redis release cycle](https://redis.io/docs/about/releases/) documentation. This is typically the latest available +version. + + +### Sentinel + +When it comes to [Redis Sentinel] we support the versions supported by [Redis] themselves which can be found in the +[Redis release cycle](https://redis.io/docs/about/releases/) documentation. This is typically the latest available +version. + +_**Note:** Currently we only support [Redis Sentinel] version 6.x due to a breaking change to [Redis Sentinel] in +version 7.x. This will be resolved in the near future._ + +[Redis]: https://redis.io/ +[Redis Standalone]: https://redis.io/docs/getting-started/ +[Redis Sentinel]: https://redis.io/docs/management/sentinel/ diff --git a/docs/content/en/reference/integrations/database-integrations.md b/docs/content/en/reference/integrations/database-integrations.md index d3f11103e..eab05fbcc 100644 --- a/docs/content/en/reference/integrations/database-integrations.md +++ b/docs/content/en/reference/integrations/database-integrations.md @@ -15,16 +15,26 @@ toc: true We generally recommend using [PostgreSQL] for a database. If high availability is not a consideration we also support [SQLite3]. +It is also a general recommendation that if you're using [PostgreSQL], [MySQL], or [MariaDB]; that you do not +automatically upgrade the major/minor version of these databases, and pin the image tag so at most the patch version +is updated. For example for database version `x.y.z` only the `z` should change, `x` and `y` should remain the same. + +It is also generally recommended that you do not rely on automatic update tools to perform this action +unless you are sure they shut down the container properly (i.e. with a graceful stop). ## PostgreSQL The only current support criteria for [PostgreSQL] at present is that the version you're using is supported by the -[PostgreSQL] developers. See their [Versioning Policy](https://www.postgresql.org/support/versioning/) for more -information. +[PostgreSQL] developers. See [Vendor Supported Versions](#vendor-supported-versions) more information. We generally perform integration testing against the latest supported version of [PostgreSQL] and that is generally the recommended version for new installations. +### Vendor Supported Versions + +See the [PostgreSQL Versioning Policy](https://www.postgresql.org/support/versioning/) for information on the versions +and platforms that are currently supported by this vendor. + ## MySQL [MySQL] and [MariaDB] are both supported as part of the [MySQL] implementation. This is generally discouraged as @@ -76,16 +86,27 @@ This is however not the default behaviour in explicit_defaults_for_timestamp = ON ``` +#### Upgrades + +[MySQL] and [MariaDB] have several standard databases named `mysql`, `sys`, and `performance_schema`. These databases +are outside the scope for an application to manage. These engines may not prevent you using a version of [MySQL] or +[MariaDB] with these databases which is incompatible. + +It is your responsibility to ensure these tables are upgraded as per the +[mysql_upgrade documentation](https://dev.mysql.com/doc/refman/8.0/en/mysql-upgrade.html). Some containers or some +versions of [MySQL] and [MariaDB] may do this for you, but this is out of scope for us to support. + ### Vendor Supported Versions #### MariaDB Vendor Supported Versions -See the [MariaDB Server Releases](https://mariadb.com/kb/en/mariadb-server-release-dates/) for more information. +See the [MariaDB Server Releases](https://mariadb.com/kb/en/mariadb-server-release-dates/) for information on the +versions and platforms that are currently supported by this vendor. #### MySQL Vendor Supported Versions See the [MySQL Supported Platforms](https://www.mysql.com/support/supportedplatforms/database.html) for information on -which versions and platforms they support. +the versions and platforms that are currently supported by this vendor. [PostgreSQL]: https://www.postgresql.org/ [MySQL]: https://www.mysql.com/