diff --git a/files/gitlab-config-template/gitlab.rb.template b/files/gitlab-config-template/gitlab.rb.template index 10ad5edd76bf4b80a8dd0e801b53a3e7995f909c_ZmlsZXMvZ2l0bGFiLWNvbmZpZy10ZW1wbGF0ZS9naXRsYWIucmIudGVtcGxhdGU=..78ec8dcdc663fc6f6f8a36bf79bded644b67daac_ZmlsZXMvZ2l0bGFiLWNvbmZpZy10ZW1wbGF0ZS9naXRsYWIucmIudGVtcGxhdGU= 100644 --- a/files/gitlab-config-template/gitlab.rb.template +++ b/files/gitlab-config-template/gitlab.rb.template @@ -550,6 +550,7 @@ # gitlab_rails['manage_backup_path'] = true # gitlab_rails['backup_path'] = "/var/opt/gitlab/backups" +# gitlab_rails['backup_gitaly_backup_path'] = "/opt/gitlab/embedded/bin/gitaly-backup" ###! Docs: https://docs.gitlab.com/ee/raketasks/backup_restore.html#backup-archive-permissions # gitlab_rails['backup_archive_permissions'] = 0644 diff --git a/files/gitlab-cookbooks/gitlab/attributes/default.rb b/files/gitlab-cookbooks/gitlab/attributes/default.rb index 10ad5edd76bf4b80a8dd0e801b53a3e7995f909c_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9naXRsYWIvYXR0cmlidXRlcy9kZWZhdWx0LnJi..78ec8dcdc663fc6f6f8a36bf79bded644b67daac_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9naXRsYWIvYXR0cmlidXRlcy9kZWZhdWx0LnJi 100644 --- a/files/gitlab-cookbooks/gitlab/attributes/default.rb +++ b/files/gitlab-cookbooks/gitlab/attributes/default.rb @@ -363,6 +363,7 @@ default['gitlab']['gitlab-rails']['encrypted_settings_path'] = nil default['gitlab']['gitlab-rails']['backup_path'] = "/var/opt/gitlab/backups" +default['gitlab']['gitlab-rails']['backup_gitaly_backup_path'] = "/opt/gitlab/embedded/bin/gitaly-backup" default['gitlab']['gitlab-rails']['manage_backup_path'] = true default['gitlab']['gitlab-rails']['backup_archive_permissions'] = nil default['gitlab']['gitlab-rails']['backup_pg_schema'] = nil diff --git a/files/gitlab-cookbooks/gitlab/templates/default/gitlab.yml.erb b/files/gitlab-cookbooks/gitlab/templates/default/gitlab.yml.erb index 10ad5edd76bf4b80a8dd0e801b53a3e7995f909c_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9naXRsYWIvdGVtcGxhdGVzL2RlZmF1bHQvZ2l0bGFiLnltbC5lcmI=..78ec8dcdc663fc6f6f8a36bf79bded644b67daac_ZmlsZXMvZ2l0bGFiLWNvb2tib29rcy9naXRsYWIvdGVtcGxhdGVzL2RlZmF1bHQvZ2l0bGFiLnltbC5lcmI= 100644 --- a/files/gitlab-cookbooks/gitlab/templates/default/gitlab.yml.erb +++ b/files/gitlab-cookbooks/gitlab/templates/default/gitlab.yml.erb @@ -892,6 +892,7 @@ ## Backup settings backup: path: "<%= @backup_path %>" # Relative paths are relative to Rails.root (default: tmp/backups/) + gitaly_backup_path: <%= quote(@backup_gitaly_backup_path) %> # Path of the gitaly-backup binary (default: searches $PATH) archive_permissions: <%= @backup_archive_permissions %> # Permissions for the resulting backup.tar file (default: 0600) keep_time: <%= @backup_keep_time %> # default: 0 (forever) (in seconds) pg_schema: <%= @backup_pg_schema %> # default: nil, it means that all schemas will be backed up diff --git a/spec/chef/recipes/gitlab-rails/gitlab_yml/backup_spec.rb b/spec/chef/recipes/gitlab-rails/gitlab_yml/backup_spec.rb new file mode 100644 index 0000000000000000000000000000000000000000..78ec8dcdc663fc6f6f8a36bf79bded644b67daac_c3BlYy9jaGVmL3JlY2lwZXMvZ2l0bGFiLXJhaWxzL2dpdGxhYl95bWwvYmFja3VwX3NwZWMucmI= --- /dev/null +++ b/spec/chef/recipes/gitlab-rails/gitlab_yml/backup_spec.rb @@ -0,0 +1,43 @@ +require 'chef_helper' + +RSpec.describe 'gitlab::gitlab-rails' do + include_context 'gitlab-rails' + + describe 'Backup settings' do + context 'with default values' do + it 'renders with default backup settings' do + expect(gitlab_yml[:production][:backup]).to eq( + archive_permissions: nil, + gitaly_backup_path: '/opt/gitlab/embedded/bin/gitaly-backup', + keep_time: nil, + path: '/var/opt/gitlab/backups', + pg_schema: nil, + upload: { + connection: nil, + encryption: nil, + encryption_key: nil, + multipart_chunk_size: nil, + remote_directory: nil, + storage_class: nil + } + ) + end + end + + context 'with user specified gitaly-backup path set' do + before do + stub_gitlab_rb( + gitlab_rails: { + backup_gitaly_backup_path: '/some other/bin/gitaly-backup' + } + ) + end + + it 'renders with the user specified gitaly-backup path' do + expect(gitlab_yml[:production][:backup]).to include( + gitaly_backup_path: '/some other/bin/gitaly-backup' + ) + end + end + end +end