Skip to content
This repository has been archived by the owner on Jan 25, 2023. It is now read-only.

wata-gh/kashi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kashi

Kashi is a tool to manage StatusCake. It defines the state of StatusCake using DSL, and updates StatusCake according to DSL.

Installation

Add this line to your application's Gemfile:

gem 'kashi'

And then execute:

$ bundle

Or install it yourself as:

$ gem install kashi

Usage

export KASHI_SC_USER='...'
export KASHI_SC_API_KEY='...'
kashi -e # export StatusCake
vi SCfile
kashi -a --dry-run
kashi -a # apply `SCfile` to StatusCake

Help

Usage: kashi [options]
    -h, --help                       Show help
    -a, --apply                      Apply DSL
    -e, --export                     Export to DSL
    -n, --dry-run                    Dry run
        --no-color
                                     No color
        --secret-provider NAME
                                     use secret value expansion
    -s, --split                      Split export DLS file contact group and tests
        --split-more
                                     Split export DLS file to 1 per object
    -v, --debug                      Show debug log
    -i, --include-names NAMES        include website_name
    -x, --exclude-names NAMES        exclude website_name by regex

SCfile

See Accepted values at documents below.

cake do
  contact_group do
    group_name "Alarm"
    desktop_alert 0
    email ["wata.gm@gmail.com"]
    boxcar ""
    pushover ""
    ping_url ""
    mobile nil
  end

  test do
    paused 0

    test_type "HTTP"

    # Required Details
    website_name "your awesome site"
    website_url "https://example.com/healthcheck"

    contact_group ["Alarm"]

    # Scans
    enable_ssl_warning 1

    # HTTP Communication Options
    find_string ""
    do_not_find 0
    follow_redirect 1
    final_endpoint ""
    custom_header(
      {"Host"=>"example.com"}
    )
    status_codes ["204", "205", "206", "303", "400", "401", "403", "404", "405", "406", "408", "410", "413", "444", "429", "494", "495", "496", "499", "500", "501", "502", "503", "504", "505", "506", "507", "508", "509", "510", "511", "521", "522", "523", "524", "520", "598", "599", "302"]

    logo_image ""

    # Test Locations
    node_locations ["freeserver11"]

    # Threshold Control
    trigger_rate "0"
    confirmation "2"

    # Additional Options
    check_rate 300
    timeout 40
    test_tags ["Web", "Internal"]
    website_host ""
  end
end

Secret provider

If you don't want to commit your Basic authentication password, you can use SecretProvider. Use --secret-provider option to select provider.(e.g. --secret-provider=vault) Expression inside ${...} is passed to provider.

  basic_user "username"
  basic_pass "${password}"

Similar tools

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/wata-gh/kashi.

License

The gem is available as open source under the terms of the MIT License.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published