Module: Gitlab::Pages
- Includes:
- JwtAuthenticatable
- Defined in:
- lib/gitlab/pages.rb,
lib/gitlab/pages/settings.rb,
lib/gitlab/pages/url_builder.rb,
lib/gitlab/pages/random_domain.rb,
lib/gitlab/pages/virtual_host_finder.rb,
lib/gitlab/pages/deployment_validations.rb
Defined Under Namespace
Classes: DeploymentValidations, RandomDomain, Settings, UniqueDomainGenerationFailure, UrlBuilder, VirtualHostFinder
Constant Summary
collapse
- VERSION =
File.read(Rails.root.join("GITLAB_PAGES_VERSION")).strip.freeze
'Gitlab-Pages-Api-Request'
- MAX_SIZE =
1.terabyte
- DEPLOYMENT_EXPIRATION =
24.hours
JwtAuthenticatable::SECRET_LENGTH
Class Method Summary
collapse
included
Class Method Details
.access_control_is_forced? ⇒ Boolean
.add_unique_domain_to(project) ⇒ Object
39
40
41
42
43
44
45
46
|
# File 'lib/gitlab/pages.rb', line 39
def add_unique_domain_to(project)
return unless enabled?
return if project.project_setting.pages_unique_domain_in_database.present?
project.project_setting.pages_unique_domain_enabled = true
project.project_setting.pages_unique_domain = generate_unique_domain(project)
end
|
.enabled? ⇒ Boolean
35
36
37
|
# File 'lib/gitlab/pages.rb', line 35
def enabled?
Gitlab.config.pages.enabled
end
|
.generate_unique_domain(project) ⇒ Object
.multiple_versions_enabled_for?(project) ⇒ Boolean
54
55
56
57
58
|
# File 'lib/gitlab/pages.rb', line 54
def multiple_versions_enabled_for?(project)
return false if project.blank?
project.licensed_feature_available?(:pages_multiple_versions)
end
|
.secret_path ⇒ Object
25
26
27
|
# File 'lib/gitlab/pages.rb', line 25
def secret_path
Gitlab.config.pages.secret_file
end
|
.update_primary_domain(project, primary_domain) ⇒ Object
48
49
50
51
52
|
# File 'lib/gitlab/pages.rb', line 48
def update_primary_domain(project, primary_domain)
return unless enabled?
project.project_setting.pages_primary_domain = primary_domain.presence
end
|
.verify_api_request(request_headers) ⇒ Object
19
20
21
22
23
|
# File 'lib/gitlab/pages.rb', line 19
def verify_api_request()
decode_jwt([INTERNAL_API_REQUEST_HEADER], issuer: 'gitlab-pages')
rescue JWT::DecodeError
false
end
|