diff options
Diffstat (limited to 'chef-bin/bin/chef-service-manager')
-rwxr-xr-x | chef-bin/bin/chef-service-manager | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/chef-bin/bin/chef-service-manager b/chef-bin/bin/chef-service-manager new file mode 100755 index 0000000000..9021824fed --- /dev/null +++ b/chef-bin/bin/chef-service-manager @@ -0,0 +1,37 @@ +#!/usr/bin/env ruby +# +# ./chef-service-manager - Control chef-service on Windows platforms. +# +# Author:: Serdar Sutay (serdar@chef.io) +# Copyright:: Copyright 2013-2018, Chef Software 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. + +$:.unshift(File.join(File.dirname(__FILE__), "..", "lib")) +require "chef" +require "chef/application/windows_service_manager" + +if Chef::Platform.windows? + chef_client_service = { + service_name: "chef-client", + service_display_name: "Chef Client Service", + service_description: "Runs Chef Client on regular, configurable intervals.", + service_file_path: File.expand_path("../chef-windows-service", $PROGRAM_NAME), + delayed_start: true, + dependencies: ["Winmgmt"], + } + Chef::Application::WindowsServiceManager.new(chef_client_service).run +else + puts "chef-service-manager is only available on Windows platforms." +end |