Skip to content
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
29 changes: 14 additions & 15 deletions .github/workflows/e2e-tests-playwright-template.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
# Authenticates via GitHub Actions OIDC; calling job MUST grant
# `id-token: write`.

on:

Check warning on line 8 in .github/workflows/e2e-tests-playwright-template.yml

View workflow job for this annotation

GitHub Actions / yamllint

8:1 [truthy] truthy value should be one of [false, true]

Check warning on line 8 in .github/workflows/e2e-tests-playwright-template.yml

View workflow job for this annotation

GitHub Actions / yamllint

8:1 [truthy] truthy value should be one of [false, true]
workflow_call:
inputs:
workers:
Expand Down Expand Up @@ -113,7 +113,7 @@
start_time: ${{ steps.matrix.outputs.start_time }}
steps:
- name: ci/checkout-repo
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

Check warning on line 116 in .github/workflows/e2e-tests-playwright-template.yml

View workflow job for this annotation

GitHub Actions / yamllint

116:73 [comments] too few spaces before comment: expected 2

Check warning on line 116 in .github/workflows/e2e-tests-playwright-template.yml

View workflow job for this annotation

GitHub Actions / yamllint

116:73 [comments] too few spaces before comment: expected 2
with:
persist-credentials: false
ref: ${{ inputs.commit_sha }}
Expand Down Expand Up @@ -174,7 +174,7 @@
contents: read
steps:
- name: ci/checkout-repo
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

Check warning on line 177 in .github/workflows/e2e-tests-playwright-template.yml

View workflow job for this annotation

GitHub Actions / yamllint

177:73 [comments] too few spaces before comment: expected 2

Check warning on line 177 in .github/workflows/e2e-tests-playwright-template.yml

View workflow job for this annotation

GitHub Actions / yamllint

177:73 [comments] too few spaces before comment: expected 2
with:
persist-credentials: false
ref: ${{ inputs.commit_sha }}
Expand All @@ -185,7 +185,7 @@
# Caches node_modules + the rolled-up @mattermost/playwright-lib dist
# so workers don't re-run rollup on every job.
id: cache-playwright
uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3

Check warning on line 188 in .github/workflows/e2e-tests-playwright-template.yml

View workflow job for this annotation

GitHub Actions / yamllint

188:70 [comments] too few spaces before comment: expected 2

Check warning on line 188 in .github/workflows/e2e-tests-playwright-template.yml

View workflow job for this annotation

GitHub Actions / yamllint

188:70 [comments] too few spaces before comment: expected 2
with:
path: |
e2e-tests/playwright/node_modules
Expand Down Expand Up @@ -260,13 +260,22 @@
worker_index: ${{ fromJSON(needs.prepare-run.outputs.workers-matrix) }}
env:
COMPOSITE_IDENTITY: ${{ needs.prepare-run.outputs.composite-identity-json }}
SERVER: "${{ inputs.server }}"
MM_LICENSE: "${{ secrets.MM_LICENSE }}"
ENABLED_DOCKER_SERVICES: "${{ inputs.enabled_docker_services }}"
TEST: playwright
BRANCH: "${{ inputs.branch }}"
BUILD_ID: "${{ inputs.build_id }}"
CI_BASE_URL: "full-test-${{ matrix.worker_index }}"
# testcontainers mode: global setup brings up Postgres, Inbucket, the Mattermost
# server, and these services itself. Every worker enables the same fixed set because
# dispatch pulls specs from a shared queue, so no worker knows in advance which
# service-tagged spec (e.g. @ldap, @saml, @elasticsearch) it will draw.
PW_USE_TESTCONTAINERS: "true"
PW_TESTCONTAINERS_SERVICES: "openldap,keycloak,elasticsearch,opensearch,minio,azurite"
# Keeps the server alive across this worker's per-spec dispatch invocations instead of
# tearing down after each — otherwise ci/prepare-playwright's own global-teardown call would
# stop the server that ci/dispatch-run needs next. ci/testcontainers-teardown does the final
# teardown once the whole queue is done.
PW_TESTCONTAINERS_REUSE: "true"
steps:
- name: ci/checkout-actions
# Sparse-checkout just .github/actions from the triggering ref (master)
Expand Down Expand Up @@ -304,15 +313,9 @@
path: ~/.cache/ms-playwright
key: playwright-browsers-${{ runner.os }}-${{ hashFiles('e2e-tests/playwright/package-lock.json') }}
fail-on-cache-miss: true
- name: ci/cloud-init
working-directory: e2e-tests
run: make cloud-init
- name: ci/start-server
working-directory: e2e-tests
run: make start-server
# Run the `setup` project so per-spec dispatches can pass --no-deps
# and skip plugin-load + server-deployment checks. node_modules,
# lib/dist, and chromium are all restored from cache.
# Brings up the stack via Testcontainers in `testcontainers` mode (global setup). Also runs the
# `setup` project so per-spec dispatches can pass --no-deps and skip plugin-load +
# server-deployment checks. node_modules, lib/dist, and chromium are all restored from cache.
- name: ci/prepare-playwright
working-directory: e2e-tests/playwright
run: npx playwright test --project=setup
Expand All @@ -328,10 +331,6 @@
gh-job-name: dispatch-run-${{ matrix.worker_index }}
playwright-retries: ${{ inputs.playwright_retries }}
playwright-project: ${{ inputs.playwright_project }}
- name: ci/cloud-teardown
if: always()
working-directory: e2e-tests
run: make cloud-teardown
- name: ci/upload-debug-artifacts
if: always()
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ You can also run the deletion job manually at any time by selecting **Run Deleti

<Note>

If using data retention with [ElasticSearch](/administration-guide/scale/elasticsearch-setup), ensure the [ElasticSearch aggregate search indexes](/administration-guide/configure/environment-configuration-settings#aggregate-search-indexes) setting is set to a value that is greater than your data retention policy in days.
If using data retention with [ElasticSearch](/deployment-guide/reference-architecture/scale/elasticsearch-setup), ensure the [ElasticSearch aggregate search indexes](/administration-guide/configure/environment-configuration-settings#aggregate-search-indexes) setting is set to a value that is greater than your data retention policy in days.

</Note>

Expand Down
4 changes: 2 additions & 2 deletions docs/main/administration-guide/configure/bleve-search.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ title: "Bleve search"

**From Mattermost v11, Bleve search has been deprecated.**

- **For v11.0 and later**: Use [Elasticsearch](/administration-guide/scale/elasticsearch-setup) or [OpenSearch](/administration-guide/scale/opensearch-setup) for [enterprise search](/administration-guide/scale/enterprise-search) capabilities
- **For v11.0 and later**: Use [Elasticsearch](/deployment-guide/reference-architecture/scale/elasticsearch-setup) or [OpenSearch](/deployment-guide/reference-architecture/scale/opensearch-setup) for [enterprise search](/deployment-guide/reference-architecture/scale/enterprise-search) capabilities
- **For pre-v11.0 deployments**: This documentation remains relevant for existing installations that continue using Bleve.

</Important>
Expand Down Expand Up @@ -61,4 +61,4 @@ The following conditions are applied when using Bleve search:

## How does search work with Bleve disabled?

Mattermost performs full text searches against the database unless you have an [Enterprise license](/product-overview/editions-and-offerings#mattermost-enterprise) and [enterprise search](/administration-guide/scale/enterprise-search) configured.
Mattermost performs full text searches against the database unless you have an [Enterprise license](/product-overview/editions-and-offerings#mattermost-enterprise) and [enterprise search](/deployment-guide/reference-architecture/scale/enterprise-search) configured.
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: "Store configuration in your database"
---
<PlanAvailability slug="all-commercial" />

If you have a self-hosted Mattermost deployment, you can use your database as the single source of truth for the active configuration of your Mattermost installation. This changes the Mattermost binary from reading the default `config.json` file to reading the configuration settings stored within a configuration table in the database. Mattermost has been running our [community server](https://community.mattermost.com) on this option since the feature was released, and recommends its use for those on [High Availability deployments](/administration-guide/scale/high-availability-cluster-based-deployment).
If you have a self-hosted Mattermost deployment, you can use your database as the single source of truth for the active configuration of your Mattermost installation. This changes the Mattermost binary from reading the default `config.json` file to reading the configuration settings stored within a configuration table in the database. Mattermost has been running our [community server](https://community.mattermost.com) on this option since the feature was released, and recommends its use for those on [High Availability deployments](/deployment-guide/reference-architecture/scale/high-availability-cluster-based-deployment).

Benefits to using this option:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -333,7 +333,7 @@ When using the Mattermost Desktop App, additional configuration is required to o

<Note>

Purging the caches may adversely impact performance. [high availability cluster-based deployments](/administration-guide/scale/high-availability-cluster-based-deployment) will attempt to purge all the servers in the cluster.
Purging the caches may adversely impact performance. [high availability cluster-based deployments](/deployment-guide/reference-architecture/scale/high-availability-cluster-based-deployment) will attempt to purge all the servers in the cluster.

</Note>

Expand Down Expand Up @@ -697,7 +697,7 @@ Your database admin must configure the functionality according to supported valu

#### AWS High Availablity RDS cluster deployments

For an AWS High Availability RDS cluster deployment, point this configuration setting to the write/read endpoint at the **cluster** level to benefit from the AWS failover handling. AWS takes care of promoting different database nodes to be the writer node. Mattermost doesn't need to manage this. See the [high availability database configuration](/administration-guide/scale/high-availability-cluster-based-deployment#database) documentation for details.
For an AWS High Availability RDS cluster deployment, point this configuration setting to the write/read endpoint at the **cluster** level to benefit from the AWS failover handling. AWS takes care of promoting different database nodes to be the writer node. Mattermost doesn't need to manage this. See the [high availability database configuration](/deployment-guide/reference-architecture/scale/high-availability-cluster-based-deployment#database) documentation for details.

### Maximum open connections

Expand Down Expand Up @@ -842,7 +842,7 @@ MySQL databases must be configured to support searching strings shorter than thr

Search behavior in Mattermost depends on which search engines are enabled:

- When [Elasticsearch](/administration-guide/scale/elasticsearch-setup) or [AWS OpenSearch](/administration-guide/scale/opensearch-setup) is enabled, Mattermost will try to use it first.
- When [Elasticsearch](/deployment-guide/reference-architecture/scale/elasticsearch-setup) or [AWS OpenSearch](/deployment-guide/reference-architecture/scale/opensearch-setup) is enabled, Mattermost will try to use it first.
- If Elasticsearch fails or is disabled, Mattermost will attempt to use Bleve search, if enabled. Bleve search has been deprecated in Mattermost v11.0. We recommend using Elasticsearch or OpenSearch for enterprise search capabilities.
- If these fail or are disabled, Mattermost tries to search the database directly, if this is enabled.
- If all of the above methods fail or are disabled, the search results will be empty.
Expand Down Expand Up @@ -893,7 +893,7 @@ Read-only display of the currently active backend used for search. Values can in

#### AWS High Availability RDS cluster deployments

For an AWS High Availability RDS cluster deployment, point this configuration setting directly to the underlying read-only node endpoint within the RDS cluster to circumvent the failover/load balancing that AWS/RDS takes care of (except for the write traffic). Mattermost has its own method of balancing the read-only connections and can also balance those queries to the data source/write+read connection should those nodes fail. See the [high availability database configuration](/administration-guide/scale/high-availability-cluster-based-deployment#database) documentation for details.
For an AWS High Availability RDS cluster deployment, point this configuration setting directly to the underlying read-only node endpoint within the RDS cluster to circumvent the failover/load balancing that AWS/RDS takes care of (except for the write traffic). Mattermost has its own method of balancing the read-only connections and can also balance those queries to the data source/write+read connection should those nodes fail. See the [high availability database configuration](/deployment-guide/reference-architecture/scale/high-availability-cluster-based-deployment#database) documentation for details.

### Search replicas

Expand All @@ -918,7 +918,7 @@ Each database connection string in the array must be in the same form used for t

#### AWS High Availability RDS cluster deployments

For an AWS High Availability RDS cluster deployment, point this configuration setting directly to the underlying read-only node endpoint within the RDS cluster to circumvent the failover/load balancing that AWS/RDS takes care of (except for the write traffic). Mattermost has its own method of balancing the read-only connections and can also balance those queries to the data source/write+read connection should those nodes fail. See the [high availability database configuration](/administration-guide/scale/high-availability-cluster-based-deployment#database) documentation for details.
For an AWS High Availability RDS cluster deployment, point this configuration setting directly to the underlying read-only node endpoint within the RDS cluster to circumvent the failover/load balancing that AWS/RDS takes care of (except for the write traffic). Mattermost has its own method of balancing the read-only connections and can also balance those queries to the data source/write+read connection should those nodes fail. See the [high availability database configuration](/deployment-guide/reference-architecture/scale/high-availability-cluster-based-deployment#database) documentation for details.

### Replica lag settings

Expand Down Expand Up @@ -1096,7 +1096,7 @@ If indexing is disabled and then re-enabled after an index is created, purge and

### Backend type

Both [Elasticsearch](/administration-guide/scale/elasticsearch-setup) and [AWS OpenSearch](/administration-guide/scale/opensearch-setup) provide enterprise-scale deployments with optimized search performance and prevents performance degradation and timeouts. Learn more about [enterprise search](/administration-guide/scale/enterprise-search) in our product documentation.
Both [Elasticsearch](/deployment-guide/reference-architecture/scale/elasticsearch-setup) and [AWS OpenSearch](/deployment-guide/reference-architecture/scale/opensearch-setup) provide enterprise-scale deployments with optimized search performance and prevents performance degradation and timeouts. Learn more about [enterprise search](/deployment-guide/reference-architecture/scale/enterprise-search) in our product documentation.

<table>
<colgroup>
Expand All @@ -1111,7 +1111,7 @@ Both [Elasticsearch](/administration-guide/scale/elasticsearch-setup) and [AWS O
</tbody>
</table>

Learn more about [enterprise search version support](/administration-guide/scale/enterprise-search#supported-paths).
Learn more about [enterprise search version support](/deployment-guide/reference-architecture/scale/enterprise-search#supported-paths).

### Server connection address

Expand Down Expand Up @@ -1507,7 +1507,7 @@ If there are `n` data nodes, the number of replicas per shard for each index sho

<Note>

If you’re using [data retention](/administration-guide/comply/data-retention-policy) and [enterprise search](/administration-guide/scale/enterprise-search), configure this with a value greater than your data retention policy.
If you’re using [data retention](/administration-guide/comply/data-retention-policy) and [enterprise search](/deployment-guide/reference-architecture/scale/enterprise-search), configure this with a value greater than your data retention policy.

</Note>

Expand Down Expand Up @@ -1698,9 +1698,9 @@ During busy periods, this delay will be faster as more traffic is occurring, cau

<Note>

Available from Mattermost v11.6. The required analyzer plugins should be installed on the Elasticsearch or AWS OpenSearch server before enabling this setting for full analysis support. If no plugin is detected, a warning will be logged. See the [Elasticsearch setup](/administration-guide/scale/elasticsearch-setup) and [AWS OpenSearch setup](/administration-guide/scale/opensearch-setup) documentation for plugin installation instructions.
Available from Mattermost v11.6. The required analyzer plugins should be installed on the Elasticsearch or AWS OpenSearch server before enabling this setting for full analysis support. If no plugin is detected, a warning will be logged. See the [Elasticsearch setup](/deployment-guide/reference-architecture/scale/elasticsearch-setup) and [AWS OpenSearch setup](/deployment-guide/reference-architecture/scale/opensearch-setup) documentation for plugin installation instructions.

If you enable this setting on a server that was previously running Elasticsearch or AWS OpenSearch, you must purge and rebuild the search indexes for existing content to be properly searchable with the new analyzers. See the [Elasticsearch setup](/administration-guide/scale/elasticsearch-setup) documentation for instructions on purging and rebuilding indexes.
If you enable this setting on a server that was previously running Elasticsearch or AWS OpenSearch, you must purge and rebuild the search indexes for existing content to be properly searchable with the new analyzers. See the [Elasticsearch setup](/deployment-guide/reference-architecture/scale/elasticsearch-setup) documentation for instructions on purging and rebuilding indexes.

</Note>

Expand Down Expand Up @@ -2514,7 +2514,7 @@ See the [Telemetry](/administration-guide/manage/telemetry#security-update-check

<PlanAvailability slug="ent-plus" />

With self-hosted deployments, you can configure Mattermost as a [high availability cluster-based deployment](/administration-guide/scale/high-availability-cluster-based-deployment) by going to **System Console \> Environment \> High Availability**, or by editing the `config.json` file as described in the following tables. Changes to configuration settings in this section require a server restart before taking effect.
With self-hosted deployments, you can configure Mattermost as a [high availability cluster-based deployment](/deployment-guide/reference-architecture/scale/high-availability-cluster-based-deployment) by going to **System Console \> Environment \> High Availability**, or by editing the `config.json` file as described in the following tables. Changes to configuration settings in this section require a server restart before taking effect.

In a Mattermost high availability cluster-based deployment, the System Console is set to read-only, and settings can only be changed by editing the `config.json` file directly. However, to test a high availability cluster-based environment, you can disable `ClusterSettings.ReadOnlyConfig` in the `config.json` file by setting it to `false`. This allows changes applied using the System Console to be saved back to the configuration file.

Expand Down Expand Up @@ -2563,7 +2563,7 @@ In a Mattermost high availability cluster-based deployment, the System Console i
</tbody>
</table>

See the [high availability cluster-based deployment](/administration-guide/scale/high-availability-cluster-based-deployment) documentation for details.
See the [high availability cluster-based deployment](/deployment-guide/reference-architecture/scale/high-availability-cluster-based-deployment) documentation for details.

### Use IP address

Expand Down Expand Up @@ -3337,7 +3337,7 @@ After changing this setting, the new session length takes effect after the next

- This setting has no effect when [extend session length with activity](#extend-session-length-with-activity) is set to **true**.
- This setting applies to the webapp and the desktop app. For mobile apps, use an [EMM provider](/deployment-guide/mobile/deploy-mobile-apps-using-emm-provider) to lock the app when not in use. |
- In [high availability mode](/administration-guide/scale/high-availability-cluster-based-deployment), enable IP hash load balancing for reliable timeout measurement.
- In [high availability mode](/deployment-guide/reference-architecture/scale/high-availability-cluster-based-deployment), enable IP hash load balancing for reliable timeout measurement.

</Note>

Expand Down
Loading
Loading