smu

An HTTPish way of running commands

Usage no npm install needed!

<script type="module">
  import smu from 'https://cdn.skypack.dev/smu';
</script>

README

Work in progress. Nothing to see yet.

Some thoughts/ideas:

* Support only https. Use autogenerated self signed cert if not provided
* Add token based auth, PKI?
* Auditable logging (user/command/output)
* Support for custom config files (.conf.d?)
* Streaming responses/output for long running commands
* Asynchronous/background commands? (not blocking response until command is done)
* Replace tsd with typings
* Add versioning to packages/images

Start Me Up

SMU is an HTTP service which maps preconfigured shell commands to url entrypoints.

Running it

Docker (recommended)

docker run -d -v <your smu.yml>:/etc/smu.yml -p 6066:6066 msurdi/smu

Npm

  1. Install smu

     sudo npm install -g smu
    
  2. Use the provided systemd script as a starting point for running it as a service

Development environment

  1. Ensure you have docker > 1.10 and docker-compose > 1.6

  2. Run make dev to start the server in development mode (watcher/compiler/restarter).

  3. Publish releases

  • Push new versions to dockerhub with make push

  • Push new versions to npm with make publish