Add version check badge to admin area

This commit is contained in:
Dmitriy Zaporozhets 2015-02-12 20:31:55 -08:00
parent f5eb5fdd5e
commit 345fd545bf
3 changed files with 40 additions and 1 deletions

View file

@ -0,0 +1,5 @@
module VersionCheckHelper
def version_status_badge
image_tag VersionCheck.new.url
end
end

View file

@ -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
View 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