Skip to content

Latest commit

 

History

History
executable file
·
153 lines (134 loc) · 6.11 KB

README.md

File metadata and controls

executable file
·
153 lines (134 loc) · 6.11 KB

phpietadmin

Phpietadmin is an easy to use webinterface to control the iet daemon (http://sourceforge.net/projects/iscsitarget/) written in php and javascript.

Intention

The main reason for developing this was, to create a way to configure the daemon while it’s in use. The iet daemon reads the config file only at start/restart. Changes after the daemon was started are only possible via the ietadm command line tool. This tool alters the configuration of the daemon while it’s running. Unfortunatly, the changes are not reflected in the config file itself. Which means, if the daemon gets restart the changes made via ietadm are gone, because the daemons loads only the targets from the config file. Phpietadmin saves all changes in the config file and passes them directly to the daemon via php’s „exec“ function. This prevents any inconsistency between the config file and the daemon live config.

Compatibility

Phpietadmin is tested on 8. But it’s not limited to debian. It should run just fine on any other linux distribution.

Docs

Screens

https://github.com/MrCrankHank/phpietadmin/wiki/Screens-v05

Features

Take a look at the github releases for detailed information about the features.

Bugs in 0.5.6:

- [ ] Parse function could overwrite comments
- [ ] The same object can be added multiple times to a iqn

Roadmap

In version 0.6:

  • LVM

    • Lvm snapshots (No merging...)
    • Add lvextend, lvremove, lvrename features
  • Frontend

  • Backend

    • Create a target model with all functions which are necessary to add/delete/change a target
    • Create a lvm model
    • Basic error logging
    • Login/Logout logging
    • Debug logging
    • Use namespaces with basic autoloader
    • New lsblk parser
    • Replace version file with .json
    • Use bcrypt for storing passwords
    • Prevent comments from being deleted, when editing a config file
    • Rewrite file parser for the iet files
    • New session implementation
    • Delete the "Detach/delete lun" functions
    • Prevent iqn and objects from having whitespaces
    • Log also successful messages
    • User Model: Delete user, develop better way to check if user is in use
    • Rework controller/models
      • Targets
      • Users
      • User model
      • Config
      • Config model
      • Dashboard
      • Overview
      • Stop/Reboot/Logout
      • Objects
      • LVM
      • Services
      • Database model
      • phpietadmin user
    • Database error log
    • Support for live resizing of targets (with workaround, since iet doesn't support)
    • Create backup before editing a config file
    • Create first user via gui
  • Misc

    • Create development branch after release of v0.6 (master should be stable)

In version 0.7:

  • LVM

    • Volume group menu (select which volume groups phpietadmin should use)
    • Optional lv prefix (append LV_ or some other user chosen string)
    • Add snapshot merge feature to gui
    • Add enable/disable logical volume feature to gui
  • Frontend

    • Use jwindow to dynamically display the status of running commands
    • Drag & Drop with HTML5
    • Menu to import orphaned objects into database
    • Display input validation with bootstrap css Validation states (http://formvalidation.io/validators/integer/)
    • Bootstrap-table Table Select Checkbox
    • Awesome checkboxes (https://github.com/designmodo/Flat-UI)
    • Improve configure target settings menu
    • Improve nested table row handling
    • Add target and lvm name to url
    • Overview/Logical volumes VG selector
    • Add "Edit file directly" option
    • Searchable table for overview menu
  • Backend

    • Write process class to execute commands in the background (+ jwindow)
    • Create complete documentation on https://readthedocs.org/
    • Use unity testing
    • Replace all error codes with exceptions
    • Support "All" permission in ietd config files
    • Write phpietadmin-cli
  • In version 0.8:

    • Support for DRBD (show status)
    • Support for HA Clusters (Corosync & Pacemaker, only for iet)
  • In version 0.9:

    • Support for nfs

More

  • Software raid status
  • Support for samba shares
  • Show and configure network settings
  • Enable/Disable features
  • Support for apcupsd
  • Manual selection of block devices
  • HDD temp
  • Pie Chart for volume groups
  • Smart data
  • Backup config files (http://code.stephenmorley.org/php/diff-implementation/)
  • Menu to restore config files
  • function naming convention in models (prepend class name to function name)
  • Create "consistency", which displays if the daemon config and the config file are identically
  • Use composer
  • Use json for tables
  • Change duplication check (Try to select the specific value from the database)
  • Use own exception class for error handling
  • Sign archives
  • Separate database models
  • SSH login via web gui (https://github.com/liftoff/GateOne)
  • Add bar to snapshot delete gui

Items are completely random ;-)

If you have any problems, please open an issue!