diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index e5d17bc923fafa3f5c50df042285b9db383838f3..45cece0f4ddb258610eff78f7aa593d6722f1aba 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -9,7 +9,7 @@ stages:
   - deploy-special
 
 variables:
-  KUBESPRAY_VERSION: v2.23.2
+  KUBESPRAY_VERSION: v2.24.0
   FAILFASTCI_NAMESPACE: 'kargo-ci'
   GITLAB_REPOSITORY: 'kargo-ci/kubernetes-sigs-kubespray'
   ANSIBLE_FORCE_COLOR: "true"
diff --git a/README.md b/README.md
index c3f149db5e45f93ea132fa8cb89d64599500181b..7ad7e6d58db89cdbe0cd55832f037dc7ee7992b9 100644
--- a/README.md
+++ b/README.md
@@ -75,11 +75,11 @@ You will then need to use [bind mounts](https://docs.docker.com/storage/bind-mou
 to access the inventory and SSH key in the container, like this:
 
 ```ShellSession
-git checkout v2.23.2
-docker pull quay.io/kubespray/kubespray:v2.23.2
+git checkout v2.24.0
+docker pull quay.io/kubespray/kubespray:v2.24.0
 docker run --rm -it --mount type=bind,source="$(pwd)"/inventory/sample,dst=/inventory \
   --mount type=bind,source="${HOME}"/.ssh/id_rsa,dst=/root/.ssh/id_rsa \
-  quay.io/kubespray/kubespray:v2.23.2 bash
+  quay.io/kubespray/kubespray:v2.24.0 bash
 # Inside the container you may now run the kubespray playbooks:
 ansible-playbook -i /inventory/inventory.ini --private-key /root/.ssh/id_rsa cluster.yml
 ```
diff --git a/galaxy.yml b/galaxy.yml
index 63731ca141aff6aebd2343c4d5ee90b306d807b6..33b259d5f7f12492a76e949f073f3ba7b446d64c 100644
--- a/galaxy.yml
+++ b/galaxy.yml
@@ -2,7 +2,7 @@
 namespace: kubernetes_sigs
 description: Deploy a production ready Kubernetes cluster
 name: kubespray
-version: 2.24.0
+version: 2.25.0
 readme: README.md
 authors:
   - luksi1