Metadata-Version: 2.5
Name: chaotic-ngine
Version: 1.0.0
Summary: Chaos for Clouds.
Project-URL: Homepage, https://github.com/ngine-io/chaotic
Project-URL: Documentation, https://ngine-io.github.io/chaotic/
Project-URL: Source, https://github.com/ngine-io/chaotic
Project-URL: Issues, https://github.com/ngine-io/chaotic/issues
Author-email: René Moser <mail@renemoser.net>
License-Expression: MIT
License-File: LICENSE
Keywords: chaos-engineering,cloud,nomad,proxmox,sre
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: System :: Systems Administration
Classifier: Typing :: Typed
Requires-Python: >=3.10
Requires-Dist: cloudscale-sdk>=0.7
Requires-Dist: cs>=4.0
Requires-Dist: hcloud>=2.0
Requires-Dist: proxmoxer>=2.0
Requires-Dist: python-digitalocean>=1.17
Requires-Dist: python-dotenv>=1.0
Requires-Dist: python-json-logger>=3.1
Requires-Dist: pyyaml>=6.0
Requires-Dist: requests>=2.32
Requires-Dist: schedule>=1.2
Requires-Dist: truststore>=0.10
Description-Content-Type: text/markdown

![license](https://img.shields.io/pypi/l/chaotic-ngine.svg)
![python versions](https://img.shields.io/pypi/pyversions/chaotic-ngine.svg)
![status](https://img.shields.io/pypi/status/chaotic-ngine.svg)
[![pypi version](https://img.shields.io/pypi/v/chaotic-ngine.svg)](https://pypi.org/project/chaotic-ngine/)
![PyPI - Downloads](https://img.shields.io/pypi/dw/chaotic-ngine)
[![CI](https://github.com/ngine-io/chaotic/actions/workflows/ci.yml/badge.svg)](https://github.com/ngine-io/chaotic/actions/workflows/ci.yml)
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)

# Chaotic - Chaos for Clouds

Chaotic evaluates a plan, how it will bring chaos in your Cloud environment.

It picks one random target per run and does something unpleasant but recoverable
to it: stop and start a virtual machine, signal a HashiCorp Nomad allocation, or
drain a Nomad client node.

## Quick start

```shell
pip install chaotic-ngine
```

```yaml
# config.yaml
---
kind: proxmox
dry_run: true
configs:
  filter_tag: chaos-target
excludes:
  weekdays: [Sat, Sun]
```

```shell
chaotic-ngine --config config.yaml
```

Flip `dry_run` to `false` once the logs show it selecting what you expect.

## Supported clouds

Apache CloudStack, cloudscale.ch, DigitalOcean, HashiCorp Nomad, Hetzner Cloud,
Proxmox and Vultr.

## Documentation

Please visit https://ngine-io.github.io/chaotic/

Contributing and local development: see
[docs/development.md](docs/development.md).

## License

MIT License
