Package: uptimecurl
uptimecurlBasic monitoring tool designed for rapid deployment and simple results.Scheduled monitoring, dashboards, alerts and other advanced features are out of
scope. Instead consider tools like crontab, Cockpit, Grafana or Zabbix.UsageUsage: uptimecurl [OPTIONS]

  Basic monitoring tool designed for rapid deployment and simple results.

  Define tests in the DEFINITION file and template in the TEMPLATE file.
  Report is generated at the OUTPUT path.

  Instead of command-line parameters you can use the environment variables
  UPTIMECURL_DEFINITION, UPTIMECURL_TEMPLATE and UPTIMECURL_OUTPUT. These
  can be defined in a .env file in the working directory.

Options:
  --definition FILE  List of test definitions (YAML).
  --template FILE    Template to generate report from test results (Mustache).
  --output FILE      Output path for report (typically HTML).
  --help             Show this message and exit.Sample definitionexample_http:
    type: http_ok
    parameters:
      - http://en.wikipedia.org
example_port:
    type: port_ok
    parameters:
      - en.wikipedia.org
      - 443Sample templateSeehttps://mustache.github.io/mustache.5.htmlfor template language.<tbody>
{{#data}}
  <tr>
    <td title="{{timestamp}}">
      {{name}}
    </td>
    <td title="{{parameters}}">
      {{type}}
    </td>
    <td title="{{message}}">
      {{success_code}}
    </td>
  </tr>
{{/data}}
</tbody>Sample reportRunuptimecurlwithout parameters to generate this sample report in HTML
(hover or view source on each cell for more detail):NameTestResultexample_httphttp_ok❌example_portport_ok💚Test typeshttp_oktest_name:
    type: http_ok
    parameters:
      - https://example.com/pathPerform an HTTP request against any URL (parameter 0).Return 💚 if we get a200 OKresponse, ❌ otherwise.Note that we expect strictly a200 OKreponse. Redirects and other values
will result in a failure. (See the sample report for an example of a failure.)port_oktest_name:
    type: port_ok
    parameters:
      - domain.com
      - 1234Attempt to connect todomain:port(parameter 0, parameter 1).Return 💚 if successful, ❌ otherwise.Note that an open port does not guarantee that the underlying application is
working, just that the server is up and correctly configured.Development environmentInstall prerequisitesPython 3.10pdmmakeInstructionsFork the upstream repository.git clone [fork-url]cd [project-folder]Runmake developto initialise your development environment.You can use any text editor or IDE that supports virtualenv / pdm. See the
Makefile for toolchain details.Pleasemake testandmake lintbefore submitting changes.Make targetsUSAGE: make [target]

help    : Show this message.
develop : Set up Python development environment.
run     : Run from source.
clean   : Remove all build artefacts.
test    : Run tests and generate coverage report.
lint    : Fix or warn about linting errors.
build   : Clean, test, lint, then generate new build artefacts.
publish : Upload build artefacts to PyPI.Sharing and contributionsuptimecurl
https://lofidevops.neocities.org
Copyright 2020 David Seaward and contributors
SPDX-License-Identifier: AGPL-3.0-or-laterShared under AGPL-3.0-or-later. We adhere to the Contributor Covenant 2.1, and
certify origin per DCO 1.1 with a signed-off-by line. Contributions under the
same terms are welcome.Submit security and conduct issues as private tickets. Sign commits withgit commit --signoff. For a software bill of materials runreuse spdx. For
more details see CONDUCT, COPYING and CONTRIBUTING.