summaryrefslogtreecommitdiff
path: root/config/initializers/1_settings.rb
diff options
context:
space:
mode:
authorKamil Trzcinski <ayufan@ayufan.eu>2016-04-18 08:13:16 -0400
committerKamil Trzcinski <ayufan@ayufan.eu>2016-04-29 16:45:00 +0200
commitf41a3e24d20b26b53c5321571ef89f441c32aa4d (patch)
tree2122f78aa2bda74e3a1287306eaba41798465079 /config/initializers/1_settings.rb
parentbfc6a0e3718c1b4d5e3d2adcc1ef16cf5274df5c (diff)
downloadgitlab-ce-f41a3e24d20b26b53c5321571ef89f441c32aa4d.tar.gz
Added authentication service for docker registry
Diffstat (limited to 'config/initializers/1_settings.rb')
-rw-r--r--config/initializers/1_settings.rb39
1 files changed, 39 insertions, 0 deletions
diff --git a/config/initializers/1_settings.rb b/config/initializers/1_settings.rb
index 8db2c05fe45..01ee8a0d525 100644
--- a/config/initializers/1_settings.rb
+++ b/config/initializers/1_settings.rb
@@ -27,6 +27,30 @@ class Settings < Settingslogic
].join('')
end
+ def build_registry_api_url
+ if registry.port.to_i == (registry.https ? 443 : 80)
+ custom_port = nil
+ else
+ custom_port = ":#{registry.port}"
+ end
+ [ registry.protocol,
+ "://",
+ registry.internal_host,
+ custom_port
+ ].join('')
+ end
+
+ def build_registry_host_with_port
+ if registry.port.to_i == (registry.https ? 443 : 80)
+ custom_port = nil
+ else
+ custom_port = ":#{registry.port}"
+ end
+ [ registry.host,
+ custom_port
+ ].join('')
+ end
+
def build_gitlab_shell_ssh_path_prefix
user_host = "#{gitlab_shell.ssh_user}@#{gitlab_shell.ssh_host}"
@@ -211,6 +235,7 @@ Settings.gitlab.default_projects_features['merge_requests'] = true if Settings.g
Settings.gitlab.default_projects_features['wiki'] = true if Settings.gitlab.default_projects_features['wiki'].nil?
Settings.gitlab.default_projects_features['snippets'] = false if Settings.gitlab.default_projects_features['snippets'].nil?
Settings.gitlab.default_projects_features['builds'] = true if Settings.gitlab.default_projects_features['builds'].nil?
+Settings.gitlab.default_projects_features['images'] = true if Settings.gitlab.default_projects_features['images'].nil?
Settings.gitlab.default_projects_features['visibility_level'] = Settings.send(:verify_constant, Gitlab::VisibilityLevel, Settings.gitlab.default_projects_features['visibility_level'], Gitlab::VisibilityLevel::PRIVATE)
Settings.gitlab['repository_downloads_path'] = File.join(Settings.shared['path'], 'cache/archive') if Settings.gitlab['repository_downloads_path'].nil?
Settings.gitlab['restricted_signup_domains'] ||= []
@@ -243,6 +268,20 @@ Settings.artifacts['path'] = File.expand_path(Settings.artifacts['path']
Settings.artifacts['max_size'] ||= 100 # in megabytes
#
+# Registry
+#
+Settings['registry'] ||= Settingslogic.new({})
+Settings.registry['registry'] = false if Settings.registry['enabled'].nil?
+Settings.registry['path'] = File.expand_path(Settings.registry['path'] || File.join(Settings.shared['path'], "registry"), Rails.root)
+Settings.registry['host'] ||= "example.com"
+Settings.registry['internal_host']||= "localhost"
+Settings.registry['https'] = false if Settings.registry['https'].nil?
+Settings.registry['port'] ||= Settings.registry.https ? 443 : 80
+Settings.registry['protocol'] ||= Settings.registry.https ? "https" : "http"
+Settings.registry['api_url'] ||= Settings.send(:build_registry_api_url)
+Settings.registry['host_port'] ||= Settings.send(:build_registry_host_with_port)
+
+#
# Git LFS
#
Settings['lfs'] ||= Settingslogic.new({})