Giter Site home page Giter Site logo

devopsforhumans / kumaone Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 1.0 426 KB

Automation friendly bulk action CLI helper for Uptime Kuma.

Home Page: https://kumaone.rtfd.io

License: BSD 3-Clause "New" or "Revised" License

Python 100.00%
bulk-actions uptime-kuma uptime-monitor uptime-kuma-api cli kuma python self-hosted typer incident maintenance monitoring rich status-page automation

kumaone's Introduction

kumaone

Hatch project PyPI - Version PyPI - Python Version Documentation Status


Table of Contents

Note

kumaone's primary objective is to enable users to perform bulk action in uptime kuma server. A very special thanks to the author and contributors of the project uptime-kuma-api. kumaone is built by studying and understanding the code of uptime-kuma-api and in places I used some parts of the code as it is from uptime-kuma-api. Appreciate the outstanding work done by the author and contributors of both uptime kuma and uptime-kuma-api project.

kumaone is a CLI application. Designed for bulk operations mainly from reading configuration files. kumaone is very early in development. Contribution and constructive feedbacks are always welcome.

Virtualenv

  • Install pipenv from here

  • Activate virtual environment

    pipenv shell

    if there are no virtual environment available (e.g. first use), a virtual environment will be created and activated automatically.

  • Install dependencies

    To install dependencies with pipenv use the following command

    pipenv install

    To install dev dependencies use --dev flag

    pipenv install --dev

Installation

pip install kumaone

Installation (Dev)

pip install -e .

To Do List

Info

  • Show information about kumaone

Configuration

  • Show uptime kuma configuration (default/custom paths).
  • Create uptime kuma configuration (default/custom path).
  • Delete uptime kuma configuration.
  • Edit uptime kuma configuration.

Monitors

  • Supported Monitor types (tested)
    • HTTP
    • JSON_QUERY
    • PING
  • List all monitors.
  • List monitor by groups and processes also.
  • Show details of a monitor by ID.
  • Bulk add monitors from file(s).
  • Bulk delete monitors from file(s).
  • Add single monitor from inline dictionary data.
  • Delete single Monitor by name.
  • Delete single monitor by id.

Status Page

  • List all staus page(s).
  • See details of a single status page.
  • Add a new status page.
  • Add status pages from file(s).
  • Delete single status page by slug.
  • Delete status page from file(s).

Notification

  • Supported notification providers (tested)
    • Discord
    • Email(SMTP)
    • Opsgenie
    • PagerDuty
    • Rocket.Chat
    • Slack
    • Teams
    • Webhook
  • List all notification(s).
  • See details of a single notification by name/id.
  • Add new notification (interactive).
  • Add notifications from single file.
  • Delete notification by name.
  • Delete notification by id.
  • Delete notifications from single file.

Maintenance

TBA

Incident

TBA

Change Password

  • Change password from CLI.
  • Update password in kumaone config.

Cleanup

  • Clear heartbeats.
  • Clear statistics.
  • Clear events.

Backlog

  • Don't stop the program if one monitor process runs into error.
  • Add debug logs for methods.

kumaone's People

Contributors

dalwar23 avatar

Watchers

 avatar

Forkers

lidi

kumaone's Issues

Add Capability to configure notification settings while creating monitors

Currently kumaone creates monitors and notification but can not handle the following configuration and enable desired notification automatically from file(s) YAML input.

Resend Notification if Down X times consecutively (Resend disabled)

We would like to add the capability to do so via YAML file and kumaone.

Same name notification being added multiple times

๐Ÿ“‘ I have found these related issues/pull requests

None found.

Description

If we try to create notification from the same file. kumaone creates new notification settings. If ran multiple times the same command, it creates multiple notification settings.

image

๐Ÿ‘Ÿ Reproduction steps

  1. Install kumaone
  2. Create notification config file as mentioned here
  3. Run kumaone notification add --notifications /path/to/your/notification/file
  4. Check the GUI for notification settings
  5. Run step 3 again

๐Ÿ‘€ Expected behavior

Multiple run should be idempotent. Existing notification setting with same name should be skipped.

๐Ÿ˜“ Actual Behavior

Keeps creating more notification settings with same name.

๐Ÿป Kumaone Version

0.0.1-alpha.6

๐Ÿ’ป Operating System and Arch

macOS Sonoma 14.2.1

๐Ÿ–ฅ๏ธ Deployment Environment

  • Python: 3.11
  • Pipenv: 2023.11.15

๐Ÿ“ Relevant log output

No response

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.