Commit Graph

2418 Commits

Author SHA1 Message Date
Digimer
8c42b78e63 * Made some progress on displaying the network state on an HTML page using jquery. It's ugly as sin, but it works.
* Fixed a bug in Storage->write_file() where the parent directory wasn't created if it was missing. Also removed passing the mode to the parent directory creation as the file mode rarely applies to the directory (ie: 644 breaks directories but is common for files).
* Changed Template->skin to return just the skin name, not the path.
* Updated scancore-update-states to write the network state information to both xml (for ScanCore) and JSON (for jquery) files.

Signed-off-by: Digimer <digimer@alteeve.ca>
2017-06-12 14:39:20 -04:00
Digimer
bea6bc5e69 * Updated Tools->new() to check if it is being invoked in a browser and set the environment appropriately. It also sets the PWD environmental variable to the DOCUMENT_ROOT variable.
* Renamed 'defaults::languages' to 'defaults::language'.
* Created Storage->change_mode(), Storage->change_owner(), Storage->make_directory() and Storage->write_file() that does what their names imply, using the shell commands instead of the built-in commands (may switch to them later). The ->make_directory() method will create any needed parent directories.
* Moved System->read_file() to the Storage module as it made more sense there. For now, System is empty.
* Created Words->language to set or check the active output language.
* Fixed Template->get() to use Words->language.
* Updated Words->string() to take the new 'string' parameter which, when set, is used instead of the 'key' parameter and is treated as a pre-retrieved string, so replacement keys are directly injected.
* Updated Template->get() to take the 'variables' parameter and then uses Words->string({string => ...}) to process the replacement keys.
* Updated tools/scancore-update-states to write out the network interface states to the status.xml file.

Signed-off-by: Digimer <digimer@alteeve.ca>
2017-06-11 03:00:35 -04:00
Digimer
f93f8a10e5 * Fixed the scancore-daemon.service unit file.
Signed-off-by: Digimer <digimer@alteeve.ca>
2017-06-10 02:54:28 -04:00
Digimer
753d7a3ba6 * Created the new System.pm module with the initial read_file() method that reads files.
* Created Log->language that sets/returns the active log language.
* Created Log->variables that takes a hash reference and logs their variable: [$value] pairs.
* Created the new /usr/sbin/striker/ directory which is added to the list of search directories. We will store our tools here.
* Created the scancore-daemon and scancore-daemon.unit files which will handle all the things we used to use crontab for, minus ScanCore itself.
* Created the scancore-update-states that will eventually store some machine state information in a file that the web browser can read.
* Created the cgi-bin/home script that will be the main landing page for the Striker UI.
* Added some of the initial html files.

Signed-off-by: Digimer <digimer@alteeve.ca>
2017-06-10 02:38:04 -04:00
Digimer
e49d5285c0 * Added the AN/test.conf file needed for Tools.t and added testing for the new Get, Log and Validate methods (save for Get->switches or Log->entry as I am not sure how to test them yet).
Signed-off-by: Digimer <digimer@alteeve.ca>
2017-06-09 14:52:56 -04:00
Digimer
0ee84cd31e * Created the new Templates module to handle reading and preparing templates.
* Added an index.html and favicon as well as a very basic 'home' cgi script which will allow the web development to start.

Signed-off-by: Digimer <digimer@alteeve.ca>
2017-06-09 04:29:25 -04:00
Digimer
b571fa043e * Created Validate.pm and created Validate->is_uuid for validating UUID strings.
Signed-off-by: Digimer <digimer@alteeve.ca>
2017-06-08 01:30:28 +09:00
Digimer
0a712f4a9c * Added Get->switches to read in command line switches.
* Added Get->host_uuid that reads the host's UUID from dmidecode.
* Added Log->_adjust_log_level to automatically change the active log level when -V (0), -v (1), -vv (2), -vvv (3) or -vvvv (4) are passed.

Signed-off-by: Digimer <digimer@alteeve.ca>
2017-06-08 01:15:03 +09:00
Digimer
421d970f22 * Added the new 'tools.conf' which can be used to override AN::Tools default values.
* Got Log->entry() working now. Decided to use journald logging exclusively... They've thought a lot more about logging than we will, and the idea that there are special facilities for sensitive log entries and the ability to perform remote logging was too appealing.
* Created Log->level() to set/check the currently active log level.
* Created Log->secure() to set/check whether sensitive log entries will be recorded.

Signed-off-by: Digimer <digimer@alteeve.ca>
2017-06-08 00:36:06 +09:00
Digimer
dd4fb49e6c * Added the new AN::Log and AN::Get modules.
* Added Get->date_and_time() method.
* Added the 'initialize' parameter to Storage->search_directories() to have a cleaner way of initializing the search directories.

Signed-off-by: Digimer <digimer@alteeve.ca>
2017-06-05 21:02:14 +09:00
Digimer
7b8cb22de0 * Fixed the initial call to Storage->search_directories() in AN::Tools->new() to properly prep the search directory list.
* Added tests for the new Words->string() method.

Signed-off-by: Digimer <digimer@alteeve.ca>
2017-06-05 11:48:13 +09:00
Digimer
a844136c3b * Added the new Words->string() method to insert variables, data and other strings into the requested 'key'. This is a condensed and cleaned up version of v2's String->get() method.
* Added the new $an->_get_hash_reference() method that takes a key in the format "foo::bar" and returns the contents of $an->data->{foo}{bar}.
* Added the new Words->clean_spaces() method that removes leading and trailing spaces from a string, and condenses multiple spaces into single ones to simplify string parsing.

Signed-off-by: Digimer <digimer@alteeve.ca>
2017-06-04 13:40:17 +09:00
Digimer
dab7b17517 * Fixed the double-encoding messages when using XML::Simple to read in words files. Our use for XML is simple, so despite XML::Simple being discouraged, it suits our needs well.
* Created tests for most existing module methods now.
* Updated Storage->search_directories to handle merging @INC and $ENV{'PATH'} when called with an invalid directories parameter, and exploited this behaviour to initially set the directory search list. This also deprecated the Tools->_add_environment_path_to_search_directories() method.
* Added Storage->read_config based on the old v2 'Storage->read_conf()'. Also ported over the old Tools->_add_hash_reference() and Tools->_make_hash_reference() methods to assist with this method's operation.
* Created Words->key() that returns the raw string for a given language and key.

Signed-off-by: Digimer <digimer@alteeve.ca>
2017-05-27 14:23:34 +09:00
Digimer
ec307bc019 * Working on a new way of handling words files.
Signed-off-by: Digimer <digimer@alteeve.ca>
2017-05-10 15:01:36 -04:00
Digimer
4ac37e239f * Added the new AN::Tools::Storage and ::Alert modules (basic as they are at this point)..
* Created AN/Tools.t for testing.

Signed-off-by: Digimer <digimer@alteeve.ca>
2017-05-02 00:41:12 -04:00
Digimer
8605007af9 * Added the initial AN::Tools perl module. It is exceedingly basic at this stage.
Signed-off-by: Digimer <digimer@alteeve.ca>
2017-04-13 17:04:03 -04:00
Digimer
a59ffe40e1 Updated the README to be somewhat more descriptive.
Signed-off-by: Digimer <digimer@alteeve.ca>
2017-04-12 23:49:35 -04:00
Digimer
7978a83bca first commit 2017-04-12 23:46:49 -04:00