Documentation/sysconfig
System configuration file
Runtime parameters should be saved in the file "/etc/kinguard/sysconfig.json".
Access to the file should be done using libkgp (former libopi), either directly using the shared lib, or by the wrappers for different programming languages.
File Syntax
The configuration file is a json object (note that javascript object syntax is not permitted).
The file is set up using a "scope" and "key/value" pairs.
All scope and key identifiers shall be lowercase and written with letters and digits only, no "-" or "_".
Example:
{ "webapps": { "theme":"kgp" }, "hostinfo": { "unitid":"c79f425c-9af7-4f38-b1ba-d53277b14939", "hostname":"myhost", "domain":"example.org" } }
Wrappers
Most wrappers can also be used to access other information provided by libkgp, such as the current running system type, information about system storage etc.
Shell Scripts
For shell scripts, use "kgp-sysinfo". Run kgp-sysinfo --help for options.
Example:
# kgp-sysinfo -c hostinfo -k unitid -p c79f425c-9af7-4f38-b1ba-d53277b14939 # kgp-sysinfo -c hostinfo -k unitid {"unitid":"c79f425c-9af7-4f38-b1ba-d53277b14939"}
Python
For Python3, use the python library "pylibopi"
>>> import pylibopi >>> pylibopi.StorageDevice() '/dev/disk/by-path/platform-f10a8000.sata-ata-2'
C
For C programs, libkgp_wrapper can be used.
PHP
Currently no native PHP wrapper exists, but kgp-sysinfo defaults to output json (see above) that can easily be used in PHP.