This file is indexed.

/usr/share/chef-server-api/config/init.rb is in chef-server-api 10.12.0-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
#
# Author:: Adam Jacob (<adam@opscode.com>)
# Author:: Daniel DeLeo (<dan@opscode.com>)
# Copyright:: Copyright (c) 2008-2010 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 'merb-assets'
require 'merb-helpers'
require 'merb-param-protection'

require 'bunny'
require 'uuidtools'
require 'ohai'
require 'openssl'

require 'chef'
require 'chef/role'
require 'chef/data_bag'
require 'chef/data_bag_item'
require 'chef/api_client'
require 'chef/webui_user'
require 'chef/certificate'
require 'chef/data_bag'
require 'chef/data_bag_item'
require 'chef/cookbook_version'
require 'chef/sandbox'
require 'chef/checksum'
require 'chef/environment'
require 'chef/monkey_patches/regexp'


require 'mixlib/authentication'

Mixlib::Authentication::Log.logger = Ohai::Log.logger = Chef::Log.logger

# Only used for the error page when visiting with a browser...
use_template_engine :haml

Merb::Config.use do |c|
  c[:name] = "chef-server (api)"
  c[:fork_for_class_load] = false
  c[:session_id_key] = '_chef_server_session_id'
  c[:session_secret_key]  = Chef::Config.manage_secret_key
  c[:session_store] = 'cookie'
  c[:exception_details] = true
  c[:reload_classes] = false
  c[:log_level] = Chef::Config[:log_level]
  if Chef::Config[:log_location].kind_of?(String)
    c[:log_file] = Chef::Config[:log_location]
  end
end

unless Merb::Config.environment == "test"
  # create the couch design docs for nodes, roles, and databags
  Chef::CouchDB.new.create_db
  Chef::CouchDB.new.create_id_map
  Chef::Node.create_design_document
  Chef::Role.create_design_document
  Chef::DataBag.create_design_document
  Chef::ApiClient.create_design_document
  Chef::WebUIUser.create_design_document
  Chef::CookbookVersion.create_design_document
  Chef::Sandbox.create_design_document
  Chef::Checksum.create_design_document
  Chef::Environment.create_design_document

  # Create the signing key and certificate
  Chef::Certificate.generate_signing_ca

  # Generate the validation key
  Chef::Certificate.gen_validation_key

  # Generate the Web UI Key
  Chef::Certificate.gen_validation_key(Chef::Config[:web_ui_client_name], Chef::Config[:web_ui_key], true)

  # Create the '_default' Environment
  Chef::Environment.create_default_environment

  Chef::Log.info('Loading roles')
  Chef::Role.sync_from_disk_to_couchdb
end