Files
nomad/website/content/docs/configuration/ui.mdx
2023-08-14 14:23:03 -04:00

122 lines
4.4 KiB
Plaintext

---
layout: docs
page_title: ui Block - Agent Configuration
description: |-
The "ui" block configures the Nomad agent's web UI.
---
# `ui` Block
<Placement groups={['ui']} />
The `ui` block configures the Nomad agent's [web UI].
```hcl
ui {
enabled = true
content_security_policy {
connect_src = ["*"]
default_src = ["'none'"]
form_action = ["'none'"]
frame_ancestors = ["'none'"]
img_src = ["'self'","data:"]
script_src = ["'self'"]
style_src = ["'self'","'unsafe-inline'"]
}
consul {
ui_url = "https://consul.example.com:8501/ui"
}
vault {
ui_url = "https://vault.example.com:8200/ui"
}
label {
text = "Staging Cluster"
background_color = "yellow"
text_color = "#000000"
}
}
```
A default `ui` block is automatically merged with all Nomad agent
configurations. Note that the UI can be served from any Nomad agent,
and the configuration is individual to each agent.
## `ui` Parameters
- `enabled` `(bool: true)` - Specifies whether the web UI is
enabled. If disabled, the `/ui/` path will return an empty web page.
- `consul` <code>([Consul]: nil)</code> - Configures integrations
between the Nomad web UI and the Consul web UI.
- `vault` <code>([Vault]: nil)</code> - Configures integrations
between the Nomad web UI and the Vault web UI.
- `label` <code>([Label]: nil)</code> - Configures a user-defined
label to display in the Nomad Web UI header.
## `content_security_policy` Parameters
The `content_security_policy` block configures the HTTP
[Content-Security-Policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP)
header sent with the web UI response.
- `connect_src` `(array<string>: ["*"])` - Specifies the valid sources for
`connect-src` in the Content Security Policy header.
- `default_src` `(array<string>: ["'none'"])` - Specifies the valid sources for
`default-src` in the Content Security Policy header.
- `form_action` `(array<string>: ["'none'"])` - Specifies the valid sources for
`form-action` in the Content Security Policy header.
- `frame_ancestors` `(array<string>: ["'none'"])` - Specifies the valid sources
for `frame-ancestors` in the Content Security Policy header.
- `img_src` `(array<string>: ["'self'", "data:"])` - Specifies the valid sources
for `img-src` in the Content Security Policy header.
- `script_src` `(array<string>: ["'self'"])` - Specifies the valid sources for
`script-src` in the Content Security Policy header.
- `style_src` `(array<string>: ["'self'","'unsafe-inline'"])` - Specifies the
valid sources for `style-src` in the Content Security Policy header.
## `consul` Parameters
- `ui_url` `(string: "")` - Specifies the full base URL to a Consul
web UI (for example: `https://consul.example.com:8501/ui`. This URL
is used to build links from the Nomad web UI to a Consul web
UI. Note that this URL will not typically be the same one used for
the agent's [`consul.address`]; the `consul.address` is the URL used
by the Nomad to communicate with Consul, whereas the
`ui.consul.ui_url` is the URL you'll visit in your browser. If
this field is omitted, this integration will be disabled.
## `vault` Parameters
- `ui_url` `(string: "")` - Specifies the full base URL to a Vault
web UI (for example: `https://vault.example.com:8200/ui`. This URL
is used to build links from the Nomad web UI to a Vault web
UI. Note that this URL will not typically be the same one used for
the agent's [`vault.address`]; the `vault.address` is the URL used
by the Nomad to communicate with Vault, whereas the
`ui.vault.ui_url` is the URL you'll visit in your browser. If
this field is omitted, this integration will be disabled.
## `label` Parameters
- `text` `(string: "")` - Specifies the text of the label that will be
displayed in the header of the Web UI.
- `background_color` `(string: "")` - The background color of the label to
be displayed. The Web UI will default to a black background. HEX values
may be used.
- `text_color` `(string: "")` - The text color of the label to be displayed.
The Web UI will default to white text. HEX values may be used.
[web UI]: /nomad/tutorials/web-ui
[Consul]: /nomad/docs/configuration/ui#consul-parameters
[Vault]: /nomad/docs/configuration/ui#vault-parameters
[Label]: /nomad/docs/configuration/ui#label-parameters
[`consul.address`]: /nomad/docs/configuration/consul#address
[`vault.address`]: /nomad/docs/configuration/vault#address