require 'openssl'
require 'gitlab/license'
  
key_pair = OpenSSL::PKey::RSA.generate(2048)
File.open("license_key", "w") { |f| f.write(key_pair.to_pem) }
public_key = key_pair.public_key
File.open("license_key.pub", "w") { |f| f.write(public_key.to_pem) }
  
private_key = OpenSSL::PKey::RSA.new File.read("license_key")
Gitlab::License.encryption_key = private_key
  
license = Gitlab::License.new
license.licensee = {
  "Name"    => "admin",
  "Company" => "acme",
  "Email"   => "admin@acme.com"
}
license.starts_at         = Date.new(2022, 4, 7)
license.expires_at        = Date.new(2032, 4, 7)
license.notify_admins_at  = Date.new(2034, 3, 1)
license.notify_users_at   = Date.new(2034, 3, 1)
license.block_changes_at  = Date.new(2032, 4, 7)
license.restrictions  = {
  active_user_count: 200
}
  
data = license.export

File.open("GitLabBV.gitlab-license", "w") { |f| f.write(data) }

puts("Complete!")
