Skip to content

Backup rake task doesn't support database SSL

The GitLab application, as a side-effect of using ActiveRecord and associated gems, supports SSL communication with the database-- even using client keys. Such a setup (for PostgreSQL) might look like this:

#...
production:
  adapter: postgresql
  encoding: unicode
  pool: 10
  host: gitlab-db
  database: gitlab
  username: git
  password: "my_password"
  sslmode: 'verify-full'
  sslrootcert: '/path/to/ca/cert.crt'
  sslcert: '/path/to/client/cert.crt'
  sslkey: '/path/to/client/key.pem'
#...

However, as can be seen by this function, the GitLab backup tasks only supports a specific user, host, port, and password for the database-- no SSL. This makes taking backups of SSL-protected databases very inconvenient, and probably should be supported by GitLab.