Add contributor edition
- added viaf resolver
- improve contributors list display
- add update of document objects
- propagate update to back office
- update back office
- add bo-client to back office
- setup language initializer
- add options mechanism
- add language information in language list
- add lexvo resolver service + api
- add language and lexvo resolver to js app
- correct env template
- refresh bootstrap
- download google font
- add version information
- update dev virtual machine to centos7
- add a readme + clean folders
- add local .env file to start commands
module MCollective
module Agent
class Puppi<RPC::Agent
metadata :name => "SimpleRPC Agent For PUPPI Commands",
:description => "Agent to execute PUPPI actions via MCollective",
:author => "Al @ Lab42",
:license => "Apache License 2.0",
:version => "0.3",
:url => "http://www.example42.com/",
:timeout => 600
def check_action
# validate :project, :shellsafe
project = request[:project] if request[:project]
reply.data = %x[puppi check #{project}].chomp
if ($?.exitstatus > 0)
reply.fail "FAILED: #{reply.data}"
end
end
def info_action
# validate :project, :shellsafe
project = request[:project] if request[:project]
reply.data = %x[puppi info #{project}].chomp
if ($?.exitstatus > 0)
reply.fail "FAILED: #{reply.data}"
end
end
def log_action
# validate :project, :shellsafe
project = request[:project] if request[:project]
reply.data = %x[puppi log #{project} -c 10].chomp
if ($?.exitstatus > 0)
reply.fail "FAILED: #{reply.data}"
end
end
def deploy_action
validate :project, :shellsafe
project = request[:project] if request[:project]
if (!File.directory? "/etc/puppi/projects/#{project}")
reply.fail "No such project #{project}"
return
end
puppioptions = request[:puppioptions]
reply.data = %x[puppi deploy #{project} -o "#{puppioptions}"].chomp
if ($?.exitstatus > 0)
reply.fail "FAILED: #{reply.data}"
end
end
def rollback_action
validate :project, :shellsafe
project = request[:project] if request[:project]
reply.data = %x[puppi rollback #{project} latest].chomp
if ($?.exitstatus > 0)
reply.fail "FAILED: #{reply.data}"
end
end
def init_action
validate :project, :shellsafe
project = request[:project] if request[:project]
reply.data = %x[puppi init #{project}].chomp
if ($?.exitstatus > 0)
reply.fail "FAILED: #{reply.data}"
end
end
def configure_action
validate :project, :shellsafe
project = request[:project] if request[:project]
reply.data = %x[puppi configure #{project}].chomp
if ($?.exitstatus > 0)
reply.fail "FAILED: #{reply.data}"
end
end
end
end
end
# vi:tabstop=4:expandtab:ai