Chaostoolkit-lib

Latest version: v1.44.0

Safety actively analyzes 681866 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 13 of 19

1.0.0rc3

Changed

- Fix differences of API between Vault KV secret v1 and v2 [80][80]
- Catch Vault AppRole client error [81][81]
- Support now [Service Account][serviceaccount] Vault authentication to access Vault secrets [82][82]

[80]: https://github.com/chaostoolkit/chaostoolkit-lib/issues/80
[81]: https://github.com/chaostoolkit/chaostoolkit-lib/issues/81
[82]: https://github.com/chaostoolkit/chaostoolkit-lib/pull/82

1.0.0rc2

Changed

- Ensure Python control can be found [63][63]
- Ensure activity is looked up before control is applied [64][64]
- Ensure controls are applied only once before/after [65][65]
- Declare the name property in the catch block of the python control
validator [66][66]
- Use `ImportError` exception instead of `ModuleNotFoundError` which is not
declared in Python 3.5 [67][67]
- Disallow empty JSON path [68][68]
- Pass the experiment to each control when requested via the `experiment`
parameter of the Python function [69][69]
- Specify the [Vault KV secret][kvversion] default version to be used via the
`"vault_kv_version"` configuration property, defaulting to v2
- Support now [AppRole][approle] Vault authentication to access Vault secrets
thanks to AlexShemeshWix [74][74]
- [BREAKING] Vault secrets are now accessed via the `path` property [77][77]
instead of the `key` property as before. A warning message will be displayed.

json
{
"k8s": {
"mykey": {
"type": "vault",
"path": "foo/bar"
}
}
}


In that case, you get the whole secrets payload from Vault set to the `mykey`
property. If you want a specific value from that payload, specify its key
as follows:

json
{
"k8s": {
"mykey": {
"type": "vault",
"path": "foo/bar",
"key": "mypassword"
}
}
}

- Switch to `yaml.safe_load()` vs the unsafe `yaml.load()` to load YAML
experiments [78][78]

[63]: https://github.com/chaostoolkit/chaostoolkit-lib/issues/63
[64]: https://github.com/chaostoolkit/chaostoolkit-lib/issues/64
[65]: https://github.com/chaostoolkit/chaostoolkit-lib/issues/65
[66]: https://github.com/chaostoolkit/chaostoolkit-lib/issues/66
[67]: https://github.com/chaostoolkit/chaostoolkit-lib/issues/67
[68]: https://github.com/chaostoolkit/chaostoolkit-lib/issues/68
[69]: https://github.com/chaostoolkit/chaostoolkit-lib/issues/69
[74]: https://github.com/chaostoolkit/chaostoolkit-lib/pull/74
[77]: https://github.com/chaostoolkit/chaostoolkit-lib/issues/77
[78]: https://github.com/chaostoolkit/chaostoolkit-lib/issues/78

[kvversion]: https://www.vaultproject.io/api/secret/kv/index.html
[approle]: https://www.vaultproject.io/api/auth/approle/index.html
[serviceaccount]: https://www.vaultproject.io/api/auth/kubernetes/index.html

1.0.0rc1

Changed

- Let's get ready to roll 1.0.0
- Pinned dependency versions

0.22.2

Changed

* Remove `NoReturn` import as it is not available prior Python 3.6.5 [90][90]

[90]: https://github.com/chaostoolkit/chaostoolkit/issues/90

0.22.1

Added

* Bug fix release for missing exporting the chaoslib/control package
* Exposing readme as markdown in https://pypi.org/

0.22.0

Added

- listing installed Chaos Toolkit extensions [64][64]
- log (at DEBUG level) which Python file holds an activity or control provider
function [59][59]
- add controls to provide entry points into the execution flow to perform
out of band tasks such as tracing, monitoring or run's control [84][84]
Simply add a block such as:

"controls": [
{
"name": "tracing",
"provider": {
"type": "python",
"module": "chaostracing.control"
}
}
]

At the experiment, steady-state and/or activity level. This would apply
the `tracing` control before and after the element it is enclosed in.

By default, a control defined at the experiment level will be applied
before and after, if you want to limit to one or the other, use the
`scope` property:


"controls": [
{
"name": "tracing",
"scope": "after",
"provider": {
"type": "python",
"module": "chaostracing.control"
}
}
]


By default, a control defined at the experiment level will be applied at
all sub-levels. You can change that behavior like this:


"controls": [
{
"name": "tracing",
"automatic": false,
"provider": {
"type": "python",
"module": "chaostracing.control"
}
}
]


[64]: https://github.com/chaostoolkit/chaostoolkit/issues/64
[59]: https://github.com/chaostoolkit/chaostoolkit-lib/issues/59
[84]: https://github.com/chaostoolkit/chaostoolkit/issues/84

Page 13 of 19

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.