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

Add option to disable adding custom ansible host engine

This commit is contained in:
Mumshad Mannambeth 2017-07-13 15:04:38 -04:00
parent 2fc2040882
commit f06bd10330
9 changed files with 95 additions and 54 deletions

View file

@ -7,12 +7,15 @@ import routes from './project.routes';
export class ProjectComponent {
/*@ngInject*/
constructor($scope, Projects, Auth, appConfig) {
constructor($scope, Projects, Auth, appConfig, system) {
'ngInject';
var default_project_folder = '/opt/ehc-ansible-projects/';
var projectCtrl = this;
system.getConfigDisableAnsibleHostAddition((response) => {
projectCtrl.disableAnsibleHostAddition = response.data;
console.log(projectCtrl.disableAnsibleHostAddition)
});
// Define a blank project object
projectCtrl.blankProject = {
name: '',

View file

@ -10,40 +10,47 @@
<input type="text" ng-model="projectCtrl.newProject.name" class="form-control" ng-required="true">
</p>
<p class="form-group">
<label>Ansible Host</label>
<input type="text" ng-model="projectCtrl.newProject.ansibleEngine.ansibleHost" class="form-control">
<div class="hint">Ansible Controller system - A linux system with Ansible Installed on it. Required if you want to execute Ansible playbooks. You could skip this and still generate playbooks but not test them.</div>
</p>
<div class="alert alert-warning" ng-if="projectCtrl.disableAnsibleHostAddition == 'true'">
Adding a custom Ansible Engine (Ansible Controller) is disabled in the demo mode.
</div>
<p class="form-group" ng-if="projectCtrl.newProject.ansibleEngine.ansibleHost">
<label>User</label>
<input type="text" ng-model="projectCtrl.newProject.ansibleEngine.ansibleHostUser" class="form-control">
</p>
<div ng-if="projectCtrl.disableAnsibleHostAddition != 'true'">
<p class="form-group">
<label>Ansible Host</label>
<input type="text" ng-model="projectCtrl.newProject.ansibleEngine.ansibleHost" class="form-control">
<div class="hint">Ansible Controller system - A linux system with Ansible Installed on it. Required if you want to execute Ansible playbooks. You could skip this and still generate playbooks but not test them.</div>
</p>
<p class="form-group" ng-if="projectCtrl.newProject.ansibleEngine.ansibleHost">
<label>Host Password</label>
<input type="password" ng-model="projectCtrl.newProject.ansibleEngine.ansibleHostPassword" class="form-control">
</p>
<p class="form-group" ng-if="projectCtrl.newProject.ansibleEngine.ansibleHost">
<label>User</label>
<input type="text" ng-model="projectCtrl.newProject.ansibleEngine.ansibleHostUser" class="form-control">
</p>
<p class="form-group" ng-if="projectCtrl.newProject.ansibleEngine.ansibleHost">
<label>Project Folder</label>
<input ng-readonly="projectCtrl.editProjectFlag" ng-model="projectCtrl.newProject.ansibleEngine.projectFolder" class="form-control">
<p class="form-group" ng-if="projectCtrl.newProject.ansibleEngine.ansibleHost">
<label>Host Password</label>
<input type="password" ng-model="projectCtrl.newProject.ansibleEngine.ansibleHostPassword" class="form-control">
</p>
<p class="form-group" ng-if="projectCtrl.newProject.ansibleEngine.ansibleHost">
<label>Project Folder</label>
<input ng-readonly="projectCtrl.editProjectFlag" ng-model="projectCtrl.newProject.ansibleEngine.projectFolder" class="form-control">
<div ng-if="projectCtrl.newProject.ansibleEngine.ansibleHost" class="hint">A directory path on the Ansible Host to store files of this project </div>
</p>
</p>
<p class="form-group" ng-if="projectCtrl.newProject.ansibleEngine.ansibleHost">
<label>Custom Modules Location</label>
<input ng-readonly="projectCtrl.editProjectFlag" ng-model="projectCtrl.newProject.ansibleEngine.customModules" class="form-control">
<p class="form-group" ng-if="projectCtrl.newProject.ansibleEngine.ansibleHost">
<label>Custom Modules Location</label>
<input ng-readonly="projectCtrl.editProjectFlag" ng-model="projectCtrl.newProject.ansibleEngine.customModules" class="form-control">
<div ng-if="projectCtrl.newProject.ansibleEngine.ansibleHost" class="hint">A directory path on the Ansible Host to store custom modules for this project </div>
</p>
</p>
</div>
<button class="btn btn-success" ng-disabled="!projectCtrl.newProject.name" ng-click="projectCtrl.createProject()"> Save <span class="fa {{projectCtrl.saveButtonIcon}}"></span></button>
<button class="btn btn-warning" ng-click="projectCtrl.hideProjectForm()"> Cancel <span class="fa fa-times"></span></button>
</form>
<div ng-if="msg" class="alert alert-{{ projectCtrl.msg_status }}">{{ projectCtrl.msg }}</div>
<div ng-if="projectCtrl.msg" class="alert alert-{{ projectCtrl.msg_status }}">{{ projectCtrl.msg }}</div>
</div>
</div>

View file

@ -7,9 +7,14 @@ export function systemService($http) {
const api_system = '/api/system';
const api_get_logs = api_system + '/logs';
const get_config_disable_ansible_host_addition = api_system + '/config/disable_ansible_host_addition';
this.getLogs = function(type, successCallback, errorCallback){
$http.get(api_get_logs + '/' + type).then(successCallback, errorCallback);
};
this.getConfigDisableAnsibleHostAddition = function(successCallback, errorCallback){
$http.get(get_config_disable_ansible_host_addition).then(successCallback, errorCallback);
}
}