summaryrefslogtreecommitdiff
path: root/app/models/concerns/token_authenticatable.rb
diff options
context:
space:
mode:
authorDJ Mountney <david@twkie.net>2016-10-02 15:30:44 -0700
committerDJ Mountney <david@twkie.net>2016-12-01 17:21:21 -0800
commitfb5f7733f14b701f6e22a54bc8b4c08330bc036f (patch)
tree0c6986356b87ceb54226b039c9b72d3f65ff8c5b /app/models/concerns/token_authenticatable.rb
parent994530270899ae904fbf5a77b602990b8cd79c67 (diff)
downloadgitlab-ce-fb5f7733f14b701f6e22a54bc8b4c08330bc036f.tar.gz
Allow users to seed the initial runner registration token using an environment variable
This is useful for when runner is bundled with gitlab, like in a kubernetes stack, and we want the runner to be able to register with gitlab as soon as they both come up.
Diffstat (limited to 'app/models/concerns/token_authenticatable.rb')
-rw-r--r--app/models/concerns/token_authenticatable.rb4
1 files changed, 4 insertions, 0 deletions
diff --git a/app/models/concerns/token_authenticatable.rb b/app/models/concerns/token_authenticatable.rb
index 04d30f46210..1ca7f91dc03 100644
--- a/app/models/concerns/token_authenticatable.rb
+++ b/app/models/concerns/token_authenticatable.rb
@@ -39,6 +39,10 @@ module TokenAuthenticatable
current_token.blank? ? write_new_token(token_field) : current_token
end
+ define_method("set_#{token_field}") do |token|
+ write_attribute(token_field, token) if token
+ end
+
define_method("ensure_#{token_field}!") do
send("reset_#{token_field}!") if read_attribute(token_field).blank?
read_attribute(token_field)