open-nomad/website/content/api-docs/ui.mdx

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

587 lines
27 KiB
Plaintext
Raw Normal View History

---
layout: api
page_title: UI
2020-02-06 23:45:31 +00:00
description: The /ui namespace is used to access the Nomad web user interface.
---
# Nomad Web UI
The Nomad UI is accessible at `/ui`. It is not namespaced by version. A request to `/` will also redirect to `/ui`.
## List Jobs
This page lists all known jobs in a paginated, searchable, and sortable table.
| Path | Produces |
| ---------- | ----------- |
| `/ui/jobs` | `text/html` |
### Parameters
- `namespace` `(string: "")` - Specifies the namespace all jobs should be a member
of. This is specified as a query string parameter.
- `sort` `(string: "")` - Specifies the property the list of jobs should be sorted by.
2019-05-08 19:14:31 +00:00
This is specified as a query string parameter.
- `desc` `(boolean: false)` - Specifies whether or not the sort direction is descending
2019-05-08 19:14:31 +00:00
or ascending. This is specified as a query string parameter.
2020-12-18 19:22:12 +00:00
- `search` `(string: "")` - Specifies a regular expression used to filter the list of
2019-05-08 19:14:31 +00:00
visible jobs. This is specified as a query string parameter.
- `page` `(int: 1)` - Specifies the page in the jobs list that should be visible. This
2019-05-08 19:14:31 +00:00
is specified as a query string parameter.
- `type` `(string: "")` - Filters the list of jobs to those with a matching type.
- `status` `(string: "")` - Filters the list of jobs to those with a matching status.
- `dc` `(string: "")` - Filters the list of jobs to those allowed in a matching datacenter value.
- `prefix` `(string: "")` - Filters the list of jobs to those with names that start with a matching prefix.
## Job Detail
This page shows an overview of a specific job. Details include name, status, type,
priority, allocation statuses, and task groups. Additionally, if there is a running
deployment for the job, it will be shown on the overview.
2018-04-02 21:26:39 +00:00
This page shows an overview of a specific job. The exact information shown varies
based on the type of job.
- **Service Job** - Includes job metadata (name, status, priority, namespace), allocation
statuses, placement failures, active deployment, task groups, and evaluations.
- **Batch Job** - Includes job metadata, allocation statuses, placement failures, task
groups, and evaluations.
- **System Job** - Includes job metadata, allocation statuses, placement failures, task
groups, and evaluations.
- **Periodic Job** - Includes job metadata, cron information force launch action, children statuses,
and children list.
- **Parameterized Job** - Includes job metadata, children statuses, and children list.
- **Periodic Child** - Includes job metadata, link to parent job, allocation statuses, placement
failures, task groups, and evaluations.
- **Parameterized Child** - Includes job metadata, link to parent job, allocation statuses,
placement failures, task groups, evaluations, and dispatch payload.
| Path | Produces |
| ------------------ | ----------- |
| `/ui/jobs/:job_id` | `text/html` |
### Parameters
- `sort` `(string: "")` - Specifies the property the list of task groups should be
2019-05-08 19:14:31 +00:00
sorted by. This is specified as a query string parameter.
- `desc` `(boolean: false)` - Specifies whether or not the sort direction is descending
2019-05-08 19:14:31 +00:00
or ascending. This is specified as a query string parameter.
- `page` `(int: 1)` - Specifies the page in the task groups list that should be visible. This
2019-05-08 19:14:31 +00:00
is specified as a query string parameter.
### Job Definition
This page shows the definition of a job as pretty-printed, syntax-highlighted, JSON.
| Path | Produces |
| ----------------------------- | ----------- |
| `/ui/jobs/:job_id/definition` | `text/html` |
### Job Versions
This page lists all available versions for a job in a timeline view. Each version in
the timeline can be expanded to show a pretty-printed, syntax-highlighted diff between
job versions.
2020-02-06 23:45:31 +00:00
| Path | Produces |
| --------------------------- | ----------- |
| `/ui/jobs/:job_id/versions` | `text/html` |
### Job Deployments
This page lists all available deployments for a job when the job has deployments. The
deployments are listed in a timeline view. Each deployment shows pertinent information
such as deployment ID, status, associated version, and submit time. Each deployment can
also be expanded to show detail information regarding canary placements, allocation
placements, healthy and unhealthy allocations, as well the current description for the
status. A table of task groups is also present in the detail view, which shows allocation
metrics by task group. Lastly, each expanded deployment lists all associated allocations
in a table to drill into for task events.
2020-02-06 23:45:31 +00:00
| Path | Produces |
| ------------------------------ | ----------- |
| `/ui/jobs/:job_id/deployments` | `text/html` |
2020-12-18 19:22:12 +00:00
### Job Allocations
This page lists all allocations for a job in a table view. Each allocation includes status indicators (e.g., rescheduled, preempted, unhealthy driver), ID, a link to the task group detail page, the created timestamp, time since last modified, current status, version, a link to the client the allocation is running on, whether or not it has a volume requirement, the current CPU utilization, and the current memory utilization.
| Path | Produces |
| ------------------------------ | ----------- |
| `/ui/jobs/:job_id/allocations` | `text/html` |
### Parameters
- `sort` `(string: "")` - Specifies the property the list of allocations should be sorted by.
This is specified as a query string parameter.
- `desc` `(boolean: false)` - Specifies whether or not the sort direction is descending
or ascending. This is specified as a query string parameter.
- `search` `(string: "")` - Specifies a regular expression used to filter the list of
visible allocations. This is specified as a query string parameter.
- `page` `(int: 1)` - Specifies the page in the allocations list that should be visible. This
2020-12-18 19:22:12 +00:00
is specified as a query string parameter.
### Job Evaluations
This page lists all evaluations for a job in a table view. Each evaluation includes the evaluation ID, priority, created timestamp, the event that triggered the evaluation, status, and whether or not there are placement failures.
| Path | Produces |
| ------------------------------ | ----------- |
| `/ui/jobs/:job_id/evaluations` | `text/html` |
### Parameters
- `sort` `(string: "")` - Specifies the property the list of evaluations should be sorted by.
This is specified as a query string parameter.
- `desc` `(boolean: false)` - Specifies whether or not the sort direction is descending
or ascending. This is specified as a query string parameter.
## Task Group Detail
This page shows an overview of a specific task group. Details include the number of tasks, the aggregated amount of reserved CPU, memory, and disk, all associated allocations broken
down by status, and a list of allocations. The list of allocations include details such as
status, the client the allocation was placed on, and the current CPU and Memory usage of the
allocations.
| Path | Produces |
| ----------------------------------- | ----------- |
| `/ui/jobs/:job_id/:task_group_name` | `text/html` |
### Parameters
- `sort` `(string: "")` - Specifies the property the list of allocations should be sorted by.
2019-05-08 19:14:31 +00:00
This is specified as a query string parameter.
- `desc` `(boolean: false)` - Specifies whether or not the sort direction is descending
2019-05-08 19:14:31 +00:00
or ascending. This is specified as a query string parameter.
2020-12-18 19:22:12 +00:00
- `search` `(string: "")` - Specifies a regular expression used to filter the list of
2019-05-08 19:14:31 +00:00
visible allocations. This is specified as a query string parameter.
- `page` `(int: 1)` - Specifies the page in the allocations list that should be visible. This
2019-05-08 19:14:31 +00:00
is specified as a query string parameter.
## Allocation Detail
This page shows details and events for an allocation. Details include the job the allocation
belongs to, the client the allocation is placed on, a list of all tasks, and lists of task
events per task. Each task in the task list includes the task name, state, last event, time,
and addresses. Each task event in a task history list includes the time, type, and
description of the event.
| Path | Produces |
| --------------------------- | ----------- |
| `/ui/allocations/:alloc_id` | `text/html` |
### Parameters
- `sort` `(string: "")` - Specifies the property the list of tasks should be sorted by.
2019-05-08 19:14:31 +00:00
This is specified as a query string parameter.
- `desc` `(boolean: false)` - Specifies whether or not the sort direction is descending
2019-05-08 19:14:31 +00:00
or ascending. This is specified as a query string parameter.
2020-12-18 19:22:12 +00:00
## Allocation File System
This page will show either a directory listing of a path or the file at a path, depending on whether or not the path is a directory. Specifying no file path will show the root of the allocation file system. The file system is also navigible from the UI. Each entry in the directory listing will include the file size (assuming a file) and the last modified time.
If the file is text based, the UI will render the text inline and the stream the file contents as it updates. If the file is a well-known image format, the image will be rendered inline. In all other cases, the UI will prompt a download link.
| Path | Produces |
| ----------------------------------------- | ----------- |
| `/ui/allocations/:alloc_id/fs/:file_path` | `text/html` |
### Parameters
- `sort` `(string: "")` - Specifies the property the list of files should be sorted by.
This is specified as a query string parameter. Only applies to directories.
- `desc` `(boolean: false)` - Specifies whether or not the sort direction is descending
or ascending. This is specified as a query string parameter. Only applies to directories.
2018-04-02 21:26:39 +00:00
## Task Detail
This page shows details and events for a specific task. Details include when the task started
and stopped, all static and dynamic addresses, and all recent events.
| Path | Produces |
| -------------------------------------- | ----------- |
| `/ui/allocations/:alloc_id/:task_name` | `text/html` |
## Task Logs
This page streams `stdout` and `stderr` logs for a task. By default, `stdout` is tailed, but
there are available actions to see the head of the log, pause and play streaming, and switching
to `stderr`.
| Path | Produces |
| ------------------------------------------- | ----------- |
| `/ui/allocations/:alloc_id/:task_name/logs` | `text/html` |
2020-12-18 19:22:12 +00:00
## Task File System
This page will show either a directory listing of a path or the file at a path, depending on whether or not the path is a directory. Specifying no file path will show the root of the task file system (which is within the allocation file system). The file system is also navigible from the UI. Each entry in the directory listing will include the file size (assuming a file) and the last modified time.
If the file is text based, the UI will render the text inline and the stream the file contents as it updates. If the file is a well-known image format, the image will be rendered inline. In all other cases, the UI will prompt a download link.
| Path | Produces |
| ----------------------------------------- | ----------- |
| `/ui/allocations/:alloc_id/fs/:file_path` | `text/html` |
### Parameters
- `sort` `(string: "")` - Specifies the property the list of files should be sorted by.
This is specified as a query string parameter. Only applies to directories.
- `desc` `(boolean: false)` - Specifies whether or not the sort direction is descending
or ascending. This is specified as a query string parameter. Only applies to directories.
## Exec Job
This page will show a side bar navigation to traverse the job's task groups and tasks. The majority of this page is a latent terminal window. Using the side bar navigation will transition to the exec task page which establishes a `nomad exec` connection.
This page is meant to be rendered in a popup window.
| Path | Produces |
| ------------------ | ----------- |
| `/ui/exec/:job_id` | `text/html` |
### Parameters
- `allocation` `(string: "")` - An allocation ID that specifies which allocation to exec into.
## Exec Task Group
This page will show a side bar navigation to traverse the job's task groups and tasks with the selected task group already open. The majority of this page is a latent terminal window. Using the side bar navigation will transition to the exec task page which establishes a `nomad exec` connection.
This page is meant to be rendered in a popup window.
| Path | Produces |
| ------------------------------ | ----------- |
| `/ui/exec/:job_id/:task_group` | `text/html` |
### Parameters
- `allocation` `(string: "")` - An allocation ID that specifies which allocation to exec into.
## Exec Task
This page will show a side bar navigation to traverse the job's task group's tasks. The majority of this page is a terminal window. The terminal window will be prepopulated with a `nomad exec` command. The specific command used to establish an interactive connection can be modified (e.g., changing `/bin/bash` to `/bin/sh`). Upon submitting the command, a websocket connection is opened to facilitate bidirectional communication between this terminal window and the task running on a Nomad client.
This page is meant to be rendered in a popup window.
| Path | Produces |
| ------------------------------ | ----------- |
| `/ui/exec/:job_id/:task_group` | `text/html` |
### Parameters
- `allocation` `(string: "")` - An allocation ID that specifies which allocation to exec into. When not specified, an allocation for the specified task group is chosen at random.
## Clients List
This page lists all clients in the Nomad cluster in a sortable, searchable, paginated
table.
| Path | Produces |
| ------------- | ----------- |
| `/ui/clients` | `text/html` |
### Parameters
- `sort` `(string: "")` - Specifies the property the list of clients should be sorted by.
2019-05-08 19:14:31 +00:00
This is specified as a query string parameter.
- `desc` `(boolean: false)` - Specifies whether or not the sort direction is descending
2019-05-08 19:14:31 +00:00
or ascending. This is specified as a query string parameter.
2020-12-18 19:22:12 +00:00
- `search` `(string: "")` - Specifies a regular expression used to filter the list of
visible clients . This is specified as a query string parameter.
- `page` `(int: 1)` - Specifies the page in the clients list that should be visible. This
2019-05-08 19:14:31 +00:00
is specified as a query string parameter.
- `class` `(string: "")` - Filters the list of clients to those with a matching node class.
- `state` `(string: "")` - Filters the list of clients to those with a matching state. Options include `initializing`, `ready`, `down`, `ineligible`, and `draining`.
- `dc` `(string: "")` - Filters the list of clients to those in the specified datacenter.
- `volume` `(string: "")` - Filters the list of clients to those with a matching host volume (by name).
## Client Detail
This page shows the details of a client, including the client name, status, full ID,
address, port, datacenter, allocations, and attributes.
| Path | Produces |
| ------------------------ | ----------- |
| `/ui/clients/:client_id` | `text/html` |
### Parameters
- `sort` `(string: "")` - Specifies the property the list of allocations should be sorted by.
2019-05-08 19:14:31 +00:00
This is specified as a query string parameter.
- `desc` `(boolean: false)` - Specifies whether or not the sort direction is descending
2019-05-08 19:14:31 +00:00
or ascending. This is specified as a query string parameter.
2020-12-18 19:22:12 +00:00
- `search` `(string: "")` - Specifies a regular expression used to filter the list of
2019-05-08 19:14:31 +00:00
visible allocations. This is specified as a query string parameter.
- `page` `(int: 1)` - Specifies the page in the allocations list that should be visible. This
2019-05-08 19:14:31 +00:00
is specified as a query string parameter.
## Client Monitor
2020-12-18 19:22:12 +00:00
This page streams log messages from a client's agent. It is the equivalent to the `nomad monitor` command with `-node-id` set to the client specified in the URL.
2020-12-18 19:22:12 +00:00
| Path | Produces |
| -------------------------------- | ----------- |
| `/ui/clients/:client_id/monitor` | `text/html` |
2020-12-18 19:22:12 +00:00
### Parameters
- `level` `(string: "info")` - Specifies the log level to monitor at. Possible values, in order of verbosity, include `trace`, `debug`, `info`, `warn`, and `error`.
## Servers List
This page lists all servers in the Nomad cluster in a sortable table. Details for each
server include the server status, address, port, datacenter, and whether or not it is
the leader.
| Path | Produces |
| ------------- | ----------- |
| `/ui/servers` | `text/html` |
### Parameters
- `sort` `(string: "")` - Specifies the property the list of server agents should be sorted by.
2019-05-08 19:14:31 +00:00
This is specified as a query string parameter.
- `desc` `(boolean: false)` - Specifies whether or not the sort direction is descending
2019-05-08 19:14:31 +00:00
or ascending. This is specified as a query string parameter.
- `page` `(int: 1)` - Specifies the page in the server agents list that should be visible. This
2019-05-08 19:14:31 +00:00
is specified as a query string parameter.
## Server Detail
2017-09-27 18:14:37 +00:00
This page lists all tags associated with a server.
| Path | Produces |
| ------------------------ | ----------- |
| `/ui/servers/:server_id` | `text/html` |
2020-12-18 19:22:12 +00:00
## Server Monitor
This page streams log messages from a server's agent. It is the equivalent to the `nomad monitor` command with `-server-id` set to the server specified in the URL.
| Path | Produces |
| -------------------------------- | ----------- |
| `/ui/servers/:server_id/monitor` | `text/html` |
### Parameters
- `level` `(string: "info")` - Specifies the log level to monitor at. Possible values, in order of verbosity, include `trace`, `debug`, `info`, `warn`, and `error`.
## CSI Volumes
This page lists all CSI volumes registered with the Nomad cluster by namespace. Each volume includes the volume name, health, controller plugin health, node plugin health, provider, and number of attached allocations.
| Path | Produces |
| ----------------- | ----------- |
| `/ui/csi/volumes` | `text/html` |
### Parameters
- `namespace` `(string: "")` - Specifies the namespace all volumes should be a member
of. This is specified as a query string parameter.
- `sort` `(string: "")` - Specifies the property the list of volumes should be sorted by.
This is specified as a query string parameter.
- `desc` `(boolean: false)` - Specifies whether or not the sort direction is descending
or ascending. This is specified as a query string parameter.
- `search` `(string: "")` - Specifies a regular expression used to filter the list of
visible volumes. This is specified as a query string parameter.
- `page` `(int: 1)` - Specifies the page in the volumes list that should be visible. This
2020-12-18 19:22:12 +00:00
is specified as a query string parameter.
## CSI Volume
This page shows information for a CSI volume. This includes whether or not the volume is available for scheduling, the CSI provider, the external ID, and the namespace. This page also includes a table of constraints (access mode and attachment mode), and tables for all attached allocations in `read` mode and `read/write` mode.
| Path | Produces |
| ---------------------------- | ----------- |
| `/ui/csi/volumes/:volume_id` | `text/html` |
## CSI Plugins
This page lists all CSI plugins registered with the Nomad cluster. Each plugin includes the plugin ID, controller plugin health, node plugin health, and CSI provider.
| Path | Produces |
| ----------------- | ----------- |
| `/ui/csi/plugins` | `text/html` |
### Parameters
- `sort` `(string: "")` - Specifies the property the list of plugins should be sorted by.
This is specified as a query string parameter.
- `desc` `(boolean: false)` - Specifies whether or not the sort direction is descending
or ascending. This is specified as a query string parameter.
- `search` `(string: "")` - Specifies a regular expression used to filter the list of
visible plugins. This is specified as a query string parameter.
- `page` `(int: 1)` - Specifies the page in the plugins list that should be visible. This
2020-12-18 19:22:12 +00:00
is specified as a query string parameter.
## CSI Plugin
This page shows information for a CSI plugin. This includes the proportion of healthy controller allocations, the proportion of healthy node allocations, a table of some controller allocations, and a table of some node allocations. Some of this information may be intentionally omitted based on the type of CSI plugin.
2020-12-18 19:22:12 +00:00
| Path | Produces |
| ---------------------------- | ----------- |
| `/ui/csi/plugins/:plugin_id` | `text/html` |
## CSI Plugin Allocations
This page lists all allocations for a CSI plugin. Each allocation includes the standard allocation information (including status indicators, ID, created timestamp, time since last modified, a link to the client the allocation is running on, a link to the job the allocation is for, the job version, volume requirements, current CPU utilization, and current memory utilization) as well as whether or not the allocation is healthy as defined by CSI.
| Path | Produces |
| ----------------- | ----------- |
| `/ui/csi/plugins` | `text/html` |
### Parameters
- `sort` `(string: "")` - Specifies the property the list of allocations should be sorted by.
This is specified as a query string parameter.
- `desc` `(boolean: false)` - Specifies whether or not the sort direction is descending
or ascending. This is specified as a query string parameter.
- `search` `(string: "")` - Specifies a regular expression used to filter the list of
visible allocations. This is specified as a query string parameter.
- `page` `(int: 1)` - Specifies the page in the allocations list that should be visible. This
2020-12-18 19:22:12 +00:00
is specified as a query string parameter.
- `healthy` `(boolean: unset)` - Filters the list of allocations to only those with a matching health value. Value must be `true`, `false`, or unset.
- `type` `(string: "")` - Filters the list of allocations to only those with a matching plugin type. Value must be `controller`, `node`, or unset.
## Optimize
~> **Enterprise Only!** This feature depends on functionality only present in Nomad Autoscaler Enterprise.
This page lists all recommendations surfaced by [dynamic application sizing](/tools/autoscaling#dynamic-application-sizing). This page will automatically redirect to the recommendation summary route for the first recommendation sorted by relevance.
2020-12-18 19:22:12 +00:00
Each recommendation in the list will contain information including the job and task group the recommendation is for, the time the recommendation was surfaced, the number of allocations impacted, the difference in CPU the recommendation suggests, the difference in memory the recommendation suggests, and the aggregate change in CPU and memory given the number of allocations impacted.
| Path | Produces |
| -------------- | ----------- |
| `/ui/optimize` | `text/html` |
### Parameters
- `namespace` `(string: "")` - Specifies the namespace all recommendations should be a member of. This is specified as a query string parameter.
- `all-namespaces` `(boolean: false)` - Overrides the namespace parameter and returns all recommendations for all namespaces the active ACL token is authorized for.
- `search` `(string: "")` - Specifies a regular expression used to filter the list of visible recommendations. This is specified as a query string parameter.
- `type` `(string: "")` - Filters the list of recommendations to only those for jobs with a matching type.
- `status` `(string: "")` - Filters the list of recommendations to only those for jobs with a matching status.
- `dc` `(string: "")` - Filters the list of recommendations to only those for jobs allowed in a matching datacenter value.
2020-12-18 19:22:12 +00:00
- `prefix` `(string: "")` - Filters the list of recommendations to only those for jobs with names that start with a matching prefix.
## Recommendation Summary
This page includes the same list of recommendations as the optimize route as well as the recommendation card for the job and task group specified in the URL. The recommendation card includes a list of all tasks for the task group as well as toggles for each recommendation available (potentially CPU and memory for each task). The card also shows before, after, and delta values for each recommendation. The before and after values are also presented in a chart that overlays the mean, p99, and max utilization values of the task a recommendation is for.
2020-12-18 19:22:12 +00:00
| Path | Produces |
| --------------------------------------- | ----------- |
| `/ui/optimize/:job_id/:task_group_name` | `text/html` |
### Parameters
- `namespace` `(string: "")` - Specifies the namespace of the job the recommendation is for.
## Topology Visualization
This page includes a visualization of all starting and running allocations grouped by client and by datacenter.
| Path | Produces |
| -------------- | ----------- |
| `/ui/topology` | `text/html` |
## ACL Tokens
This page lets you enter an ACL token (both accessor ID and secret ID) to use with the UI.
If the cluster does not have ACLs enabled, this page is unnecessary. If the cluster has an
anonymous policy that grants cluster-wide read access, this page is unnecessary. If the
anonymous policy only grants partial read access, then providing an ACL Token will
authenticate all future requests to allow read access to additional resources.
| Path | Produces |
| --------------------- | ----------- |
| `/ui/settings/tokens` | `text/html` |
[ui] general keyboard navigation: 1.3.4 release (#14138) * Initialized keyboard service Neat but funky: dynamic subnav traversal 👻 generalized traverseSubnav method Shift as special modifier key Nice little demo panel Keyboard shortcuts keycard Some animation styles on keyboard shortcuts Handle situations where a link is deeply nested from its parent menu item Keyboard service cleanup helper-based initializer and teardown for new contextual commands Keyboard shortcuts modal component added and demo-ghost removed Removed j and k from subnav traversal Register and unregister methods for subnav plus new subnavs for volumes and volume register main nav method Generalizing the register nav method 12762 table keynav (#12975) * Experimental feature: shortcut visual hints * Long way around to a custom modifier for keyboard shortcuts * dynamic table and list iterative shortcuts * Progress with regular old tether * Delogging * Table Keynav tether fix, server and client navs, and fix to shiftless on modified arrow keys Go to Optimize keyboard link and storage key changed to g r parameterized jobs keyboard nav Dynamic numeric keynav for multiple tables (#13482) * Multiple tables init * URL-bind enumerable keyboard commands and add to more taskRow and allocationRows * Type safety and lint fixes * Consolidated push to keyCommands * Default value when removing keyCommands * Remove the URL-based removal method and perform a recompute on any add Get tests passing in Keynav: remove math helpers and a few other defensive moves (#13761) * Remove ember math helpers * Test fixes for jobparts/body * Kill an unneeded integration helper test * delog * Trying if disabling percy lets this finish * Okay so its not percy; try parallelism in circle * Percyless yet again * Trying a different angle to not have percy * Upgrade percy to 1.6.1 [ui] Keyboard nav: "u" key to go up a level (#13754) * U to go up a level * Mislabelled my conditional * Custom lint ignore rule * Custom lint ignore rule, this time with commas * Since we're getting rid of ember math helpers elsewhere, do the math ourselves here Replace ArrowLeft etc. with an ascii arrow (#13776) * Replace ArrowLeft etc. with an ascii arrow * non-mutative helper cleanup Keyboard Nav: let users rebind their shortcuts (#13781) * click-outside and shortcuts enabled/disabled toggle * Trap focus when modal open * Enabled/disabled saved to localStorage * Autofocus edit button on variable index * Modal overflow styles * Functional rebind * Saving rebinds to localStorage for all majors * Started on defaultCommandBindings * Modal header style and cancel rebind on escape * keyboardable keybindings w buttons instead of spans * recording and defaultvalues * Enter short-circuits rebind * Only some commands are rebindable, and dont show dupes * No unused get import * More visually distinct header on modal * Disallowed keys for rebind, showing buffer as you type, and moving dedupe to modal logic willDestroy hook to prevent tests from doubling/tripling up addEventListener on kb events remove unused tests Keyboard Navigation acceptance tests (#13893) * Acceptance tests for keyboard modal * a11y audit fix and localStorage clear * Bind/rebind/localStorage tests * Keyboard tests for dynamic nav and tables * Rebinder and assert expectation * Second percy snapshot showing hints no longer relevant Weird issue where linktos with query props specifically from the task-groups page would fail to route / hit undefined.shouldSuperCede errors Adds the concept of exclusivity to a keycommand, removing peers that also share its label Lintfix Changelog and PR feedback Changelog and PR feedback Fix to rebinding in firefox by blurring the now-disabled button on rebind (#14053) * Secure Variables shortcuts removed * Variable index route autofocus removed * Updated changelog entry * Updated changelog entry * Keynav docs (#14148) * Section added to the API Docs UI page * Added a note about disabling * Prev and Next order * Remove dev log and unneeded comments
2022-08-17 16:59:33 +00:00
## Keyboard Shortcuts
The Nomad UI supports several keyboard shortcuts in order to help users navigate and operate Nomad. You can use common key commands to dig into jobs, view logs, monitor evaluations, and more.
Type `?` from anywhere in the UI to launch the Keyboard Shortcuts panel.
### Default key commands:
| Command | Pattern |
| --------------------- | ----------- |
| Go to Jobs | `g j` |
| Go to Storage | `g r` |
| Go to Servers | `g s` |
| Go to Clients | `g c` |
| Go to Topology | `g t` |
| Go to Evaluations | `g e` |
| Go to ACL Tokens | `g a` |
| Next Subnav | `Shift + →` |
| Previous Subnav | `Shift + ←` |
| Next Main Section | `Shift + ↓` |
| Previous Main Section | `Shift + ↑` |
| Show Keyboard Shortcuts | `Shift + ?` |
| Hide Keyboard Shortcuts | `Escape` |
| Go Up a Level | `u` |
### Rebinding and Disabling Commands
From the Keyboard Shortcuts modal, you can click on any pattern to re-bind it to the shortcut of your choosing. This shortcut will persist via your browser's local storage and across refreshes. You can also toggle "Keyboard shortcuts enabled" to disable them completely.