diff --git a/README.md b/README.md
index 9e40fe39bd0e5f30df48f56d65bb3a9e151d2e5b..f8f38364598c1c59f4553e6fc9791620cc9bcd62 100644
--- a/README.md
+++ b/README.md
@@ -9,6 +9,16 @@ npm run dev
 
 Open [http://localhost:3211](http://localhost:3211) with your browser to see the result.
 
+## Updating the list of environments
+
+This application uses a generated config to show the available configuration for the environments.
+It relies on the environments-recipes repository, and the configuration can be generated like this:
+
+```bash
+RUBYLIB=/path/to/environments-recipes
+ruby scripts/gen_available_config.rb
+```
+
 ## Authentication
 
 This application leverages OpenConnect through Gitlab's authentication provider to authenticate the user and get a token to perform actions on their behalf.
diff --git a/scripts/gen_available_config.rb b/scripts/gen_available_config.rb
new file mode 100755
index 0000000000000000000000000000000000000000..890cef6efe46f556c8acf28720dbc159c2363db2
--- /dev/null
+++ b/scripts/gen_available_config.rb
@@ -0,0 +1,17 @@
+# frozen_string_literal: true
+
+require 'json'
+require 'ci/gitlab/config-env'
+
+environments = Hash[ENV_CONFIG.map do |os, versions|
+  versions.keys.map { |version| ["#{os}#{version}", ENV_CONFIG[os][version]] }
+end.flatten(1)]
+
+
+config = {
+  environments: environments,
+  architectures: ARCHS_ALL,
+  variants: VARIANTS_ALL,
+}
+
+puts config.to_json
diff --git a/src/generated/config.json b/src/generated/config.json
index 5dc677405d229daf812b6c64b71aa944a791f860..df103df6917d40c274540d395ba08719068777e2 100644
--- a/src/generated/config.json
+++ b/src/generated/config.json
@@ -1 +1 @@
-{"environments":{"debian10":{"archs":["x64","arm64","ppc64"],"variants":["min","base","nfs","big"]},"debian11":{"archs":["x64","arm64","ppc64"],"variants":["min","base","nfs","big","std"]},"debian12":{"archs":["x64","arm64","ppc64"],"variants":["min","nfs","big"]},"debiantesting":{"archs":["x64","arm64","ppc64"],"variants":["min","nfs"]},"debianl4t1135":{"archs":["arm64"],"variants":["std"]},"ubuntu2004":{"archs":["x64","arm64","ppc64"],"variants":["min","nfs"]},"ubuntu2204":{"archs":["x64","arm64"],"variants":["min","nfs"]},"ubuntu2404":{"archs":["x64","arm64"],"variants":["min","nfs"]},"ubuntul4t200435":{"archs":["arm64"],"variants":["big"]},"centosstream8":{"archs":["x64","arm64"],"variants":["min","nfs"]},"centosstream9":{"archs":["x64","arm64"],"variants":["min","nfs"]},"rocky8":{"archs":["x64","arm64"],"variants":["min","nfs"]},"rocky9":{"archs":["x64","arm64"],"variants":["min","nfs"]},"centos7":{"archs":["x64","arm64","ppc64"],"variants":["min","nfs"]},"centos8":{"archs":["x64","arm64","ppc64"],"variants":["min","nfs"]},"almalinux9":{"archs":["x64","arm64"],"variants":["min","nfs"]}},"architectures":["x64","arm64","ppc64"],"variants":["min","base","nfs","big","std"]}
+{"environments":{"debian10":{"archs":["x64","arm64","ppc64"],"variants":["min","base","nfs","big"]},"debian11":{"archs":["x64","arm64","ppc64"],"variants":["min","base","nfs","big","std"]},"debian12":{"archs":["x64","arm64","ppc64"],"variants":["min","nfs","big"]},"debiantesting":{"archs":["x64","arm64","ppc64"],"variants":["min","nfs"]},"debianl4t1135":{"archs":["arm64"],"variants":["std"]},"debiangh11":{"archs":["arm64"],"variants":["std"]},"ubuntu2004":{"archs":["x64","arm64","ppc64"],"variants":["min","nfs"]},"ubuntu2204":{"archs":["x64","arm64"],"variants":["min","nfs"]},"ubuntu2404":{"archs":["x64","arm64"],"variants":["min","nfs"]},"ubuntul4t200435":{"archs":["arm64"],"variants":["big"]},"centosstream8":{"archs":["x64","arm64"],"variants":["min","nfs"]},"centosstream9":{"archs":["x64","arm64"],"variants":["min","nfs"]},"rocky8":{"archs":["x64","arm64"],"variants":["min","nfs"]},"rocky9":{"archs":["x64","arm64"],"variants":["min","nfs"]},"centos7":{"archs":["x64","arm64","ppc64"],"variants":["min","nfs"]},"centos8":{"archs":["x64","arm64","ppc64"],"variants":["min","nfs"]},"almalinux9":{"archs":["x64","arm64"],"variants":["min","nfs"]}},"architectures":["x64","arm64","ppc64"],"variants":["min","base","nfs","big","std"]}