Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 35 additions & 2 deletions admin/static/js/configuration.js
Original file line number Diff line number Diff line change
Expand Up @@ -53,13 +53,46 @@ function confirmAddQuerySchedule() {
var _schedule = _editor.getValue();
var obj = JSON.parse(_schedule);
var _query = {
"query": $("#query_sql").val(),
"interval": parseInt($("#query_interval").val()),
query: $("#query_sql").val(),
interval: parseInt($("#query_interval").val()),
};
obj[$("#query_name").val()] = _query;
_editor.setValue(JSON.stringify(obj, null, "\t"));
}

function addOsqueryOption() {
$("#addoption_action").click(function () {
$("#addOptionModal").modal("hide");
confirmAddOsqueryOption();
});
$("#option_name").val("");
$("#option_value").val("");
$("#addOptionModal").modal();
}

function confirmAddOsqueryOption() {
var _editor = $("#options_conf").data("CodeMirrorInstance");
var _options = _editor.getValue();
var obj = JSON.parse(_options);
if ($("#option_type").val() === "boolean") {
if ($("#option_value").val().toLowerCase() === "true") {
obj[$("#option_name").val()] = true;
} else {
obj[$("#option_name").val()] = false;
}
}
if ($("#option_type").val() === "integer") {
obj[$("#option_name").val()] = parseInt($("#option_value").val());
}
if ($("#option_type").val() === "string") {
obj[$("#option_name").val()] = $("#option_value").val();
}
if ($("#option_name").val() === "" || $("#option_value").val() === null) {
return;
}
_editor.setValue(JSON.stringify(obj, null, "\t"));
}

function saveIntervals() {
var _csrftoken = $("#csrftoken").val();
var _config = $("#conf_range").val();
Expand Down
45 changes: 45 additions & 0 deletions admin/templates/components/page-modals.html
Original file line number Diff line number Diff line change
Expand Up @@ -221,4 +221,49 @@ <h4 class="modal-title">Add new query to schedule</h4>
</div>
<!-- /.modal -->

<div class="modal fade" id="addOptionModal" tabindex="-1" role="dialog" aria-labelledby="addOptionModal" aria-hidden="true">
<div class="modal-dialog modal-dark" role="document">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title">Add new option to configuration</h4>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<div class="form-group row">
<label class="col-md-3 col-form-label" for="option_name">Option: </label>
<div class="col-md-9">
<input class="form-control" name="option_name" id="option_name" type="text" autocomplete="off"
autofocus>
</div>
</div>
<div class="form-group row">
<label class="col-md-3 col-form-label" for="option_type">Type: </label>
<div class="col-md-9">
<select class="form-control" id="option_type" name="option_type">
<option value="integer">Integer</option>
<option value="boolean">Boolean</option>
<option value="string">String</option>
</select>
</div>
</div>
<div class="form-group row">
<label class="col-md-3 col-form-label" for="option_value">Value: </label>
<div class="col-md-9">
<input class="form-control" name="option_value" id="option_value" type="text" autocomplete="off">
</div>
</div>
</div>
<div class="modal-footer">
<button id="addoption_action" type="button" class="btn btn-dark" data-dismiss="modal">Add</button>
<button type="button" class="btn btn-danger" data-dismiss="modal">Cancel</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>
<!-- /.modal -->

{{ end }}
7 changes: 7 additions & 0 deletions admin/templates/conf.html
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,10 @@
data-tooltip="true" data-placement="bottom" title="Documentation" onclick="javascript:window.open('https://osquery.readthedocs.io/en/stable/deployment/configuration/#options', '_blank');">
<i class="far fa-question-circle"></i>
</button>
<button id="options_add_flag" class="btn btn-sm btn-dark"
data-tooltip="true" data-placement="bottom" title="Add Option to osquery" onclick="addOsqueryOption();">
<i class="fas fa-plus-square"></i>
</button>
<button id="options_json_save" class="btn btn-sm btn-dark"
data-tooltip="true" data-placement="bottom" title="Save Changes" onclick="saveOptions();">
<i class="far fa-save"></i>
Expand Down Expand Up @@ -369,6 +373,8 @@
_valid = false
// Disable button
$('#options_json_save').prop("disabled", true);
$('#options_add_flag').prop("disabled", true);
options_add_flag
// Position cursor in where the problem is at
}
if (_valid) {
Expand All @@ -379,6 +385,7 @@
$(this).addClass("btn-success");
});
$('#options_json_save').prop("disabled", false);
$('#options_add_flag').prop("disabled", false);
}
});
editorOptions.setSize("100%", "100%");
Expand Down
Loading