diff --git a/files/gitlab-cookbooks/consul/recipes/enable.rb b/files/gitlab-cookbooks/consul/recipes/enable.rb
index 613aeff8e7d42d4dca0d3c0901af5604a8aa12a6_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9jb25zdWwvcmVjaXBlcy9lbmFibGUucmI=..fd988099bb7e9261c79e9f3432a8d44f56819186_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9jb25zdWwvcmVjaXBlcy9lbmFibGUucmI= 100644
--- a/files/gitlab-cookbooks/consul/recipes/enable.rb
+++ b/files/gitlab-cookbooks/consul/recipes/enable.rb
@@ -28,7 +28,7 @@
   groupname account_helper.consul_group
   gid node['consul']['gid']
   home node['consul']['dir']
-  manage node['gitlab']['manage-accounts']['enable']
+  manage node['gitlab']['manage_accounts']['enable']
 end
 
 directory node['consul']['dir'] do
diff --git a/files/gitlab-cookbooks/gitlab-ee/resources/sentinel_service.rb b/files/gitlab-cookbooks/gitlab-ee/resources/sentinel_service.rb
index 613aeff8e7d42d4dca0d3c0901af5604a8aa12a6_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9naXRsYWItZWUvcmVzb3VyY2VzL3NlbnRpbmVsX3NlcnZpY2UucmI=..fd988099bb7e9261c79e9f3432a8d44f56819186_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9naXRsYWItZWUvcmVzb3VyY2VzL3NlbnRpbmVsX3NlcnZpY2UucmI= 100644
--- a/files/gitlab-cookbooks/gitlab-ee/resources/sentinel_service.rb
+++ b/files/gitlab-cookbooks/gitlab-ee/resources/sentinel_service.rb
@@ -31,7 +31,7 @@
     gid node['redis']['gid']
     shell node['redis']['shell']
     home node['redis']['home']
-    manage node['gitlab']['manage-accounts']['enable']
+    manage node['gitlab']['manage_accounts']['enable']
   end
 
   directory new_resource.sentinel_configuration['dir'] do
diff --git a/files/gitlab-cookbooks/gitlab-ee/templates/default/mount_point_check.erb b/files/gitlab-cookbooks/gitlab-ee/templates/default/mount_point_check.erb
index 613aeff8e7d42d4dca0d3c0901af5604a8aa12a6_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9naXRsYWItZWUvdGVtcGxhdGVzL2RlZmF1bHQvbW91bnRfcG9pbnRfY2hlY2suZXJi..fd988099bb7e9261c79e9f3432a8d44f56819186_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9naXRsYWItZWUvdGVtcGxhdGVzL2RlZmF1bHQvbW91bnRfcG9pbnRfY2hlY2suZXJi 100644
--- a/files/gitlab-cookbooks/gitlab-ee/templates/default/mount_point_check.erb
+++ b/files/gitlab-cookbooks/gitlab-ee/templates/default/mount_point_check.erb
@@ -1,4 +1,4 @@
-<% [node['gitlab']['high-availability']['mountpoint']].flatten.compact.each do |mountpoint| %>
+<% [node['gitlab']['high_availability']['mountpoint']].flatten.compact.each do |mountpoint| %>
 if ! mountpoint -q '<%= mountpoint %>' ; then
   echo 'Refusing to start because <%= mountpoint %> is not a mountpoint.'
   exit 1
diff --git a/files/gitlab-cookbooks/gitlab-pages/templates/default/mount_point_check.erb b/files/gitlab-cookbooks/gitlab-pages/templates/default/mount_point_check.erb
index 613aeff8e7d42d4dca0d3c0901af5604a8aa12a6_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9naXRsYWItcGFnZXMvdGVtcGxhdGVzL2RlZmF1bHQvbW91bnRfcG9pbnRfY2hlY2suZXJi..fd988099bb7e9261c79e9f3432a8d44f56819186_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9naXRsYWItcGFnZXMvdGVtcGxhdGVzL2RlZmF1bHQvbW91bnRfcG9pbnRfY2hlY2suZXJi 100644
--- a/files/gitlab-cookbooks/gitlab-pages/templates/default/mount_point_check.erb
+++ b/files/gitlab-cookbooks/gitlab-pages/templates/default/mount_point_check.erb
@@ -1,4 +1,4 @@
-<% [node['gitlab']['high-availability']['mountpoint']].flatten.compact.each do |mountpoint| %>
+<% [node['gitlab']['high_availability']['mountpoint']].flatten.compact.each do |mountpoint| %>
 if ! mountpoint -q '<%= mountpoint %>' ; then
   echo 'Refusing to start because <%= mountpoint %> is not a mountpoint.'
   exit 1
diff --git a/files/gitlab-cookbooks/gitlab/attributes/default.rb b/files/gitlab-cookbooks/gitlab/attributes/default.rb
index 613aeff8e7d42d4dca0d3c0901af5604a8aa12a6_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9naXRsYWIvYXR0cmlidXRlcy9kZWZhdWx0LnJi..fd988099bb7e9261c79e9f3432a8d44f56819186_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9naXRsYWIvYXR0cmlidXRlcy9kZWZhdWx0LnJi 100644
--- a/files/gitlab-cookbooks/gitlab/attributes/default.rb
+++ b/files/gitlab-cookbooks/gitlab/attributes/default.rb
@@ -21,6 +21,6 @@
 ####
 default['gitlab']['bootstrap']['enable'] = true
 # Create users and groups needed for the package
-default['gitlab']['manage-accounts']['enable'] = true
+default['gitlab']['manage_accounts']['enable'] = true
 
 # Create directories with correct permissions and ownership required by the pkg
@@ -25,6 +25,6 @@
 
 # Create directories with correct permissions and ownership required by the pkg
-default['gitlab']['manage-storage-directories']['enable'] = true
-default['gitlab']['manage-storage-directories']['manage_etc'] = true
+default['gitlab']['manage_storage_directories']['enable'] = true
+default['gitlab']['manage_storage_directories']['manage_etc'] = true
 
 # A tmpfs mount point directory for runtime files, actual default is located in libraries/gitlab_rails.rb.
@@ -29,6 +29,6 @@
 
 # A tmpfs mount point directory for runtime files, actual default is located in libraries/gitlab_rails.rb.
-default['gitlab']['runtime-dir'] = nil
+default['gitlab']['runtime_dir'] = nil
 
 ####
 # The Git User that services run as
@@ -679,10 +679,10 @@
 # Web server
 ####
 # Username for the webserver user
-default['gitlab']['web-server']['username'] = 'gitlab-www'
-default['gitlab']['web-server']['group'] = 'gitlab-www'
-default['gitlab']['web-server']['uid'] = nil
-default['gitlab']['web-server']['gid'] = nil
-default['gitlab']['web-server']['shell'] = '/bin/false'
-default['gitlab']['web-server']['home'] = '/var/opt/gitlab/nginx'
+default['gitlab']['web_server']['username'] = 'gitlab-www'
+default['gitlab']['web_server']['group'] = 'gitlab-www'
+default['gitlab']['web_server']['uid'] = nil
+default['gitlab']['web_server']['gid'] = nil
+default['gitlab']['web_server']['shell'] = '/bin/false'
+default['gitlab']['web_server']['home'] = '/var/opt/gitlab/nginx'
 # When bundled nginx is disabled we need to add the external webserver user to the GitLab webserver group
@@ -688,5 +688,5 @@
 # When bundled nginx is disabled we need to add the external webserver user to the GitLab webserver group
-default['gitlab']['web-server']['external_users'] = []
+default['gitlab']['web_server']['external_users'] = []
 
 ####
 # gitlab-workhorse
@@ -865,8 +865,8 @@
 ###
 # High Availability
 ###
-default['gitlab']['high-availability']['mountpoint'] = nil
+default['gitlab']['high_availability']['mountpoint'] = nil
 
 ####
 # GitLab CI Rails app
 ####
@@ -869,7 +869,7 @@
 
 ####
 # GitLab CI Rails app
 ####
-default['gitlab']['gitlab-ci']['dir'] = "/var/opt/gitlab/gitlab-ci"
-default['gitlab']['gitlab-ci']['builds_directory'] = "/var/opt/gitlab/gitlab-ci/builds"
+default['gitlab']['gitlab_ci']['dir'] = "/var/opt/gitlab/gitlab-ci"
+default['gitlab']['gitlab_ci']['builds_directory'] = "/var/opt/gitlab/gitlab-ci/builds"
 
@@ -875,3 +875,3 @@
 
-default['gitlab']['gitlab-ci']['schedule_builds_minute'] = "0"
+default['gitlab']['gitlab_ci']['schedule_builds_minute'] = "0"
 
@@ -877,6 +877,6 @@
 
-default['gitlab']['gitlab-ci']['gitlab_ci_all_broken_builds'] = nil
-default['gitlab']['gitlab-ci']['gitlab_ci_add_pusher'] = nil
+default['gitlab']['gitlab_ci']['gitlab_ci_all_broken_builds'] = nil
+default['gitlab']['gitlab_ci']['gitlab_ci_add_pusher'] = nil
 
 ####
 # Mattermost NGINX
@@ -943,9 +943,9 @@
 ####
 # Storage check
 ####
-default['gitlab']['storage-check']['enable'] = false
-default['gitlab']['storage-check']['target'] = nil
-default['gitlab']['storage-check']['log_directory'] = '/var/log/gitlab/storage-check'
+default['gitlab']['storage_check']['enable'] = false
+default['gitlab']['storage_check']['target'] = nil
+default['gitlab']['storage_check']['log_directory'] = '/var/log/gitlab/storage-check'
 
 default['gitlab']['gitlab-shell'] = Gitlab::Deprecations::NodeAttribute.new(proc { node['gitlab']['gitlab_shell'].to_h }, "node['gitlab']['gitlab-shell']", "node['gitlab']['gitlab_shell']")
 default['gitlab']['remote-syslog'] = Gitlab::Deprecations::NodeAttribute.new(proc { node['gitlab']['remote_syslog'].to_h }, "node['gitlab']['remote-syslog']", "node['gitlab']['remote_syslog']")
@@ -955,3 +955,16 @@
 default['gitlab']['registry-nginx'] = Gitlab::Deprecations::NodeAttribute.new(proc { node['gitlab']['registry_nginx'].to_h }, "node['gitlab']['registry-nginx']", "node['gitlab']['registry_nginx']")
 default['gitlab']['gitlab-kas-nginx'] = Gitlab::Deprecations::NodeAttribute.new(proc { node['gitlab']['gitlab_kas_nginx'].to_h }, "node['gitlab']['gitlab-kas-nginx']", "node['gitlab']['gitlab_kas_nginx']")
 default['gitlab']['gitlab-rails'] = Gitlab::Deprecations::NodeAttribute.new(proc { node['gitlab']['gitlab_rails'].to_h }, "node['gitlab']['gitlab-rails']", "node['gitlab']['gitlab_rails']")
+default['gitlab']['external-url'] = Gitlab::Deprecations::NodeAttribute.new(proc { node['gitlab']['external_url'] }, "node['gitlab']['external-url']", "node['gitlab']['external_url']")
+default['gitlab']['gitlab-kas-external-url'] = Gitlab::Deprecations::NodeAttribute.new(proc { node['gitlab']['gitlab_kas_external_url'] }, "node['gitlab']['gitlab-kas-external-url']", "node['gitlab']['gitlab_kas_external_url']")
+default['gitlab']['mattermost-external-url'] = Gitlab::Deprecations::NodeAttribute.new(proc { node['gitlab']['mattermost_external_url'] }, "node['gitlab']['mattermost-external-url']", "node['gitlab']['mattermost_external_url']")
+default['gitlab']['pages-external-url'] = Gitlab::Deprecations::NodeAttribute.new(proc { node['gitlab']['pages_external_url'] }, "node['gitlab']['pages-external-url']", "node['gitlab']['pages_external_url']")
+default['gitlab']['registry-external-url'] = Gitlab::Deprecations::NodeAttribute.new(proc { node['gitlab']['registry_external_url'] }, "node['gitlab']['registry-external-url']", "node['gitlab']['registry_external_url']")
+default['gitlab']['gitlab-ci'] = Gitlab::Deprecations::NodeAttribute.new(proc { node['gitlab']['gitlab_ci'].to_h }, "node['gitlab']['gitlab-ci']", "node['gitlab']['gitlab_ci']")
+default['gitlab']['high-availability'] = Gitlab::Deprecations::NodeAttribute.new(proc { node['gitlab']['high_availability'].to_h }, "node['gitlab']['high-availability']", "node['gitlab']['high_availability']")
+default['gitlab']['manage-accounts'] = Gitlab::Deprecations::NodeAttribute.new(proc { node['gitlab']['manage_accounts'].to_h }, "node['gitlab']['manage-accounts']", "node['gitlab']['manage_accounts']")
+default['gitlab']['manage-storage-directories'] = Gitlab::Deprecations::NodeAttribute.new(proc { node['gitlab']['manage_storage_directories'].to_h }, "node['gitlab']['manage-storage-directories']", "node['gitlab']['manage_storage_directories']")
+default['gitlab']['omnibus-gitconfig'] = Gitlab::Deprecations::NodeAttribute.new(proc { node['gitlab']['omnibus_gitconfig'].to_h }, "node['gitlab']['omnibus-gitconfig']", "node['gitlab']['omnibus_gitconfig']")
+default['gitlab']['runtime-dir'] = Gitlab::Deprecations::NodeAttribute.new(proc { node['gitlab']['runtime_dir'] }, "node['gitlab']['runtime-dir']", "node['gitlab']['runtime_dir']")
+default['gitlab']['storage-check'] = Gitlab::Deprecations::NodeAttribute.new(proc { node['gitlab']['storage_check'].to_h }, "node['gitlab']['storage-check']", "node['gitlab']['storage_check']")
+default['gitlab']['web-server'] = Gitlab::Deprecations::NodeAttribute.new(proc { node['gitlab']['web_server'].to_h }, "node['gitlab']['web-server']", "node['gitlab']['web_server']")
diff --git a/files/gitlab-cookbooks/gitlab/libraries/account_helper.rb b/files/gitlab-cookbooks/gitlab/libraries/account_helper.rb
index 613aeff8e7d42d4dca0d3c0901af5604a8aa12a6_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9naXRsYWIvbGlicmFyaWVzL2FjY291bnRfaGVscGVyLnJi..fd988099bb7e9261c79e9f3432a8d44f56819186_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9naXRsYWIvbGlicmFyaWVzL2FjY291bnRfaGVscGVyLnJi 100644
--- a/files/gitlab-cookbooks/gitlab/libraries/account_helper.rb
+++ b/files/gitlab-cookbooks/gitlab/libraries/account_helper.rb
@@ -31,7 +31,7 @@
   end
 
   def web_server_user
-    node['gitlab']['web-server']['username']
+    node['gitlab']['web_server']['username']
   end
 
   def web_server_group
@@ -35,7 +35,7 @@
   end
 
   def web_server_group
-    node['gitlab']['web-server']['group']
+    node['gitlab']['web_server']['group']
   end
 
   def redis_user
diff --git a/files/gitlab-cookbooks/gitlab/recipes/default.rb b/files/gitlab-cookbooks/gitlab/recipes/default.rb
index 613aeff8e7d42d4dca0d3c0901af5604a8aa12a6_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9naXRsYWIvcmVjaXBlcy9kZWZhdWx0LnJi..fd988099bb7e9261c79e9f3432a8d44f56819186_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9naXRsYWIvcmVjaXBlcy9kZWZhdWx0LnJi 100644
--- a/files/gitlab-cookbooks/gitlab/recipes/default.rb
+++ b/files/gitlab-cookbooks/gitlab/recipes/default.rb
@@ -37,7 +37,7 @@
   owner "root"
   group "root"
   mode "0775"
-  only_if { node['gitlab']['manage-storage-directories']['manage_etc'] }
+  only_if { node['gitlab']['manage_storage_directories']['manage_etc'] }
 end.run_action(:create)
 
 node.default['gitlab']['bootstrap']['enable'] = false if File.exist?("/var/opt/gitlab/bootstrapped")
@@ -71,7 +71,7 @@
 template "#{install_dir}/embedded/etc/gitconfig" do
   source "gitconfig-system.erb"
   mode 0755
-  variables gitconfig: node.dig('gitlab', 'omnibus-gitconfig', 'system') || {}
+  variables gitconfig: node.dig('gitlab', 'omnibus_gitconfig', 'system') || {}
 end
 
 # This recipe needs to run before gitlab-rails
diff --git a/files/gitlab-cookbooks/gitlab/recipes/gitlab-rails.rb b/files/gitlab-cookbooks/gitlab/recipes/gitlab-rails.rb
index 613aeff8e7d42d4dca0d3c0901af5604a8aa12a6_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9naXRsYWIvcmVjaXBlcy9naXRsYWItcmFpbHMucmI=..fd988099bb7e9261c79e9f3432a8d44f56819186_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9naXRsYWIvcmVjaXBlcy9naXRsYWItcmFpbHMucmI= 100644
--- a/files/gitlab-cookbooks/gitlab/recipes/gitlab-rails.rb
+++ b/files/gitlab-cookbooks/gitlab/recipes/gitlab-rails.rb
@@ -31,8 +31,8 @@
 gitlab_rails_tmp_dir = File.join(gitlab_rails_dir, "tmp")
 gitlab_rails_public_uploads_dir = node['gitlab']['gitlab_rails']['uploads_directory']
 gitlab_rails_uploads_storage_path = node['gitlab']['gitlab_rails']['uploads_storage_path']
-gitlab_ci_dir = node['gitlab']['gitlab-ci']['dir']
-gitlab_ci_builds_dir = node['gitlab']['gitlab-ci']['builds_directory']
+gitlab_ci_dir = node['gitlab']['gitlab_ci']['dir']
+gitlab_ci_builds_dir = node['gitlab']['gitlab_ci']['builds_directory']
 gitlab_rails_shared_tmp_dir = File.join(node['gitlab']['gitlab_rails']['shared_path'], 'tmp')
 gitlab_rails_shared_cache_dir = File.join(node['gitlab']['gitlab_rails']['shared_path'], 'cache')
 upgrade_status_dir = File.join(gitlab_rails_dir, "upgrade-status")
@@ -320,8 +320,8 @@
 
   variables(
     node['gitlab']['gitlab_rails'].to_hash.merge(
-      gitlab_ci_all_broken_builds: node['gitlab']['gitlab-ci']['gitlab_ci_all_broken_builds'],
-      gitlab_ci_add_pusher: node['gitlab']['gitlab-ci']['gitlab_ci_add_pusher'],
+      gitlab_ci_all_broken_builds: node['gitlab']['gitlab_ci']['gitlab_ci_all_broken_builds'],
+      gitlab_ci_add_pusher: node['gitlab']['gitlab_ci']['gitlab_ci_add_pusher'],
       builds_directory: gitlab_ci_builds_dir,
       pages_external_http: node['gitlab_pages']['external_http'],
       pages_external_https: node['gitlab_pages']['external_https'],
diff --git a/files/gitlab-cookbooks/gitlab/recipes/puma.rb b/files/gitlab-cookbooks/gitlab/recipes/puma.rb
index 613aeff8e7d42d4dca0d3c0901af5604a8aa12a6_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9naXRsYWIvcmVjaXBlcy9wdW1hLnJi..fd988099bb7e9261c79e9f3432a8d44f56819186_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9naXRsYWIvcmVjaXBlcy9wdW1hLnJi 100644
--- a/files/gitlab-cookbooks/gitlab/recipes/puma.rb
+++ b/files/gitlab-cookbooks/gitlab/recipes/puma.rb
@@ -20,7 +20,7 @@
 logfiles_helper = LogfilesHelper.new(node)
 logging_settings = logfiles_helper.logging_settings('puma')
 
-metrics_dir = File.join(node['gitlab']['runtime-dir'].to_s, 'gitlab/puma') unless node['gitlab']['runtime-dir'].nil?
+metrics_dir = File.join(node['gitlab']['runtime_dir'].to_s, 'gitlab/puma') unless node['gitlab']['runtime_dir'].nil?
 
 svc = 'puma'
 user = account_helper.gitlab_user
diff --git a/files/gitlab-cookbooks/gitlab/recipes/remove_accounts.rb b/files/gitlab-cookbooks/gitlab/recipes/remove_accounts.rb
index 613aeff8e7d42d4dca0d3c0901af5604a8aa12a6_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9naXRsYWIvcmVjaXBlcy9yZW1vdmVfYWNjb3VudHMucmI=..fd988099bb7e9261c79e9f3432a8d44f56819186_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9naXRsYWIvcmVjaXBlcy9yZW1vdmVfYWNjb3VudHMucmI= 100644
--- a/files/gitlab-cookbooks/gitlab/recipes/remove_accounts.rb
+++ b/files/gitlab-cookbooks/gitlab/recipes/remove_accounts.rb
@@ -27,7 +27,7 @@
   account username do
     username username
     action :remove
-    manage node['gitlab']['manage-accounts']['enable']
+    manage node['gitlab']['manage_accounts']['enable']
   end
 end
 
@@ -35,6 +35,6 @@
   account group do
     groupname group
     action :remove
-    manage node['gitlab']['manage-accounts']['enable']
+    manage node['gitlab']['manage_accounts']['enable']
   end
 end
diff --git a/files/gitlab-cookbooks/gitlab/recipes/storage-check.rb b/files/gitlab-cookbooks/gitlab/recipes/storage-check.rb
index 613aeff8e7d42d4dca0d3c0901af5604a8aa12a6_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9naXRsYWIvcmVjaXBlcy9zdG9yYWdlLWNoZWNrLnJi..fd988099bb7e9261c79e9f3432a8d44f56819186_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9naXRsYWIvcmVjaXBlcy9zdG9yYWdlLWNoZWNrLnJi 100644
--- a/files/gitlab-cookbooks/gitlab/recipes/storage-check.rb
+++ b/files/gitlab-cookbooks/gitlab/recipes/storage-check.rb
@@ -38,7 +38,7 @@
     log_directory: logging_settings[:log_directory],
     log_user: logging_settings[:runit_owner],
     log_group: logging_settings[:runit_group],
-    storage_check_target: node['gitlab']['storage-check']['target']
+    storage_check_target: node['gitlab']['storage_check']['target']
   }.merge(params))
 
   log_options logging_settings[:options]
diff --git a/files/gitlab-cookbooks/gitlab/recipes/users.rb b/files/gitlab-cookbooks/gitlab/recipes/users.rb
index 613aeff8e7d42d4dca0d3c0901af5604a8aa12a6_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9naXRsYWIvcmVjaXBlcy91c2Vycy5yYg==..fd988099bb7e9261c79e9f3432a8d44f56819186_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9naXRsYWIvcmVjaXBlcy91c2Vycy5yYg== 100644
--- a/files/gitlab-cookbooks/gitlab/recipes/users.rb
+++ b/files/gitlab-cookbooks/gitlab/recipes/users.rb
@@ -33,7 +33,7 @@
   gid node['gitlab']['user']['gid']
   shell node['gitlab']['user']['shell']
   home gitlab_home
-  manage node['gitlab']['manage-accounts']['enable']
+  manage node['gitlab']['manage_accounts']['enable']
 end
 
 # Configure Git settings for the GitLab user
@@ -43,7 +43,7 @@
   group gitlab_group
   mode "0644"
   variables(user_options: node['gitlab']['user'],
-            system_core_options: node.dig('gitlab', 'omnibus-gitconfig', 'system', 'core') || [])
+            system_core_options: node.dig('gitlab', 'omnibus_gitconfig', 'system', 'core') || [])
 end
 
 # The directory will remain empty in Omnibus GitLab use-case.
diff --git a/files/gitlab-cookbooks/gitlab/recipes/web-server.rb b/files/gitlab-cookbooks/gitlab/recipes/web-server.rb
index 613aeff8e7d42d4dca0d3c0901af5604a8aa12a6_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9naXRsYWIvcmVjaXBlcy93ZWItc2VydmVyLnJi..fd988099bb7e9261c79e9f3432a8d44f56819186_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9naXRsYWIvcmVjaXBlcy93ZWItc2VydmVyLnJi 100644
--- a/files/gitlab-cookbooks/gitlab/recipes/web-server.rb
+++ b/files/gitlab-cookbooks/gitlab/recipes/web-server.rb
@@ -18,7 +18,7 @@
 account_helper = AccountHelper.new(node)
 webserver_username = account_helper.web_server_user
 webserver_group = account_helper.web_server_group
-external_webserver_users = node['gitlab']['web-server']['external_users'].to_a
+external_webserver_users = node['gitlab']['web_server']['external_users'].to_a
 
 # Create the group for the GitLab user
 # If external webserver is used, add the external webserver user to
@@ -26,6 +26,6 @@
 
 account "Webserver user and group" do
   username webserver_username
-  uid node['gitlab']['web-server']['uid']
+  uid node['gitlab']['web_server']['uid']
   ugid webserver_group
   groupname webserver_group
@@ -30,8 +30,8 @@
   ugid webserver_group
   groupname webserver_group
-  gid node['gitlab']['web-server']['gid']
-  shell node['gitlab']['web-server']['shell']
-  home node['gitlab']['web-server']['home']
+  gid node['gitlab']['web_server']['gid']
+  shell node['gitlab']['web_server']['shell']
+  home node['gitlab']['web_server']['home']
   append_to_group external_webserver_users.any?
   group_members external_webserver_users
   manage_home false
@@ -35,5 +35,5 @@
   append_to_group external_webserver_users.any?
   group_members external_webserver_users
   manage_home false
-  manage node['gitlab']['manage-accounts']['enable']
+  manage node['gitlab']['manage_accounts']['enable']
 end
diff --git a/files/gitlab-cookbooks/gitlab/resources/sidekiq_service.rb b/files/gitlab-cookbooks/gitlab/resources/sidekiq_service.rb
index 613aeff8e7d42d4dca0d3c0901af5604a8aa12a6_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9naXRsYWIvcmVzb3VyY2VzL3NpZGVraXFfc2VydmljZS5yYg==..fd988099bb7e9261c79e9f3432a8d44f56819186_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9naXRsYWIvcmVzb3VyY2VzL3NpZGVraXFfc2VydmljZS5yYg== 100644
--- a/files/gitlab-cookbooks/gitlab/resources/sidekiq_service.rb
+++ b/files/gitlab-cookbooks/gitlab/resources/sidekiq_service.rb
@@ -19,7 +19,7 @@
   user = new_resource.user
   group = new_resource.group
 
-  metrics_dir = ::File.join(node['gitlab']['runtime-dir'].to_s, "gitlab/#{svc}") unless node['gitlab']['runtime-dir'].nil?
+  metrics_dir = ::File.join(node['gitlab']['runtime_dir'].to_s, "gitlab/#{svc}") unless node['gitlab']['runtime_dir'].nil?
 
   sidekiq_log_dir = new_resource.log_directory
   sidekiq_log_user = new_resource.log_user
diff --git a/files/gitlab-cookbooks/gitlab/templates/default/mount_point_check.erb b/files/gitlab-cookbooks/gitlab/templates/default/mount_point_check.erb
index 613aeff8e7d42d4dca0d3c0901af5604a8aa12a6_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9naXRsYWIvdGVtcGxhdGVzL2RlZmF1bHQvbW91bnRfcG9pbnRfY2hlY2suZXJi..fd988099bb7e9261c79e9f3432a8d44f56819186_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9naXRsYWIvdGVtcGxhdGVzL2RlZmF1bHQvbW91bnRfcG9pbnRfY2hlY2suZXJi 100644
--- a/files/gitlab-cookbooks/gitlab/templates/default/mount_point_check.erb
+++ b/files/gitlab-cookbooks/gitlab/templates/default/mount_point_check.erb
@@ -1,4 +1,4 @@
-<% [node['gitlab']['high-availability']['mountpoint']].flatten.compact.each do |mountpoint| %>
+<% [node['gitlab']['high_availability']['mountpoint']].flatten.compact.each do |mountpoint| %>
 if ! mountpoint -q '<%= mountpoint %>' ; then
   echo 'Refusing to start because <%= mountpoint %> is not a mountpoint.'
   exit 1
diff --git a/files/gitlab-cookbooks/gitlab/templates/default/nginx.conf.erb b/files/gitlab-cookbooks/gitlab/templates/default/nginx.conf.erb
index 613aeff8e7d42d4dca0d3c0901af5604a8aa12a6_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9naXRsYWIvdGVtcGxhdGVzL2RlZmF1bHQvbmdpbnguY29uZi5lcmI=..fd988099bb7e9261c79e9f3432a8d44f56819186_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9naXRsYWIvdGVtcGxhdGVzL2RlZmF1bHQvbmdpbnguY29uZi5lcmI= 100644
--- a/files/gitlab-cookbooks/gitlab/templates/default/nginx.conf.erb
+++ b/files/gitlab-cookbooks/gitlab/templates/default/nginx.conf.erb
@@ -2,7 +2,7 @@
 # erased! To change the contents below, edit /etc/gitlab/gitlab.rb
 # and run `sudo gitlab-ctl reconfigure`.
 
-user <%= node['gitlab']['web-server']['username'] %> <%= node['gitlab']['web-server']['group']%>;
+user <%= node['gitlab']['web_server']['username'] %> <%= node['gitlab']['web_server']['group']%>;
 worker_processes <%= @worker_processes %>;
 error_log stderr;
 pid nginx.pid;
diff --git a/files/gitlab-cookbooks/letsencrypt/recipes/enable.rb b/files/gitlab-cookbooks/letsencrypt/recipes/enable.rb
index 613aeff8e7d42d4dca0d3c0901af5604a8aa12a6_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9sZXRzZW5jcnlwdC9yZWNpcGVzL2VuYWJsZS5yYg==..fd988099bb7e9261c79e9f3432a8d44f56819186_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9sZXRzZW5jcnlwdC9yZWNpcGVzL2VuYWJsZS5yYg== 100644
--- a/files/gitlab-cookbooks/letsencrypt/recipes/enable.rb
+++ b/files/gitlab-cookbooks/letsencrypt/recipes/enable.rb
@@ -1,4 +1,4 @@
-site = URI(node['gitlab']['external-url'])
+site = URI(node['gitlab']['external_url'])
 
 ruby_block 'http external-url' do
   block do
diff --git a/files/gitlab-cookbooks/letsencrypt/recipes/http_authorization.rb b/files/gitlab-cookbooks/letsencrypt/recipes/http_authorization.rb
index 613aeff8e7d42d4dca0d3c0901af5604a8aa12a6_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9sZXRzZW5jcnlwdC9yZWNpcGVzL2h0dHBfYXV0aG9yaXphdGlvbi5yYg==..fd988099bb7e9261c79e9f3432a8d44f56819186_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9sZXRzZW5jcnlwdC9yZWNpcGVzL2h0dHBfYXV0aG9yaXphdGlvbi5yYg== 100644
--- a/files/gitlab-cookbooks/letsencrypt/recipes/http_authorization.rb
+++ b/files/gitlab-cookbooks/letsencrypt/recipes/http_authorization.rb
@@ -1,4 +1,4 @@
-site = URI(node['gitlab']['external-url']).host
+site = URI(node['gitlab']['external_url']).host
 
 omnibus_helper = OmnibusHelper.new(node)
 
diff --git a/files/gitlab-cookbooks/mattermost/recipes/enable.rb b/files/gitlab-cookbooks/mattermost/recipes/enable.rb
index 613aeff8e7d42d4dca0d3c0901af5604a8aa12a6_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9tYXR0ZXJtb3N0L3JlY2lwZXMvZW5hYmxlLnJi..fd988099bb7e9261c79e9f3432a8d44f56819186_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9tYXR0ZXJtb3N0L3JlY2lwZXMvZW5hYmxlLnJi 100644
--- a/files/gitlab-cookbooks/mattermost/recipes/enable.rb
+++ b/files/gitlab-cookbooks/mattermost/recipes/enable.rb
@@ -43,7 +43,7 @@
   gid mattermost_gid
   shell '/bin/sh'
   home mattermost_home
-  manage node['gitlab']['manage-accounts']['enable']
+  manage node['gitlab']['manage_accounts']['enable']
 end
 
 ###
diff --git a/files/gitlab-cookbooks/monitoring/attributes/default.rb b/files/gitlab-cookbooks/monitoring/attributes/default.rb
index 613aeff8e7d42d4dca0d3c0901af5604a8aa12a6_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9tb25pdG9yaW5nL2F0dHJpYnV0ZXMvZGVmYXVsdC5yYg==..fd988099bb7e9261c79e9f3432a8d44f56819186_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9tb25pdG9yaW5nL2F0dHJpYnV0ZXMvZGVmYXVsdC5yYg== 100644
--- a/files/gitlab-cookbooks/monitoring/attributes/default.rb
+++ b/files/gitlab-cookbooks/monitoring/attributes/default.rb
@@ -132,7 +132,7 @@
 default['monitoring']['gitlab_exporter']['prometheus_scrape_tls_skip_verification'] = false
 
 # To completely disable prometheus, and all of it's exporters, set to false
-default['gitlab']['prometheus-monitoring']['enable'] = true
+default['gitlab']['prometheus_monitoring']['enable'] = true
 
 ####
 # Grafana
@@ -197,3 +197,4 @@
 default['monitoring']['postgres-exporter'] = Gitlab::Deprecations::NodeAttribute.new(proc { node['monitoring']['postgres_exporter'].to_h }, "node['monitoring']['postgres-exporter']", "node['monitoring']['postgres_exporter']")
 default['monitoring']['pgbouncer-exporter'] = Gitlab::Deprecations::NodeAttribute.new(proc { node['monitoring']['pgbouncer_exporter'].to_h }, "node['monitoring']['pgbouncer-exporter']", "node['monitoring']['pgbouncer_exporter']")
 default['monitoring']['gitlab-exporter'] = Gitlab::Deprecations::NodeAttribute.new(proc { node['monitoring']['gitlab_exporter'].to_h }, "node['monitoring']['gitlab-exporter']", "node['monitoring']['gitlab_exporter']")
+default['gitlab']['prometheus-monitoring'] = Gitlab::Deprecations::NodeAttribute.new(proc { node['gitlab']['prometheus_monitoring'].to_h }, "node['gitlab']['prometheus-monitoring']", "node['gitlab']['prometheus_monitoring']")
diff --git a/files/gitlab-cookbooks/monitoring/recipes/user.rb b/files/gitlab-cookbooks/monitoring/recipes/user.rb
index 613aeff8e7d42d4dca0d3c0901af5604a8aa12a6_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9tb25pdG9yaW5nL3JlY2lwZXMvdXNlci5yYg==..fd988099bb7e9261c79e9f3432a8d44f56819186_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9tb25pdG9yaW5nL3JlY2lwZXMvdXNlci5yYg== 100644
--- a/files/gitlab-cookbooks/monitoring/recipes/user.rb
+++ b/files/gitlab-cookbooks/monitoring/recipes/user.rb
@@ -27,5 +27,5 @@
   home prometheus_dir
   gid node['monitoring']['prometheus']['gid']
   shell node['monitoring']['prometheus']['shell']
-  manage node['gitlab']['manage-accounts']['enable']
+  manage node['gitlab']['manage_accounts']['enable']
 end
diff --git a/files/gitlab-cookbooks/monitoring/templates/mount_point_check.erb b/files/gitlab-cookbooks/monitoring/templates/mount_point_check.erb
index 613aeff8e7d42d4dca0d3c0901af5604a8aa12a6_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9tb25pdG9yaW5nL3RlbXBsYXRlcy9tb3VudF9wb2ludF9jaGVjay5lcmI=..fd988099bb7e9261c79e9f3432a8d44f56819186_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9tb25pdG9yaW5nL3RlbXBsYXRlcy9tb3VudF9wb2ludF9jaGVjay5lcmI= 100644
--- a/files/gitlab-cookbooks/monitoring/templates/mount_point_check.erb
+++ b/files/gitlab-cookbooks/monitoring/templates/mount_point_check.erb
@@ -1,4 +1,4 @@
-<% [node['gitlab']['high-availability']['mountpoint']].flatten.compact.each do |mountpoint| %>
+<% [node['gitlab']['high_availability']['mountpoint']].flatten.compact.each do |mountpoint| %>
 if ! mountpoint -q '<%= mountpoint %>' ; then
   echo 'Refusing to start because <%= mountpoint %> is not a mountpoint.'
   exit 1
diff --git a/files/gitlab-cookbooks/package/libraries/settings_dsl.rb b/files/gitlab-cookbooks/package/libraries/settings_dsl.rb
index 613aeff8e7d42d4dca0d3c0901af5604a8aa12a6_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9wYWNrYWdlL2xpYnJhcmllcy9zZXR0aW5nc19kc2wucmI=..fd988099bb7e9261c79e9f3432a8d44f56819186_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9wYWNrYWdlL2xpYnJhcmllcy9zZXR0aW5nc19kc2wucmI= 100644
--- a/files/gitlab-cookbooks/package/libraries/settings_dsl.rb
+++ b/files/gitlab-cookbooks/package/libraries/settings_dsl.rb
@@ -46,6 +46,20 @@
     geo_logcursor
     geo_postgresql
     gitlab_rails
+    external_url
+    gitlab_kas_external_url
+    mattermost_external_url
+    pages_external_url
+    registry_external_url
+    gitlab_ci
+    high_availability
+    manage_accounts
+    manage_storage_directories
+    omnibus_gitconfig
+    prometheus_monitoring
+    runtime_dir
+    storage_check
+    web_server
   ].freeze
 
   def self.extended(base)
diff --git a/files/gitlab-cookbooks/package/resources/storage_directory.rb b/files/gitlab-cookbooks/package/resources/storage_directory.rb
index 613aeff8e7d42d4dca0d3c0901af5604a8aa12a6_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9wYWNrYWdlL3Jlc291cmNlcy9zdG9yYWdlX2RpcmVjdG9yeS5yYg==..fd988099bb7e9261c79e9f3432a8d44f56819186_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9wYWNrYWdlL3Jlc291cmNlcy9zdG9yYWdlX2RpcmVjdG9yeS5yYg== 100644
--- a/files/gitlab-cookbooks/package/resources/storage_directory.rb
+++ b/files/gitlab-cookbooks/package/resources/storage_directory.rb
@@ -28,7 +28,7 @@
 property :mode, [String, nil], default: nil
 
 action :create do
-  next unless node['gitlab']['manage-storage-directories']['enable']
+  next unless node['gitlab']['manage_storage_directories']['enable']
 
   new_resource.path ||= new_resource.name
   storage_helper = StorageDirectoryHelper.new(new_resource.owner, new_resource.group, new_resource.mode)
diff --git a/files/gitlab-cookbooks/postgresql/recipes/user.rb b/files/gitlab-cookbooks/postgresql/recipes/user.rb
index 613aeff8e7d42d4dca0d3c0901af5604a8aa12a6_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9wb3N0Z3Jlc3FsL3JlY2lwZXMvdXNlci5yYg==..fd988099bb7e9261c79e9f3432a8d44f56819186_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9wb3N0Z3Jlc3FsL3JlY2lwZXMvdXNlci5yYg== 100644
--- a/files/gitlab-cookbooks/postgresql/recipes/user.rb
+++ b/files/gitlab-cookbooks/postgresql/recipes/user.rb
@@ -27,7 +27,7 @@
   gid node['postgresql']['gid']
   shell node['postgresql']['shell']
   home node['postgresql']['home']
-  manage node['gitlab']['manage-accounts']['enable']
+  manage node['gitlab']['manage_accounts']['enable']
 end
 
 directory node['postgresql']['home'] do
diff --git a/files/gitlab-cookbooks/redis/resources/service.rb b/files/gitlab-cookbooks/redis/resources/service.rb
index 613aeff8e7d42d4dca0d3c0901af5604a8aa12a6_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9yZWRpcy9yZXNvdXJjZXMvc2VydmljZS5yYg==..fd988099bb7e9261c79e9f3432a8d44f56819186_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9yZWRpcy9yZXNvdXJjZXMvc2VydmljZS5yYg== 100644
--- a/files/gitlab-cookbooks/redis/resources/service.rb
+++ b/files/gitlab-cookbooks/redis/resources/service.rb
@@ -18,7 +18,7 @@
     gid node['redis']['gid']
     shell node['redis']['shell']
     home node['redis']['home']
-    manage node['gitlab']['manage-accounts']['enable']
+    manage node['gitlab']['manage_accounts']['enable']
   end
 
   group 'Socket group' do
diff --git a/files/gitlab-cookbooks/registry/recipes/enable.rb b/files/gitlab-cookbooks/registry/recipes/enable.rb
index 613aeff8e7d42d4dca0d3c0901af5604a8aa12a6_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9yZWdpc3RyeS9yZWNpcGVzL2VuYWJsZS5yYg==..fd988099bb7e9261c79e9f3432a8d44f56819186_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9yZWdpc3RyeS9yZWNpcGVzL2VuYWJsZS5yYg== 100644
--- a/files/gitlab-cookbooks/registry/recipes/enable.rb
+++ b/files/gitlab-cookbooks/registry/recipes/enable.rb
@@ -37,7 +37,7 @@
   gid registry_gid
   shell '/bin/sh'
   home working_dir
-  manage node['gitlab']['manage-accounts']['enable']
+  manage node['gitlab']['manage_accounts']['enable']
 end
 
 directory "create #{working_dir} and set the owner" do
@@ -67,7 +67,7 @@
   group account_helper.gitlab_group
   mode '0770'
   recursive true
-  only_if { node['gitlab']['manage-storage-directories']['enable'] }
+  only_if { node['gitlab']['manage_storage_directories']['enable'] }
 end
 
 cert_file_path = File.join(working_dir, "gitlab-registry.crt")
diff --git a/spec/chef/cookbooks/package/libraries/settings_dsl_spec.rb b/spec/chef/cookbooks/package/libraries/settings_dsl_spec.rb
index 613aeff8e7d42d4dca0d3c0901af5604a8aa12a6_c3BlYy9jaGVmL2Nvb2tib29rcy9wYWNrYWdlL2xpYnJhcmllcy9zZXR0aW5nc19kc2xfc3BlYy5yYg==..fd988099bb7e9261c79e9f3432a8d44f56819186_c3BlYy9jaGVmL2Nvb2tib29rcy9wYWNrYWdlL2xpYnJhcmllcy9zZXR0aW5nc19kc2xfc3BlYy5yYg== 100644
--- a/spec/chef/cookbooks/package/libraries/settings_dsl_spec.rb
+++ b/spec/chef/cookbooks/package/libraries/settings_dsl_spec.rb
@@ -42,6 +42,20 @@
         %w[geo-logcursor geo_logcursor],
         %w[geo-postgresql geo_postgresql],
         %w[gitlab-rails gitlab_rails],
+        %w[external-url external_url],
+        %w[gitlab-kas-external-url gitlab_kas_external_url],
+        %w[mattermost-external-url mattermost_external_url],
+        %w[pages-external-url pages_external_url],
+        %w[registry-external-url registry_external_url],
+        %w[gitlab-ci gitlab_ci],
+        %w[high-availability high_availability],
+        %w[manage-accounts manage_accounts],
+        %w[manage-storage-directories manage_storage_directories],
+        %w[omnibus-gitconfig omnibus_gitconfig],
+        %w[prometheus-monitoring prometheus_monitoring],
+        %w[runtime-dir runtime_dir],
+        %w[storage-check storage_check],
+        %w[web-server web_server],
       ].each do |input, output|
         expect(subject.sanitized_key(input)).to eq(output)
       end
diff --git a/spec/chef/cookbooks/package/resources/storage_directory_spec.rb b/spec/chef/cookbooks/package/resources/storage_directory_spec.rb
index 613aeff8e7d42d4dca0d3c0901af5604a8aa12a6_c3BlYy9jaGVmL2Nvb2tib29rcy9wYWNrYWdlL3Jlc291cmNlcy9zdG9yYWdlX2RpcmVjdG9yeV9zcGVjLnJi..fd988099bb7e9261c79e9f3432a8d44f56819186_c3BlYy9jaGVmL2Nvb2tib29rcy9wYWNrYWdlL3Jlc291cmNlcy9zdG9yYWdlX2RpcmVjdG9yeV9zcGVjLnJi 100644
--- a/spec/chef/cookbooks/package/resources/storage_directory_spec.rb
+++ b/spec/chef/cookbooks/package/resources/storage_directory_spec.rb
@@ -3,7 +3,7 @@
 RSpec.describe 'storage_directory' do
   let(:runner) do
     ChefSpec::SoloRunner.new(step_into: %w(storage_directory)) do |node|
-      node.normal['gitlab']['manage-storage-directories']['enable'] = true
+      node.normal['gitlab']['manage_storage_directories']['enable'] = true
     end
   end
   let(:chef_run) { runner.converge("test_package::storage_directory_create") }