diff options
author | Vladimir Shushlin <v.shushlin@gmail.com> | 2019-06-13 14:37:45 +0300 |
---|---|---|
committer | Vladimir Shushlin <v.shushlin@gmail.com> | 2019-06-25 10:30:12 +0200 |
commit | 432f2bbc9cf64d53418c1eb9bb701254803a0e1e (patch) | |
tree | 6f93c0b6ecafcdcf7ca7f76d48b7a5afa2319204 /lib | |
parent | 3115c9fc121743dea29aa92a603a0c782eb3d75b (diff) | |
download | gitlab-ce-432f2bbc9cf64d53418c1eb9bb701254803a0e1e.tar.gz |
Use project depended feature flag for pages sslpages-ssl-project-aware-feature-flag
Also add ::Gitlab::LetsEncrypt.enabled? shortcut
and simplify it a lot
Diffstat (limited to 'lib')
-rw-r--r-- | lib/gitlab/lets_encrypt.rb | 16 | ||||
-rw-r--r-- | lib/gitlab/lets_encrypt/client.rb | 10 |
2 files changed, 17 insertions, 9 deletions
diff --git a/lib/gitlab/lets_encrypt.rb b/lib/gitlab/lets_encrypt.rb new file mode 100644 index 00000000000..cdf24f24647 --- /dev/null +++ b/lib/gitlab/lets_encrypt.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Gitlab + module LetsEncrypt + def self.enabled?(pages_domain = nil) + return false unless Gitlab::CurrentSettings.lets_encrypt_terms_of_service_accepted + + return false unless Feature.enabled?(:pages_auto_ssl) + + # If no domain is passed, just check whether we're enabled globally + return true unless pages_domain + + !!pages_domain.project && Feature.enabled?(:pages_auto_ssl_for_project, pages_domain.project) + end + end +end diff --git a/lib/gitlab/lets_encrypt/client.rb b/lib/gitlab/lets_encrypt/client.rb index 66aea137012..ad2921ed555 100644 --- a/lib/gitlab/lets_encrypt/client.rb +++ b/lib/gitlab/lets_encrypt/client.rb @@ -34,14 +34,6 @@ module Gitlab acme_client.terms_of_service end - def enabled? - return false unless Feature.enabled?(:pages_auto_ssl) - - return false unless private_key - - Gitlab::CurrentSettings.lets_encrypt_terms_of_service_accepted - end - private def acme_client @@ -65,7 +57,7 @@ module Gitlab end def ensure_account - raise 'Acme integration is disabled' unless enabled? + raise 'Acme integration is disabled' unless ::Gitlab::LetsEncrypt.enabled? @acme_account ||= acme_client.new_account(contact: contact, terms_of_service_agreed: true) end |