From e05e8cbd7d8df89ca2bf8687963bce327972aea2 Mon Sep 17 00:00:00 2001 From: Jacob Vosmaer Date: Tue, 4 Feb 2014 13:15:55 +0100 Subject: [PATCH] Rename chef_server.rb to gitlab.rb --- files/gitlab-cookbooks/gitlab/libraries/chef_server.rb | 85 ------------------------------------------------------------------------------------- files/gitlab-cookbooks/gitlab/libraries/gitlab.rb | 85 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 85 insertions(+), 85 deletions(-) delete mode 100644 files/gitlab-cookbooks/gitlab/libraries/chef_server.rb create mode 100644 files/gitlab-cookbooks/gitlab/libraries/gitlab.rb diff --git a/files/gitlab-cookbooks/gitlab/libraries/chef_server.rb b/files/gitlab-cookbooks/gitlab/libraries/chef_server.rb deleted file mode 100644 index 0da339a..0000000 --- a/files/gitlab-cookbooks/gitlab/libraries/chef_server.rb +++ /dev/null @@ -1,85 +0,0 @@ -# -# Copyright:: Copyright (c) 2012 Opscode, Inc. -# License:: Apache License, Version 2.0 -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -require 'mixlib/config' -require 'chef/mash' -require 'chef/json_compat' -require 'chef/mixin/deep_merge' -require 'securerandom' - -module GitLab - extend(Mixlib::Config) - - bootstrap Mash.new - postgresql Mash.new - redis Mash.new - node nil - - class << self - - # guards against creating secrets on non-bootstrap node - def generate_hex(chars) - SecureRandom.hex(chars) - end - - def generate_secrets(node_name) - existing_secrets ||= Hash.new - if File.exists?("/etc/gitlab/gitlab-secrets.json") - existing_secrets = Chef::JSONCompat.from_json(File.read("/etc/gitlab/gitlab-secrets.json")) - end - existing_secrets.each do |k, v| - v.each do |pk, p| - GitLab[k][pk] = p - end - end - - GitLab['postgresql']['sql_password'] ||= generate_hex(50) - - if File.directory?("/etc/gitlab") - File.open("/etc/gitlab/gitlab-secrets.json", "w") do |f| - f.puts( - Chef::JSONCompat.to_json_pretty({ - 'postgresql' => { - 'sql_password' => GitLab['postgresql']['sql_password'], - }, - }) - ) - system("chmod 0600 /etc/gitlab/gitlab-secrets.json") - end - end - end - - def generate_hash - results = { "gitlab" => {} } - [ - "bootstrap", - "redis", - "postgresql" - ].each do |key| - rkey = key.gsub('_', '-') - results['gitlab'][rkey] = GitLab[key] - end - - results - end - - def generate_config(node_name) - generate_secrets(node_name) - generate_hash - end - end -end diff --git a/files/gitlab-cookbooks/gitlab/libraries/gitlab.rb b/files/gitlab-cookbooks/gitlab/libraries/gitlab.rb new file mode 100644 index 0000000..0da339a --- /dev/null +++ b/files/gitlab-cookbooks/gitlab/libraries/gitlab.rb @@ -0,0 +1,85 @@ +# +# Copyright:: Copyright (c) 2012 Opscode, Inc. +# License:: Apache License, Version 2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +require 'mixlib/config' +require 'chef/mash' +require 'chef/json_compat' +require 'chef/mixin/deep_merge' +require 'securerandom' + +module GitLab + extend(Mixlib::Config) + + bootstrap Mash.new + postgresql Mash.new + redis Mash.new + node nil + + class << self + + # guards against creating secrets on non-bootstrap node + def generate_hex(chars) + SecureRandom.hex(chars) + end + + def generate_secrets(node_name) + existing_secrets ||= Hash.new + if File.exists?("/etc/gitlab/gitlab-secrets.json") + existing_secrets = Chef::JSONCompat.from_json(File.read("/etc/gitlab/gitlab-secrets.json")) + end + existing_secrets.each do |k, v| + v.each do |pk, p| + GitLab[k][pk] = p + end + end + + GitLab['postgresql']['sql_password'] ||= generate_hex(50) + + if File.directory?("/etc/gitlab") + File.open("/etc/gitlab/gitlab-secrets.json", "w") do |f| + f.puts( + Chef::JSONCompat.to_json_pretty({ + 'postgresql' => { + 'sql_password' => GitLab['postgresql']['sql_password'], + }, + }) + ) + system("chmod 0600 /etc/gitlab/gitlab-secrets.json") + end + end + end + + def generate_hash + results = { "gitlab" => {} } + [ + "bootstrap", + "redis", + "postgresql" + ].each do |key| + rkey = key.gsub('_', '-') + results['gitlab'][rkey] = GitLab[key] + end + + results + end + + def generate_config(node_name) + generate_secrets(node_name) + generate_hash + end + end +end -- libgit2 0.21.2