File: 0_license.rb

package info (click to toggle)
gitlab 17.6.5-19
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 629,368 kB
  • sloc: ruby: 1,915,304; javascript: 557,307; sql: 60,639; xml: 6,509; sh: 4,567; makefile: 1,239; python: 406
file content (29 lines) | stat: -rw-r--r-- 953 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# frozen_string_literal: true

load_license = ->(dir:, license_name:) do
  begin
    public_key_file = File.read(Rails.root.join(dir, ".license_encryption_key.pub"))
    public_key = OpenSSL::PKey::RSA.new(public_key_file)
    Gitlab::License.encryption_key = public_key
  rescue StandardError
    warn "WARNING: No valid #{license_name} encryption key provided."
  end

  begin
    if Rails.env.development? || Rails.env.test? || ENV['GITLAB_LICENSE_MODE'] == 'test'
      fallback_key_file = File.read(Rails.root.join(dir, ".test_license_encryption_key.pub"))
      fallback_key = OpenSSL::PKey::RSA.new(fallback_key_file)
      Gitlab::License.fallback_decryption_keys = [fallback_key]
    end
  rescue StandardError
    warn "WARNING: No fallback #{license_name} decryption key provided."
  end
end

Gitlab.ee do
  load_license.call(dir: '.', license_name: 'license')
end

Gitlab.jh do
  load_license.call(dir: 'jh', license_name: 'JH license')
end