feat(website): extract /plugins /tools docs (#11584)

Co-authored-by: Luiz Aoqui <luiz@hashicorp.com>
Co-authored-by: Mike Nomitch <mnomitch@hashicorp.com>
This commit is contained in:
Kevin Wang
2021-12-09 14:25:18 -05:00
committed by GitHub
parent 1fdf1b9122
commit ddca508b0d
79 changed files with 783 additions and 178 deletions

View File

@@ -498,7 +498,7 @@ This page lists all allocations for a CSI plugin. Each allocation includes the s
~> **Enterprise Only!** This feature depends on functionality only present in Nomad Autoscaler Enterprise.
This page lists all recommendations surfaced by [dynamic application sizing](/docs/autoscaling#dynamic-application-sizing). This page will automatically redirect to the recommendation summary route for the first recommendation sorted by relevance.
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.
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.

View File

@@ -36,7 +36,7 @@ https://buildkite.com/works-with/hashicorp
#### Containerd
https://www.nomadproject.io/docs/drivers/external/containerd
https://www.nomadproject.io/plugins/drivers/community/containerd
#### Windows IIS
@@ -44,7 +44,7 @@ https://github.com/Roblox/nomad-driver-iis
#### Jailtask
https://www.nomadproject.io/docs/drivers/external/jail-task-driver
https://www.nomadproject.io/plugins/drivers/community/jail-task-driver
#### Pot
@@ -52,19 +52,19 @@ https://github.com/trivago/nomad-pot-driver
#### Singularity
https://www.nomadproject.io/docs/drivers/external/singularity
https://www.nomadproject.io/plugins/drivers/community/singularity
#### Firecracker
https://www.nomadproject.io/docs/drivers/external/firecracker-task-driver
https://www.nomadproject.io/plugins/drivers/community/firecracker-task-driver
#### Podman
https://www.nomadproject.io/docs/drivers/podman
https://www.nomadproject.io/plugins/drivers/podman
#### LXC
https://www.nomadproject.io/docs/drivers/external/lxc
https://www.nomadproject.io/plugins/drivers/community/lxc
### Application Definition & Image Build

View File

@@ -173,6 +173,6 @@ Click [here](https://www.hashicorp.com/go/nomad-enterprise) to set up a demo or
request a trial of Nomad Enterprise.
[multiregion deployments]: /docs/job-specification/multiregion
[autoscaling capabilities]: /docs/autoscaling
[scaling policies]: /docs/autoscaling/policy
[autoscaling capabilities]: /tools/autoscaling
[scaling policies]: /tools/autoscaling/policy
[gh-9958]: https://github.com/hashicorp/nomad/issues/9958

View File

@@ -109,7 +109,7 @@ For task driver plugin authors there are 2 important new behaviors when
allocation.
2. If the Nomad client managing a remote task is drained or if the allocation
was `lost`, the remote task is sent a special `DETACH` kill signal. This
indicates the plugin should stop managing the remote task, but *not* stop
indicates the plugin should stop managing the remote task, but _not_ stop
it.
These behaviors are meant to keep remote tasks running even when the Nomad
@@ -253,4 +253,4 @@ inside the running container. `ExecTask` is called for Consul script checks.
[taskconfig]: https://godoc.org/github.com/hashicorp/nomad/plugins/drivers#TaskConfig
[taskhandle]: https://godoc.org/github.com/hashicorp/nomad/plugins/drivers#TaskHandle
[fifopackage]: https://godoc.org/github.com/hashicorp/nomad/client/lib/fifo
[rtd]: /docs/drivers/remote
[rtd]: /plugins/drivers/remote

View File

@@ -108,8 +108,8 @@ job "example" {
its contents are specific to the autoscaler; consult the
[Nomad Autoscaler documentation][autoscaling_policy] for more details.
[autoscaling_policy]: /docs/autoscaling/policy
[autoscaling_policy]: /tools/autoscaling/policy
[`count`]: /docs/job-specification/group#count 'Nomad Task Group specification'
[`resources`]: /docs/job-specification/task#resources 'Nomad Task specification'
[das]: /docs/autoscaling#dynamic-application-sizing
[horizontal_app_scaling]: /docs/autoscaling#horizontal-application-autoscaling
[das]: /tools/autoscaling#dynamic-application-sizing
[horizontal_app_scaling]: /tools/autoscaling#horizontal-application-autoscaling

View File

@@ -73,7 +73,7 @@ Container Runtime
- [Task driver documentation](/docs/drivers)
- [Guide to build, install, and maintaining a task driver plugin](/docs/internals/plugins/task-drivers)
- [Community examples of task drivers](/docs/drivers/external)
- [Community examples of task drivers](/plugins/drivers/community)
GPUs & Specialized Hardware Devices
@@ -84,7 +84,7 @@ GPUs & Specialized Hardware Devices
Autoscaling
- [Autoscaling plugin documentation](/docs/autoscaling)
- [Autoscaling plugin documentation](/tools/autoscaling)
Storage

View File

@@ -63,7 +63,7 @@ you must ensure the `Config.Namespace` field is unset.
Starting in Nomad 1.1.2, task groups with `network.mode = "bridge"` generated a
hosts file in Docker containers. This generated hosts file was bind-mounted
from the task directory to `/etc/hosts` within the task. In Nomad 1.1.3 the
from the task directory to `/etc/hosts` within the task. In Nomad 1.1.3 the
source for the bind mount was moved to the allocation directory so that it is
shared between all tasks in an allocation.
@@ -144,7 +144,6 @@ Tasks using the `exec` or `java` task drivers can add or remove desired linux
capabilities using the [`cap_add`][cap_add_exec] and [`cap_drop`][cap_drop_exec]
task configuration options.
#### iptables
Nomad now appends its iptables rules to the `NOMAD-ADMIN` chain instead of
@@ -1182,11 +1181,11 @@ deleted and then Nomad 0.3.0 can be launched.
[go-client]: https://pkg.go.dev/github.com/hashicorp/nomad/api#Client
[hcl2]: https://github.com/hashicorp/hcl2
[limits]: /docs/configuration#limits
[lxc]: /docs/drivers/external/lxc
[lxc]: /plugins/drivers/community/lxc
[migrate]: /docs/job-specification/migrate
[nvidia]: /docs/devices/external/nvidia
[nvidia]: /plugins/devices/nvidia
[plugin-stanza]: /docs/configuration/plugin
[plugins]: /docs/drivers/external
[plugins]: /plugins/drivers/community
[preemption-api]: /api-docs/operator#update-scheduler-configuration
[preemption]: /docs/internals/scheduling/preemption
[proxy_concurrency]: /docs/job-specification/sidecar_task#proxy_concurrency
@@ -1204,8 +1203,8 @@ deleted and then Nomad 0.3.0 can be launched.
[`volume create`]: /docs/commands/volume/create
[`volume register`]: /docs/commands/volume/register
[`volume`]: /docs/job-specification/volume
[Enterprise licensing]: /docs/enterprise/license
[`CAP_NET_RAW`]: https://security.stackexchange.com/a/128988
[enterprise licensing]: /docs/enterprise/license
[`cap_net_raw`]: https://security.stackexchange.com/a/128988
[`linux capabilities`]: https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities
[`allow_caps`]: /docs/drivers/docker#allow_caps
[`extra_hosts`]: /docs/drivers/docker#extra_hosts

View File

@@ -1,19 +1,10 @@
---
layout: docs
page_title: 'Device Plugins: External'
description: 'A list of external Device Plugins.'
page_title: 'Device Plugins: Community Supported'
description: 'A list of community supported Device Plugins.'
---
# External Device Plugins
Nomad has a plugin system for defining task drivers. External device driver
plugins will have the same user experience as built in devices.
Below is a list of official external task drivers you can use with Nomad:
- [Nvidia][nvidia]
## Community Supported
# Community Supported
If you have authored a device plugin that you believe will be useful to the
broader Nomad community and you are committed to maintaining the plugin,
@@ -25,5 +16,4 @@ Below is a list of community-support task drivers you can use with Nomad:
- [USB][usb]
[plugin_guide]: /docs/internals/plugins
[nvidia]: /docs/devices/external/nvidia
[usb]: /docs/devices/external/usb
[usb]: /plugins/devices/community/usb

View File

@@ -0,0 +1,17 @@
---
layout: docs
page_title: 'Device Plugins: External'
description: 'A list of external Device Plugins.'
---
# External Device Plugins
Nomad has a plugin system for defining task drivers. External device driver
plugins will have the same user experience as built in devices.
Below is a list of official external task drivers you can use with Nomad:
- [Nvidia][nvidia]
[plugin_guide]: /docs/internals/plugins
[nvidia]: /plugins/devices/nvidia

View File

@@ -11,10 +11,10 @@ Name: `nvidia-gpu`
The Nvidia device plugin is used to expose Nvidia GPUs to Nomad.
~> **Note**: The Nvidia device plugin setup has changed in Nomad 1.2. You must
add a [`plugin`] block to your clients configuration and install the
[external Nvidia device plugin][nvidia_plugin_download] into their
[`plugin_dir`] prior to upgrading. See plugin options below for an example.
Note the job specification remains the same.
add a [`plugin`] block to your clients configuration and install the
[external Nvidia device plugin][nvidia_plugin_download] into their
[`plugin_dir`] prior to upgrading. See plugin options below for an example.
Note the job specification remains the same.
## Fingerprinted Attributes
@@ -337,7 +337,7 @@ Wed Jan 23 18:25:32 2019
[docker-driver]: /docs/drivers/docker 'Nomad docker Driver'
[exec-driver]: /docs/drivers/exec 'Nomad exec Driver'
[java-driver]: /docs/drivers/java 'Nomad java Driver'
[lxc-driver]: /docs/drivers/external/lxc 'Nomad lxc Driver'
[lxc-driver]: /plugins/drivers/community/lxc 'Nomad lxc Driver'
[`plugin`]: /docs/configuration/plugin
[`plugin_dir`]: /docs/configuration#plugin_dir
[nvidia_plugin_download]: https://releases.hashicorp.com/nomad-device-nvidia/

View File

@@ -25,7 +25,6 @@ Below is a list of community-supported task drivers you can use with Nomad:
- [Jail task driver][jail-task-driver]
- [Lightrun][lightrun]
- [LXC][lxc]
- [Podman][podman]
- [Pot][pot]
- [Rkt][rkt]
- [Rookout][rookout]
@@ -33,16 +32,15 @@ Below is a list of community-supported task drivers you can use with Nomad:
- [systemd-nspawn][nspawn-driver]
- [Windows IIS][nomad-driver-iis]
[rookout]: /docs/drivers/external/rookout
[lxc]: /docs/drivers/external/lxc
[rkt]: /docs/drivers/external/rkt
[rookout]: /plugins/drivers/community/rookout
[lxc]: /plugins/drivers/community/lxc
[rkt]: /plugins/drivers/community/rkt
[plugin_guide]: /docs/internals/plugins
[singularity]: /docs/drivers/external/singularity
[jail-task-driver]: /docs/drivers/external/jail-task-driver
[podman]: /docs/drivers/external/podman
[pot]: /docs/drivers/external/pot
[firecracker-task-driver]: /docs/drivers/external/firecracker-task-driver
[nspawn-driver]: /docs/drivers/external/nspawn
[nomad-driver-iis]: /docs/drivers/external/iis
[nomad-driver-containerd]: /docs/drivers/external/containerd
[lightrun]: /docs/drivers/external/lightrun
[singularity]: /plugins/drivers/community/singularity
[jail-task-driver]: /plugins/drivers/community/jail-task-driver
[pot]: /plugins/drivers/community/pot
[firecracker-task-driver]: /plugins/drivers/community/firecracker-task-driver
[nspawn-driver]: /plugins/drivers/community/nspawn
[nomad-driver-iis]: /plugins/drivers/community/iis
[nomad-driver-containerd]: /plugins/drivers/community/containerd
[lightrun]: /plugins/drivers/community/lightrun

View File

@@ -0,0 +1,41 @@
---
layout: docs
page_title: Task Drivers
description: Task Drivers are used to integrate with the host OS to run tasks in Nomad.
---
# Task Drivers
Task drivers are used by Nomad clients to execute a task and provide resource
isolation. By having extensible task drivers, Nomad has the flexibility to
support a broad set of workloads across all major operating systems.
Starting with Nomad 0.9, task drivers are now pluggable. This gives users the
flexibility to introduce their own drivers without having to recompile Nomad.
You can view the [plugin stanza][plugin] documentation for examples on how to
use the `plugin` stanza in Nomad's client configuration. Note that we have
introduced new syntax when specifying driver options in the client configuration
(see [docker][docker_plugin] for an example). Keep in mind that even though all
built-in drivers are now plugins, Nomad remains a single binary and maintains
backwards compatibility except with the `lxc` driver.
The list of supported task drivers is provided on the left of this page. Each
task driver documents the configuration available in a [job
specification](/docs/job-specification), the environments it can be
used in, and the resource isolation mechanisms available.
For details on authoring a task driver plugin, please refer to the [plugin
authoring guide][plugin_guide].
Task driver resource isolation is intended to provide a degree of separation of
Nomad client CPU / memory / storage between tasks. Resource isolation
effectiveness is dependent upon individual task driver implementations and
underlying client operating systems. Task drivers do include various
security-related controls, but the Nomad client to task interface should not be
considered a security boundary. See the [access control guide][acl_guide] for
more information on how to protect Nomad cluster operations.
[plugin]: /docs/configuration/plugin
[docker_plugin]: /docs/drivers/docker#client-requirements
[plugin_guide]: /docs/internals/plugins
[acl_guide]: https://learn.hashicorp.com/collections/nomad/access-control

View File

@@ -0,0 +1,17 @@
---
layout: docs
page_title: Plugins
description: Learn about task driver and device plugins for Nomad.
---
# Plugins
Nomad 0.9 introduced a plugin framework which allows users to extend the
functionality of some components within Nomad. The design of the plugin system
is inspired by the lessons learned from plugin systems implemented in other
HashiCorp products such as Terraform and Vault.
The following components are currently pluggable within Nomad:
- [Task Drivers](/plugins/drivers)
- [Devices](/plugins/devices)

View File

@@ -90,6 +90,6 @@ following actions.
[hcl_v2]: https://github.com/hashicorp/hcl/tree/hcl2
[nomad_namespaces]: https://learn.hashicorp.com/tutorials/nomad/namespaces
[nomad_acls]: https://learn.hashicorp.com/collections/nomad/access-control
[autoscaler_agent_nomad]: /docs/autoscaling/agent/nomad
[autoscaler_cli_config]: /docs/autoscaling/cli#config
[autoscaler_cli_policy_dir]: /docs/autoscaling/cli#policy-dir
[autoscaler_agent_nomad]: /tools/autoscaling/agent/nomad
[autoscaler_cli_config]: /tools/autoscaling/cli#config
[autoscaler_cli_policy_dir]: /tools/autoscaling/cli#policy-dir

View File

@@ -35,4 +35,4 @@ apm "example-apm-plugin" {
the plugin either as HCL or JSON. The accepted values are plugin specific.
Please refer to the individual plugin's documentation.
[plugin_dir]: /docs/autoscaling/agent#plugin_dir
[plugin_dir]: /tools/autoscaling/agent#plugin_dir

View File

@@ -34,4 +34,4 @@ strategy "example-strategy-plugin" {
the plugin either as HCL or JSON. The accepted values are plugin specific.
Please refer to the individual plugin's documentation.
[plugin_dir]: /docs/autoscaling/agent#plugin_dir
[plugin_dir]: /tools/autoscaling/agent#plugin_dir

View File

@@ -35,4 +35,4 @@ target "example-target-plugin" {
the plugin either as HCL or JSON. The accepted values are plugin specific.
Please refer to the individual plugin's documentation.
[plugin_dir]: /docs/autoscaling/agent#plugin_dir
[plugin_dir]: /tools/autoscaling/agent#plugin_dir

View File

@@ -188,4 +188,4 @@ $ nomad-autoscaler version
Nomad Autoscaler v0.0.3-dev (da91fa9)
```
[nomad_autoscaler_agent_guide]: /docs/autoscaling/agent
[nomad_autoscaler_agent_guide]: /tools/autoscaling/agent

View File

@@ -34,7 +34,7 @@ from a cluster to ensure there is an appropriate amount of cluster resource for
the scheduled applications. This is achieved by interacting with remote providers
to start or terminate new Nomad clients based on metrics such as the remaining
free schedulable CPU or memory. Cluster scaling is enabled by configuring the
[autoscaler agent](/docs/autoscaling/agent#dir) with policies targeting the Nomad
[autoscaler agent](/tools/autoscaling/agent#dir) with policies targeting the Nomad
cluster.
## Dynamic Application Sizing
@@ -56,7 +56,7 @@ Dynamic Application Sizing can be enabled on an individual task by configuring
specification [`scaling` block][scaling_block].
[scaling_block]: /docs/job-specification/scaling#scaling-stanza
[autoscaling_policy]: /docs/autoscaling/policy
[autoscaling_policy]: /tools/autoscaling/policy
[autoscaler_github]: https://github.com/hashicorp/nomad-autoscaler
[autoscaler_releases]: https://releases.hashicorp.com/nomad-autoscaler/
[autoscaler_dockerhub]: https://hub.docker.com/r/hashicorp/nomad-autoscaler

View File

@@ -11,5 +11,5 @@ description: >
This section covers the internals of the Nomad Autoscaler and explains the
technical details of how it functions, its architecture, and sub-systems.
- [Autoscaler plugins](/docs/autoscaling/internals/plugins)
- [Check calculations](/docs/autoscaling/interals/checks)
- [Autoscaler plugins](/tools/autoscaling/internals/plugins)
- [Check calculations](/tools/autoscaling/interals/checks)

View File

@@ -43,6 +43,6 @@ An example would be to return the CPU utilization for all allocations during
the time range.
[apm_plugin]: https://github.com/hashicorp/nomad-autoscaler/blob/v0.3.0/plugins/apm/apm.go#L11
[base_plugin]: /docs/autoscaling/internals/plugins/base
[base_plugin]: /tools/autoscaling/internals/plugins/base
[noop_plugin]: https://github.com/hashicorp/nomad-autoscaler/tree/v0.3.0/plugins/test/noop-apm
[das]: /docs/autoscaling#dynamic-application-sizing
[das]: /tools/autoscaling#dynamic-application-sizing

View File

@@ -30,4 +30,4 @@ PluginInfo{
The `SetConfig` function is called when starting an instance of the plugin. It contains the
configuration for a named instance of the plugin as provided in the autoscaler [agent config][plugin_config].
[plugin_config]: /docs/autoscaling/agent
[plugin_config]: /tools/autoscaling/agent

View File

@@ -13,11 +13,11 @@ devices.
The following components are currently pluggable within the Nomad Autoscaler:
- [APMs](/docs/autoscaling/internals/plugins/apm)
- [Strategies](/docs/autoscaling/internals/plugins/strategy)
- [Targets](/docs/autoscaling/internals/plugins/target)
- [APMs](/tools/autoscaling/internals/plugins/apm)
- [Strategies](/tools/autoscaling/internals/plugins/strategy)
- [Targets](/tools/autoscaling/internals/plugins/target)
In addition, each plugin implements a [base](/docs/autoscaling/internals/plugins/base)
In addition, each plugin implements a [base](/tools/autoscaling/internals/plugins/base)
plugin functionality.
# Architecture

View File

@@ -35,6 +35,6 @@ argument includes the current value of the scaling target. The returned struct s
from applying the strategy.
[strategy_plugin]: https://github.com/hashicorp/nomad-autoscaler/blob/v0.3.0/plugins/strategy/strategy.go#L11
[base_plugin]: /docs/autoscaling/internals/plugins/base
[base_plugin]: /tools/autoscaling/internals/plugins/base
[noop_plugin]: https://github.com/hashicorp/nomad-autoscaler/tree/v0.3.0/plugins/test/noop-strategy
[target_value]: https://github.com/hashicorp/nomad-autoscaler/tree/v0.3.0/plugins/builtin/strategy/target-value

View File

@@ -43,8 +43,8 @@ current scaling level, readiness, and arbitrary metadata.
[nomad_group_count_plugin]: https://github.com/hashicorp/nomad-autoscaler/tree/v0.3.0/plugins/builtin/target/nomad
[target_plugin]: https://github.com/hashicorp/nomad-autoscaler/blob/v0.3.0/plugins/target/target.go#L12
[base_plugin]: /docs/autoscaling/internals/plugins/base
[base_plugin]: /tools/autoscaling/internals/plugins/base
[noop_plugin]: https://github.com/hashicorp/nomad-autoscaler/tree/v0.3.0/plugins/test/noop-target
[scaling_action_sdk]: https://github.com/hashicorp/nomad-autoscaler/blob/v0.3.0/sdk/strategy.go#L25
[policy_target]: /docs/autoscaling/policy#target
[policy_target]: /tools/autoscaling/policy#target
[target_status_sdk]: https://github.com/hashicorp/nomad-autoscaler/blob/v0.3.0/sdk/target.go#L6

View File

@@ -21,7 +21,7 @@ Below is a list of community-support plugins available for the Nomad autoscaler.
- [OpenStack Nova][os-nova]
- [OpenStack Senlin][senlin]
[plugin_guide]: /docs/autoscaling/internals/plugins
[plugin_guide]: /tools/autoscaling/internals/plugins
[senlin]: https://github.com/dkt26111/nomad-senlin-autoscaler
[do-droplets]: https://github.com/jsiebens/nomad-droplets-autoscaler
[os-nova]: https://github.com/jorgemarey/nomad-nova-autoscaler

View File

@@ -72,8 +72,8 @@ with an appropriate [APM][apm], [Strategy][strategy] or [Target][target] block
entry.
[go_plugin_github]: https://github.com/hashicorp/go-plugin
[community_plugins]: /docs/autoscaling/plugins/external
[plugin_dir_config]: /docs/autoscaling/agent#plugin_dir
[apm]: /docs/autoscaling/agent/apm#apm-block
[strategy]: /docs/autoscaling/agent/strategy#strategy-block
[target]: /docs/autoscaling/agent/target#target-block
[community_plugins]: /tools/autoscaling/plugins/external
[plugin_dir_config]: /tools/autoscaling/agent#plugin_dir
[apm]: /tools/autoscaling/agent/apm#apm-block
[strategy]: /tools/autoscaling/agent/strategy#strategy-block
[target]: /tools/autoscaling/agent/target#target-block

View File

@@ -75,4 +75,4 @@ within bounds. Similarly, if `upper_bound` is not defined, any value above
One, and only one, of `delta`, `percentage`, or `value` must be defined.
[internals_check]: /docs/autoscaling/internals/checks
[internals_check]: /tools/autoscaling/internals/checks

View File

@@ -67,7 +67,7 @@ check "mem" {
specification [`resource` stanza][nomad_resource_stanza]. Supports either `CPU`
or `MemoryMB`.
[nomad_autoscaler_policy]: /docs/autoscaling/policy
[nomad_autoscaler_policy]: /tools/autoscaling/policy
[nomad_group_stanza]: /docs/job-specification/group
[nomad_job_stanza]: /docs/job-specification/job
[nomad_namespace_parameter]: /docs/job-specification/job#namespace

View File

@@ -126,5 +126,5 @@ check "hashistack-allocated-cpu" {
[nomad_node_class]: /docs/configuration/client#node_class
[nomad_node_drain_deadline]: /api-docs/nodes#deadline
[nomad_node_purge]: /api-docs/nodes#purge-node
[node_selector_strategy]: /docs/autoscaling/internals/node-selector-strategy
[node_selector_strategy]: /tools/autoscaling/internals/node-selector-strategy
[vault_aws_backend]: https://www.vaultproject.io/docs/secrets/aws

View File

@@ -136,7 +136,7 @@ service][azure_instance_metadata].
[azure_virtual_machine_scale_sets]: https://docs.microsoft.com/en-us/azure/virtual-machine-scale-sets/overview
[azure_vm_identity]: https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/
[client_meta_tag]: #client-meta-tag
[node_selector_strategy]: /docs/autoscaling/internals/node-selector-strategy
[node_selector_strategy]: /tools/autoscaling/internals/node-selector-strategy
[nomad_datacenter]: /docs/configuration#datacenter
[nomad_client_meta_tag]: /docs/configuration/client#meta
[nomad_node_class]: /docs/configuration/client#node_class

View File

@@ -106,5 +106,5 @@ check "hashistack-allocated-cpu" {
[nomad_node_class]: /docs/configuration/client#node_class
[nomad_node_drain_deadline]: /api-docs/nodes#deadline
[nomad_node_purge]: /api-docs/nodes#purge-node
[node_selector_strategy]: /docs/autoscaling/internals/node-selector-strategy
[node_selector_strategy]: /tools/autoscaling/internals/node-selector-strategy
[vault_gcp_backend]: https://www.vaultproject.io/docs/secrets/gcp

View File

@@ -221,10 +221,10 @@ scaling "mem" {
}
```
[das]: /docs/autoscaling#dynamic-application-sizing
[policy_default_cooldown_agent]: /docs/autoscaling/agent#default_cooldown
[eval_interval_agent]: /docs/autoscaling/agent#default_evaluation_interval
[target_plugin_docs]: /docs/autoscaling/plugins/target
[strategy_plugin_docs]: /docs/autoscaling/plugins/strategy
[apm_plugin_docs]: /docs/autoscaling/plugins/apm
[das]: /tools/autoscaling#dynamic-application-sizing
[policy_default_cooldown_agent]: /tools/autoscaling/agent#default_cooldown
[eval_interval_agent]: /tools/autoscaling/agent#default_evaluation_interval
[target_plugin_docs]: /tools/autoscaling/plugins/target
[strategy_plugin_docs]: /tools/autoscaling/plugins/strategy
[apm_plugin_docs]: /tools/autoscaling/plugins/apm
[jobspec_scaling_stanza]: /docs/job-specification/scaling

View File

@@ -268,4 +268,4 @@ and help identify potential bottle necks or latency issues.
</tbody>
</table>
[agent_telemetry_config]: /docs/autoscaling/agent#telemetry-block
[agent_telemetry_config]: /tools/autoscaling/agent#telemetry-block

View File

@@ -0,0 +1,40 @@
---
layout: docs
page_title: Tools
description: Learn about tools for Nomad.
---
# Tools
External tools provide additional capabilities and use cases to Nomad. They are
installed separately from Nomad itself and can sometimes be deployed as a Nomad
job in your cluster.
## HashiCorp-Maintained Tools
The following external tools are currently available for Nomad and maintained by HashiCorp:
- [Autoscaling](/tools/autoscaling) - HashiCorp's official Nomad Autoscaler. Supports scaling allocations within Nomad and scaling nodes on AWS, Azure, GCP, or arbitrary infrastructure via plugins.
- [Damon](https://github.com/hashicorp/damon) - An terminal dashboard for Nomad.
- [Levant](https://github.com/hashicorp/levant) - A templating and deployment tool for HashiCorp Nomad jobs that provides realtime feedback and detailed failure messages upon deployment issues.
- [Nomad Pack](https://github.com/hashicorp/nomad-pack) - An official package manager and templating tool for Nomad, currently a Tech Preview.
## Community Tools
The following external tools are currently available for Nomad and maintained by members of the Nomad Community:
- [Chaotic](https://github.com/ngine-io/chaotic) - A Chaos Engineering tool to stop allocations, reboot or stop/start virtual machines in your cloud environment
- [Deadman Check](https://github.com/sepulworld/deadman-check) - A monitoring companion for Nomad periodic jobs that alerts if periodic isn't running at the expected interval
- [Hashi Up](https://github.com/jsiebens/hashi-up) - A utility to install Nomad on remote Linux hosts
- [Jenkins Nomad Cloud Plugin](https://github.com/jenkinsci/nomad-plugin) - A Jenkins plugin using Nomad to provision build workers
- [Kreconciler](https://github.com/koyeb/kreconciler) - A library to build control-loops for things on Nomad (or other schedulers)
- [Nelson](https://getnelson.io/) - A tool for automated, multi-region container deployment using Nomad
- [Node Problem Detector](https://github.com/Roblox/nomad-node-problem-detector) - A tool used to detect problems on Nomad nodes based on user-defined health checks
- [Nomad deploy result action](https://github.com/let-sh/nomad-deploy-result-action) - A Github action to monitor deployment results
- [Nomad Firehose](https://github.com/seatgeek/nomad-firehose) - A tool to enable teams to quickly build logic around nomad task events without hooking into Nomad API
- [Nomad Helper](https://github.com/seatgeek/nomad-helper) - A Nomad helper binary. Reevaluate jobs, force garbage collection, drain nodes, export/import count information
- [Nomad Toast](https://github.com/jrasell/nomad-toast) - A tool for receiving notifications based on HashiCorp Nomad events
- [Nomad Watcher](https://github.com/blalor/nomad-watcher) - A simple service that watches Nomad's nodes, jobs, deployments, evaluations, allocations, and task states, and writes the events to a file
- [Nomadgen](https://github.com/smintz/nomadgen) - Craft your Hashicorp's Nomad job specs in python.
- [Nomadctld](https://github.com/42wim/nomadctld) - An ssh server that sits between users and the nomad cluster allowing for limited access to your nomad cluster and allow them to attach, see logs, tail logs, stop, restart, exec containers they own on the cluster
- [Nomad-spk](https://github.com/numkem/nomad-spk) - A tool to install nomad into a Synology NAS

View File

@@ -1368,7 +1368,7 @@
},
{
"title": "Podman",
"path": "drivers/podman"
"href": "/plugins/drivers/podman"
},
{
"title": "QEMU",
@@ -1383,51 +1383,51 @@
"routes": [
{
"title": "Overview",
"path": "drivers/external"
"href": "/plugins/drivers/community"
},
{
"title": "containerd",
"path": "drivers/external/containerd"
"href": "/plugins/drivers/community/containerd"
},
{
"title": "Firecracker driver",
"path": "drivers/external/firecracker-task-driver"
"href": "/plugins/drivers/community/firecracker-task-driver"
},
{
"title": "Jailtask driver",
"path": "drivers/external/jail-task-driver"
"href": "/plugins/drivers/community/jail-task-driver"
},
{
"title": "Lightrun",
"path": "drivers/external/lightrun"
"href": "/plugins/drivers/community/lightrun"
},
{
"title": "LXC",
"path": "drivers/external/lxc"
"href": "/plugins/drivers/community/lxc"
},
{
"title": "Pot",
"path": "drivers/external/pot"
"href": "/plugins/drivers/community/pot"
},
{
"title": "Rkt <sup>Deprecated</sup> ",
"path": "drivers/external/rkt"
"href": "/plugins/drivers/community/rkt"
},
{
"title": "Rookout",
"path": "drivers/external/rookout"
"href": "/plugins/drivers/community/rookout"
},
{
"title": "Singularity",
"path": "drivers/external/singularity"
"href": "/plugins/drivers/community/singularity"
},
{
"title": "systemd-nspawn",
"path": "drivers/external/nspawn"
"href": "/plugins/drivers/community/nspawn"
},
{
"title": "Windows IIS",
"path": "drivers/external/iis"
"href": "/plugins/drivers/community/iis"
}
]
},
@@ -1436,11 +1436,11 @@
"routes": [
{
"title": "Overview",
"path": "drivers/remote"
"href": "/plugins/drivers/remote"
},
{
"title": "ECS",
"path": "drivers/remote/ecs"
"href": "/plugins/drivers/remote/ecs"
}
]
}
@@ -1458,15 +1458,15 @@
"routes": [
{
"title": "Overview",
"path": "devices/external"
"href": "/plugins/devices"
},
{
"title": "Nvidia",
"path": "devices/external/nvidia"
"href": "/plugins/devices/nvidia"
},
{
"title": "USB <sup>Beta</sup>",
"path": "devices/external/usb"
"href": "/plugins/devices/community/usb"
}
]
}
@@ -1498,38 +1498,38 @@
"routes": [
{
"title": "Overview",
"path": "autoscaling"
"href": "/tools/autoscaling"
},
{
"title": "Agent",
"routes": [
{
"title": "Overview",
"path": "autoscaling/agent"
"href": "/tools/autoscaling/agent"
},
{
"title": "apm",
"path": "autoscaling/agent/apm"
"href": "/tools/autoscaling/agent/apm"
},
{
"title": "dynamic_application_sizing",
"path": "autoscaling/agent/dynamic_application_sizing"
"href": "/tools/autoscaling/agent/dynamic_application_sizing"
},
{
"title": "http",
"path": "autoscaling/agent/http"
"href": "/tools/autoscaling/agent/http"
},
{
"title": "nomad",
"path": "autoscaling/agent/nomad"
"href": "/tools/autoscaling/agent/nomad"
},
{
"title": "policy",
"path": "autoscaling/agent/policy"
"href": "/tools/autoscaling/agent/policy"
},
{
"title": "policy_eval",
"path": "autoscaling/agent/policy_eval"
"href": "/tools/autoscaling/agent/policy_eval"
},
{
"title": "source",
@@ -1537,59 +1537,59 @@
},
{
"title": "strategy",
"path": "autoscaling/agent/strategy"
"href": "/tools/autoscaling/agent/strategy"
},
{
"title": "target",
"path": "autoscaling/agent/target"
"href": "/tools/autoscaling/agent/target"
},
{
"title": "telemetry",
"path": "autoscaling/agent/telemetry"
"href": "/tools/autoscaling/agent/telemetry"
}
]
},
{
"title": "API",
"path": "autoscaling/api"
"href": "/tools/autoscaling/api"
},
{
"title": "CLI",
"path": "autoscaling/cli"
"href": "/tools/autoscaling/cli"
},
{
"title": "Policy",
"path": "autoscaling/policy"
"href": "/tools/autoscaling/policy"
},
{
"title": "Telemetry",
"path": "autoscaling/telemetry"
"href": "/tools/autoscaling/telemetry"
},
{
"title": "Plugins",
"routes": [
{
"title": "Overview",
"path": "autoscaling/plugins"
"href": "/tools/autoscaling/plugins"
},
{
"title": "APM",
"routes": [
{
"title": "Overview",
"path": "autoscaling/plugins/apm"
"href": "/tools/autoscaling/plugins/apm"
},
{
"title": "Datadog",
"path": "autoscaling/plugins/apm/datadog"
"href": "/tools/autoscaling/plugins/apm/datadog"
},
{
"title": "Nomad API",
"path": "autoscaling/plugins/apm/nomad"
"href": "/tools/autoscaling/plugins/apm/nomad"
},
{
"title": "Prometheus",
"path": "autoscaling/plugins/apm/prometheus"
"href": "/tools/autoscaling/plugins/apm/prometheus"
}
]
},
@@ -1598,35 +1598,35 @@
"routes": [
{
"title": "Overview",
"path": "autoscaling/plugins/strategy"
"href": "/tools/autoscaling/plugins/strategy"
},
{
"title": "Dynamic Application Sizing Average",
"path": "autoscaling/plugins/strategy/app-sizing-avg"
"href": "/tools/autoscaling/plugins/strategy/app-sizing-avg"
},
{
"title": "Dynamic Application Sizing Max",
"path": "autoscaling/plugins/strategy/app-sizing-max"
"href": "/tools/autoscaling/plugins/strategy/app-sizing-max"
},
{
"title": "Dynamic Application Sizing Percentile",
"path": "autoscaling/plugins/strategy/app-sizing-percentile"
"href": "/tools/autoscaling/plugins/strategy/app-sizing-percentile"
},
{
"title": "Fixed Value",
"path": "autoscaling/plugins/strategy/fixed-value"
"href": "/tools/autoscaling/plugins/strategy/fixed-value"
},
{
"title": "Pass-Through",
"path": "autoscaling/plugins/strategy/pass-through"
"href": "/tools/autoscaling/plugins/strategy/pass-through"
},
{
"title": "Target Value",
"path": "autoscaling/plugins/strategy/target-value"
"href": "/tools/autoscaling/plugins/strategy/target-value"
},
{
"title": "Threshold",
"path": "autoscaling/plugins/strategy/threshold"
"href": "/tools/autoscaling/plugins/strategy/threshold"
}
]
},
@@ -1635,33 +1635,33 @@
"routes": [
{
"title": "Overview",
"path": "autoscaling/plugins/target"
"href": "/tools/autoscaling/plugins/target"
},
{
"title": "Amazon Web Services Autoscaling Group",
"path": "autoscaling/plugins/target/aws-asg"
"href": "/tools/autoscaling/plugins/target/aws-asg"
},
{
"title": "Azure Virtual Machine Scale Set",
"path": "autoscaling/plugins/target/azure-vmss"
"href": "/tools/autoscaling/plugins/target/azure-vmss"
},
{
"title": "Dynamic Application Sizing",
"path": "autoscaling/plugins/target/app-sizing-nomad"
"href": "/tools/autoscaling/plugins/target/app-sizing-nomad"
},
{
"title": "Google Cloud Engine Managed Instance Group",
"path": "autoscaling/plugins/target/gce-mig"
"href": "/tools/autoscaling/plugins/target/gce-mig"
},
{
"title": "Nomad Task Group",
"path": "autoscaling/plugins/target/nomad"
"href": "/tools/autoscaling/plugins/target/nomad"
}
]
},
{
"title": "Community",
"path": "autoscaling/plugins/external"
"href": "/tools/autoscaling/plugins/external"
}
]
},
@@ -1670,38 +1670,38 @@
"routes": [
{
"title": "Overview",
"path": "autoscaling/internals"
"href": "/tools/autoscaling/internals"
},
{
"title": "Checks",
"path": "autoscaling/internals/checks"
"href": "/tools/autoscaling/internals/checks"
},
{
"title": "Node Selector Strategy",
"path": "autoscaling/internals/node-selector-strategy"
"href": "/tools/autoscaling/internals/node-selector-strategy"
},
{
"title": "Plugins",
"routes": [
{
"title": "Overview",
"path": "autoscaling/internals/plugins"
"href": "/tools/autoscaling/internals/plugins"
},
{
"title": "Base",
"path": "autoscaling/internals/plugins/base"
"href": "/tools/autoscaling/internals/plugins/base"
},
{
"title": "APM",
"path": "autoscaling/internals/plugins/apm"
"href": "/tools/autoscaling/internals/plugins/apm"
},
{
"title": "Strategy",
"path": "autoscaling/internals/plugins/strategy"
"href": "/tools/autoscaling/internals/plugins/strategy"
},
{
"title": "Target",
"path": "autoscaling/internals/plugins/target"
"href": "/tools/autoscaling/internals/plugins/target"
}
]
}
@@ -1787,7 +1787,6 @@
{
"title": "Overview",
"path": "enterprise/license"
},
{
"title": "FAQ",

View File

@@ -0,0 +1,107 @@
[
{
"title": "Task Drivers",
"routes": [
{
"title": "Overview",
"path": "drivers"
},
{
"title": "Podman",
"path": "drivers/podman"
},
{
"title": "Community",
"routes": [
{
"title": "Overview",
"path": "drivers/community"
},
{
"title": "containerd",
"path": "drivers/community/containerd"
},
{
"title": "Firecracker driver",
"path": "drivers/community/firecracker-task-driver"
},
{
"title": "Jail task driver",
"path": "drivers/community/jail-task-driver"
},
{
"title": "Lightrun",
"path": "drivers/community/lightrun"
},
{
"title": "LXC",
"path": "drivers/community/lxc"
},
{
"title": "Pot",
"path": "drivers/community/pot"
},
{
"title": "Rkt <sup>Deprecated</sup> ",
"path": "drivers/community/rkt"
},
{
"title": "Rookout",
"path": "drivers/community/rookout"
},
{
"title": "Singularity",
"path": "drivers/community/singularity"
},
{
"title": "systemd-nspawn",
"path": "drivers/community/nspawn"
},
{
"title": "Windows IIS",
"path": "drivers/community/iis"
}
]
},
{
"title": "Remote",
"routes": [
{
"title": "Overview",
"path": "drivers/remote"
},
{
"title": "ECS",
"path": "drivers/remote/ecs"
}
]
}
]
},
{
"title": "Device Plugins",
"routes": [
{
"title": "Overview",
"path": "devices"
},
{
"title": "Nvidia",
"path": "devices/nvidia"
},
{
"title": "Community",
"routes": [
{
"title": "Overview",
"path": "devices/community"
},
{
"title": "USB <sup>Beta</sup>",
"path": "devices/community/usb"
}
]
}
]
}
]

View File

@@ -1,22 +1,5 @@
export default [
const subnavData = [
{ text: 'Overview', url: '/', type: 'inbound' },
{
text: 'Use Cases',
submenu: [
{
text: 'Simple Container Orchestration',
url: '/use-cases/simple-container-orchestration',
},
{
text: 'Non-Containerized Application Orchestration',
url: '/use-cases/non-containerized-application-orchestration',
},
{
text: 'Automated Service Networking with Consul',
url: '/use-cases/automated-service-networking-with-consul',
},
],
},
{
text: 'Enterprise',
url: 'https://www.hashicorp.com/products/nomad/',
@@ -38,9 +21,21 @@ export default [
url: '/api-docs',
type: 'inbound',
},
{
text: 'Plugins',
url: '/plugins',
type: 'inbound',
},
{
text: 'Tools',
url: '/tools',
type: 'inbound',
},
{
text: 'Community',
url: '/community',
type: 'inbound',
},
]
export default subnavData

View File

@@ -0,0 +1,214 @@
[
{
"title": "Autoscaling",
"routes": [
{
"title": "Overview",
"path": "autoscaling"
},
{
"title": "Agent",
"routes": [
{
"title": "Overview",
"path": "autoscaling/agent"
},
{
"title": "apm",
"path": "autoscaling/agent/apm"
},
{
"title": "dynamic_application_sizing",
"path": "autoscaling/agent/dynamic_application_sizing"
},
{
"title": "http",
"path": "autoscaling/agent/http"
},
{
"title": "nomad",
"path": "autoscaling/agent/nomad"
},
{
"title": "policy",
"path": "autoscaling/agent/policy"
},
{
"title": "policy_eval",
"path": "autoscaling/agent/policy_eval"
},
{
"title": "strategy",
"path": "autoscaling/agent/strategy"
},
{
"title": "target",
"path": "autoscaling/agent/target"
},
{
"title": "telemetry",
"path": "autoscaling/agent/telemetry"
}
]
},
{
"title": "API",
"path": "autoscaling/api"
},
{
"title": "CLI",
"path": "autoscaling/cli"
},
{
"title": "Policy",
"path": "autoscaling/policy"
},
{
"title": "Telemetry",
"path": "autoscaling/telemetry"
},
{
"title": "Plugins",
"routes": [
{
"title": "Overview",
"path": "autoscaling/plugins"
},
{
"title": "APM",
"routes": [
{
"title": "Overview",
"path": "autoscaling/plugins/apm"
},
{
"title": "Datadog",
"path": "autoscaling/plugins/apm/datadog"
},
{
"title": "Nomad API",
"path": "autoscaling/plugins/apm/nomad"
},
{
"title": "Prometheus",
"path": "autoscaling/plugins/apm/prometheus"
}
]
},
{
"title": "Strategy",
"routes": [
{
"title": "Overview",
"path": "autoscaling/plugins/strategy"
},
{
"title": "Dynamic Application Sizing Average",
"path": "autoscaling/plugins/strategy/app-sizing-avg"
},
{
"title": "Dynamic Application Sizing Max",
"path": "autoscaling/plugins/strategy/app-sizing-max"
},
{
"title": "Dynamic Application Sizing Percentile",
"path": "autoscaling/plugins/strategy/app-sizing-percentile"
},
{
"title": "Fixed Value",
"path": "autoscaling/plugins/strategy/fixed-value"
},
{
"title": "Pass-Through",
"path": "autoscaling/plugins/strategy/pass-through"
},
{
"title": "Target Value",
"path": "autoscaling/plugins/strategy/target-value"
},
{
"title": "Threshold",
"path": "autoscaling/plugins/strategy/threshold"
}
]
},
{
"title": "Target",
"routes": [
{
"title": "Overview",
"path": "autoscaling/plugins/target"
},
{
"title": "Amazon Web Services Autoscaling Group",
"path": "autoscaling/plugins/target/aws-asg"
},
{
"title": "Azure Virtual Machine Scale Set",
"path": "autoscaling/plugins/target/azure-vmss"
},
{
"title": "Dynamic Application Sizing",
"path": "autoscaling/plugins/target/app-sizing-nomad"
},
{
"title": "Google Cloud Engine Managed Instance Group",
"path": "autoscaling/plugins/target/gce-mig"
},
{
"title": "Nomad Task Group",
"path": "autoscaling/plugins/target/nomad"
}
]
},
{
"title": "Community",
"path": "autoscaling/plugins/external"
}
]
},
{
"title": "Internals",
"routes": [
{
"title": "Overview",
"path": "autoscaling/internals"
},
{
"title": "Checks",
"path": "autoscaling/internals/checks"
},
{
"title": "Node Selector Strategy",
"path": "autoscaling/internals/node-selector-strategy"
},
{
"title": "Plugins",
"routes": [
{
"title": "Overview",
"path": "autoscaling/internals/plugins"
},
{
"title": "Base",
"path": "autoscaling/internals/plugins/base"
},
{
"title": "APM",
"path": "autoscaling/internals/plugins/apm"
},
{
"title": "Strategy",
"path": "autoscaling/internals/plugins/strategy"
},
{
"title": "Target",
"path": "autoscaling/internals/plugins/target"
}
]
}
]
}
]
}
]

View File

@@ -0,0 +1,42 @@
import { productName, productSlug } from 'data/metadata'
import DocsPage from '@hashicorp/react-docs-page'
import {
generateStaticPaths,
generateStaticProps,
} from '@hashicorp/react-docs-page/server'
const NAV_DATA_FILE = 'data/plugins-nav-data.json'
const CONTENT_DIR = 'content/plugins'
const basePath = 'plugins'
export default function DocsLayout(props) {
return (
<DocsPage
product={{ name: productName, slug: productSlug }}
baseRoute={basePath}
staticProps={props}
/>
)
}
export async function getStaticPaths() {
return {
fallback: false,
paths: await generateStaticPaths({
navDataFile: NAV_DATA_FILE,
localContentDir: CONTENT_DIR,
}),
}
}
export async function getStaticProps({ params }) {
return {
props: await generateStaticProps({
navDataFile: NAV_DATA_FILE,
localContentDir: CONTENT_DIR,
product: { name: productName, slug: productSlug },
params,
basePath: basePath,
}),
}
}

View File

@@ -0,0 +1,42 @@
import { productName, productSlug } from 'data/metadata'
import DocsPage from '@hashicorp/react-docs-page'
import {
generateStaticPaths,
generateStaticProps,
} from '@hashicorp/react-docs-page/server'
const NAV_DATA_FILE = 'data/tools-nav-data.json'
const CONTENT_DIR = 'content/tools'
const basePath = 'tools'
export default function DocsLayout(props) {
return (
<DocsPage
product={{ name: productName, slug: productSlug }}
baseRoute={basePath}
staticProps={props}
/>
)
}
export async function getStaticPaths() {
return {
fallback: false,
paths: await generateStaticPaths({
navDataFile: NAV_DATA_FILE,
localContentDir: CONTENT_DIR,
}),
}
}
export async function getStaticProps({ params }) {
return {
props: await generateStaticProps({
navDataFile: NAV_DATA_FILE,
localContentDir: CONTENT_DIR,
product: { name: productName, slug: productSlug },
params,
basePath: basePath,
}),
}
}

View File

@@ -465,7 +465,7 @@ module.exports = [
},
{
source: '/docs/devices/nvidia',
destination: '/docs/devices/external/nvidia',
destination: '/plugins/devices/nvidia',
permanent: true,
},
{
@@ -685,7 +685,7 @@ module.exports = [
// Moved /docs/drivers/external/podman -> /docs/drivers/podman
{
source: '/docs/drivers/external/podman',
destination: '/docs/drivers/podman',
destination: '/plugins/drivers/podman',
permanent: true,
},
@@ -888,12 +888,12 @@ module.exports = [
// Redirect old LXC driver doc to new one in /docs/external
{
source: '/docs/drivers/lxc',
destination: '/docs/drivers/external/lxc',
destination: '/plugins/drivers/community/lxc',
permanent: true,
},
{
source: '/docs/drivers/rkt',
destination: '/docs/drivers/external/rkt',
destination: '/plugins/drivers/community/rkt',
permanent: true,
},
@@ -1262,4 +1262,108 @@ module.exports = [
destination: '/:splat',
permanent: true,
},
// Extracted content into `/plugins` & `/tools`
{
source: '/docs/autoscaling',
destination: '/tools/autoscaling',
permanent: true,
},
{
source: '/docs/autoscaling/:splat*',
destination: '/tools/autoscaling/:splat*',
permanent: true,
},
// Extracted content into `/plugins` & `/tools`;
// - Redirect individual pages so we don't conflict with
// "built-in plugins" pages
{
source: '/docs/devices/external',
destination: '/plugins/devices/community',
permanent: true,
},
{
source: '/docs/devices/external/usb',
destination: '/plugins/devices/community/usb',
permanent: true,
},
{
source: '/docs/devices/external/nvidia',
destination: '/plugins/devices/nvidia',
permanent: true,
},
{
source: '/docs/drivers/external/containerd',
destination: '/plugins/drivers/community/containerd',
permanent: true,
},
{
source: '/docs/drivers/external/firecracker-task-driver',
destination: '/plugins/drivers/community/firecracker-task-driver',
permanent: true,
},
{
source: '/docs/drivers/external/iis',
destination: '/plugins/drivers/community/iis',
permanent: true,
},
{
source: '/docs/drivers/external',
destination: '/plugins/drivers/community',
permanent: true,
},
{
source: '/docs/drivers/external/jail-task-driver',
destination: '/plugins/drivers/community/jail-task-driver',
permanent: true,
},
{
source: '/docs/drivers/external/lightrun',
destination: '/plugins/drivers/community/lightrun',
permanent: true,
},
{
source: '/docs/drivers/external/lxc',
destination: '/plugins/drivers/community/lxc',
permanent: true,
},
{
source: '/docs/drivers/external/nspawn',
destination: '/plugins/drivers/community/nspawn',
permanent: true,
},
{
source: '/docs/drivers/external/pot',
destination: '/plugins/drivers/community/pot',
permanent: true,
},
{
source: '/docs/drivers/external/rkt',
destination: '/plugins/drivers/community/rkt',
permanent: true,
},
{
source: '/docs/drivers/external/rookout',
destination: '/plugins/drivers/community/rookout',
permanent: true,
},
{
source: '/docs/drivers/external/singularity',
destination: '/plugins/drivers/community/singularity',
permanent: true,
},
{
source: '/docs/drivers/podman',
destination: '/plugins/drivers/podman',
permanent: true,
},
{
source: '/docs/drivers/remote/ecs',
destination: '/plugins/drivers/remote/ecs',
permanent: true,
},
{
source: '/docs/drivers/remote',
destination: '/plugins/drivers/remote',
permanent: true,
},
]