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
|
||||
= boolean_to_icon Gitlab.config.omniauth.enabled
|
||||
.col-md-4
|
||||
%h4 Components
|
||||
%h4
|
||||
Components
|
||||
.pull-right
|
||||
= version_status_badge
|
||||
|
||||
%hr
|
||||
%p
|
||||
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