5 releases (breaking)

0.8.0 Aug 22, 2024
0.7.0 Jul 15, 2024
0.6.0 Apr 28, 2024
0.5.0 Apr 13, 2024
0.0.3 Apr 2, 2024

#2191 in Command line utilities

MIT license

175KB
4K SLoC

Kuma CLI 🤖 Crates.io Version

Kuma CLI is a Command Line Interface (CLI) tool for managing and interacting with Uptime Kuma. With Kuma CLI you can easily configure, monitor and manage your applications from the command line.

Features 🎯

  • Commands: kuma monitor
    • add
    • delete
    • edit
    • list
    • get
    • pause
    • resume
  • Commands : kuma tag
    • add
    • delete
    • edit
    • ls
    • get
  • Commands : kuma notification
    • add
    • delete
    • edit
    • ls
    • get
  • Commands : kuma maintenance
    • add
    • delete
    • edit
    • ls
    • get
    • pause
    • resume
  • Commands : kuma status-page
    • add
    • delete
    • edit
    • ls
    • get
  • Commands : kuma docker-host
    • add
    • delete
    • edit
    • ls
    • get
    • test

How to Install 📦

Binaries for Windows, Linux and Mac OS are provided for GitHub Releases and additionally Kuma CLI can be installed using cargo:

cargo install --git https://github.com/BigBoot/AutoKuma.git kuma-cli

Usage 💡

Usage: kuma [OPTIONS] [COMMAND]

Commands:
  monitor       Manage Monitors
  notification  Manage Notifications
  tag           Manage Tags
  maintenanc    Manage Maintenances
  help          Print this message or the help of the given subcommand(s)

Options:
      --url <URL>
          The URL AutoKuma should use to connect to Uptime Kuma
      --username <USERNAME>
          The username for logging into Uptime Kuma (required unless auth is disabled)
      --password <PASSWORD>
          The password for logging into Uptime Kuma (required unless auth is disabled)
      --mfa-token <MFA_TOKEN>
          The MFA token for logging into Uptime Kuma (required if MFA is enabled)
      --header <KEY=VALUE>
          Add a HTTP header when connecting to Uptime Kuma
      --connect-timeout <CONNECT_TIMEOUT>
          The timeout for the initial connection to Uptime Kuma [default: 30.0]
      --call-timeout <CALL_TIMEOUT>
          The timeout for executing calls to the Uptime Kuma server [default: 30.0]
      --format <OUTPUT_FORMAT>
          The output format [default: json] [possible values: json, toml, yaml]
      --pretty
          Wether the output should be pretty printed or condensed
  -h, --help
          Print help
  -V, --version
          Print version

Configuration 🔧

All configuration options can also be specified as environment variables:

KUMA__URL="http://localhost:3001/"
KUMA__USERNAME="<username>"
KUMA__PASSWORD="<password>"
...

Additionally Kuma CLI will read configuration from a file named kuma.{toml,yaml,json} in the current directory and in the following locations:

Platform Value Example
Linux $XDG_CONFIG_HOME/kuma/config.{toml,yaml,json} /home/alice/.config/kuma/config.toml
macOS $HOME/Library/Application Support/kuma/config.{toml,yaml,json} /Users/Alice/Library/Application Support/kuma/config.toml
Windows %LocalAppData%\\kuma\\config.{toml,yaml,json} C:\\Users\\Alice\\AppData\\Local\\kuma\\config.toml

An example .toml config could look like the following:

url = "http://localhost:3001/"
username = "<username>"
password = "<password>"

Dependencies

~560MB
~16M SLoC