Skip to content

Commit 5b76d48

Browse files
github-automation-metabaseMetabase Docs bot
andauthored
[auto] adding content to master->master (#833)
Co-authored-by: Metabase Docs bot <metabase-bot@metabase.com>
1 parent f3b5493 commit 5b76d48

File tree

379 files changed

+3713
-3151
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

379 files changed

+3713
-3151
lines changed

_docs/master/api.json

Lines changed: 233 additions & 71 deletions
Large diffs are not rendered by default.

_docs/master/configuring-metabase/config-template.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -230,10 +230,10 @@ config:
230230
report-timezone: null
231231
reset-token-ttl-hours: 48
232232
retry-initial-interval: 500
233-
retry-max-attempts: 7
233+
retry-max-retries: 6
234234
retry-max-interval-millis: 30000
235235
retry-multiplier: 2.0
236-
retry-randomization-factor: 0.1
236+
retry-jitter-factor: 0.1
237237
saml-application-name: Metabase
238238
saml-attribute-email: null
239239
saml-attribute-firstname: http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname

_docs/master/configuring-metabase/environment-variables.md

Lines changed: 5 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -1378,13 +1378,13 @@ Number of hours a password reset is considered valid.
13781378

13791379
The initial retry delay in milliseconds.
13801380

1381-
### `MB_RETRY_MAX_ATTEMPTS`
1381+
### `MB_RETRY_MAX_RETRIES`
13821382

13831383
- Type: integer
1384-
- Default: `7`
1385-
- [Configuration file name](./config-file): `retry-max-attempts`
1384+
- Default: `6`
1385+
- [Configuration file name](./config-file): `retry-max-retries`
13861386

1387-
The maximum number of attempts for an event.
1387+
The maximum number of retries for a failed event.
13881388

13891389
### `MB_RETRY_MAX_INTERVAL_MILLIS`
13901390

@@ -1406,7 +1406,7 @@ The delay multiplier between attempts.
14061406

14071407
- Type: double
14081408
- Default: `0.1`
1409-
- [Configuration file name](./config-file): `retry-randomization-factor`
1409+
- [Configuration file name](./config-file): `retry-jitter-factor`
14101410

14111411
The randomization factor of the retry delay.
14121412

@@ -1983,29 +1983,6 @@ Since: v35.0
19831983

19841984
Maximum number of async Jetty threads. If not set, then [MB_JETTY_MAXTHREADS](#mb_jetty_maxthreads) will be used, otherwise it will use the default.
19851985

1986-
### `MB_ATTACHMENT_TABLE_ROW_LIMIT`
1987-
1988-
Type: integer<br>
1989-
Default: `20`<br>
1990-
1991-
Limits the number of rows Metabase will display in tables sent with dashboard subscriptions and alerts. Range: 1-100. To limit the total number of rows included in the file attachment for an email dashboard subscription, use [MB_ATTACHMENT_ROW_LIMIT](#mb_attachment_row_limit).
1992-
1993-
### `MB_AUDIT_MAX_RETENTION_DAYS`
1994-
1995-
Only available on Metabase [Pro](/product/pro) and [Enterprise](/product/enterprise) plans.<br>
1996-
Type: integer<br>
1997-
Default: 720 (Metabase keeps all rows)<br>
1998-
1999-
Sets the maximum number of days Metabase preserves rows for the following application database tables:
2000-
2001-
- `query_execution`
2002-
- `audit_log`
2003-
- `view_log`
2004-
2005-
Twice a day, Metabase will delete rows older than this threshold.
2006-
2007-
The minimum value is `30` days (Metabase will treat entered values of `1` to `29` the same as `30`). If set to `0`, Metabase will keep all rows.
2008-
20091986
### `MB_COLORIZE_LOGS`
20101987

20111988
Type: boolean<br>
@@ -2282,21 +2259,6 @@ Default: `null`
22822259

22832260
Password for Java TrustStore file.
22842261

2285-
### `MB_LANDING_PAGE`
2286-
2287-
Only available on Metabase [Pro](/product/pro) and [Enterprise](/product/enterprise) plans.<br>
2288-
Type: string<br>
2289-
Default: `""`
2290-
2291-
Default page to show people when they log in.
2292-
2293-
### `MB_LOAD_ANALYTICS_CONTENT`
2294-
2295-
Type: Boolean<br>
2296-
Default: True
2297-
2298-
If you want to exclude the [Metabase analytics](../usage-and-performance-tools/usage-analytics) collection, you can set `MB_LOAD_ANALYTICS_CONTENT=false`. Setting this environment variable to false can also come in handy when migrating environments, as it can simplify the migration process.
2299-
23002262
### `MB_LOAD_SAMPLE_CONTENT`
23012263

23022264
Type: Boolean<br>
@@ -2355,46 +2317,13 @@ Path of the "plugins" directory, which is used to store the Metabase database dr
23552317

23562318
The location is where custom third-party drivers should be added. Then Metabase will load the driver on startup, which can be verified in the log.
23572319

2358-
### `MB_PREMIUM_EMBEDDING_TOKEN`
2359-
2360-
Type: string<br>
2361-
Default: `null`
2362-
2363-
The license token used for Pro and Enterprise to enable premium features on the Enterprise edition. It is also used for the deprecated "Premium Embedding" functionality on the OSS edition.
2364-
23652320
### `MB_QP_CACHE_BACKEND`
23662321

23672322
Type: string<br>
23682323
Default: `"db"`
23692324

23702325
Current cache backend. Dynamically rebindable primarily for test purposes.
23712326

2372-
### `MB_SEARCH_TYPEAHEAD_ENABLED`
2373-
2374-
Type: boolean<br>
2375-
Default: `true`<br>
2376-
Since: v39.0
2377-
2378-
Show auto-suggestions when using the global search in the top navigation bar.
2379-
2380-
### `MB_SEND_EMAIL_ON_FIRST_LOGIN_FROM_NEW_DEVICE`
2381-
2382-
Type: boolean<br>
2383-
Default: `true`<br>
2384-
Since: v39.0
2385-
2386-
Send email notification to user, when they login from a new device. Set to `false` to stop sending "We've noticed a new login on your Metabase account" emails for all users.
2387-
2388-
Also, this variable controls the geocoding service that Metabase uses to know the location from where your users logged in. Setting this variable to false also disables this reverse geocoding functionality.
2389-
2390-
### `MB_SEND_NEW_SSO_USER_ADMIN_EMAIL`
2391-
2392-
Only available on Metabase [Pro](/product/pro) and [Enterprise](/product/enterprise) plans.<br>
2393-
Type: boolean<br>
2394-
Default: `true`
2395-
2396-
Send email notifications to users in Admin group, when a new SSO users is created on Metabase.
2397-
23982327
### `MB_SETUP_TOKEN`
23992328

24002329
Type: string<br>
@@ -2419,13 +2348,6 @@ Since: v48.4
24192348

24202349
Setting `MB_JETTY_SKIP_SNI=true` (the default setting) turns off the Server Name Indication (SNI) checks in the Jetty web server. Normally you would leave this enabled. If, however, you're terminating the Transport Layer Security (TLS) connection on Metabase itself, and you're getting an error like `HTTP ERROR 400 Invalid SNI`, consider either setting `MB_JETTY_SKIP_SNI=false`, or use another SSL certificate that exactly matches the domain name of the server.
24212350

2422-
### `MB_SOURCE_ADDRESS_HEADER`
2423-
2424-
Type: string<br>
2425-
Default: `X-Forwarded-For`
2426-
2427-
Identify the source of HTTP requests by this header's value, instead of its remote address. Related to [MB_DISABLE_SESSION_THROTTLE](#mb_disable_session_throttle).
2428-
24292351
### `MB_SSL_CERTIFICATE_PUBLIC_KEY`
24302352

24312353
Type: string<br>

_docs/master/databases/connections/aws-rds.md

Lines changed: 66 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,70 @@ Here's how to get connection information for databases on Amazon's RDS:
2828
- **Database Name**. Find this under Configuration Details.
2929
- **Password**. Ask your database administrator for the password.
3030

31-
## Database routing
31+
## IAM authentication
3232

33-
See [Database routing](../../permissions/database-routing).
33+
{% include plans-blockquote.html feature="IAM authentication" self-hosted-only="true" %}
34+
35+
You can connect to RDS Aurora PostgreSQL and MySQL instances using AWS IAM authentication instead of a password.
36+
37+
To set up IAM authentication:
38+
39+
1. [In AWS, enable IAM authentication on your RDS instance](#in-aws-enable-iam-authentication-on-your-rds-instance)
40+
2. [In AWS, set up an IAM policy](#in-aws-set-up-an-iam-policy)
41+
3. [In your database, create a database user](#in-your-database-create-a-database-user)
42+
4. [In your Metabase environment, configure AWS credentials](#in-your-metabase-environment-configure-aws-credentials)
43+
5. [In Metabase, select IAM authentication](#in-metabase-select-iam-authentication)
44+
6. [In Metabase, configure SSL](#in-metabase-configure-ssl)
45+
46+
### In AWS, enable IAM authentication on your RDS instance
47+
48+
[Enable IAM authentication on your RDS instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.Enabling.html) in the AWS console.
49+
50+
### In AWS, set up an IAM policy
51+
52+
Add a policy with the `rds-db:connect` action. The policy resource must specify the [Amazon Resource Name (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html) of your database user in the format:
53+
54+
```
55+
arn:aws:rds-db:region:account-id:dbuser:DbiResourceId/db-user-name
56+
```
57+
58+
When entering the username in Metabase, you'd just enter your `db-user-name`, not the full ARN.
59+
60+
See [Creating IAM policy for IAM database access](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.IAMPolicy.html).
61+
62+
### In your database, create a database user
63+
64+
Create the database user with IAM authentication enabled. The database username must match exactly (case-sensitive) with the `db-user-name` portion of your IAM policy [Amazon Resource Name (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html).
65+
66+
**PostgreSQL:**
67+
68+
```sql
69+
CREATE USER your_username;
70+
GRANT rds_iam TO your_username;
71+
```
72+
73+
**MySQL:**
74+
75+
```sql
76+
CREATE USER 'your_username'@'%' IDENTIFIED WITH AWSAuthenticationPlugin AS 'RDS';
77+
```
78+
79+
See [Setting up for IAM database authentication](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.DBAccounts.html).
80+
81+
### In your Metabase environment, configure AWS credentials
82+
83+
Authentication credentials must be available via one of the methods supported by the [AWS SDK credentials chain](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/credentials-chain.html), typically either:
84+
85+
- Environment variables (`AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY`)
86+
- AWS credentials file (`.aws/credentials`), automatically available if running in [Elastic Container Service (ECS)](https://docs.aws.amazon.com/ecs/)
87+
88+
### In Metabase, select IAM authentication
89+
90+
When adding or editing a database connection in Metabase, click **Use an authentication provider** and select **IAM Authentication**.
91+
92+
### In Metabase, configure SSL
93+
94+
Use a secure connection (SSL):
95+
96+
- **PostgreSQL**: Set the SSL Mode to **require**. See [PostgreSQL SSL options](./postgresql#ssl-mode).
97+
- **MySQL**: The SSL Mode will be automatically set to **verify-ca**. If you manually change the SSL Mode, it must be set to **verify-ca**. See [MySQL SSL options](./mysql#use-a-secure-connection-ssl).

_docs/master/databases/connections/mysql.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,16 @@ The database username for the account that you want to use to connect to your da
4949

5050
The password for the username that you use to connect to the database.
5151

52+
### Use an authentication provider
53+
54+
{% include plans-blockquote.html feature="Authenticating with a provider" %}
55+
56+
Instead of a password, you can authenticate with a supported provider. Only for self-hosted Pro and Enterprise plans.
57+
58+
#### IAM authentication
59+
60+
To connect to Amazon RDS instances using IAM authentication instead of a password, see [IAM authentication for AWS RDS](./aws-rds#iam-authentication).
61+
5262
### Use a secure connection (SSL)
5363

5464
You can paste your server's SSL certification chain.

_docs/master/databases/connections/postgresql.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,10 @@ To use Oauth as a provider, you'll need to input your:
8484
- Auth token URL
8585
- Auth token request headers (a JSON map)
8686

87+
#### IAM authentication
88+
89+
To connect to Amazon RDS instances using IAM authentication instead of a password, see [IAM authentication for AWS RDS](./aws-rds#iam-authentication).
90+
8791
### Schemas
8892

8993
You can specify which schemas you want to sync and scan. Options are:

_docs/master/developers-guide/devenv.md

Lines changed: 56 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,16 @@ Both components are built and assembled together into a single JAR file. In the
2020

2121
## Quick start
2222

23-
First, make sure your local dev tooling matches the Metabase requirements. Run:
23+
**New to the project?** Run the automated setup:
2424

2525
```
26-
./bin/dev-requirements
26+
./bin/dev-install
2727
```
2828

29+
This installs [mise](https://mise.jdx.dev) (a tool version manager), sets up your shell, and installs all required tools (Node.js, Java, Clojure, Yarn, Babashka) at the correct versions. Follow the prompts, then open a new terminal.
30+
31+
**Already have your own setup?** You can check that it meets the requirements with `./bin/dev-requirements`.
32+
2933
To spin up a development environment, run:
3034

3135
```
@@ -64,6 +68,56 @@ clojure -M:run
6468

6569
See [backend development](#backend-development).
6670

71+
## IDE and editor setup
72+
73+
If you use an IDE or editor that runs commands outside your interactive shell (VS Code tasks, Emacs (magit etc.), or IntelliJ run configurations), the tools installed by mise won't be available by default. To fix this, add mise shims to your PATH.
74+
75+
Shims are wrapper scripts that automatically select the correct tool version based on the current directory's `mise.toml`.
76+
77+
First, add this to your shell profile (**.zshrc**, **.bashrc**, **.config/fish/config.fish**):
78+
79+
```bash
80+
export PATH="$HOME/.local/share/mise/shims:$PATH"
81+
```
82+
83+
Then configure your editor:
84+
85+
### VS Code
86+
87+
VS Code usually inherits your shell's PATH if you launch it from the terminal. If not, add to your **settings.json**:
88+
89+
```json
90+
{
91+
"terminal.integrated.env.osx": {
92+
"PATH": "${env:HOME}/.local/share/mise/shims:${env:PATH}"
93+
},
94+
"terminal.integrated.env.linux": {
95+
"PATH": "${env:HOME}/.local/share/mise/shims:${env:PATH}"
96+
}
97+
}
98+
```
99+
100+
### Emacs
101+
102+
Add to your Emacs config (**init.el** or **.emacs**):
103+
104+
```elisp
105+
(add-to-list 'exec-path (expand-file-name "~/.local/share/mise/shims"))
106+
(setenv "PATH" (concat (expand-file-name "~/.local/share/mise/shims") ":" (getenv "PATH")))
107+
```
108+
109+
If you use **exec-path-from-shell**, it should pick up the shims automatically after you update your shell profile.
110+
111+
### IntelliJ / Cursive
112+
113+
Go to **Settings → Tools → Terminal** and add to "Environment variables":
114+
115+
```
116+
PATH=$HOME/.local/share/mise/shims:$PATH
117+
```
118+
119+
For run configurations, you may also need to set the PATH in the run configuration's environment variables.
120+
67121
## Frontend development
68122

69123
We use these technologies for our FE build process to allow us to use modules, es6 syntax, and css variables.

_docs/master/developers-guide/driver-changelog.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@ layout: new-docs
1717

1818
- Added `metabase.driver/compile-insert` to implement incremental transforms.
1919

20+
- All tests in `metabase.query-processor-test.*` namespaces have been moved to `metabase.query-processor.*` (This is
21+
only relevant if you run individual test namespaces as part of your development workflow).
22+
2023
## Metabase 0.57.0
2124

2225
- `driver/field-reference-mlv2` is now deprecated, and is no longer used. Please remove your implementations.

_docs/master/developers-guide/e2e-tests.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,14 +36,14 @@ Our custom Cypress runner builds its own backend and creates a temporary H2 app
3636
To run all Cypress tests headlessly in the terminal:
3737

3838
```sh
39-
OPEN_UI=false yarn run test-cypress
39+
CYPRESS_GUI=false yarn run test-cypress
4040
```
4141

4242
You can quickly test a single file only by using the official `--spec` flag.
4343
This flag can be used to run all specs within a folder, or to run multiple assorted specs. Consult [the official documentation](https://docs.cypress.io/app/references/command-line#cypress-run-spec-lt-spec-gt) for instructions.
4444

4545
```sh
46-
OPEN_UI=false yarn test-cypress --spec e2e/test/scenarios/question/new.cy.spec.js
46+
CYPRESS_GUI=false yarn test-cypress --spec e2e/test/scenarios/question/new.cy.spec.js
4747
```
4848

4949
You can specify a browser to execute Cypress tests in using the `--browser` flag. For more details, please consult [the official documentation](https://docs.cypress.io/guides/guides/launching-browsers).

0 commit comments

Comments
 (0)