1
0
Fork 0
mirror of https://github.com/mmumshad/ansible-playable.git synced 2025-03-09 23:38:54 +00:00

Move commands and paths to config file

This commit is contained in:
Mumshad Mannambeth 2017-07-08 19:41:53 -04:00
parent 7a503bcf95
commit fc7aafa5f6
3 changed files with 94 additions and 64 deletions

View file

@ -40,7 +40,6 @@ exports.getModules = function(dataCallback, successCallback,errorCallback, ansib
var command = all_commands.ansible.doc; var command = all_commands.ansible.doc;
if(ansibleEngine.customModules){ if(ansibleEngine.customModules){
//command = 'export ANSIBLE_LIBRARY="' + ansibleEngine.customModules + '"; ' + command;
command = util.format(all_commands.ansible.export_ansible_library, ansibleEngine.customModules) + command; command = util.format(all_commands.ansible.export_ansible_library, ansibleEngine.customModules) + command;
} }
@ -105,6 +104,7 @@ exports.getAnsibleCommand = function(project_folder, playbook_name, inventory_fi
command = 'export ANSIBLE_LIBRARY="' + ansibleEngine.customModules + '"; ' + command; command = 'export ANSIBLE_LIBRARY="' + ansibleEngine.customModules + '"; ' + command;
} }
// Add options to command as necessary
if(tags_joined) if(tags_joined)
command += ' --tags "' + tags_joined + '"'; command += ' --tags "' + tags_joined + '"';
@ -190,9 +190,9 @@ exports.getVars = function(project_folder, inventory_file_name, host_name, dataC
var fs = require('filendir'); var fs = require('filendir');
var AnsibleAPILocation = '/tmp/AnsibleAPI.py'; var AnsibleAPILocation = config.paths.ansible_custom_api_remote;
var command= 'cd "' + project_folder + '"; python "' + AnsibleAPILocation + '" host_vars --inventory_file="' + inventory_file_name + '"'; var command = util.format(all_commands.ansible.get_vars, project_folder, AnsibleAPILocation, inventory_file_name);
if(host_name){ if(host_name){
command += ' --host_name ' + host_name; command += ' --host_name ' + host_name;
@ -204,7 +204,8 @@ exports.getVars = function(project_folder, inventory_file_name, host_name, dataC
console.log("Command= " + command); console.log("Command= " + command);
scp2_exec.copyFileToScriptEngine('./helpers/AnsibleAPI.py',AnsibleAPILocation,ansibleEngine,function(){ // Copy helper script to Ansible Engine
scp2_exec.copyFileToScriptEngine(config.paths.ansible_custom_api_local,AnsibleAPILocation,ansibleEngine,function(){
ssh2_exec.executeCommand(command,null,successCallback,errorCallback,ansibleEngine); ssh2_exec.executeCommand(command,null,successCallback,errorCallback,ansibleEngine);
}, errorCallback); }, errorCallback);
@ -221,11 +222,12 @@ exports.getVars = function(project_folder, inventory_file_name, host_name, dataC
*/ */
exports.getRolesVars = function(project_folder, role_name, dataCallback, successCallback,errorCallback,ansibleEngine){ exports.getRolesVars = function(project_folder, role_name, dataCallback, successCallback,errorCallback,ansibleEngine){
var AnsibleAPILocation = '/tmp/AnsibleAPI.py'; var AnsibleAPILocation = + config.paths.ansible_custom_api_remote;
var project_roles_folder = project_folder + '/roles'; var project_roles_folder = project_folder + config.paths.ansible_project_roles;
var playbook_path = role_name + '/tests/test.yml'; var playbook_path = role_name + '/tests/test.yml';
var command= 'cd "' + project_roles_folder + '"; python "' + AnsibleAPILocation + '" role_vars --playbook_path="' + playbook_path + '" ';
var command = util.format(all_commands.ansible.get_role_vars,project_roles_folder, AnsibleAPILocation, playbook_path);
if(ansibleEngine.customModules){ if(ansibleEngine.customModules){
command = 'export ANSIBLE_LIBRARY="' + ansibleEngine.customModules + '"; ' + command; command = 'export ANSIBLE_LIBRARY="' + ansibleEngine.customModules + '"; ' + command;
@ -233,7 +235,7 @@ exports.getRolesVars = function(project_folder, role_name, dataCallback, success
console.log("Command= " + command); console.log("Command= " + command);
scp2_exec.copyFileToScriptEngine('./helpers/AnsibleAPI.py',AnsibleAPILocation,ansibleEngine,function(){ scp2_exec.copyFileToScriptEngine(config.paths.ansible_custom_api_local,AnsibleAPILocation,ansibleEngine,function(){
ssh2_exec.executeCommand(command,null,successCallback,errorCallback,ansibleEngine); ssh2_exec.executeCommand(command,null,successCallback,errorCallback,ansibleEngine);
}, errorCallback); }, errorCallback);
@ -269,7 +271,7 @@ exports.writeFile = function(file_path,file_contents, successCallback,errorCallb
*/ */
exports.deleteFile = function(file_path,successCallback,errorCallback,ansibleEngine){ exports.deleteFile = function(file_path,successCallback,errorCallback,ansibleEngine){
var command = 'rm -rf "' + file_path + '"'; var command = util.format(all_commands.general.remove_file, file_path);
ssh2_exec.executeCommand(command,null,successCallback,errorCallback,ansibleEngine) ssh2_exec.executeCommand(command,null,successCallback,errorCallback,ansibleEngine)
@ -285,7 +287,7 @@ exports.deleteFile = function(file_path,successCallback,errorCallback,ansibleEng
*/ */
exports.readFile = function(file_path, dataCallback, successCallback,errorCallback,ansibleEngine){ exports.readFile = function(file_path, dataCallback, successCallback,errorCallback,ansibleEngine){
var command = 'cat "' + file_path + '"'; var command = util.format(all_commands.general.read_file, file_path);
ssh2_exec.executeCommand(command,null,successCallback,errorCallback,ansibleEngine) ssh2_exec.executeCommand(command,null,successCallback,errorCallback,ansibleEngine)
@ -328,7 +330,7 @@ exports.writePlaybook = function(project_folder,playbook_file_name,playbook_file
exports.readPlaybook = function(project_folder,playbook_file_name, dataCallback, successCallback,errorCallback,ansibleEngine){ exports.readPlaybook = function(project_folder,playbook_file_name, dataCallback, successCallback,errorCallback,ansibleEngine){
var playbook_file_path = project_folder + '/' + playbook_file_name; var playbook_file_path = project_folder + '/' + playbook_file_name;
var command = 'cat "' + playbook_file_path + '"'; var command = util.format(all_commands.general.read_file, playbook_file_path);
ssh2_exec.executeCommand(command,null,successCallback,errorCallback,ansibleEngine) ssh2_exec.executeCommand(command,null,successCallback,errorCallback,ansibleEngine)
@ -346,7 +348,7 @@ exports.readPlaybook = function(project_folder,playbook_file_name, dataCallback,
exports.deletePlaybook = function(project_folder,playbook_file_name, dataCallback, successCallback,errorCallback,ansibleEngine){ exports.deletePlaybook = function(project_folder,playbook_file_name, dataCallback, successCallback,errorCallback,ansibleEngine){
var playbook_file_path = project_folder + '/' + playbook_file_name; var playbook_file_path = project_folder + '/' + playbook_file_name;
var command = 'rm -f "' + playbook_file_path + '"'; var command = util.format(all_commands.general.remove_file, playbook_file_path);
ssh2_exec.executeCommand(command,null,successCallback,errorCallback,ansibleEngine) ssh2_exec.executeCommand(command,null,successCallback,errorCallback,ansibleEngine)
@ -354,6 +356,7 @@ exports.deletePlaybook = function(project_folder,playbook_file_name, dataCallbac
/** /**
* Get Playbook List * Get Playbook List
* List all files with .yml extension in the folder and return list of files as array
* @param project_folder * @param project_folder
* @param successCallback * @param successCallback
* @param errorCallback * @param errorCallback
@ -362,7 +365,7 @@ exports.deletePlaybook = function(project_folder,playbook_file_name, dataCallbac
exports.getPlaybookList = function(project_folder, successCallback, errorCallback, ansibleEngine){ exports.getPlaybookList = function(project_folder, successCallback, errorCallback, ansibleEngine){
var playbook_file_path = project_folder + '/'; var playbook_file_path = project_folder + '/';
var command = 'ls "' + playbook_file_path + '" | grep .yml'; var command = util.format(all_commands.general.get_playbook_list, playbook_file_path);
var ansiblePlaybookListResults = ""; var ansiblePlaybookListResults = "";
ssh2_exec.executeCommand(command, ssh2_exec.executeCommand(command,
@ -374,9 +377,7 @@ exports.getPlaybookList = function(project_folder, successCallback, errorCallbac
files = ansiblePlaybookListResults.trim().split('\n'); files = ansiblePlaybookListResults.trim().split('\n');
successCallback(files); successCallback(files);
}, },
function(data){ errorCallback,
errorCallback(data)
},
ansibleEngine ansibleEngine
) )
@ -391,22 +392,20 @@ exports.getPlaybookList = function(project_folder, successCallback, errorCallbac
*/ */
exports.getRolesList = function(project_folder, successCallback, errorCallback, ansibleEngine){ exports.getRolesList = function(project_folder, successCallback, errorCallback, ansibleEngine){
var playbook_file_path = project_folder + '/roles'; var playbook_file_path = project_folder + config.paths.ansible_project_roles;
var command = 'ls "' + playbook_file_path + '"'; var command = util.format(all_commands.general.list_folder_contents, playbook_file_path);
var ansiblePlaybookListResults = ""; var ansibleRolesListResults = "";
ssh2_exec.executeCommand(command, ssh2_exec.executeCommand(command,
null, null,
function(data){ function(data){
ansiblePlaybookListResults=data; ansibleRolesListResults=data;
var roles = []; var roles = [];
if(ansiblePlaybookListResults) if(ansibleRolesListResults)
roles = ansiblePlaybookListResults.trim().split('\n'); roles = ansibleRolesListResults.trim().split('\n');
successCallback(roles); successCallback(roles);
}, },
function(data){ errorCallback,
errorCallback(data)
},
ansibleEngine ansibleEngine
) )
@ -422,11 +421,11 @@ exports.getRolesList = function(project_folder, successCallback, errorCallback,
*/ */
exports.createProjectFolder = function(project_folder, successCallback, errorCallback, ansibleEngine){ exports.createProjectFolder = function(project_folder, successCallback, errorCallback, ansibleEngine){
var librarypath = project_folder + '/library'; var librarypath = project_folder + config.paths.ansible_project_library;
var rolespath = project_folder + '/roles'; var rolespath = project_folder + config.paths.ansible_project_roles;
var command = 'mkdir -p "' + librarypath + '"; mkdir -p "' + rolespath + '"'; var command = util.format(all_commands.ansible.create_ansible_project_folder, librarypath, rolespath);
var check_dir_command = '[ ! -d ' + project_folder + ' ]'; var check_dir_command = util.format(all_commands.general.check_dir_not_exists, project_folder);
ssh2_exec.executeCommand(check_dir_command,null,function(data){ ssh2_exec.executeCommand(check_dir_command,null,function(data){
ssh2_exec.executeCommand(command,null,successCallback,errorCallback,ansibleEngine); ssh2_exec.executeCommand(command,null,successCallback,errorCallback,ansibleEngine);
@ -451,11 +450,11 @@ exports.deleteProjectFolder = function(project){
var ansibleEngine = project.ansibleEngine; var ansibleEngine = project.ansibleEngine;
var project_folder = ansibleEngine.projectFolder; var project_folder = ansibleEngine.projectFolder;
var archive_folder = config.paths.ansible_projects + '/archive'; var archive_folder = config.paths.ansible_projects + config.paths.ansible_projects_arhive;
var command = util.format('mkdir -p %s && tar -cvf %s/%s.tar %s && rm -rf %s', archive_folder, archive_folder, ansibleEngine.projectFolderName, project_folder, project_folder); var command = util.format(all_commands.general.archive_folder, archive_folder, archive_folder, ansibleEngine.projectFolderName, project_folder, project_folder);
var check_dir_command = '[ -d ' + project_folder + ' ]'; var check_dir_command = util.format(all_commands.general.check_dir_exists, project_folder);
ssh2_exec.executeCommand(check_dir_command,null,(data) => { ssh2_exec.executeCommand(check_dir_command,null,(data) => {
ssh2_exec.executeCommand(command,null, ssh2_exec.executeCommand(command,null,
@ -482,12 +481,9 @@ exports.deleteProjectFolder = function(project){
*/ */
exports.searchRolesGalaxy = function(searchText, successCallback, errorCallback, ansibleEngine){ exports.searchRolesGalaxy = function(searchText, successCallback, errorCallback, ansibleEngine){
var command = 'ansible-galaxy search ' + searchText; var command = util.format(all_commands.ansible.ansible_galaxy_search, searchText);
console.log('Command = ' + command);
ssh2_exec.executeCommand(command,null,function(response){ ssh2_exec.executeCommand(command,null,function(response){
console.log("Galaxy Response =" + response);
if(response.indexOf('No roles match your search.') > -1){ if(response.indexOf('No roles match your search.') > -1){
return errorCallback('No roles match your search.') return errorCallback('No roles match your search.')
}else{ }else{
@ -521,18 +517,13 @@ exports.searchRolesGalaxy = function(searchText, successCallback, errorCallback,
* @param searchText * @param searchText
* @param successCallback * @param successCallback
* @param errorCallback * @param errorCallback
* @param ansibleEngine
*/ */
exports.searchRolesGithub = function(searchText, successCallback, errorCallback, ansibleEngine){ exports.searchRolesGithub = function(searchText, successCallback, errorCallback){
var https = require('https'); var https = require('https');
var options = { var options = all_commands.ansible.github_search_api_options;
host: 'api.github.com',
path: '/search/repositories?q=ansible-role-' + searchText,
headers: {'user-agent': 'node.js'}
};
console.log("path " + '/search/repositories?q=ansible-role' + searchText) options.path = util.format(options.path, searchText);
var req = https.get(options, function(res) { var req = https.get(options, function(res) {
console.log('STATUS: ' + res.statusCode); console.log('STATUS: ' + res.statusCode);
@ -562,7 +553,6 @@ exports.searchRolesGithub = function(searchText, successCallback, errorCallback,
successCallback(results); successCallback(results);
// ...and/or process the entire body here.
}) })
}); });
@ -584,9 +574,9 @@ exports.searchRolesGithub = function(searchText, successCallback, errorCallback,
exports.createRole = function(roleName, successCallback, errorCallback, ansibleEngine){ exports.createRole = function(roleName, successCallback, errorCallback, ansibleEngine){
var projectFolder = ansibleEngine.projectFolder; var projectFolder = ansibleEngine.projectFolder;
var command = 'cd "' + projectFolder + '/roles"; ansible-galaxy init ' + roleName; var command = util.format(all_commands.ansible.create_role, projectFolder, roleName);
ssh2_exec.executeCommand(command,null,successCallback,errorCallback,ansibleEngine); ssh2_exec.executeCommand(command,null,successCallback,errorCallback,ansibleEngine);
}; };
@ -601,7 +591,7 @@ exports.createRole = function(roleName, successCallback, errorCallback, ansibleE
*/ */
exports.copyRole = function(roleName, successCallback, errorCallback, ansibleEngine, selectedRoleName){ exports.copyRole = function(roleName, successCallback, errorCallback, ansibleEngine, selectedRoleName){
var projectFolder = ansibleEngine.projectFolder; var projectFolder = ansibleEngine.projectFolder;
var command = 'cd "' + projectFolder + '/roles"; cp -r "' + selectedRoleName + '" "' + roleName + '"; rm -rf "' + roleName + '/.git"'; var command = util.format(all_commands.ansible.copy_role, projectFolder, selectedRoleName, roleName, roleName);
ssh2_exec.executeCommand(command,null,successCallback,errorCallback,ansibleEngine); ssh2_exec.executeCommand(command,null,successCallback,errorCallback,ansibleEngine);
}; };
@ -617,7 +607,7 @@ exports.copyRole = function(roleName, successCallback, errorCallback, ansibleEng
exports.deleteRole = function(roleName, successCallback, errorCallback, ansibleEngine){ exports.deleteRole = function(roleName, successCallback, errorCallback, ansibleEngine){
var projectFolder = ansibleEngine.projectFolder; var projectFolder = ansibleEngine.projectFolder;
var command = 'rm -rf "' + projectFolder + '/roles/' + roleName + '"'; var command = util.format(all_commands.ansible.delete_role, projectFolder, roleName);
ssh2_exec.executeCommand(command,null,successCallback,errorCallback,ansibleEngine); ssh2_exec.executeCommand(command,null,successCallback,errorCallback,ansibleEngine);
@ -636,13 +626,13 @@ exports.deleteRole = function(roleName, successCallback, errorCallback, ansibleE
exports.importRole = function(roleType, roleNameUri, successCallback, errorCallback, ansibleEngine){ exports.importRole = function(roleType, roleNameUri, successCallback, errorCallback, ansibleEngine){
var projectFolder = ansibleEngine.projectFolder; var projectFolder = ansibleEngine.projectFolder;
var rolesFolder = projectFolder + '/roles'; var rolesFolder = projectFolder + config.paths.ansible_project_roles;
var command = 'cd "' + rolesFolder + '";'; var command = 'cd "' + rolesFolder + '";';
if(roleType === 'gitrepo'){ if(roleType === 'gitrepo'){
command += 'git clone ' + roleNameUri; command += util.format(all_commands.ansible.git_clone_repo, roleNameUri);
}else if(roleType === 'galaxy'){ }else if(roleType === 'galaxy'){
command += 'ansible-galaxy install ' + roleNameUri + ' -p ' + rolesFolder; command += util.format(all_commands.ansible.ansible_galaxy_install, roleNameUri, rolesFolder);
}else{ }else{
return errorCallback('Invalid Type - allowed = gitrepo,galaxy ; given = ' + roleType); return errorCallback('Invalid Type - allowed = gitrepo,galaxy ; given = ' + roleType);
} }
@ -660,9 +650,10 @@ exports.importRole = function(roleType, roleNameUri, successCallback, errorCallb
exports.getRoleFiles = function(roleName, successCallback, errorCallback, ansibleEngine){ exports.getRoleFiles = function(roleName, successCallback, errorCallback, ansibleEngine){
var projectFolder = ansibleEngine.projectFolder; var projectFolder = ansibleEngine.projectFolder;
var command = 'cd "' + projectFolder + '/roles/' + roleName + '"; python /tmp/dir_tree.py'; var command = util.format(all_commands.general.list_roles_files_json, projectFolder, roleName);
scp2_exec.copyFileToScriptEngine('./helpers/dir_tree.py','/tmp/dir_tree.py',ansibleEngine,function(){ // Copy temporary script and execute
scp2_exec.copyFileToScriptEngine(config.paths.ansible_dir_tree_local,config.paths.ansible_dir_tree_remote,ansibleEngine,function(){
ssh2_exec.executeCommand(command,null,successCallback,errorCallback,ansibleEngine); ssh2_exec.executeCommand(command,null,successCallback,errorCallback,ansibleEngine);
}, errorCallback); }, errorCallback);
@ -677,9 +668,10 @@ exports.getRoleFiles = function(roleName, successCallback, errorCallback, ansibl
exports.getProjectFiles = function(successCallback, errorCallback, ansibleEngine){ exports.getProjectFiles = function(successCallback, errorCallback, ansibleEngine){
var projectFolder = ansibleEngine.projectFolder; var projectFolder = ansibleEngine.projectFolder;
var command = 'cd "' + projectFolder + '"; python /tmp/dir_tree.py'; var command = util.format(all_commands.general.list_files_json, projectFolder);
scp2_exec.copyFileToScriptEngine('./helpers/dir_tree.py','/tmp/dir_tree.py',ansibleEngine,function(response){ // Copy temporary script and execute
scp2_exec.copyFileToScriptEngine(config.paths.ansible_dir_tree_local,config.paths.ansible_dir_tree_remote,ansibleEngine,function(response){
ssh2_exec.executeCommand(command,null,successCallback,errorCallback,ansibleEngine); ssh2_exec.executeCommand(command,null,successCallback,errorCallback,ansibleEngine);
}, errorCallback); }, errorCallback);
@ -696,7 +688,7 @@ exports.getProjectFiles = function(successCallback, errorCallback, ansibleEngine
*/ */
exports.getTagList = function(project_folder, playbook_name, inventory_file_name, successCallback, errorCallback, ansibleEngine){ exports.getTagList = function(project_folder, playbook_name, inventory_file_name, successCallback, errorCallback, ansibleEngine){
var command = 'cd "' + project_folder + '"; python2.7 /tmp/list_tasks_json.py "' + playbook_name + '" -i "' + inventory_file_name + '" --list-hosts --list-tasks-json '; var command = util.format(all_commands.ansible.list_tags, project_folder, playbook_name, inventory_file_name);
if(ansibleEngine.customModules){ if(ansibleEngine.customModules){
command = 'export ANSIBLE_LIBRARY="' + ansibleEngine.customModules + '"; ' + command; command = 'export ANSIBLE_LIBRARY="' + ansibleEngine.customModules + '"; ' + command;
@ -704,8 +696,8 @@ exports.getTagList = function(project_folder, playbook_name, inventory_file_name
console.log("Command = " + command); console.log("Command = " + command);
scp2_exec.copyFileToScriptEngine('./helpers/list_tasks_json.py','/tmp/list_tasks_json.py',ansibleEngine,function(response){ // Copy temporary script and execute
console.log("Executing sshc command = " + command); scp2_exec.copyFileToScriptEngine(config.paths.ansible_list_tasks_json_local,config.paths.ansible_list_tasks_json_remote,ansibleEngine,function(response){
ssh2_exec.executeCommand(command,null,successCallback,errorCallback,ansibleEngine); ssh2_exec.executeCommand(command,null,successCallback,errorCallback,ansibleEngine);
}, errorCallback); }, errorCallback);
@ -723,7 +715,7 @@ exports.getTagList = function(project_folder, playbook_name, inventory_file_name
exports.createFile = function(fileAbsolutePath, successCallback, errorCallback, ansibleEngine){ exports.createFile = function(fileAbsolutePath, successCallback, errorCallback, ansibleEngine){
var projectFolder = ansibleEngine.projectFolder; var projectFolder = ansibleEngine.projectFolder;
var command = 'touch "' + fileAbsolutePath + '"'; var command = util.format(all_commands.general.create_file, fileAbsolutePath);
ssh2_exec.executeCommand(command,null,successCallback,errorCallback,ansibleEngine); ssh2_exec.executeCommand(command,null,successCallback,errorCallback,ansibleEngine);
@ -739,7 +731,7 @@ exports.createFile = function(fileAbsolutePath, successCallback, errorCallback,
exports.getInventoryList = function(project_folder, successCallback, errorCallback, ansibleEngine){ exports.getInventoryList = function(project_folder, successCallback, errorCallback, ansibleEngine){
var playbook_file_path = project_folder + '/'; var playbook_file_path = project_folder + '/';
var command = 'cd "' + playbook_file_path + '" ; ls --ignore="*.*" -p | grep -v /'; var command = util.format(all_commands.ansible.get_inventory_list, playbook_file_path);
var ansiblePlaybookListResults = ""; var ansiblePlaybookListResults = "";
ssh2_exec.executeCommand(command, ssh2_exec.executeCommand(command,
@ -770,7 +762,7 @@ exports.getInventoryList = function(project_folder, successCallback, errorCallba
exports.readInventoryFile = function(project_folder, inventoryName, successCallback, errorCallback, ansibleEngine){ exports.readInventoryFile = function(project_folder, inventoryName, successCallback, errorCallback, ansibleEngine){
var playbook_file_path = project_folder + '/'; var playbook_file_path = project_folder + '/';
var command = 'cat "' + playbook_file_path + inventoryName + '"'; var command = util.format(all_commands.general.read_file, playbook_file_path + inventoryName);
ssh2_exec.executeCommand(command, ssh2_exec.executeCommand(command,
null, null,

View file

@ -4,6 +4,17 @@
module.exports = { module.exports = {
general:{
create_file: 'touch "%s"',
read_file: 'cat "%s"',
remove_file: 'rm -rf "%s"',
list_folder_contents: 'ls "%s"',
check_dir_exists: '[ -d "%s" ]',
check_dir_not_exists: '[ ! -d "%s" ]',
archive_folder: 'mkdir -p %s && tar -cvf %s/%s.tar %s && rm -rf %s',
list_roles_files_json: 'cd "%s/roles/%s"; python /tmp/dir_tree.py',
list_files_json: 'cd "%s"; python /tmp/dir_tree.py'
},
ansible:{ ansible:{
version : 'ansible --version', version : 'ansible --version',
doc: 'ansible-doc -l', doc: 'ansible-doc -l',
@ -11,7 +22,23 @@ module.exports = {
export_ansible_library: 'export ANSIBLE_LIBRARY="%s";', export_ansible_library: 'export ANSIBLE_LIBRARY="%s";',
export_force_color: 'export ANSIBLE_FORCE_COLOR=%s;', export_force_color: 'export ANSIBLE_FORCE_COLOR=%s;',
export_host_key_check: 'export ANSIBLE_HOST_KEY_CHECKING=%s;', export_host_key_check: 'export ANSIBLE_HOST_KEY_CHECKING=%s;',
get_inventory_list: 'cd "%s" ; ls --ignore="*.*" -p | grep -v /',
get_vars: 'cd "%s"; python %s host_vars --inventory_file="%s" ',
get_role_vars: 'cd "%s"; python "%s" role_vars --playbook_path="%s" ',
get_playbook_list: 'ls "%s" | grep .yml',
create_ansible_project_folder: 'mkdir -p "%s"; mkdir -p "%s"',
create_role: 'cd "%s"; ansible-galaxy init "%s"',
copy_role: 'cd "%s/roles"; cp -r "%s" "%s"; rm -rf "%s/.git"',
delete_role: 'rm -rf "%s/roles/%s"',
list_tags: 'cd "%s"; python2.7 /tmp/list_tasks_json.py "%s" -i "%s" --list-hosts --list-tasks-json ',
ansible_galaxy_search: 'ansible-galaxy search %s',
ansible_galaxy_install: 'ansible-galaxy install %s -p %s',
github_search_api_options: {
host: 'api.github.com',
path: '/search/repositories?q=ansible-role-%s',
headers: {'user-agent': 'node.js'}
},
git_clone_repo: 'git clone "%s"'
} }
}; };

View file

@ -7,10 +7,21 @@ exports = module.exports = {
'scriptEngine' : { 'scriptEngine' : {
'host' : process.env.SCRIPT_ENGINE_HOST || 'localhost', 'host' : process.env.SCRIPT_ENGINE_HOST || 'localhost',
'user' : process.env.SCRIPT_ENGINE_USER || 'root', 'user' : process.env.SCRIPT_ENGINE_USER || 'root',
// This is the default root password for local container set during docker container rebuild
'password' : process.env.SCRIPT_ENGINE_PASSWORD || 'P@ssw0rd@123' 'password' : process.env.SCRIPT_ENGINE_PASSWORD || 'P@ssw0rd@123'
}, },
paths: { paths: {
ansible_projects: '/opt/ansible-projects' ansible_projects: '/opt/ansible-projects',
ansible_projects_arhive: '/archive', // relative to projects folder
ansible_custom_api_local: './helpers/AnsibleAPI.py',
ansible_custom_api_remote: '/tmp/AnsibleAPI.py',
ansible_dir_tree_local: './helpers/dir_tree.py',
ansible_dir_tree_remote: '/tmp/dir_tree.py',
ansible_list_tasks_json_local: './helpers/list_tasks_json.py',
ansible_list_tasks_json_remote: '/tmp/list_tasks_json.py',
ansible_project_library: '/library', // relative to project folder
ansible_project_roles: '/roles', // relative to project folder
} }
}; };