Operator

Operator is a web server. You provide a directory and Operator serves it over HTTP.

It serves static files the way you'd expect, but can also serve dynamic content that is generated at request time by handlebars templates or executables. For example, during your request a script ran on the server to timestamp this page: 2022-12-04T22:31:11Z.

⚠️ Operator is alpha! Please don't use it for anything important yet.

Installation

Operator is a single self-contained binary, with releases hosted on GitHub. You can get the latest release like so:

Linux x86-64
  • curl -L https://github.com/mkantor/operator/releases/download/0.6.1/operator-linux-x86-64.tar.gz \ > operator.tar.gz
  • sha256sum -c <(echo "dfef48a2d887ee2a0f4b1dc4e493e70ec02eb5880f6b9fdc66ac39562a9f970e operator.tar.gz") \ && tar -xf operator.tar.gz
  • echo '{{#if true}}Hello, world!{{/if}}' \ | ./operator eval --content-directory=/dev/null
macOS x86-64
  • curl -L https://github.com/mkantor/operator/releases/download/0.6.1/operator-macos-x86-64.tar.gz \ > operator.tar.gz
  • shasum -a 256 -c <(echo "37b982380e8c7a790a359f3fd7d457e55a6feb1a93b4579fd0a6cf19857433b8 operator.tar.gz") \ && tar -xf operator.tar.gz
  • echo '{{#if true}}Hello, world!{{/if}}' \ | ./operator eval --content-directory=/dev/null