open-nomad/website/redirects.js

1207 lines
33 KiB
JavaScript

module.exports = [
// Define your custom redirects within this file.
// Vercel's redirect documentation: https://vercel.com/docs/configuration#project/redirects
// Playground for testing url pattern matching: https://npm.runkit.com/path-to-regexp
// Note that `(.html)?` and `(index.html)?` are only needed for supporting legacy middleman routes
{
source: '/docs/telemetry/overview',
destination: '/docs/telemetry',
permanent: true,
},
// This redirect supports a URL built into the Nomad UI, and should always be
// directed someplace valid to support the text "Read about Outage Recovery."
{
source: '/guides/outage.html',
destination: 'https://learn.hashicorp.com/tutorials/nomad/outage-recovery',
permanent: true,
},
// Nomad Learn Redirects
{
source: '/intro/getting-started/install(.html)?',
destination:
'https://learn.hashicorp.com/tutorials/nomad/get-started-install',
permanent: true,
},
{
source: '/intro/getting-started/running(.html)?',
destination: 'https://learn.hashicorp.com/tutorials/nomad/get-started-run',
permanent: true,
},
{
source: '/intro/getting-started/jobs(.html)?',
destination: 'https://learn.hashicorp.com/tutorials/nomad/get-started-jobs',
permanent: true,
},
{
source: '/intro/getting-started/cluster(.html)?',
destination:
'https://learn.hashicorp.com/tutorials/nomad/get-started-cluster',
permanent: true,
},
{
source: '/intro/getting-started/ui(.html)?',
destination: 'https://learn.hashicorp.com/tutorials/nomad/get-started-ui',
permanent: true,
},
{
source: '/intro/getting-started/next-steps(.html)?',
destination:
'https://learn.hashicorp.com/tutorials/nomad/get-started-learn-more',
permanent: true,
},
{
source: '/guides/load-balancing',
destination: 'https://learn.hashicorp.com/collections/nomad/load-balancing',
permanent: true,
},
{
source: '/guides/load-balancing/fabio(.html)?',
destination:
'https://learn.hashicorp.com/tutorials/nomad/load-balancing-fabio',
permanent: true,
},
{
source: '/guides/load-balancing/nginx(.html)?',
destination:
'https://learn.hashicorp.com/tutorials/nomad/load-balancing-nginx',
permanent: true,
},
{
source: '/guides/load-balancing/haproxy(.html)?',
destination:
'https://learn.hashicorp.com/tutorials/nomad/load-balancing-haproxy',
permanent: true,
},
{
source: '/guides/load-balancing/traefik(.html)?',
destination:
'https://learn.hashicorp.com/tutorials/nomad/load-balancing-traefik',
permanent: true,
},
{
source: '/guides/stateful-workloads',
destination:
'https://learn.hashicorp.com/collections/nomad/stateful-workloads',
permanent: true,
},
{
source: '/guides/stateful-workloads/host-volumes(.html)?',
destination:
'https://learn.hashicorp.com/tutorials/nomad/stateful-workloads-host-volumes',
permanent: true,
},
{
source: '/guides/stateful-workloads/portworx(.html)?',
destination:
'https://learn.hashicorp.com/tutorials/nomad/stateful-workloads-portworx',
permanent: true,
},
{
source: '/guides/web-ui',
destination: 'https://learn.hashicorp.com/collections/nomad/web-ui',
permanent: true,
},
{
source: '/guides/web-ui/access.html',
destination: 'https://learn.hashicorp.com/tutorials/nomad/web-ui-access',
permanent: true,
},
{
source: '/guides/web-ui/accessing',
destination: 'https://learn.hashicorp.com/tutorials/nomad/web-ui-access',
permanent: true,
},
{
source: '/guides/web-ui/submitting-a-job(.html)?',
destination:
'https://learn.hashicorp.com/tutorials/nomad/web-ui-workload-info',
permanent: true,
},
{
source: '/guides/web-ui/operating-a-job(.html)?',
destination:
'https://learn.hashicorp.com/tutorials/nomad/web-ui-submit-job',
permanent: true,
},
{
source: '/guides/web-ui/inspecting-the-cluster(.html)?',
destination:
'https://learn.hashicorp.com/tutorials/nomad/web-ui-cluster-info',
permanent: true,
},
{
source: '/guides/web-ui/securing(.html)?',
destination:
'https://learn.hashicorp.com/tutorials/nomad/web-ui-access#access-an-acl-enabled-ui',
permanent: true,
},
{
source: '/guides/governance-and-policy',
destination:
'https://learn.hashicorp.com/collections/nomad/governance-and-policy',
permanent: true,
},
{
source: '/guides/governance-and-policy/namespaces(.html)?',
destination: 'https://learn.hashicorp.com/tutorials/nomad/namespaces',
permanent: true,
},
{
source: '/guides/governance-and-policy/quotas(.html)?',
destination: 'https://learn.hashicorp.com/tutorials/nomad/quotas',
permanent: true,
},
{
source: '/guides/governance-and-policy/sentinel/sentinel-policy(.html)?',
destination: 'https://learn.hashicorp.com/tutorials/nomad/sentinel',
permanent: true,
},
{
source: '/guides/governance-and-policy/sentinel/job(.html)?',
destination: 'https://learn.hashicorp.com/tutorials/nomad/sentinel',
permanent: true,
},
// Spark guide links are all repointed to deprecated nomad-spark repo
{
source: '/guides/spark',
destination: 'https://github.com/hashicorp/nomad-spark',
permanent: true,
},
{
source: '/guides/spark/:splat*',
destination: 'https://github.com/hashicorp/nomad-spark',
permanent: true,
},
{
source: '/guides/analytical-workloads',
destination: 'https://github.com/hashicorp/nomad-spark',
permanent: true,
},
{
source: '/guides/analytical-workloads/:splat*',
destination: 'https://github.com/hashicorp/nomad-spark',
permanent: true,
},
// These are subsumed in the splat over analytical-workloads, but I'm keeping them here in case
// we want to reclaim the slug "analytical-workloads" at some point and deal with some bad links.
// {
// source: '/guides/analytical-workloads/spark/spark(.html)?',
// destination: 'https://github.com/hashicorp/nomad-spark',
// permanent: true,
// },
{
source: '/guides/operating-a-job/(index.html)?',
destination: 'https://learn.hashicorp.com/collections/nomad/manage-jobs',
permanent: true,
},
{
source: '/guides/operating-a-job/accessing-logs(.html)?',
destination:
'https://learn.hashicorp.com/tutorials/nomad/jobs-accessing-logs',
permanent: true,
},
{
source: '/guides/operating-a-job/configuring-tasks(.html)?',
destination: 'https://learn.hashicorp.com/tutorials/nomad/jobs-configuring',
permanent: true,
},
{
source: '/guides/operating-a-job/external/(index.html)?',
destination: 'https://learn.hashicorp.com/collections/nomad/plugins',
permanent: true,
},
{
source: '/guides/operating-a-job/external/lxc(.html)?',
destination: 'https://learn.hashicorp.com/tutorials/nomad/plugin-lxc',
permanent: true,
},
{
source: '/guides/operating-a-job/inspecting-state(.html)?',
destination: 'https://learn.hashicorp.com/tutorials/nomad/jobs-inspec',
permanent: true,
},
{
source: '/guides/operating-a-job/resource-utilization(.html)?',
destination: 'https://learn.hashicorp.com/tutorials/nomad/jobs-utilization',
permanent: true,
},
{
source: '/guides/operating-a-job/submitting-jobs(.html)?',
destination: 'https://learn.hashicorp.com/tutorials/nomad/jobs-submit',
permanent: true,
},
{
source:
'/guides/operating-a-job/advanced-scheduling/advanced-scheduling(.html)?',
destination:
'https://learn.hashicorp.com/collections/nomad/advanced-scheduling',
permanent: true,
},
{
source: '/guides/operating-a-job/advanced-scheduling/affinity(.html)?',
destination: 'https://learn.hashicorp.com/tutorials/nomad/affinity',
permanent: true,
},
{
source:
'/guides/operating-a-job/advanced-scheduling/preemption-service-batch(.html)?',
destination: 'https://learn.hashicorp.com/tutorials/nomad/preemption',
permanent: true,
},
{
source: '/guides/operating-a-job/advanced-scheduling/spread(.html)?',
destination: 'https://learn.hashicorp.com/tutorials/nomad/spread',
permanent: true,
},
{
source: '/guides/operating-a-job/failure-handling-strategies/(index.html)?',
destination:
'https://learn.hashicorp.com/collections/nomad/job-failure-handling',
permanent: true,
},
{
source:
'/guides/operating-a-job/failure-handling-strategies/check-restart(.html)?',
destination:
'https://learn.hashicorp.com/tutorials/nomad/failures-check-restart',
permanent: true,
},
{
source:
'/guides/operating-a-job/failure-handling-strategies/reschedule(.html)?',
destination:
'https://learn.hashicorp.com/tutorials/nomad/failures-reschedule',
permanent: true,
},
{
source:
'/guides/operating-a-job/failure-handling-strategies/restart(.html)?',
destination: 'https://learn.hashicorp.com/tutorials/nomad/failures-restart',
permanent: true,
},
{
source: '/guides/operating-a-job/update-strategies/(index.html)?',
destination:
'https://learn.hashicorp.com/tutorials/nomad/job-update-strategies',
permanent: true,
},
{
source:
'/guides/operating-a-job/update-strategies/blue-green-and-canary-deployments(.html)?',
destination:
'https://learn.hashicorp.com/tutorials/nomad/job-blue-green-and-canary-deployments',
permanent: true,
},
{
source:
'/guides/operating-a-job/update-strategies/handling-signals(.html)?',
destination:
'https://learn.hashicorp.com/tutorials/nomad/job-update-handle-signals',
permanent: true,
},
{
source:
'/guides/operating-a-job/update-strategies/rolling-upgrades(.html)?',
destination:
'https://learn.hashicorp.com/tutorials/nomad/job-rolling-update',
permanent: true,
},
{
source: '/guides/operations/(index.html)?',
destination:
'https://learn.hashicorp.com/collections/nomad/manage-clusters',
permanent: true,
},
{
source: '/guides/operations/autopilot(.html)?',
destination: 'https://learn.hashicorp.com/tutorials/nomad/autopilot',
permanent: true,
},
{
source: '/guides/operations/cluster/automatic(.html)?',
destination: 'https://learn.hashicorp.com/tutorials/nomad/clustering',
permanent: true,
},
{
source: '/guides/operations/cluster/bootstrapping(.html)?',
destination: 'https://learn.hashicorp.com/tutorials/nomad/clustering',
permanent: true,
},
{
source: '/guides/operations/cluster/cloud_auto_join(.html)?',
destination: 'https://learn.hashicorp.com/tutorials/nomad/clustering',
permanent: true,
},
{
source: '/guides/operations/cluster/manual(.html)?',
destination: 'https://learn.hashicorp.com/tutorials/nomad/clustering',
permanent: true,
},
{
source: '/guides/operations/federation(.html)?',
destination: 'https://learn.hashicorp.com/tutorials/nomad/federation',
permanent: true,
},
{
source: '/guides/operations/monitoring-and-alerting/monitoring(.html)?',
destination:
'https://learn.hashicorp.com/tutorials/nomad/prometheus-metrics',
permanent: true,
},
{
source:
'/guides/operations/monitoring-and-alerting/prometheus-metrics(.html)?',
destination:
'https://learn.hashicorp.com/tutorials/nomad/prometheus-metrics',
permanent: true,
},
{
source: '/guides/operations/monitoring/nomad-metrics(.html)?',
destination:
'https://learn.hashicorp.com/tutorials/nomad/prometheus-metrics',
permanent: true,
},
{
source: '/guides/operations/node-draining(.html)?',
destination: 'https://learn.hashicorp.com/tutorials/nomad/node-drain',
permanent: true,
},
{
source: '/guides/operations/outage(.html)?',
destination: 'https://learn.hashicorp.com/tutorials/nomad/outage-recovery',
permanent: true,
},
{
source: '/guides/security/(index.html)?',
destination: 'https://learn.hashicorp.com/collections/nomad/access-control',
permanent: true,
},
{
source: '/guides/security/acl(.html)?',
destination: 'https://learn.hashicorp.com/collections/nomad/access-control',
permanent: true,
},
{
source: '/guides/security/encryption(.html)?',
destination:
'https://learn.hashicorp.com/tutorials/nomad/security-gossip-encryption',
permanent: true,
},
{
source: '/guides/security/securing-nomad(.html)?',
destination:
'https://learn.hashicorp.com/tutorials/nomad/security-enable-tls',
permanent: true,
},
{
source: '/guides/security/vault-pki-integration(.html)?',
destination: 'https://learn.hashicorp.com/tutorials/nomad/vault-pki-nomad',
permanent: true,
},
// Multi-part UI guides
{
source: '/guides/ui(.html)?',
destination: 'https://learn.hashicorp.com/collections/nomad/web-ui',
permanent: true,
},
// Website
{
source: '/community(.html)?',
destination: '/resources',
permanent: true,
},
// Docs
{
source: '/docs/index(.html)?',
destination: '/docs',
permanent: true,
},
{
source: '/api/index(.html)?',
destination: '/api-docs',
permanent: true,
},
{
source: '/api-docs/index(.html)?',
destination: '/api-docs',
permanent: true,
},
{
source: '/docs/agent/config(.html)?',
destination: '/docs/configuration',
permanent: true,
},
{
source: '/docs/jobops/(index.html)?',
destination: 'https://learn.hashicorp.com/collections/nomad/manage-jobs',
permanent: true,
},
{
source: '/docs/jobops/taskconfig(.html)?',
destination: 'https://learn.hashicorp.com/tutorials/nomad/jobs-configuring',
permanent: true,
},
{
source: '/docs/jobops/inspecting(.html)?',
destination: 'https://learn.hashicorp.com/tutorials/nomad/jobs-inspect',
permanent: true,
},
{
source: '/docs/jobops/resources(.html)?',
destination: 'https://learn.hashicorp.com/tutorials/nomad/jobs-utilization',
permanent: true,
},
{
source: '/docs/jobops/logs(.html)?',
destination:
'https://learn.hashicorp.com/tutorials/nomad/jobs-accessing-logs',
permanent: true,
},
{
source: '/docs/jobops/updating(.html)?',
destination: 'https://learn.hashicorp.com/collections/nomad/job-updates',
permanent: true,
},
{
source: '/docs/jobops/servicediscovery(.html)?',
destination: '/docs/integrations/consul-integration',
permanent: true,
},
{
source: '/docs/jobspec/(index.html)?',
destination: '/docs/job-specification',
permanent: true,
},
{
source: '/docs/jobspec/interpreted(.html)?',
destination: '/docs/runtime/interpolation',
permanent: true,
},
{
source: '/docs/jobspec/json(.html)?',
destination: '/api-docs/json-jobs',
permanent: true,
},
{
source: '/docs/jobspec/environment(.html)?',
destination: '/docs/runtime/environment',
permanent: true,
},
{
source: '/docs/jobspec/schedulers(.html)?',
destination: '/docs/schedulers',
permanent: true,
},
{
source: '/docs/jobspec/servicediscovery(.html)?',
destination: '/docs/job-specification/service',
permanent: true,
},
{
source: '/docs/jobspec/networking(.html)?',
destination: '/docs/job-specification/network',
permanent: true,
},
{
source: '/docs/job-specification/index.html',
destination: '/docs/job-specification',
permanent: true,
},
{
source: '/docs/cluster/automatic(.html)?',
destination: 'https://learn.hashicorp.com/tutorials/nomad/clustering',
permanent: true,
},
{
source: '/docs/cluster/manual(.html)?',
destination: 'https://learn.hashicorp.com/tutorials/nomad/clustering',
permanent: true,
},
{
source: '/docs/cluster/federation(.html)?',
destination: 'https://learn.hashicorp.com/tutorials/nomad/federation',
permanent: true,
},
{
source: '/docs/cluster/requirements(.html)?',
destination: '/docs/install/production/requirements/',
permanent: true,
},
{
source: '/docs/commands/operator-index(.html)?',
destination: '/docs/commands/operator',
permanent: true,
},
{
source: '/docs/commands/operator-raft-list-peers(.html)?',
destination: '/docs/commands/operator/raft-list-peers',
permanent: true,
},
{
source: '/docs/commands/operator-raft-remove-peer(.html)?',
destination: '/docs/commands/operator/raft-remove-peer',
permanent: true,
},
{
source: '/docs/commands/job-dispatch(.html)?',
destination: '/docs/commands/job/dispatch',
permanent: true,
},
{
source: '/docs/commands/alloc-status(.html)?',
destination: '/docs/commands/alloc/status',
permanent: true,
},
{
source: '/docs/commands/fs(.html)?',
destination: '/docs/commands/alloc/fs',
permanent: true,
},
{
source: '/docs/commands/logs(.html)?',
destination: '/docs/commands/alloc/logs',
permanent: true,
},
{
source: '/docs/commands/init(.html)?',
destination: '/docs/commands/job/init',
permanent: true,
},
{
source: '/docs/commands/inspect(.html)?',
destination: '/docs/commands/job/inspect',
permanent: true,
},
{
source: '/docs/commands/run(.html)?',
destination: '/docs/commands/job/run',
permanent: true,
},
{
source: '/docs/commands/stop(.html)?',
destination: '/docs/commands/job/stop',
permanent: true,
},
{
source: '/docs/commands/plan(.html)?',
destination: '/docs/commands/job/plan',
permanent: true,
},
{
source: '/docs/commands/validate(.html)?',
destination: '/docs/commands/job/validate',
permanent: true,
},
{
source: '/docs/commands/client-config(.html)?',
destination: '/docs/commands/node/config',
permanent: true,
},
{
source: '/docs/commands/node-drain(.html)?',
destination: '/docs/commands/node/drain',
permanent: true,
},
{
source: '/docs/commands/node-status(.html)?',
destination: '/docs/commands/node/status',
permanent: true,
},
{
source: '/docs/commands/keygen(.html)?',
destination: '/docs/commands/operator/keygen',
permanent: true,
},
{
source: '/docs/commands/keyring(.html)?',
destination: '/docs/commands/operator/keyring',
permanent: true,
},
{
source: '/docs/commands/server-force-leave(.html)?',
destination: '/docs/commands/server/force-leave',
permanent: true,
},
{
source: '/docs/commands/server-join(.html)?',
destination: '/docs/commands/server/join',
permanent: true,
},
{
source: '/docs/commands/server-members(.html)?',
destination: '/docs/commands/server/members',
permanent: true,
},
{
source: '/docs/runtime/schedulers(.html)?',
destination: '/docs/schedulers',
permanent: true,
},
{
source: '/docs/internals/scheduling(.html)?',
destination: '/docs/internals/scheduling/scheduling',
permanent: true,
},
// Sometimes code names are too good not to mention
{
source: '/heartyeet',
destination: '/docs/job-specification/group#stop_after_client_disconnect',
permanent: true,
},
// Moved /docs/drivers/external/podman -> /docs/drivers/podman
{
source: '/docs/drivers/external/podman',
destination: '/docs/drivers/podman',
permanent: true,
},
// Moved /docs/operating-a-job/ -> /guides/operating-a-job/
{
source: '/docs/operating-a-job/(index.html)?',
destination: 'https://learn.hashicorp.com/collections/nomad/manage-jobs',
permanent: true,
},
{
source: '/docs/operating-a-job/accessing-logs(.html)?',
destination:
'https://learn.hashicorp.com/tutorials/nomad/jobs-accessing-logs',
permanent: true,
},
{
source: '/docs/operating-a-job/inspecting-state(.html)?',
destination: 'https://learn.hashicorp.com/tutorials/nomad/jobs-inspect',
permanent: true,
},
{
source: '/docs/operating-a-job/resource-utilization(.html)?',
destination: 'https://learn.hashicorp.com/tutorials/nomad/jobs-utilization',
permanent: true,
},
{
source: '/docs/operating-a-job/configuring-tasks(.html)?',
destination: 'https://learn.hashicorp.com/tutorials/nomad/jobs-configuring',
permanent: true,
},
{
source: '/docs/operating-a-job/submitting-jobs(.html)?',
destination: 'https://learn.hashicorp.com/tutorials/nomad/jobs-submit',
permanent: true,
},
{
source: '/docs/operating-a-job/failure-handling-strategies/(index.html)?',
destination:
'https://learn.hashicorp.com/collections/nomad/job-failure-handling',
permanent: true,
},
{
source:
'/docs/operating-a-job/failure-handling-strategies/check-restart(.html)?',
destination:
'https://learn.hashicorp.com/tutorials/nomad/failures-check-restart',
permanent: true,
},
{
source:
'/docs/operating-a-job/failure-handling-strategies/reschedule(.html)?',
destination:
'https://learn.hashicorp.com/tutorials/nomad/failures-reschedule',
permanent: true,
},
{
source: '/docs/operating-a-job/failure-handling-strategies/restart(.html)?',
destination: 'https://learn.hashicorp.com/tutorials/nomad/failures-restart',
permanent: true,
},
{
source: '/docs/operating-a-job/update-strategies/(index.html)?',
destination: 'https://learn.hashicorp.com/collections/nomad/job-updates',
permanent: true,
},
{
source:
'/docs/operating-a-job/update-strategies/blue-green-and-canary-deployments(.html)?',
destination:
'https://learn.hashicorp.com/tutorials/nomad/job-blue-green-and-canary-deployments',
permanent: true,
},
{
source: '/docs/operating-a-job/update-strategies/handling-signals(.html)?',
destination:
'https://learn.hashicorp.com/tutorials/nomad/job-update-handle-signals',
permanent: true,
},
{
source: '/docs/operating-a-job/update-strategies/rolling-upgrades(.html)?',
destination:
'https://learn.hashicorp.com/tutorials/nomad/job-rolling-update',
permanent: true,
},
// Moved /docs/agent/configuration/ -> /docs/configuration/ 301!
{
source: '/docs/agent/configuration/(index.html)?',
destination: '/docs/configuration',
permanent: true,
},
{
source: '/docs/agent/configuration/acl(.html)?',
destination: '/docs/configuration/acl',
permanent: true,
},
{
source: '/docs/agent/configuration/autopilot(.html)?',
destination: '/docs/configuration/autopilot',
permanent: true,
},
{
source: '/docs/agent/configuration/client(.html)?',
destination: '/docs/configuration/client',
permanent: true,
},
{
source: '/docs/agent/configuration/consul(.html)?',
destination: '/docs/configuration/consul',
permanent: true,
},
{
source: '/docs/agent/configuration/sentinel(.html)?',
destination: '/docs/configuration/sentinel',
permanent: true,
},
{
source: '/docs/agent/configuration/server(.html)?',
destination: '/docs/configuration/server',
permanent: true,
},
{
source: '/docs/agent/configuration/server_join(.html)?',
destination: '/docs/configuration/server_join',
permanent: true,
},
{
source: '/docs/agent/configuration/telemetry(.html)?',
destination: '/docs/configuration/telemetry',
permanent: true,
},
{
source: '/docs/agent/configuration/tls(.html)?',
destination: '/docs/configuration/tls',
permanent: true,
},
{
source: '/docs/agent/configuration/vault(.html)?',
destination: '/docs/configuration/vault',
permanent: true,
},
// Moved guide-like docs to /guides
{
source: '/docs/agent/(index.html)?',
destination: '/docs/install/production/nomad-agent/',
permanent: true,
},
{
source: '/docs/agent/cloud_auto_join(.html)?',
destination: 'https://learn.hashicorp.com/tutorials/nomad/clustering',
permanent: true,
},
{
source: '/docs/agent/telemetry(.html)?',
destination:
'https://learn.hashicorp.com/tutorials/nomad/prometheus-metrics',
permanent: true,
},
{
source: '/docs/agent/encryption(.html)?',
destination:
'https://learn.hashicorp.com/tutorials/nomad/security-gossip-encryption',
permanent: true,
},
{
source: '/docs/service-discovery/(index.html)?',
destination: '/docs/integrations/consul-integration',
permanent: true,
},
// Redirect old LXC driver doc to new one in /docs/external
{
source: '/docs/drivers/lxc(.html)?',
destination: '/docs/drivers/external/lxc',
permanent: true,
},
{
source: '/docs/drivers/rkt(.html)?',
destination: '/docs/drivers/external/rkt',
permanent: true,
},
// API
{
source: '/docs/http/agent-force-leave(.html)?',
destination: '/api-docs/agent',
permanent: true,
},
{
source: '/docs/http/agent-join(.html)?',
destination: '/api-docs/agent',
permanent: true,
},
{
source: '/docs/http/agent-members(.html)?',
destination: '/api-docs/agent',
permanent: true,
},
{
source: '/docs/http/agent-self(.html)?',
destination: '/api-docs/agent',
permanent: true,
},
{
source: '/docs/http/agent-servers(.html)?',
destination: '/api-docs/agent',
permanent: true,
},
{
source: '/docs/http/alloc(.html)?',
destination: '/api-docs/allocations',
permanent: true,
},
{
source: '/docs/http/allocs(.html)?',
destination: '/api-docs/allocations',
permanent: true,
},
{
source: '/docs/http/client-allocation-stats(.html)?',
destination: '/api-docs/client',
permanent: true,
},
{
source: '/docs/http/client-fs(.html)?',
destination: '/api-docs/client',
permanent: true,
},
{
source: '/docs/http/client-stats(.html)?',
destination: '/api-docs/client',
permanent: true,
},
{
source: '/docs/http/eval(.html)?',
destination: '/api-docs/evaluations',
permanent: true,
},
{
source: '/docs/http/evals(.html)?',
destination: '/api-docs/evaluations',
permanent: true,
},
{
source: '/docs/http/(index.html)?',
destination: '/api-docs',
permanent: true,
},
{
source: '/docs/http/job(.html)?',
destination: '/api-docs/jobs',
permanent: true,
},
{
source: '/docs/http/jobs(.html)?',
destination: '/api-docs/jobs',
permanent: true,
},
{
source: '/docs/http/json-jobs(.html)?',
destination: '/api-docs/json-jobs',
permanent: true,
},
{
source: '/docs/http/node(.html)?',
destination: '/api-docs/nodes',
permanent: true,
},
{
source: '/docs/http/nodes(.html)?',
destination: '/api-docs/nodes',
permanent: true,
},
{
source: '/docs/http/operator(.html)?',
destination: '/api-docs/operator',
permanent: true,
},
{
source: '/docs/http/regions(.html)?',
destination: '/api-docs/regions',
permanent: true,
},
{
source: '/docs/http/status(.html)?',
destination: '/api-docs/status',
permanent: true,
},
{
source: '/docs/http/system(.html)?',
destination: '/api-docs/system',
permanent: true,
},
// Guides
// Reorganized Guides by Persona
{
source: '/guides/autopilot(.html)?',
destination: 'https://learn.hashicorp.com/tutorials/nomad/autopilot',
permanent: true,
},
{
source: '/guides/cluster/automatic(.html)?',
destination: 'https://learn.hashicorp.com/tutorials/nomad/clustering',
permanent: true,
},
{
source: '/guides/cluster/bootstrapping(.html)?',
destination: 'https://learn.hashicorp.com/tutorials/nomad/clustering',
permanent: true,
},
{
source: '/guides/operations/cluster/bootstrapping(.html)?',
destination: 'https://learn.hashicorp.com/tutorials/nomad/clustering',
permanent: true,
},
{
source: '/guides/cluster/manual(.html)?',
destination: 'https://learn.hashicorp.com/tutorials/nomad/clustering',
permanent: true,
},
{
source: '/guides/cluster/federation/(index.html)?',
destination: 'https://learn.hashicorp.com/tutorials/nomad/federation',
permanent: true,
},
{
source: '/guides/cluster/requirements/(index.html)?',
destination: '/docs/install/production/requirements',
permanent: true,
},
{
source: '/guides/nomad-metrics(.html)?',
destination:
'https://learn.hashicorp.com/tutorials/nomad/prometheus-metrics',
permanent: true,
},
{
source: '/guides/node-draining(.html)?',
destination: 'https://learn.hashicorp.com/tutorials/nomad/node-drain',
permanent: true,
},
{
source: '/guides/outage/(index.html)?',
destination: 'https://learn.hashicorp.com/tutorials/nomad/outage-recovery',
permanent: true,
},
{
source: '/guides/acl(.html)?',
destination: 'https://learn.hashicorp.com/collections/nomad/access-control',
permanent: true,
},
{
source: '/guides/namespaces(.html)?',
destination: 'https://learn.hashicorp.com/tutorials/nomad/namespaces',
permanent: true,
},
{
source: '/guides/quotas(.html)?',
destination: 'https://learn.hashicorp.com/tutorials/nomad/quotas',
permanent: true,
},
{
source: '/guides/securing-nomad(.html)?',
destination:
'https://learn.hashicorp.com/tutorials/nomad/security-enable-tls',
permanent: true,
},
{
source: '/guides/sentinel-policy(.html)?',
destination: 'https://learn.hashicorp.com/tutorials/nomad/sentinel',
permanent: true,
},
{
source: '/guides/sentinel/job(.html)?',
destination: 'https://learn.hashicorp.com/tutorials/nomad/sentinel',
permanent: true,
},
{
source: '/guides/security/namespaces(.html)?',
destination: 'https://learn.hashicorp.com/tutorials/nomad/namespaces',
permanent: true,
},
{
source: '/guides/security/quotas(.html)?',
destination: 'https://learn.hashicorp.com/tutorials/nomad/quotas',
permanent: true,
},
{
source: '/guides/security/sentinel/job(.html)?',
destination: 'https://learn.hashicorp.com/tutorials/nomad/quotas',
permanent: true,
},
{
source: '/guides/security/sentinel-policy(.html)?',
destination: 'https://learn.hashicorp.com/tutorials/nomad/sentinel',
permanent: true,
},
{
source: '/guides/operations/install/index(.html)?',
destination: '/docs/install',
permanent: true,
},
{
source: '/guides/operations/agent/index(.html)?',
destination: '/docs/install/production/nomad-agent',
permanent: true,
},
{
source: '/guides/operations/requirements(.html)?',
destination: '/docs/install/production/requirements',
permanent: true,
},
{
source: '/guides/operations/consul-integration/index(.html)?',
destination: '/docs/integrations/consul-integration',
permanent: true,
},
{
source: '/guides/operations/vault-integration/index(.html)?',
destination: '/docs/integrations/vault-integration',
permanent: true,
},
{
source: '/guides/advanced-scheduling/(index.html)?',
destination:
'https://learn.hashicorp.com/collections/nomad/advanced-scheduling',
permanent: true,
},
{
source: '/guides/external/(index.html)?',
destination: 'https://learn.hashicorp.com/collections/nomad/plugins',
permanent: true,
},
{
source: '/guides/external/lxc(.html)?',
destination: 'https://learn.hashicorp.com/tutorials/nomad/plugin-lxc',
permanent: true,
},
{
source: '/guides/operations/upgrade/(index.html)?',
destination: '/docs/upgrade',
permanent: true,
},
{
source: '/guides/operations/upgrade/upgrade-specific(.html)?',
destination: '/docs/upgrade/upgrade-specific',
permanent: true,
},
{
source: '/guides/upgrade/(index.html)?',
destination: '/docs/upgrade',
permanent: true,
},
{
source: '/guides/upgrade/upgrade-specific(.html)?',
destination: '/docs/upgrade/upgrade-specific',
permanent: true,
},
{
source: '/guides/operations/deployment-guide(.html)?',
destination:
'https://learn.hashicorp.com/tutorials/nomad/production-deployment-guide-vm-with-consul',
permanent: true,
},
{
source: '/guides/operations/reference-architecture(.html)?',
destination:
'https://learn.hashicorp.com/tutorials/nomad/production-reference-architecture-vm-with-consul',
permanent: true,
},
{
source: '/docs/install/production/deployment-guide/(index.html)?',
destination:
'https://learn.hashicorp.com/tutorials/nomad/production-deployment-guide-vm-with-consul',
permanent: true,
},
{
source: '/docs/install/production/reference-architecture/(index.html)?',
destination:
'https://learn.hashicorp.com/tutorials/nomad/production-reference-architecture-vm-with-consul',
permanent: true,
},
// Enterprise
// Reorganized Enterprise into single pager
{
source: '/docs/enterprise/namespaces/(index.html)?',
destination: '/docs/enterprise#namespaces',
permanent: true,
},
{
source: '/docs/enterprise/quotas/(index.html)?',
destination: '/docs/enterprise#resource-quotas',
permanent: true,
},
{
source: '/docs/enterprise/preemption/(index.html)?',
destination: '/docs/enterprise#preemption',
permanent: true,
},
{
source: '/docs/enterprise/sentinel/(index.html)?',
destination: '/docs/enterprise#sentinel-policies',
permanent: true,
},
{
source: '/docs/enterprise/autopilot/(index.html)?',
destination: '/docs/enterprise#nomad-enterprise-platform',
permanent: true,
},
// Guide Catch-all Redirects
{
source: '/guides/:splat*',
destination: 'https://learn.hashicorp.com/nomad',
permanent: true,
},
// Vault Integration
{
source: '/docs/vault-integration/(index.html)?',
destination: '/docs/integrations/vault-integration',
permanent: true,
},
]