Skip to main content

clustercheck

Check a cluster before it goes live.

Usage:

clustercheck -c my.config

Example of config:

dns_map:
    www.blah.com: kube.aws.longthing.com
    www.bar.com: 12.34.56.7

plugin:
    - lib: myplugin.py
      name: MyCheck

checks:
    - url: "wss://dev-site.example.io"
      plugin: MyCheck
    - url: "wss://prod-site.example.io"
      plugin: MyCheck
    - url: "https://prod-site.example.io"
      expect: 
        contains: some-string
      args:
        verify: False

This will run 3 checks, 2 of them will re-use the same plugin (MyCheck), and the 3rd, will just hit the url with requests() lib.

Example of plugin:

class MyCheck(clustercheck.Plugin):
    def check(self, url, args):
        return True

Args are "anything in the args yml". They are not checked, so plugins must verify these values.

Check Execution

- dns map is applied first, it monkey-patches the socket library
- dns map is not inherited by subprocesses, it is python in-process only
- each check is executed in order
- if a plugin is not specified, the url must be valid
- plugsin can be named as "module.name" or as "/path/to/file.py"

Generic checks

- urls are checked for status 200, unless expect: status: is changes.
- websockets are only checked for a ping
- args, if any, are passed to the `requests.request()` or `websocket.create_connection()` calls directly
- default "method" for requests is "GET"

Output format

- output is recorded internally as (PASS/FAIL, time, message, check_config)
- default output format is: "{ok} [{time}] {message} {config.url}"
- passing results are not output unless --verbose is set

Metadata

Release files for clustercheck 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for clustercheck 0.1.2
File Size Uploaded
clustercheck-0.1.2.tar.gz 5.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for clustercheck 0.1.2
File Interpreter ABI Platform
clustercheck-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 11.0 kB

Release files / clustercheck-0.1.2.tar.gz

Download URL clustercheck-0.1.2.tar.gz
Size 5.0 kB
Tags Source
SHA-256 checksum
How to use checksums
e796baefbfe79882a95d78da25f38c22188c51da542189c045d5b7898b4f9d99
BLAKE2b-256 checksum
How to use checksums
b690bc3fd4bdd065ff458ee524383e4b8a6b7cdd17963e4795486327fd82913b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.0.10 CPython/3.6.8 Windows/10

Release files / clustercheck-0.1.2-py3-none-any.whl

Download URL clustercheck-0.1.2-py3-none-any.whl
Size 5.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
672f6e0425b3fc58c4d9c9f6ac6990f92527f39cdd866ebc7cccfbccc3bdc51f
BLAKE2b-256 checksum
How to use checksums
9c315e12e31c4bc902470a94a8407250eba1299dcac5b6b65920dfa312aaa910
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.0.10 CPython/3.6.8 Windows/10

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page