Difference between revisions of "Documentation/sysconfig"

From The Kinguard Project Wiki
Jump to: navigation, search
(Initial 'sysconfig' documentation)
 
m (Python)
Line 42: Line 42:
 
===== Python =====
 
===== Python =====
 
For Python3, use the python library "[https://github.com/Kinguard/kgp-pywrap pylibopi]"
 
For Python3, use the python library "[https://github.com/Kinguard/kgp-pywrap pylibopi]"
 +
 +
Example:
 
  >>> import pylibopi
 
  >>> import pylibopi
 
  >>> pylibopi.StorageDevice()
 
  >>> pylibopi.StorageDevice()

Revision as of 15:13, 5 June 2018

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"

Example:

>>> 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.