You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
1985
1985
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
-
2009
1986
### `MB_COLORIZE_LOGS`
2010
1987
2011
1988
Type: boolean<br>
@@ -2282,21 +2259,6 @@ Default: `null`
2282
2259
2283
2260
Password for Java TrustStore file.
2284
2261
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
-
2300
2262
### `MB_LOAD_SAMPLE_CONTENT`
2301
2263
2302
2264
Type: Boolean<br>
@@ -2355,46 +2317,13 @@ Path of the "plugins" directory, which is used to store the Metabase database dr
2355
2317
2356
2318
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.
2357
2319
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
-
2365
2320
### `MB_QP_CACHE_BACKEND`
2366
2321
2367
2322
Type: string<br>
2368
2323
Default: `"db"`
2369
2324
2370
2325
Current cache backend. Dynamically rebindable primarily for test purposes.
2371
2326
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.
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
-
2398
2327
### `MB_SETUP_TOKEN`
2399
2328
2400
2329
Type: string<br>
@@ -2419,13 +2348,6 @@ Since: v48.4
2419
2348
2420
2349
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.
2421
2350
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).
### 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:
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
+
CREATEUSERyour_username;
70
+
GRANT rds_iam TO your_username;
71
+
```
72
+
73
+
**MySQL:**
74
+
75
+
```sql
76
+
CREATEUSER '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).
Copy file name to clipboardExpand all lines: _docs/master/developers-guide/devenv.md
+56-2Lines changed: 56 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,12 +20,16 @@ Both components are built and assembled together into a single JAR file. In the
20
20
21
21
## Quick start
22
22
23
-
First, make sure your local dev tooling matches the Metabase requirements. Run:
23
+
**New to the project?** Run the automated setup:
24
24
25
25
```
26
-
./bin/dev-requirements
26
+
./bin/dev-install
27
27
```
28
28
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
+
29
33
To spin up a development environment, run:
30
34
31
35
```
@@ -64,6 +68,56 @@ clojure -M:run
64
68
65
69
See [backend development](#backend-development).
66
70
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**:
Copy file name to clipboardExpand all lines: _docs/master/developers-guide/e2e-tests.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -36,14 +36,14 @@ Our custom Cypress runner builds its own backend and creates a temporary H2 app
36
36
To run all Cypress tests headlessly in the terminal:
37
37
38
38
```sh
39
-
OPEN_UI=false yarn run test-cypress
39
+
CYPRESS_GUI=false yarn run test-cypress
40
40
```
41
41
42
42
You can quickly test a single file only by using the official `--spec` flag.
43
43
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.
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