Add version check badge to admin area
This commit is contained in:
parent
f5eb5fdd5e
commit
345fd545bf
3 changed files with 40 additions and 1 deletions
5
app/helpers/version_check_helper.rb
Normal file
5
app/helpers/version_check_helper.rb
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
module VersionCheckHelper
|
||||||
|
def version_status_badge
|
||||||
|
image_tag VersionCheck.new.url
|
||||||
|
end
|
||||||
|
end
|
|
@ -56,7 +56,11 @@
|
||||||
%span.light.pull-right
|
%span.light.pull-right
|
||||||
= boolean_to_icon Gitlab.config.omniauth.enabled
|
= boolean_to_icon Gitlab.config.omniauth.enabled
|
||||||
.col-md-4
|
.col-md-4
|
||||||
%h4 Components
|
%h4
|
||||||
|
Components
|
||||||
|
.pull-right
|
||||||
|
= version_status_badge
|
||||||
|
|
||||||
%hr
|
%hr
|
||||||
%p
|
%p
|
||||||
GitLab
|
GitLab
|
||||||
|
|
30
lib/version_check.rb
Normal file
30
lib/version_check.rb
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
# This class is used to encrypt GitLab version and URL
|
||||||
|
# with public key when we send it to version.gitlab.com to
|
||||||
|
# check if it is a new version for update
|
||||||
|
class VersionCheck
|
||||||
|
include SimpleEncrypt
|
||||||
|
|
||||||
|
def public_key
|
||||||
|
public_key_file = Rails.root.join('safe', 'public.pem').to_s
|
||||||
|
File.read(public_key_file)
|
||||||
|
end
|
||||||
|
|
||||||
|
def data
|
||||||
|
{
|
||||||
|
version: Gitlab::VERSION,
|
||||||
|
url: Gitlab.config.gitlab.url
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
def encrypt(string)
|
||||||
|
encrypt_with_public_key(string, public_key)
|
||||||
|
end
|
||||||
|
|
||||||
|
def url
|
||||||
|
"#{host}?gitlab_info=#{encrypt(data.to_json)}"
|
||||||
|
end
|
||||||
|
|
||||||
|
def host
|
||||||
|
'http://localhost:9090/check.png'
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in a new issue