You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Alex Williams 7432bf5af9
Support for PicoLisp 20.6
1 year ago
.github/workflows Support for PicoLisp 20.6 1 year ago
api/v1 Generate random password on first-run 1 year ago
docs Generate random password on first-run 1 year ago
test Add bugfixes for endpoints with invalid responses. Fixes #38 3 years ago
ui Generate random password on first-run 1 year ago
.gitignore API and Dashboard security improvements: 3 years ago
CHANGELOG-2015.md API and Dashboard security improvements: 3 years ago
CHANGELOG-2016.md API and Dashboard security improvements: 3 years ago
CHANGELOG-2017.md Update Admin API to use the 'jidoteki-admin' repo as a dep for generic functions/json/semver libs 3 years ago
CHANGELOG.md Update CHANGELOG.md 1 year ago
LICENSE First commit 6 years ago
Makefile Update docs and changelog 3 years ago
NOTICE Generate random password on first-run 1 year ago
README.md Support for PicoLisp 20.6 1 year ago
app.l Support for PicoLisp 20.6 1 year ago
eff_large_wordlist.txt Generate random password on first-run 1 year ago
index.html Generate random password on first-run 1 year ago
module.l Support for PicoLisp 20.6 1 year ago
run.l Add initial API code 6 years ago
stunnel.conf Add ciphers list to stunnel.conf and disable renegotiation 1 year ago
test.l Generate random password on first-run 1 year ago

README.md

On-Prem Admin Dashboard and REST API

GitHub release Dependency Build status

This API enables simple management of a On-Prem system.

An Admin Dashboard is included, and enables simpler management through a web-based interface:

Admin Dashboard

In combination with the jidoteki-admin, it is possible to use the REST API to:

  • Upload and validate a license file
  • Upload a software update package
  • Upload TLS certificates
  • View the status of a software update
  • View and update network settings
  • View and update application settings
  • View the status of system services
  • Retrieve compressed log files
  • Retrieve an encrypted debug bundle
  • Retrieve version and changelog of the system
  • Reboot the system
  • View and update persistent storage options
  • Retrieve build details

Requirements

  • PicoLisp 32-bit or 64-bit v3.1.11+
  • Tested up to PicoLisp v20.6.29, see test runs
  • Git
  • UNIX/Linux development/build tools (gcc, make/gmake, etc..)
  • OpenSSL command line tool (openssl)
  • Stunnel4 (for HTTPS only)
  • (required) jidoteki-admin v1.20.0+ deployment in /opt/jidoteki/tinyadmin/

Getting started

  1. Type ./run.l to launch the HTTP listener
  2. View the API documentation at: http://enterprise.vm:8080 or https://enterprise.vm:8443

File and directory permissions

The API does not need to run as root.

If using the jidoteki-admin, it requires sudo access to commands in /opt/jidoteki/admin/bin, write access to /opt/jidoteki/admin/home/sftp/uploads, and read access to files in /opt/jidoteki/admin/etc/.

Environment variables

It is possible to specify a few environment variables at runtime.

  • JIDO_API_VERSION: There is only one API version (1), but this makes it possible to load a completely different set of API endpoints, ex: JIDO_API_VERSION=2 ./run.l.
  • JIDO_API_PORT: The default port for the HTTP listener is 8080.
  • JIDO_WITH_SSL: By default, only the HTTP listener will be launched. If you want to start an HTTPS server as well, you can set JIDO_WITH_SSL=true. It will launch an stunnel4 process on port 8443, so ensure an enterprise.pem SSL certificate exists in the same directory as stunnel.conf.
  • JIDO_STUNNEL_BIN: The name of the stunnel binary. On CentOS it's stunnel, but on Debian it's stunnel4. Defaults to stunnel4.
  • JIDO_ADMIN_PATH: The full path to the Admin application. In most cases it refers to /opt/jidoteki/admin/, but it may be different depending on the application.
  • JIDO_API_CUSTOM: When this is set (ex: JIDO_API_CUSTOM=yourapp), the API will load custom.l from the yourapp/api/v1/core/ directory.

API Endpoints

See the API Documentation.

Contributing

If you find any bugs or issues, please create an issue.

If you want to improve this application, please make a pull-request.

HTML and JavaScript

The HTML and JavaScript files are written in Jade and CoffeeScript, respectively.

npm install -g jade coffeescript minify

To compile the HTML, type: make html

To compile the Docs, type: make docs

To compile the JavaScript, type: make javascript

To minify the JavaScript, type: make minify

To do everything at once, type: make ui

Changelogs

Screenshots

Update

screen-update

Backup/Restore

screen-backup

Network

screen-network

Certs

screeen-certs

Storage

screen-storage

API Token

screen-token

Monitor

screen-monitor

Support

screen-support

License

MPL-2.0 License

Copyright (c) 2015-2019 Alexander Williams, Unscramble license@unscramble.jp