Commit Graph

876 Commits

Author SHA1 Message Date
Ken Moore
f1c3651ba5 API CHANGE: sysadm/iocage - "action"="listplugins"
Add this API call to list all the available plugins for iocage.

REST Request (example):
-------------------------------
PUT /sysadm/iocage
{
   "action" : "listplugins"
}

WebSocket Request:
-------------------------------
{
   "namespace" : "sysadm",
   "args" : {
      "action" : "listplugins"
   },
   "name" : "iocage",
   "id" : "fooid"
}

Response:
-------------------------------
{
  "args": {
    "listplugins": {
      "remote": {
        "btsync": {
          "description": "Resilient, fast and scalable file sync software for enterprises and individuals.",
          "id": "btsync",
          "name": "BitTorrent Sync"
        },
        "couchpotato": {
          "description": "CouchPotato is an automatic NZB and torrent downloader.",
          "id": "couchpotato",
          "name": "CouchPotato"
        },
        "crashplan": {
          "description": "Computer backup and data storage made simple.",
          "id": "crashplan",
          "name": "Crashplan"
        },
        "deluge": {
          "description": "Bittorrent client using Python, and libtorrent-rasterbar",
          "id": "deluge",
          "name": "Deluge"
        },
        "emby": {
          "description": "Home media server built using mono and other open source technologies",
          "id": "emby",
          "name": "Emby"
        },
        "gitlab": {
          "description": "Powerful features for modern software development",
          "id": "gitlab",
          "name": "GitLab"
        },
        "jenkins": {
          "description": "Jenkins CI",
          "id": "jenkins",
          "name": "Jenkins"
        },
        "jenkins-lts": {
          "description": "Jenkins CI (Long Term Support Version)",
          "id": "jenkins-lts",
          "name": "Jenkins (LTS)"
        },
        "madsonic": {
          "description": "Open-source web-based media streamer and jukebox.",
          "id": "madsonic",
          "name": "MadSonic"
        },
        "nextcloud": {
          "description": "Access, share and protect your files, calendars, contacts, communication & more at home and in your enterprise.",
          "id": "nextcloud",
          "name": "NextCloud"
        },
        "plexmediaserver": {
          "description": "The Plex media server system",
          "id": "plexmediaserver",
          "name": "Plex Media Server"
        },
        "plexmediaserver-plexpass": {
          "description": "The Plex media server system",
          "id": "plexmediaserver-plexpass",
          "name": "Plex Media Server (PlexPass)"
        },
        "quasselcore": {
          "description": "Quassel Core is a daemon/headless IRC client, part of Quassel, that supports 24/7 connectivity. Quassel Client can be attached to it to.",
          "id": "quasselcore",
          "name": "Quasselcore"
        },
        "sickrage": {
          "description": "Automatic Video Library Manager for TV Shows",
          "id": "sickrage",
          "name": "SickRage"
        },
        "sonarr": {
          "description": "PVR for Usenet and BitTorrent users",
          "id": "sonarr",
          "name": "Sonarr"
        },
        "subsonic": {
          "description": "Open-source web-based media streamer and jukebox.",
          "id": "subsonic",
          "name": "SubSonic"
        },
        "syncthing": {
          "description": "Personal cloud sync",
          "id": "syncthing",
          "name": "Syncthing"
        },
        "transmission": {
          "description": "Fast and lightweight daemon BitTorrent client",
          "id": "transmission",
          "name": "Transmission"
        }
      }
    }
  },
  "id": "fooid",
  "name": "response",
  "namespace": "sysadm"
}

Changelog: yes
2017-05-31 14:19:10 -04:00
Ken Moore
35759b12a1 Merge branch 'master' of github.com:trueos/sysadm 2017-05-30 11:46:59 -04:00
Ken Moore
0e2d941ae1 Add the qMDNS class to SysAdm's backend source tree (not tied in yet) 2017-05-30 11:46:31 -04:00
Tim Moore
2105b59780 Move TrueOS website link. 2017-05-19 14:33:21 -04:00
Ken Moore
6392cc362f Merge branch 'master' of github.com:trueos/sysadm 2017-04-28 09:41:26 -04:00
Ken Moore
dfb6e1b6a6 Move the pkg update routine in SysAdm to the pkg queue in the dispatcher so that it does not conflict with other possible pkg commands that get started soon after. 2017-04-28 09:40:38 -04:00
Tim Moore
cad95cbec8 Update README.md
Add project general info.
2017-04-10 11:51:07 -04:00
Kris Moore
97f82a06d8 Minor updates to Makefile and pkg-descr 2017-03-08 06:46:40 -05:00
Ken Moore
b446bef363 Update some more of the iocage API backend. These changes not tied to front-facing API calls yet. v1.0 2017-02-17 13:03:18 -05:00
Ken Moore
9cb26f211e API CHANGE:
Re-enable the sysadm/iocage "deactivatepool" API call.
Description: This will deactivate a ZFS pool from being used by iocage (may result in loss of data regarding iocage-created jails).
Required arguments: "pool" = "zfs pool to deactivate"
-----------

REST Request (example):
-------------------------------
PUT /sysadm/iocage
{
   "pool" : "tank1",
   "action" : "deactivatepool"
}

WebSocket Request:
-------------------------------
{
   "name" : "iocage",
   "args" : {
      "action" : "deactivatepool",
      "pool" : "tank1"
   },
   "id" : "fooid",
   "namespace" : "sysadm"
}

Response:
-------------------------------
{
  "args": {
    "deactivatepool": {
      "success": "pool tank1 deactivated."
    }
  },
  "id": "fooid",
  "name": "response",
  "namespace": "sysadm"
}
2017-02-17 11:55:31 -05:00
Ken Moore
2047491544 API CHANGE:
Re-enable the sysadm/iocage "activatepool" API call:
Description: This will activate a specific ZFS pool so iocage can use it.
Required arguments: "pool" = "name of ZFS pool to activate"
------------------

REST Request (example):
-------------------------------
PUT /sysadm/iocage
{
   "action" : "activatepool",
   "pool" : "tank1"
}

WebSocket Request:
-------------------------------
{
   "name" : "iocage",
   "args" : {
      "pool" : "tank1",
      "action" : "activatepool"
   },
   "id" : "fooid",
   "namespace" : "sysadm"
}

Response:
-------------------------------
{
  "args": {
    "activatepool": {
      "success": "pool tank1 activated."
    }
  },
  "id": "fooid",
  "name": "response",
  "namespace": "sysadm"
}
2017-02-17 11:49:14 -05:00
Ken Moore
4fe277350a API CHANGE:
De-activate the entire sysadm/iocage class of API calls. There is enough changes in the move to the new version of iocage, and the old API class was disused enough, that it is probably best to just scrap it and start from scratch.
I will start re-enabling the individual API calls one per commit tomorrow probably (backend changes getting close to being finished).

Also finish of the conversion of a bunch more backend funtions to work with the new version of iocage.
2017-02-16 14:28:49 -05:00
Ken Moore
af7e620544 Oops - fix a couple compile issues with the new iocage backend. 2017-02-16 12:23:43 -05:00
Ken Moore
8d479b4061 Another large batch of work on the new sysadm/iocage API backend. Not yet attached to API calls yet. 2017-02-16 12:21:48 -05:00
Ken Moore
f7d5e99010 API Change:
Remove the sysadm/iocage "getdefaultsettings" action from the available API calls. This action is not longer supported by the newer version of iocage.
2017-02-14 09:46:36 -05:00
Ken Moore
d382ec9e8f Validate/Fix the sysadm/iocage "activatepool" and "deactivatepoll" API calls.
No change to the API, just cleaned it up to work with the newer python version of iocage.
2017-02-14 09:41:26 -05:00
Kris Moore
4c118796dc Merge branch 'master' of http://github.com/trueos/sysadm 2017-02-13 16:19:39 -05:00
Kris Moore
487e9d7655 Fix iocage detection 2017-02-13 16:19:27 -05:00
Ken Moore
1863b10340 Quick fix for the sysadm init.d files. 2017-02-13 08:09:06 -05:00
Joe Maloney
8080a83e1b Add stop fix for supervisor. Requires new openrc-run patch in freebsd base. 2017-02-12 17:23:55 -05:00
Ken Moore
de9b9af3c0 API CHANGE: New class - sysadm/powerd
This is a class for managing the "powerd" service on the system.

Available "action"s:
"list_options": List all the available options and possible settings for each.
"read_options": Show all the current settings.
"set_options":  Modify any settings.
"list_status":  List the current state of the service (running, enabled)
"set_active":   Enable this device for starting on bootup.
"set_inactive": Disable this device from starting on bootup.
"start":        Start this service now.
"stop":         Stop this service now.

Example API Calls:
==================

REST Request (example):
-------------------------------
PUT /sysadm/powerd
{
   "action" : "list_options"
}

WebSocket Request:
-------------------------------
{
   "name" : "powerd",
   "namespace" : "sysadm",
   "args" : {
      "action" : "list_options"
   },
   "id" : "fooid"
}

Response:
-------------------------------
{
  "args": {
    "list_options": {
      "ac_power_mode": [
        "maximum",
        "hiadaptive",
        "adaptive",
        "minumum"
      ],
      "adaptive_lower_threshold_percent": "int min=1 max=100",
      "adaptive_raise_threshold_percent": "int min=1 max=100",
      "battery_power_mode": [
        "maximum",
        "hiadaptive",
        "adaptive",
        "minumum"
      ],
      "max_cpu_freq": "int frequency(hz)>0",
      "min_cpu_freq": "int frequency(hz)>0",
      "polling_interval_ms": "int milliseconds>0",
      "unknown_power_mode": [
        "maximum",
        "hiadaptive",
        "adaptive",
        "minumum"
      ]
    }
  },
  "id": "fooid",
  "name": "response",
  "namespace": "sysadm"
}
===============================

REST Request (example):
-------------------------------
PUT /sysadm/powerd
{
   "action" : "read_options"
}

WebSocket Request:
-------------------------------
{
   "id" : "fooid",
   "name" : "powerd",
   "args" : {
      "action" : "read_options"
   },
   "namespace" : "sysadm"
}

Response:
-------------------------------
{
  "args": {
    "read_options": {
      "ac_power_mode": "maximum",
      "adaptive_lower_threshold_percent": "50",
      "adaptive_raise_threshold_percent": "75",
      "battery_power_mode": "adaptive",
      "max_cpu_freq": "-1",
      "min_cpu_freq": "-1",
      "polling_interval_ms": "250",
      "unknown_power_mode": "adaptive"
    }
  },
  "id": "fooid",
  "name": "response",
  "namespace": "sysadm"
}
===========================

REST Request (example):
-------------------------------
PUT /sysadm/powerd
{
   "action" : "list_status"
}

WebSocket Request:
-------------------------------
{
   "id" : "fooid",
   "name" : "powerd",
   "namespace" : "sysadm",
   "args" : {
      "action" : "list_status"
   }
}

Response:
-------------------------------
{
  "args": {
    "list_status": {
      "enabled": "true",
      "running": "true"
    }
  },
  "id": "fooid",
  "name": "response",
  "namespace": "sysadm"
}
===================

REST Request (example):
-------------------------------
PUT /sysadm/powerd
{
   "action" : "stop"
}

WebSocket Request:
-------------------------------
{
   "args" : {
      "action" : "stop"
   },
   "id" : "fooid",
   "namespace" : "sysadm",
   "name" : "powerd"
}

Response:
-------------------------------
{
  "args": {
    "stop": {
      "stopped": "true"
    }
  },
  "id": "fooid",
  "name": "response",
  "namespace": "sysadm"
}
==================

REST Request (example):
-------------------------------
PUT /sysadm/powerd
{
   "battery_power_mode" : "minimum",
   "action" : "set_options"
}

WebSocket Request:
-------------------------------
{
   "name" : "powerd",
   "args" : {
      "action" : "set_options",
      "battery_power_mode" : "minimum"
   },
   "id" : "fooid",
   "namespace" : "sysadm"
}

Response:
-------------------------------
{
  "args": {
    "set_options": {
      "ac_power_mode": "maximum",
      "adaptive_lower_threshold_percent": "50",
      "adaptive_raise_threshold_percent": "75",
      "battery_power_mode": "minimum",
      "max_cpu_freq": "-1",
      "min_cpu_freq": "-1",
      "polling_interval_ms": "250",
      "unknown_power_mode": "adaptive"
    }
  },
  "id": "fooid",
  "name": "response",
  "namespace": "sysadm"
}
2017-02-07 12:34:33 -05:00
Ken Moore
e67f77f447 Add a 1 minute delay on boot for the SysAdm health checks to start. This gives a bit more time for the network connectivity to settle down first. 2017-02-07 10:05:52 -05:00
Ken Moore
57e197669e Make sure we clean up any extra empty lines in the update check. 2017-01-23 15:16:32 -05:00
Ken Moore
e8e157fb58 Large update to the init.d services for SysAdm.
Also clean up some things in the port makefile as well.
2017-01-20 12:49:59 -05:00
Ken Moore
3b2ce2ca8e Update the "pkg update" usage in the system health check. Run the PKG library function to check the repos instead - that one will only do the pkg update if there is some problem with the databases. 2017-01-20 08:55:37 -05:00
Ken Moore
b1d8c1f048 Fix the loading of the current moused device settings. Only trim the quotes off the end if necessary. 2017-01-19 16:21:29 -05:00
Ken Moore
26557e3756 API CHANGE (new action)
sysadm/moused, "action"="set_device_active" : This will enable/activate a device so that it can be used.
REQUIRED ARGUMENTS: "device":"<device_id>"
-------------

REST Request (example):
-------------------------------
PUT /sysadm/moused
{
   "device" : "ums0",
   "action" : "set_device_active"
}

WebSocket Request:
-------------------------------
{
   "args" : {
      "device" : "ums0",
      "action" : "set_device_active"
   },
   "namespace" : "sysadm",
   "name" : "moused",
   "id" : "fooid"
}

Response:
-------------------------------
{
  "args": {
    "set_device_active": {
      "started": "ums0"
    }
  },
  "id": "fooid",
  "name": "response",
  "namespace": "sysadm"
}
2017-01-19 08:54:48 -05:00
Ken Moore
7ca9766234 API CHANGE (new action)
sysadm/moused, "action" = "set_device_inactive" : Turn off a mouse device
REQUIRED ARGUMENTS: "device":"<device id>"
--------------

REST Request (example):
-------------------------------
PUT /sysadm/moused
{
   "device" : "ums0",
   "action" : "set_device_inactive"
}

WebSocket Request:
-------------------------------
{
   "namespace" : "sysadm",
   "args" : {
      "action" : "set_device_inactive",
      "device" : "ums0"
   },
   "name" : "moused",
   "id" : "fooid"
}

Response:
-------------------------------
{
  "args": {
    "set_device_inactive": {
      "stopped": "ums0"
    }
  },
  "id": "fooid",
  "name": "response",
  "namespace": "sysadm"
}
2017-01-19 08:49:07 -05:00
Ken Moore
be87daf81d API CHANGE (new action):
sysadm/moused, "action"="list_devices_active": This will return a list of all the devices which are currently active.
-------------

REST Request (example):
-------------------------------
PUT /sysadm/moused
{
   "action" : "list_devices_active"
}

WebSocket Request:
-------------------------------
{
   "name" : "moused",
   "namespace" : "sysadm",
   "id" : "fooid",
   "args" : {
      "action" : "list_devices_active"
   }
}

Response:
-------------------------------
{
  "args": {
    "list_devices_active": {
      "active_devices": [
        "ums0"
      ]
    }
  },
  "id": "fooid",
  "name": "response",
  "namespace": "sysadm"
}
2017-01-19 08:35:16 -05:00
Ken Moore
abf0846b36 Adjust the moused flags fallback files. Now it will use the same files/logic for fallback settings as the service. 2017-01-19 07:29:41 -05:00
Ken Moore
a93a0110d3 Add "pkg update" to the regular system health check. This should ensure that the pkg databases are *always* up to date without any user interaction. 2017-01-19 06:59:36 -05:00
Ken Moore
1a9547a73a Oops - forgot to add the new sysadm-moused files to git. 2017-01-18 16:41:31 -05:00
Ken Moore
238af76dbd API Change (new action):
New "action" for the sysadm/moused class:
"set_device_options" - Change the options for a particular device.
REQUIRED ARGUMENTS: "device":"<device_id>", and at least 1 of the available options for device configuration (multiple options may be changed in a single API request).
------------

REST Request (example):
-------------------------------
PUT /sysadm/moused
{
   "accel_exponential" : "1.5",
   "action" : "set_device_options",
   "device" : "psm0"
}

WebSocket Request:
-------------------------------
{
   "id" : "fooid",
   "namespace" : "sysadm",
   "name" : "moused",
   "args" : {
      "accel_exponential" : "1.5",
      "device" : "psm0",
      "action" : "set_device_options"
   }
}

Response:
-------------------------------
{
  "args": {
    "set_device_options": {
      "accel_exponential": "1.5",
      "accel_linear": "1.0",
      "device": "psm0",
      "emulate_button_3": "false",
      "hand_mode": "right",
      "resolution": "medium-low",
      "terminate_drift_threshold_pixels": "0",
      "virtual_scrolling": "false"
    }
  },
  "id": "fooid",
  "name": "response",
  "namespace": "sysadm"
}
2017-01-18 16:24:31 -05:00
Ken Moore
47d5c73dba API Change (new "action"):
New Action for the sysadm/moused class:
"read_device_options" - This will list all the current settings for a given device.
REQUIRED ARGUMENTS: "device":"<device_id>"
----------------

REST Request (example):
-------------------------------
PUT /sysadm/moused
{
   "device" : "psm0",
   "action" : "read_device_options"
}

WebSocket Request:
-------------------------------
{
   "name" : "moused",
   "id" : "fooid",
   "namespace" : "sysadm",
   "args" : {
      "action" : "read_device_options",
      "device" : "psm0"
   }
}

Response:
-------------------------------
{
  "args": {
    "read_device_options": {
      "accel_exponential": "1.0",
      "accel_linear": "1.0",
      "device": "psm0",
      "emulate_button_3": "false",
      "hand_mode": "right",
      "resolution": "medium-low",
      "terminate_drift_threshold_pixels": "0",
      "virtual_scrolling": "false"
    }
  },
  "id": "fooid",
  "name": "response",
  "namespace": "sysadm"
}
2017-01-18 16:16:52 -05:00
Ken Moore
c876af3cc3 API Change: (sysadm/moused - new "action")
New Action: "list_device_options" - This will list all the per-device options which can be changed, with lists of possible settings or a description of the setting type that can be used.
----------

REST Request (example):
-------------------------------
PUT /sysadm/moused
{
   "action" : "list_device_options"
}

WebSocket Request:
-------------------------------
{
   "namespace" : "sysadm",
   "name" : "moused",
   "args" : {
      "action" : "list_device_options"
   },
   "id" : "fooid"
}

Response:
-------------------------------
{
  "args": {
    "list_device_options": {
      "accel_exponential": "float min=1.0 max=2.0",
      "accel_linear": "float min=0.01 max=100.00",
      "emulate_button_3": [
        "true",
        "false"
      ],
      "hand_mode": [
        "left",
        "right"
      ],
      "resolution": [
        "low",
        "medium-low",
        "medium-high",
        "high"
      ],
      "terminate_drift_threshold_pixels": "int min=0 max=1000",
      "virtual_scrolling": [
        "true",
        "false"
      ]
    }
  },
  "id": "fooid",
  "name": "response",
  "namespace": "sysadm"
}
2017-01-18 16:07:32 -05:00
Ken Moore
d1cfc02465 API Change (New Class: sysadm/moused)
Add a new class: sysadm/moused
This class handles all the settings for the moused daemon on the system and provides per-device input device management.

First API "action":
"list_devices": This will list all the devices detected on the system with relevant information about them.
----------------

REST Request (example):
-------------------------------
PUT /sysadm/moused
{
   "action" : "list_devices"
}

WebSocket Request:
-------------------------------
{
   "id" : "fooid",
   "namespace" : "sysadm",
   "name" : "moused",
   "args" : {
      "action" : "list_devices"
   }
}

Response:
-------------------------------
{
  "args": {
    "list_devices": {
      "psm0": {
        "description": "PS/2 Mouse",
        "device": "psm0",
        "driver": "psm",
        "parent": "atkbdc0"
      },
      "ums0": {
        "description": "YSTEK G Mouse, class 0/0, rev 1.10/0.01, addr 1",
        "device": "ums0",
        "driver": "ums",
        "parent": "uhub1"
      }
    }
  },
  "id": "fooid",
  "name": "response",
  "namespace": "sysadm"
}
2017-01-18 16:03:00 -05:00
Ken Moore
b50a4c6fc3 Merge branch 'master' of github.com:trueos/sysadm 2017-01-18 11:56:33 -05:00
Ken Moore
0c97c36efc Remove the old usermanager library files - these were replaced by the "sysadm-users" files quite a while back. 2017-01-18 11:55:42 -05:00
Ken Moore
bf30b500b3 Merge branch 'master' of github.com:trueos/sysadm 2017-01-17 09:49:59 -05:00
Ken Moore
efb78c9627 Make sure the updatesAvailable flag does not get saved if there was a network error during the check, 2017-01-17 09:49:26 -05:00
Mrt134
c052d49877 Merge branch 'master' of github.com:trueos/sysadm 2017-01-16 15:24:02 -05:00
Mrt134
39805ad90e Remove redundant "docs" directory:
- All SysAdm docs now live in the sysadm-docs repo (https://github.com/trueos/sysadm-docs).
- This new repo has its own issue tracker; any docs issues are to be reported there.
2017-01-16 15:22:19 -05:00
Ken Moore
60748d1029 Merge branch 'master' of github.com:trueos/sysadm 2017-01-12 13:02:27 -05:00
Ken Moore
311bd579f3 API CHANGE:
Two new actions for the sysadm/update class: "listlogs" and "readlogs";

REST Request (example):
-------------------------------
PUT /sysadm/update
{
   "action" : "listlogs"
}

WebSocket Request:
-------------------------------
{
   "namespace" : "sysadm",
   "name" : "update",
   "args" : {
      "action" : "listlogs"
   },
   "id" : "fooid"
}

Response:
-------------------------------
{
  "args": {
    "listlogs": {
      "pc-updatemanager.log": {
        "finished": "1484127618",
        "name": "pc-updatemanager.log",
        "started": "1484127618"
      },
      "pc-updatemanager.log.prev": {
        "finished": "1484109171",
        "name": "pc-updatemanager.log.prev",
        "started": "1484109171"
      }
    }
  },
  "id": "fooid",
  "name": "response",
  "namespace": "sysadm"
}

===================================

REST Request (example):
-------------------------------
PUT /sysadm/update
{
   "logs" : [
      "pc-updatemanager.log"
   ],
   "action" : "readlogs"
}

WebSocket Request:
-------------------------------
{
   "id" : "fooid",
   "namespace" : "sysadm",
   "name" : "update",
   "args" : {
      "logs" : [
         "pc-updatemanager.log"
      ],
      "action" : "readlogs"
   }
}

Response:
-------------------------------
{
  "args": {
    "readlogs": {
      "pc-updatemanager.log": "pc-updatemanager: Tue Jan 10 23:32:51 EST 2017\nChecking for updates to ports-mgmt/pkg..\nUpdating the package repo database...\nCleaning old pkg upgrade cache...\n<Shortened For Example>\nDetermine new BE name...\nCleanup mounts..."
    }
  },
  "id": "fooid",
  "name": "response",
  "namespace": "sysadm"
}
2017-01-12 12:57:40 -05:00
Joe Maloney
4ebced5622 Use supervise-daemon for sysadm 2017-01-12 12:00:09 -05:00
Mrt134
23bca07fac Rework Managing Boot Environments: TRANSLATIONS
- Update translation files.
2016-12-27 13:02:13 -05:00
Mrt134
49e41f0bfc Fix image reference:
- Updated reference that wouldn't work in the TrueOS handbook.
2016-12-27 12:56:58 -05:00
Mrt134
e594344712 Minor changes to Boot Environment Manager:
- Replaced screenshot be1a.png with a more dense image.
- Small reworks to the text for flow and clarity.
2016-12-27 12:50:52 -05:00
Mrt134
af13f7e6f1 Close issue #17: Rework Boot Environment Manager
- Update screenshot.
- Add cross-reference to Boot Environment Manager in Update Manager
- Rework list of options and displayed data with tables.
- Removed recommendations for use from tables and.
- Attempted to clarify the value of BEs in the introductory text section and the explanatory text surrounding screenshots.
2016-12-27 12:34:43 -05:00
Joe Maloney
2a9fd1c6a3 Remove net dependancy from sysadm. This is bad. Does bad things. 2016-12-21 14:57:48 -05:00