diff --git a/.gitlab-ci/terraform.yml b/.gitlab-ci/terraform.yml
index 9d1b9abe98f6e22ab477f9514248eafd3db90fc0..ffdd226ed2f6e6bb65896dc5a58293d11814444a 100644
--- a/.gitlab-ci/terraform.yml
+++ b/.gitlab-ci/terraform.yml
@@ -110,7 +110,7 @@ tf-validate-upcloud:
 #     TF_VAR_number_of_k8s_nodes: "1"
 #     TF_VAR_plan_k8s_masters: t1.small.x86
 #     TF_VAR_plan_k8s_nodes: t1.small.x86
-#     TF_VAR_facility: ewr1
+#     TF_VAR_metro: ny
 #     TF_VAR_public_key_path: ""
 #     TF_VAR_operating_system: ubuntu_16_04
 #
@@ -124,7 +124,7 @@ tf-validate-upcloud:
 #     TF_VAR_number_of_k8s_nodes: "1"
 #     TF_VAR_plan_k8s_masters: t1.small.x86
 #     TF_VAR_plan_k8s_nodes: t1.small.x86
-#     TF_VAR_facility: ams1
+#     TF_VAR_metro: am
 #     TF_VAR_public_key_path: ""
 #     TF_VAR_operating_system: ubuntu_18_04
 
diff --git a/contrib/terraform/equinix/kubespray.tf b/contrib/terraform/equinix/kubespray.tf
index 47831a5b7b0aca6d634f0c6428aa42d290c9f244..d6bd166a3a49c2ad18e7a6ad201a248dbc848a67 100644
--- a/contrib/terraform/equinix/kubespray.tf
+++ b/contrib/terraform/equinix/kubespray.tf
@@ -10,7 +10,7 @@ resource "equinix_metal_device" "k8s_master" {
   count            = var.number_of_k8s_masters
   hostname         = "${var.cluster_name}-k8s-master-${count.index + 1}"
   plan             = var.plan_k8s_masters
-  facilities       = [var.facility]
+  metro            = var.metro
   operating_system = var.operating_system
   billing_cycle    = var.billing_cycle
   project_id       = var.equinix_metal_project_id
@@ -23,7 +23,7 @@ resource "equinix_metal_device" "k8s_master_no_etcd" {
   count            = var.number_of_k8s_masters_no_etcd
   hostname         = "${var.cluster_name}-k8s-master-${count.index + 1}"
   plan             = var.plan_k8s_masters_no_etcd
-  facilities       = [var.facility]
+  metro            = var.metro
   operating_system = var.operating_system
   billing_cycle    = var.billing_cycle
   project_id       = var.equinix_metal_project_id
@@ -36,7 +36,7 @@ resource "equinix_metal_device" "k8s_etcd" {
   count            = var.number_of_etcd
   hostname         = "${var.cluster_name}-etcd-${count.index + 1}"
   plan             = var.plan_etcd
-  facilities       = [var.facility]
+  metro            = var.metro
   operating_system = var.operating_system
   billing_cycle    = var.billing_cycle
   project_id       = var.equinix_metal_project_id
@@ -49,7 +49,7 @@ resource "equinix_metal_device" "k8s_node" {
   count            = var.number_of_k8s_nodes
   hostname         = "${var.cluster_name}-k8s-node-${count.index + 1}"
   plan             = var.plan_k8s_nodes
-  facilities       = [var.facility]
+  metro            = var.metro
   operating_system = var.operating_system
   billing_cycle    = var.billing_cycle
   project_id       = var.equinix_metal_project_id
diff --git a/contrib/terraform/equinix/provider.tf b/contrib/terraform/equinix/provider.tf
index 74bf0c305381229005aa575625bf04c0360ab362..61c0aba12d55f1630aaeefe5c4ef4ef2edf02ff0 100644
--- a/contrib/terraform/equinix/provider.tf
+++ b/contrib/terraform/equinix/provider.tf
@@ -1,9 +1,13 @@
 terraform {
   required_version = ">= 1.0.0"
+
+  provider_meta "equinix" {
+    module_name = "kubespray"
+  }
   required_providers {
     equinix = {
       source  = "equinix/equinix"
-      version = ">=1.11.0"
+      version = "~> 1.14"
     }
   }
 }
diff --git a/contrib/terraform/equinix/sample-inventory/cluster.tfvars b/contrib/terraform/equinix/sample-inventory/cluster.tfvars
index 4e583f1a6e7904eab438e4a0c36e274546028d2e..039f20878c774f6d849b67b1215b6525d5b82856 100644
--- a/contrib/terraform/equinix/sample-inventory/cluster.tfvars
+++ b/contrib/terraform/equinix/sample-inventory/cluster.tfvars
@@ -9,8 +9,8 @@ equinix_metal_project_id = "Example-Project-Id"
 # Terraform will complain if the public key is setup in Equinix Metal
 public_key_path = "~/.ssh/id_rsa.pub"
 
-# cluster location
-facility = "ewr1"
+# Equinix interconnected bare metal across our global metros.
+metro = "da"
 
 # operating_system
 operating_system = "ubuntu_22_04"
diff --git a/contrib/terraform/equinix/variables.tf b/contrib/terraform/equinix/variables.tf
index 82c7015080ef5346106652e33dd1d7ba99219b95..9417388e3dc74f4e070f148a6e2698de97ce2fb9 100644
--- a/contrib/terraform/equinix/variables.tf
+++ b/contrib/terraform/equinix/variables.tf
@@ -19,8 +19,8 @@ variable "billing_cycle" {
   default = "hourly"
 }
 
-variable "facility" {
-  default = "dfw2"
+variable "metro" {
+  default = "da"
 }
 
 variable "plan_k8s_masters" {
diff --git a/docs/ci-setup.md b/docs/ci-setup.md
index defd23c10229ec12cdaf7691f5fb83f9321e23ee..604706c798970b522f7192735d878119a521a0e7 100644
--- a/docs/ci-setup.md
+++ b/docs/ci-setup.md
@@ -48,7 +48,7 @@ equinix_metal_project_id = "_redacted_"
 public_key_path = "~/.ssh/id_rsa.pub"
 
 # cluster location
-facility = "am6"
+metro = "da"
 
 # standalone etcds
 number_of_etcd = 0