Disabling Minio and LFS result in wrong backup configuration
Summary
Disabled Minio deployment and configured GCS configuration secrets as a replacement object storage
Steps to reproduce
Deploy secrets and chart
Configuration used
(Please provide a sanitized version of the configuration used wrapped in a code block (```yaml))
helmfile:
repositories:
- name: gitlab
url: https://charts.gitlab.io/
releases:
- name: gitlab
namespace: gitlab
chart: gitlab/gitlab
version: 1.1.3
values:
- global:
hosts:
domain: ...
psql:
host: ...
username: gitlab
database: gitlab
password:
secret: gitlab-postgresql
key: password
ingress:
configureCertmanager: false
annotations:
kubernetes.io/ingress.class: "contour-public"
minio:
enabled: false
appConfig:
lfs:
enabled: false
registry:
bucket: gitlab-registry
artifacts:
bucket: gitlab-artifacts-storage
connection:
secret: object-storage
key: connection
uploads:
bucket: gitlab-uploads-storage
connection:
secret: object-storage
key: connection
backups:
bucket: gitlab-backup-storage
tmpBucket: gitlab-tmp-storage
- unicorn:
tlsSecret: it-systems-tls
- postgresql:
install: false
- certmanager:
install: false
- gitlab:
migrations:
image:
repository: registry.gitlab.com/gitlab-org/build/cng/gitlab-rails-ce
sidekiq:
image:
repository: registry.gitlab.com/gitlab-org/build/cng/gitlab-sidekiq-ce
unicorn:
image:
repository: registry.gitlab.com/gitlab-org/build/cng/gitlab-unicorn-ce
workhorse:
image: registry.gitlab.com/gitlab-org/build/cng/gitlab-workhorse-ce
task-runner:
image:
repository: registry.gitlab.com/gitlab-org/build/cng/gitlab-task-runner-ce
backups:
objectStorage:
config:
secret: s3cmd-config
key: config
- gitlab-runner:
install: false
- prometheus:
install: false
- registry:
storage:
secret: registry-storage
key: config
- nginx-ingress:
enabled: false
Current behavior
Chart is deployed correctly
Expected behavior
Unicorn and Sidekiq pods are unable to start because the init container dependencies
fails with the following error: Settingslogic::MissingSetting: Missing setting 'connection' in 'backup' section in /srv/gitlab/config/gitlab.yml
Versions
- Chart: 1.1.3
- Platform:
- Cloud: GKE
- Kubernetes: (
kubectl version
)- Client: v1.12.0
- Server: v1.10.7-gke.6
- Helm: (
helm version
)- Client: v2.11.0
- Server: v2.11.0
Relevant logs
Unicorn dependencies init container logs:
+ /scripts/set-config /var/opt/gitlab/templates /var/opt/gitlab/config/gitlab/
Begin parsing .erb files from /var/opt/gitlab/templates
Writing /var/opt/gitlab/config/gitlab/database.yml
Writing /var/opt/gitlab/config/gitlab/resque.yml
Writing /var/opt/gitlab/config/gitlab/gitlab.yml
Copying other config files found in /var/opt/gitlab/templates
Copying unicorn.rb into /var/opt/gitlab/config/gitlab/
Copying smtp_settings.rb into /var/opt/gitlab/config/gitlab/
+ exec /scripts/wait-for-deps
Checking database connection and schema version
WARNING: This version of GitLab depends on gitlab-shell 8.3.3, but you're running Unknown. Please update gitlab-shell.
rake aborted!
Settingslogic::MissingSetting: Missing setting 'connection' in 'backup' section in /srv/gitlab/config/gitlab.yml
/srv/gitlab/vendor/bundle/ruby/2.4.0/gems/settingslogic-2.0.9/lib/settingslogic.rb:189:in `missing_key'
(eval):3:in `connection'
/srv/gitlab/config/initializers/direct_upload_support.rb:9:in `verify!'
/srv/gitlab/config/initializers/direct_upload_support.rb:17:in `block (2 levels) in <top (required)>'
/srv/gitlab/config/initializers/direct_upload_support.rb:16:in `each'
/srv/gitlab/config/initializers/direct_upload_support.rb:16:in `block in <top (required)>'
/srv/gitlab/config/initializers/direct_upload_support.rb:15:in `tap'
/srv/gitlab/config/initializers/direct_upload_support.rb:15:in `<top (required)>'
/srv/gitlab/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.10/lib/active_support/dependencies.rb:268:in `load'
/srv/gitlab/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.10/lib/active_support/dependencies.rb:268:in `block in load'
/srv/gitlab/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.10/lib/active_support/dependencies.rb:240:in `load_dependency'
/srv/gitlab/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.10/lib/active_support/dependencies.rb:268:in `load'
/srv/gitlab/vendor/bundle/ruby/2.4.0/gems/railties-4.2.10/lib/rails/engine.rb:652:in `block in load_config_initializer'
/srv/gitlab/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.10/lib/active_support/notifications.rb:166:in `instrument'
/srv/gitlab/vendor/bundle/ruby/2.4.0/gems/railties-4.2.10/lib/rails/engine.rb:651:in `load_config_initializer'
/srv/gitlab/vendor/bundle/ruby/2.4.0/gems/railties-4.2.10/lib/rails/engine.rb:616:in `block (2 levels) in <class:Engine>'
/srv/gitlab/vendor/bundle/ruby/2.4.0/gems/railties-4.2.10/lib/rails/engine.rb:615:in `each'
/srv/gitlab/vendor/bundle/ruby/2.4.0/gems/railties-4.2.10/lib/rails/engine.rb:615:in `block in <class:Engine>'
/srv/gitlab/vendor/bundle/ruby/2.4.0/gems/railties-4.2.10/lib/rails/initializable.rb:30:in `instance_exec'
/srv/gitlab/vendor/bundle/ruby/2.4.0/gems/railties-4.2.10/lib/rails/initializable.rb:30:in `run'
/srv/gitlab/vendor/bundle/ruby/2.4.0/gems/railties-4.2.10/lib/rails/initializable.rb:55:in `block in run_initializers'
/srv/gitlab/vendor/bundle/ruby/2.4.0/gems/railties-4.2.10/lib/rails/initializable.rb:44:in `each'
/srv/gitlab/vendor/bundle/ruby/2.4.0/gems/railties-4.2.10/lib/rails/initializable.rb:44:in `tsort_each_child'
/srv/gitlab/vendor/bundle/ruby/2.4.0/gems/railties-4.2.10/lib/rails/initializable.rb:54:in `run_initializers'
/srv/gitlab/vendor/bundle/ruby/2.4.0/gems/railties-4.2.10/lib/rails/application.rb:352:in `initialize!'
/srv/gitlab/config/environment.rb:11:in `<top (required)>'
/srv/gitlab/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.10/lib/active_support/dependencies.rb:274:in `require'
/srv/gitlab/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.10/lib/active_support/dependencies.rb:274:in `block in require'
/srv/gitlab/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.10/lib/active_support/dependencies.rb:240:in `load_dependency'
/srv/gitlab/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.10/lib/active_support/dependencies.rb:274:in `require'
/srv/gitlab/vendor/bundle/ruby/2.4.0/gems/railties-4.2.10/lib/rails/application.rb:328:in `require_environment!'
/srv/gitlab/vendor/bundle/ruby/2.4.0/gems/railties-4.2.10/lib/rails/application.rb:457:in `block in run_tasks_blocks'
/srv/gitlab/vendor/bundle/ruby/2.4.0/gems/rake-12.3.1/exe/rake:27:in `<top (required)>'
/srv/gitlab/bin/bundle:3:in `load'
/srv/gitlab/bin/bundle:3:in `<main>'
Tasks: TOP => db:version => environment
(See full trace by running task with --trace)
Checking database connection and schema version
WARNING: This version of GitLab depends on gitlab-shell 8.3.3, but you're running Unknown. Please update gitlab-shell.
rake aborted!
Settingslogic::MissingSetting: Missing setting 'connection' in 'backup' section in /srv/gitlab/config/gitlab.yml
/srv/gitlab/vendor/bundle/ruby/2.4.0/gems/settingslogic-2.0.9/lib/settingslogic.rb:189:in `missing_key'
(eval):3:in `connection'
/srv/gitlab/config/initializers/direct_upload_support.rb:9:in `verify!'
/srv/gitlab/config/initializers/direct_upload_support.rb:17:in `block (2 levels) in <top (required)>'
/srv/gitlab/config/initializers/direct_upload_support.rb:16:in `each'
/srv/gitlab/config/initializers/direct_upload_support.rb:16:in `block in <top (required)>'
/srv/gitlab/config/initializers/direct_upload_support.rb:15:in `tap'
/srv/gitlab/config/initializers/direct_upload_support.rb:15:in `<top (required)>'
/srv/gitlab/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.10/lib/active_support/dependencies.rb:268:in `load'
/srv/gitlab/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.10/lib/active_support/dependencies.rb:268:in `block in load'
/srv/gitlab/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.10/lib/active_support/dependencies.rb:240:in `load_dependency'
/srv/gitlab/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.10/lib/active_support/dependencies.rb:268:in `load'
/srv/gitlab/vendor/bundle/ruby/2.4.0/gems/railties-4.2.10/lib/rails/engine.rb:652:in `block in load_config_initializer'
/srv/gitlab/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.10/lib/active_support/notifications.rb:166:in `instrument'
/srv/gitlab/vendor/bundle/ruby/2.4.0/gems/railties-4.2.10/lib/rails/engine.rb:651:in `load_config_initializer'
/srv/gitlab/vendor/bundle/ruby/2.4.0/gems/railties-4.2.10/lib/rails/engine.rb:616:in `block (2 levels) in <class:Engine>'
/srv/gitlab/vendor/bundle/ruby/2.4.0/gems/railties-4.2.10/lib/rails/engine.rb:615:in `each'
/srv/gitlab/vendor/bundle/ruby/2.4.0/gems/railties-4.2.10/lib/rails/engine.rb:615:in `block in <class:Engine>'
/srv/gitlab/vendor/bundle/ruby/2.4.0/gems/railties-4.2.10/lib/rails/initializable.rb:30:in `instance_exec'
/srv/gitlab/vendor/bundle/ruby/2.4.0/gems/railties-4.2.10/lib/rails/initializable.rb:30:in `run'
/srv/gitlab/vendor/bundle/ruby/2.4.0/gems/railties-4.2.10/lib/rails/initializable.rb:55:in `block in run_initializers'
/srv/gitlab/vendor/bundle/ruby/2.4.0/gems/railties-4.2.10/lib/rails/initializable.rb:44:in `each'
/srv/gitlab/vendor/bundle/ruby/2.4.0/gems/railties-4.2.10/lib/rails/initializable.rb:44:in `tsort_each_child'
/srv/gitlab/vendor/bundle/ruby/2.4.0/gems/railties-4.2.10/lib/rails/initializable.rb:54:in `run_initializers'
/srv/gitlab/vendor/bundle/ruby/2.4.0/gems/railties-4.2.10/lib/rails/application.rb:352:in `initialize!'
/srv/gitlab/config/environment.rb:11:in `<top (required)>'
/srv/gitlab/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.10/lib/active_support/dependencies.rb:274:in `require'
/srv/gitlab/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.10/lib/active_support/dependencies.rb:274:in `block in require'
/srv/gitlab/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.10/lib/active_support/dependencies.rb:240:in `load_dependency'
/srv/gitlab/vendor/bundle/ruby/2.4.0/gems/activesupport-4.2.10/lib/active_support/dependencies.rb:274:in `require'
/srv/gitlab/vendor/bundle/ruby/2.4.0/gems/railties-4.2.10/lib/rails/application.rb:328:in `require_environment!'
/srv/gitlab/vendor/bundle/ruby/2.4.0/gems/railties-4.2.10/lib/rails/application.rb:457:in `block in run_tasks_blocks'
/srv/gitlab/vendor/bundle/ruby/2.4.0/gems/rake-12.3.1/exe/rake:27:in `<top (required)>'
/srv/gitlab/bin/bundle:3:in `load'
/srv/gitlab/bin/bundle:3:in `<main>'
Tasks: TOP => db:version => environment
(See full trace by running task with --trace)
Checking database connection and schema version