# redirect old docs to latest at root.
# note that you can still access these old docs at https://docs.projectcalico.org/archive/*

/archive/v3.17 /archive/v3.17/about/about-calico 301
/archive/v3.16 /archive/v3.16/about/about-calico 301
/archive/v3.15 /archive/v3.15/about/about-calico 301
/archive/v3.14 /archive/v3.14/introduction/ 301
/archive/v3.13 /archive/v3.13/introduction 301
/archive/v3.12 /archive/v3.12/introduction 301
/archive/v3.11 /archive/v3.11/introduction 301
/archive/v3.10 /archive/v3.10/introduction 301
/archive/v3.9 /archive/v3.9/introduction 301
/archive/v3.8 /archive/v3.8/introduction 301
/archive/v3.7 /archive/v3.7/introduction 301
/archive/v3.6 /archive/v3.6/introduction 301
/archive/v3.5 /archive/v3.5/introduction 301
/archive/v3.4 /archive/v3.4/introduction 301
/archive/v3.3 /archive/v3.3/introduction 301
/archive/v3.2 /archive/v3.2/introduction 301
/archive/v3.1 /archive/v3.1/introduction 301
/archive/v3.0 /archive/v3.0/introduction 301
/archive/v2.6 /archive/v2.6/introduction 301
/archive/v2.5 /archive/v2.5/introduction 301
/archive/v2.4 /archive/v2.4/introduction 301
/archive/v2.3 /archive/v2.3/introduction 301
/archive/v2.2 /archive/v2.2/introduction 301
/archive/v2.1 /archive/v2.1/introduction 301
/archive/v2.0 /archive/v2.0/introduction 301
/archive/v1.6 /archive/v1.6/introduction 301
/archive/v1.5 /archive/v1.5/introduction 301
/master /master/about/about-calico 301

# explicit redirects for any old that does not exist at an identical path in the
# latest docs.
/introduction/ /about/about-calico 301
/getting-started/as-service /getting-started/bare-metal/installation/container 301
/getting-started/bare-metal/bare-metal /getting-started/bare-metal/ 301
/getting-started/bare-metal/bare-metal-install /getting-started/bare-metal/installation/container 301
/getting-started/bare-metal/installation/overview /getting-started/bare-metal/about 301
/getting-started/bare-metal/policy/ /security/protect-hosts 301
/getting-started/bare-metal/policy/conntrack /security/high-connection-workloads 301
/getting-started/bare-metal/policy/donottrack /security/high-connection-workloads 301
/getting-started/bare-metal/policy/failsafe /security/protect-hosts 301
/getting-started/bare-metal/policy/forwarded /security/host-forwarded-traffic 301
/getting-started/bare-metal/policy/objects /security/protect-hosts 301
/getting-started/bare-metal/policy/pre-dnat /security/host-forwarded-traffic 301
/getting-started/bare-metal/policy/selector /security/protect-hosts 301
/getting-started/bare-metal/policy/summary /reference/host-endpoints/summary 301
/getting-started/bare-metal/policy/tutorial /security/tutorials/protect-hosts 301
/getting-started/bare-metal/pyi-bare-metal-install /getting-started/bare-metal/installation/ 301
/getting-started/bare-metal/troubleshooting /security/protect-hosts 301
/getting-started/bare-metal/tutorials /security/tutorials/protect-hosts 301
/getting-started/bare-metal/upgrade /maintenance/upgrading 301
/getting-started/docker/ /archive/v2.6/getting-started/docker/ 301
/getting-started/docker/installation/aws /archive/v1.6/getting-started/docker/installation/aws 301
/getting-started/docker/installation/digital-ocean /archive/v1.6/getting-started/docker/installation/digital-ocean 301
/getting-started/docker/installation/gce /archive/v1.6/getting-started/docker/installation/gce 301
/getting-started/docker/installation/manual /archive/v2.6/getting-started/docker/installation/manual 301
/getting-started/docker/installation/requirements /archive/v2.6/getting-started/docker/installation/requirements 301
/getting-started/docker/installation/vagrant-coreos/ /archive/v2.6/getting-started/docker/installation/vagrant-coreos/ 301
/getting-started/docker/installation/vagrant-ubuntu/ /archive/v2.6/getting-started/docker/installation/vagrant-ubuntu/ 301
/getting-started/docker/troubleshooting /archive/v2.3/getting-started/docker/troubleshooting 301
/getting-started/docker/tutorials/ /archive/v1.6/getting-started/docker/tutorials/ 301
/getting-started/docker/tutorials/advanced-policy /archive/v2.0/getting-started/docker/tutorials/advanced-policy 301
/getting-started/docker/tutorials/basic /archive/v1.6/getting-started/docker/tutorials/basic 301
/getting-started/docker/tutorials/docker-swarm /archive/v1.6/getting-started/docker/tutorials/docker-swarm 301
/getting-started/docker/tutorials/ipam /archive/v2.6/getting-started/docker/tutorials/ipam 301
/getting-started/docker/tutorials/ipv6 /archive/v1.6/getting-started/docker/tutorials/ipv6 301
/getting-started/docker/tutorials/security-using-calico-profiles /archive/v2.6/getting-started/docker/tutorials/security-using-calico-profiles 301
/getting-started/docker/tutorials/security-using-calico-profiles-and-policy /archive/v2.6/getting-started/docker/tutorials/security-using-calico-profiles-and-policy 301
/getting-started/docker/tutorials/security-using-docker-labels-and-calico-policy /archive/v2.6/getting-started/docker/tutorials/security-using-docker-labels-and-calico-policy 301
/getting-started/docker/tutorials/simple-policy /archive/v2.0/getting-started/docker/tutorials/simple-policy 301
/getting-started/docker/upgrade /archive/v2.3/getting-started/docker/upgrade 301
/getting-started/kubernetes/installation/app-layer-policy /security/app-layer-policy 301
/getting-started/kubernetes/installation/aws /getting-started/kubernetes/self-managed-public-cloud/aws 301
/getting-started/kubernetes/installation/azure /getting-started/kubernetes/self-managed-public-cloud/azure 301
/getting-started/kubernetes/installation/calico /getting-started/kubernetes/self-managed-onprem/ 301
/getting-started/kubernetes/installation/flannel /getting-started/kubernetes/flannel/flannel 301
/getting-started/kubernetes/installation/ /getting-started/kubernetes/ 301
/getting-started/kubernetes/installation/gce /getting-started/kubernetes/self-managed-public-cloud/gce 301
/getting-started/kubernetes/installation/hosted/ /getting-started/kubernetes/self-managed-onprem/ 301
/getting-started/kubernetes/installation/hosted/canal/ /getting-started/kubernetes/flannel/flannel 301
/getting-started/kubernetes/installation/hosted/hosted /getting-started/kubernetes/self-managed-onprem/ 301
/getting-started/kubernetes/installation/hosted/k8s-backend-addon-manager/ /getting-started/kubernetes/self-managed-onprem/ 301
/getting-started/kubernetes/installation/hosted/k8s-backend/ /getting-started/kubernetes/self-managed-onprem/ 301
/getting-started/kubernetes/installation/hosted/kubeadm/ /getting-started/kubernetes/self-managed-public-cloud/gce 301
/getting-started/kubernetes/installation/hosted/kubernetes-datastore/ /getting-started/kubernetes/self-managed-public-cloud/gce 301
/getting-started/kubernetes/installation/integration /getting-started/kubernetes/hardway/ 301
/getting-started/kubernetes/installation/migration-from-flannel /getting-started/kubernetes/flannel/migration-from-flannel 301
/getting-started/kubernetes/installation/other /getting-started/kubernetes/ 301
/getting-started/kubernetes/installation/overview /getting-started/kubernetes/ 301
/getting-started/kubernetes/installation/vagrant/ /getting-started/kubernetes/quickstart 301
/getting-started/kubernetes/self-managed-public-cloud/azu /getting-started/kubernetes/self-managed-public-cloud/azure 301
/getting-started/kubernetes/troubleshooting /reference/faq 301
/getting-started/kubernetes/tutorials/advanced-policy /security/tutorials/kubernetes-policy-advanced 301
/getting-started/kubernetes/tutorials/app-layer-policy/ /security/tutorials/app-layer-policy/enforce-policy-istio 301
/getting-started/kubernetes/tutorials/simple-policy /security/tutorials/kubernetes-policy-basic 301
/getting-started/kubernetes/tutorials/stars-policy/ /security/tutorials/kubernetes-policy-demo/kubernetes-demo 301
/getting-started/kubernetes/tutorials/using-calicoctl /getting-started/calicoctl/install 301
/getting-started/kubernetes/upgrade /maintenance/upgrading 301
/getting-started/kubernetes/upgrade/ /maintenance/upgrading 301
/getting-started/kubernetes/upgrade/convert /maintenance/upgrading 301
/getting-started/kubernetes/upgrade/delete /maintenance/upgrading 301
/getting-started/kubernetes/upgrade/downgrade /maintenance/upgrading 301
/getting-started/kubernetes/upgrade/migrate /maintenance/upgrading 301
/getting-started/kubernetes/upgrade/setup /maintenance/upgrading 301
/getting-started/kubernetes/upgrade/test /maintenance/upgrading 301
/getting-started/kubernetes/upgrade/upgrade /maintenance/upgrading 301
/getting-started/mesos/ /archive/v2.6/getting-started/mesos/ 301
/getting-started/mesos/demos/cni/ /archive/v1.6/getting-started/mesos/demos/cni/ 301
/getting-started/mesos/demos/docker/ /archive/v1.6/getting-started/mesos/demos/docker/ 301
/getting-started/mesos/installation/dc-os /archive/v1.5/getting-started/mesos/installation/dc-os 301
/getting-started/mesos/installation/dc-os/ /archive/v2.6/getting-started/mesos/installation/dc-os/ 301
/getting-started/mesos/installation/dc-os/custom /archive/v2.6/getting-started/mesos/installation/dc-os/custom 301
/getting-started/mesos/installation/dc-os/framework /archive/v2.6/getting-started/mesos/installation/dc-os/framework 301
/getting-started/mesos/installation/docker /archive/v1.6/getting-started/mesos/installation/docker 301
/getting-started/mesos/installation/integration /archive/v2.6/getting-started/mesos/installation/integration 301
/getting-started/mesos/installation/prerequisites /archive/v2.6/getting-started/mesos/installation/prerequisites 301
/getting-started/mesos/installation/unified /archive/v1.6/getting-started/mesos/installation/unified 301
/getting-started/mesos/installation/vagrant-centos/ /archive/v2.6/getting-started/mesos/installation/vagrant-centos/ 301
/getting-started/mesos/troubleshooting /archive/v1.6/getting-started/mesos/troubleshooting 301
/getting-started/mesos/tutorials/connecting-tasks /archive/v2.6/getting-started/mesos/tutorials/connecting-tasks 301
/getting-started/mesos/tutorials/docker /archive/v2.1/getting-started/mesos/tutorials/docker 301
/getting-started/mesos/tutorials/launching-tasks /archive/v2.6/getting-started/mesos/tutorials/launching-tasks 301
/getting-started/mesos/tutorials/policy/docker-containerizer /archive/v2.6/getting-started/mesos/tutorials/policy/docker-containerizer 301
/getting-started/mesos/tutorials/policy/universal-containerizer /archive/v2.6/getting-started/mesos/tutorials/policy/universal-containerizer 301
/getting-started/mesos/tutorials/unified /archive/v2.1/getting-started/mesos/tutorials/unified 301
/getting-started/mesos/upgrade /archive/v1.6/getting-started/mesos/upgrade 301
/getting-started/mesos/vagrant/ /archive/v2.3/getting-started/mesos/vagrant/ 301
/getting-started/openshift/dedicated-etcd  /archive/getting-started/openshift 301
/getting-started/openstack/connectivity /networking/openstack/connectivity 301
/getting-started/openstack/installation/chef /getting-started/openstack/installation/ 301
/getting-started/openstack/installation/fuel /getting-started/openstack/installation/ 301
/getting-started/openstack/installation/juju /getting-started/openstack/installation/ 301
/getting-started/openstack/neutron-api /networking/openstack/neutron-api 301
/getting-started/openstack/tutorials /networking/openstack/dev-machine-setup 301
/getting-started/openstack/upgrade /maintenance/openstack-upgrade 301
/getting-started/openstack/upgrade/ /maintenance/openstack-upgrade 301
/getting-started/openstack/upgrade/convert /maintenance/openstack-upgrade 301
/getting-started/openstack/upgrade/delete /maintenance/openstack-upgrade 301
/getting-started/openstack/upgrade/downgrade /maintenance/openstack-upgrade 301
/getting-started/openstack/upgrade/migrate /maintenance/openstack-upgrade 301
/getting-started/openstack/upgrade/setup /maintenance/openstack-upgrade 301
/getting-started/openstack/upgrade/test /maintenance/openstack-upgrade 301
/getting-started/openstack/upgrade/upgrade /maintenance/openstack-upgrade 301
/getting-started/rkt/ /archive/v2.6/getting-started/rkt/ 301
/getting-started/rkt/installation /archive/v1.6/getting-started/rkt/installation 301
/getting-started/rkt/installation/manual /archive/v2.6/getting-started/rkt/installation/manual 301
/getting-started/rkt/installation/vagrant-coreos/ /archive/v2.6/getting-started/rkt/installation/vagrant-coreos/ 301
/getting-started/rkt/troubleshooting /archive/v2.6/getting-started/rkt/troubleshooting 301
/getting-started/rkt/tutorials /archive/v1.6/getting-started/rkt/tutorials 301
/getting-started/rkt/tutorials/basic /archive/v2.6/getting-started/rkt/tutorials/basic 301
/getting-started/rkt/upgrade /archive/v1.6/getting-started/rkt/upgrade 301
/getting-started/rkt/vagrant/ /archive/v1.6/getting-started/rkt/vagrant/ 301
/introduction/deployments /introduction/ 301
/networking/assigning-ip-addresses-topology /networking/assign-ip-addresses-topology 301
/networking/changing-ip-pools /networking/migrate-pools 301
/networking/conntrack /maintenance/troubleshooting 301
/networking/design/l2-interconnect-fabric /reference/architecture/design/l2-interconnect-fabric 301
/networking/design/l3-interconnect-fabric /v3.9/networking/design/l3-interconnect-fabric 301
/networking/ip-in-ip /networking/vxlan-ipip 301
/networking/routereflector /networking/bgp 301
/networking/service-advertisement /networking/advertise-service-ips 301
/reference/addressing /networking/openstack/connectivity 301
/reference/advanced/calico-cni /reference/cni-plugin/configuration 301
/reference/advanced/calico-neutron-api /networking/openstack/neutron-api 301
/reference/advanced/etcd-rbac /reference/etcd-rbac/overview 301
/reference/advanced/etcd-rbac/ /reference/etcd-rbac/overview 301
/reference/advanced/etcd-rbac/calico-etcdv2-paths /reference/etcd-rbac/overview 301
/reference/advanced/etcd-rbac/calico-etcdv3-paths /reference/etcd-rbac/overview 301
/reference/advanced/etcd-rbac/certificate-generation /reference/etcd-rbac/certificate-generation 301
/reference/advanced/etcd-rbac/kubernetes /reference/etcd-rbac/kubernetes 301
/reference/advanced/etcd-rbac/kubernetes-advanced /v3.5/reference/advanced/etcd-rbac/kubernetes 301
/reference/advanced/etcd-rbac/users-and-roles /reference/etcd-rbac/users-and-roles 301
/reference/advanced/etcd-secure /security/comms/crypto-auth 301
/reference/advanced/overlap-ips /archive/v1.6/reference/advanced/overlap-ips 301
/reference/architecture/components /reference/architecture/overview 301
/reference/calicoctl/bgp /reference/resources/bgppeer 301
/reference/calicoctl/checksystem /reference/calicoctl/node/checksystem 301
/reference/calicoctl/commands/ /reference/calicoctl/overview 301
/reference/calicoctl/commands/apply /reference/calicoctl/apply 301
/reference/calicoctl/commands/config /reference/felix/configuration 301
/reference/calicoctl/commands/convert /reference/calicoctl/convert 301
/reference/calicoctl/commands/create /reference/calicoctl/create 301
/reference/calicoctl/commands/delete /reference/calicoctl/delete 301
/reference/calicoctl/commands/get /reference/calicoctl/get 301
/reference/calicoctl/commands/ipam/ /reference/calicoctl/ipam/overview 301
/reference/calicoctl/commands/ipam/release /reference/calicoctl/ipam/release 301
/reference/calicoctl/commands/ipam/show /reference/calicoctl/ipam/show 301
/reference/calicoctl/commands/label /reference/calicoctl/label 301
/reference/calicoctl/commands/node/ /reference/calicoctl/node/overview 301
/reference/calicoctl/commands/node/checksystem /reference/calicoctl/node/checksystem 301
/reference/calicoctl/commands/node/diags /reference/calicoctl/node/diags 301
/reference/calicoctl/commands/node/run /reference/calicoctl/node/run 301
/reference/calicoctl/commands/node/status /reference/calicoctl/node/status 301
/reference/calicoctl/commands/replace /reference/calicoctl/replace 301
/reference/calicoctl/commands/version /reference/calicoctl/version 301
/reference/calicoctl/config /reference/felix/configuration 301
/reference/calicoctl/container /archive/v1.6/reference/calicoctl/container 301
/reference/calicoctl/diags /reference/calicoctl/node/diags 301
/reference/calicoctl/endpoint /archive/v1.6/reference/calicoctl/endpoint 301
/reference/calicoctl/ipam /reference/calicoctl/ipam/overview 301
/reference/calicoctl/node /reference/calicoctl/node/overview 301
/reference/calicoctl/pool /reference/calicoctl/ipam/overview 301
/reference/calicoctl/profile /reference/resources/profile 301
/reference/calicoctl/resources/ /reference/resources/ 301
/reference/calicoctl/resources/bgpconfig /reference/resources/bgpconfig 301
/reference/calicoctl/resources/bgppeer /reference/resources/bgppeer 301
/reference/calicoctl/resources/felixconfig /reference/resources/felixconfig 301
/reference/calicoctl/resources/globalnetworkpolicy /reference/resources/globalnetworkpolicy 301
/reference/calicoctl/resources/globalnetworkset /reference/resources/globalnetworkset 301
/reference/calicoctl/resources/hostendpoint /reference/resources/hostendpoint 301
/reference/calicoctl/resources/ippool /reference/resources/ippool 301
/reference/calicoctl/resources/networkpolicy /reference/resources/networkpolicy 301
/reference/calicoctl/resources/networkset /reference/resources/networkset 301
/reference/calicoctl/resources/node /reference/resources/node 301
/reference/calicoctl/resources/policy /reference/resources/networkpolicy 301
/reference/calicoctl/resources/profile /reference/resources/profile 301
/reference/calicoctl/resources/workloadendpoint /reference/resources/workloadendpoint 301
/reference/calicoctl/setup/ /getting-started/calicoctl/configure/etcd 301
/reference/calicoctl/setup/etcdv2 /getting-started/calicoctl/configure/etcd 301
/reference/calicoctl/setup/etcdv3 /getting-started/calicoctl/configure/etcd 301
/reference/calicoctl/setup/kubernetes /getting-started/calicoctl/configure/kdd 301
/reference/calicoctl/status /reference/calicoctl/node/status 301
/reference/contribute https://github.com/projectcalico/community 301
/reference/license /reference/legal/ 301
/reference/policy-controller/configuration /reference/kube-controllers/configuration 301
/reference/previous-releases /releases 301
/reference/private-cloud/ /getting-started/kubernetes/self-managed-onprem/ 301
/reference/private-cloud/l2-interconnect-fabric /reference/architecture/design/l2-interconnect-fabric 301
/reference/private-cloud/l3-interconnect-fabric /reference/architecture/design/l3-interconnect-fabric 301
/reference/private-cloud/troubleshooting /maintenance/troubleshooting 301
/reference/public-cloud/overview /getting-started/kubernetes/managed-public-cloud/ 301
/reference/repo-structure /reference/involved 301
/reference/requirements /getting-started/kubernetes/requirements 301
/reference/security-model /security/ 301
/reference/supported-platforms /getting-started/kubernetes/requirements 301
/reference/without-docker-networking/docker-container-lifecycle /releases 301
/reference/without-docker-networking/environment-setup/aws /introduction 301
/reference/without-docker-networking/environment-setup/digital-ocean /introduction 301
/reference/without-docker-networking/environment-setup/gce /introduction 301
/reference/without-docker-networking/environment-setup/vagrant-coreos/ /introduction 301
/reference/without-docker-networking/environment-setup/vagrant-ubuntu/ /introduction 301
/reference/without-docker-networking/installation /introduction 301
/reference/without-docker-networking/ipv6 /introduction 301
/reference/without-docker-networking/prerequisites /introduction 301
/releases/ /releases 301
/security/advanced-policy /security/kubernetes-network-policy 301
/security/app-layer-policy/ /security/tutorials/app-layer-policy/enforce-policy-istio 301
/security/host-endpoints/ /security/protect-hosts 301
/security/host-endpoints/connectivity /security/protect-hosts 301
/security/host-endpoints/conntrack /security/high-connection-workloads 301
/security/host-endpoints/donottrack /security/high-connection-workloads 301
/security/host-endpoints/failsafe /security/protect-hosts 301
/security/host-endpoints/forwarded /security/host-forwarded-traffic 301
/security/host-endpoints/objects /security/tutorials/protect-hosts 301
/security/host-endpoints/pre-dnat /security/host-forwarded-traffic 301
/security/host-endpoints/selector /security/protect-hosts 301
/security/host-endpoints/summary /reference/resources/globalnetworkpolicy 301
/security/host-endpoints/tutorial /security/tutorials/protect-hosts 301
/security/simple-policy /security/tutorials/kubernetes-policy-basic 301
/security/stars-policy/ /security/tutorials/kubernetes-policy-demo/kubernetes-demo 301
/security/try-node-to-node-encryption /security/encrypt-cluster-pod-traffic 301
/usage/ /security/ 301
/usage/assigning-ip-addresses-topology /networking/assign-ip-addresses-topology 301
/usage/bird-rr-config /reference/architecture/overview 301
/usage/calicoctl/configure/ /getting-started/calicoctl/configure/overview 301
/usage/calicoctl/configure/etcd /getting-started/calicoctl/configure/etcd 301
/usage/calicoctl/configure/kdd /getting-started/calicoctl/configure/kdd 301
/usage/calicoctl/container /reference/calicoctl/overview 301
/usage/calicoctl/install /getting-started/calicoctl/install 301
/usage/calicoctl/install-and-configuration /getting-started/calicoctl/ 301
/usage/changing-ip-pools /networking/migrate-pools 301
/usage/configuration/ /getting-started/kubernetes/ 301
/usage/configuration/advanced-network-policy /security/calico-network-policy 301
/usage/configuration/as-service /getting-started/bare-metal/installation/container 301
/usage/configuration/bgp /networking/bgp 301
/usage/configuration/conntrack /maintenance/troubleshooting 301
/usage/configuration/ip-in-ip /networking/vxlan-ipip 301
/usage/configuration/mtu /networking/mtu 301
/usage/configuration/node /networking/ip-autodetection 301
/usage/configuration/securing-calico /security/adopt-zero-trust 301
/usage/decommissioning-a-node /maintenance/decommissioning-a-node 301
/usage/dockerless-calico /getting-started/kubernetes/hardway/ 301
/usage/enabling-ipvs /networking/use-ipvs 301
/usage/encrypt-comms /security/comms/crypto-auth 301
/usage/exposing-ports /getting-started/kubernetes/requirements 301
/usage/external-connectivity /networking/workloads-outside-cluster 301
/usage/ipv6 /networking/ipv6 301
/usage/openstack/configuration /networking/openstack/configuration 301
/usage/openstack/floating-ips /networking/openstack/floating-ips 301
/usage/openstack/host-routes /networking/openstack/host-routes 301
/usage/openstack/kuryr /networking/openstack/kuryr 301
/usage/openstack/labels /networking/openstack/labels 301
/usage/openstack/semantics /networking/openstack/semantics 301
/usage/openstack/service-ips /networking/openstack/service-ips 301
/usage/policy/secure-metrics /security/comms/secure-metrics 301
/usage/reduce-nodes /security/comms/reduce-nodes 301
/usage/routereflector /networking/bgp 301
/usage/routereflector/bird-rr-config /reference/architecture/overview 301
/usage/routereflector/calico-routereflector /reference/architecture/overview 301
/usage/service-advertisement /networking/advertise-service-ips 301
/usage/troubleshooting/ /maintenance/troubleshooting 301
/usage/troubleshooting/faq /reference/faq 301
/usage/troubleshooting/faq-2 /reference/faq 301
/usage/troubleshooting/logging /maintenance/component-logs 301
