diff options
author | Nick Thomas <nick@gitlab.com> | 2019-10-03 12:26:20 +0100 |
---|---|---|
committer | Nick Thomas <nick@gitlab.com> | 2019-10-08 12:20:30 +0100 |
commit | 1a3e687f772047988b9bcaeb471d94d6f49a853e (patch) | |
tree | 329d7a0112bcc501e4065b0c5786be6f64d90432 | |
parent | 9ba79e43395cf09e3c5904c541a011ea25b620f1 (diff) | |
download | gitlab-shell-1a3e687f772047988b9bcaeb471d94d6f49a853e.tar.gz |
Decouple bin/compile and bin/install from lib/
This commit duplicates a small amount of Ruby code that is run at build
or install time. Over time, it would be nice to remove the dependency
on Ruby for these steps, but the focus right now is on run-time.
We'll be removing lib/* from gitlab-shell very soon, and these commands
need to keep working when we do.
-rwxr-xr-x | bin/install | 8 | ||||
-rw-r--r-- | support/gitlab_config.rb | 13 | ||||
-rw-r--r-- | support/go_build.rb | 4 |
3 files changed, 18 insertions, 7 deletions
diff --git a/bin/install b/bin/install index e9c1654..d6e5357 100755 --- a/bin/install +++ b/bin/install @@ -1,10 +1,8 @@ #!/usr/bin/env ruby -require_relative '../lib/gitlab_init' - -# -# GitLab shell, invoked from ~/.ssh/authorized_keys -# +# Load ROOT_PATH and access the minimum necessary config file +require_relative '../support/go_build' +require_relative '../support/gitlab_config' config = GitlabConfig.new key_dir = File.dirname("#{config.auth_file}") diff --git a/support/gitlab_config.rb b/support/gitlab_config.rb new file mode 100644 index 0000000..1416488 --- /dev/null +++ b/support/gitlab_config.rb @@ -0,0 +1,13 @@ +require 'yaml' + +class GitlabConfig + attr_reader :config + + def initialize + @config = YAML.load_file(File.join(ROOT_PATH, 'config.yml')) + end + + def auth_file + @config['auth_file'] ||= File.join(Dir.home, '.ssh/authorized_keys') + end +end diff --git a/support/go_build.rb b/support/go_build.rb index 42e207a..6f4c92b 100644 --- a/support/go_build.rb +++ b/support/go_build.rb @@ -2,8 +2,8 @@ require 'fileutils' -# This will set the ROOT_PATH variable -require_relative '../lib/gitlab_init' +# Determine the root of the gitlab-shell directory +ROOT_PATH = ENV.fetch('GITLAB_SHELL_DIR', File.expand_path('..', __dir__)) module GoBuild GO_DIR = File.join(ROOT_PATH, 'go') |