Comments (9)
I have recently started using CTK for a product in my organization and I came across this issue during the research. Having the ability in CTK to build custom extensions using python is a great plus. It would be even better if CTK provides ability to have custom extension of a different provider other than python, for example scala in my case. With growing products using CTK for their chaos engineering, I suppose this will soon be a requirement by most. Enabling the provider to run the scripts of different languages by a command that can specified inside the experiment would be fantastic. If the environment has the dependencies of that particular file (java, or scala, or c, etc) the script would run, else it would fail. Having the environment pre-requisites is the reponsibility of the engineers and not of the framework (CTK). Giving an option to run different files by your custom commands would be just fantastic.
from chaostoolkit-lib.
I recommend using a network RPC interface over brittle extensions. Both Go and Rust produce statically compiled binaries. See https://www.terraform.io/docs/internals/internal-plugins.html for some inspiration.
from chaostoolkit-lib.
Although I think a RPC provider would be neat, I'm not sure the network is more reliable than simply calling out an exported function ;)
With that said, it's an interesting approach. My main concern is that some extensions start becoming stateful and more complex than the current interface invites for.
from chaostoolkit-lib.
We're talking about local network requests only, of course.
Just take my comment as input, nothing more. I'm pretty indifferent to the outcome, TBH.
from chaostoolkit-lib.
I think an RPC provider is actually a good idea in general to be honest. That would make the API much more visible to the outside world.
from chaostoolkit-lib.
Hey @kv-pradeep great suggestion and thank you for updating the issue.
I wonder, would you be able to sketched what this could look like to you?
from chaostoolkit-lib.
As a reference, I wonder if wasm wouldn't be a nice intermediate way of extending the toolkit outside of Python
https://github.com/wasmerio/python-ext-wasm
from chaostoolkit-lib.
This Issue has not been active in 365 days. To re-activate this Issue, remove the Stale
label or comment on it. If not re-activated, this Issue will be closed in 7 days.
from chaostoolkit-lib.
This Issue was closed because it was not reactivated after 7 days of being marked Stale
.
from chaostoolkit-lib.
Related Issues (20)
- Move from setup.py to setup.cfg
- Moving to pylama
- Secrets should allow for arbitrary levels of nesting HOT 3
- Secrets testing taking advantage of side effect HOT 1
- What is intended behavior when secrets stored in a vault are overridden? HOT 3
- If a vault fails to load, should it raise an exception? HOT 2
- Dynamic configuration values HOT 11
- Invalid name reported in logs on Python provider validation
- chao run is failing to run "got an unexpected keyword argument 'continous_hypothesis_frequency'" HOT 3
- Whenever using settings.yaml file, before and after activity control called only from 1 control. HOT 6
- after_activity_control state.status is "succeeded" but probe tolerance wasn't met HOT 2
- Use dynamic config more then once, use the dynamic config as an argument to some other dynamic config doesn't working
- Experiment level controls not applied to activity when control declared on activity
- Fix dynamic config and env type config when using them in extra_vars HOT 18
- Load experiment configuration context from files even if not defined in experiment template HOT 3
- Status should be `completed` when all tolerances executed fine but tolerance wasn't matched HOT 1
- Loading var files without an extension fails
- Allow configuration substitution on jsonpath expect HOT 2
- Error in python 3.11 HOT 1
- Enhance Experiment Logs to Include Detailed ImportError Information
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from chaostoolkit-lib.