davsclaus opened a new issue, #9459: URL: https://github.com/apache/camel-quarkus/issues/9459
### Describe the feature here Camel 4.24 adds the new `camel-chaos` module (CAMEL-26330, [chaos page](https://github.com/apache/camel/blob/main/components/camel-chaos/src/main/docs/chaos.adoc)). It is a development tool that turns on faults in a running Camel application, live, and reports how the routes cope. The faults are errors, delays, drops, duplicates and corrupted messages, on endpoints, routes and EIPs. The rules can be added and removed while the app runs, via `camel cmd chaos-*` and the TUI over the CLI connector, or loaded from a scenario file. A matching `camel-quarkus-chaos` extension would make it available to Camel Quarkus users. It can be JVM-only at first: chaos is for development, and it never switches on with profile `prod`. What the module ships and needs: - **The plugin.** `ChaosContextServicePlugin` is a `ContextServicePlugin`, registered in `META-INF/services/org.apache.camel.spi.ContextServicePlugin` and found with `ServiceLoader` by `DefaultContextServiceLoaderPlugin`. In native mode that class has a substitution (`DefaultContextServiceLoaderPluginSubstitutions`), so native support would need the plugin registered at build time. - **The dev console.** The `chaos` dev console is found from `META-INF/services/org/apache/camel/dev-console/chaos`. The CLI connector resolves it by id for `camel get chaos`. - **Switching on.** Chaos is on with Camel profile `dev` or `camel.chaos.enabled=true`, and never with `prod`. Camel Quarkus already sets profile `dev` under `quarkus:dev` (`CamelMainRecorder.customizeDevModeCamelMain`), so dev mode should switch it on with no extra configuration. - **Configuration.** The options are read from the properties component: `camel.chaos.enabled`, `rules`, `scenario`, `reportFile`, `seed` and `maxDuration`. They are camel-main options (`ChaosConfigurationProperties`). `camel.chaos.rules` and `camel.chaos.scenario` are marked `insecure:dev`. A scenario can be a `classpath:` resource, which native mode would need to include. On the Camel side, `camel run --chaos` works with the JBang, Camel Main and Spring Boot runtimes. With `--runtime=quarkus` it is refused for now (CAMEL-26479, https://github.com/apache/camel/pull/29411). The export would put `camel-chaos` 4.24 next to the older `camel-core` of the current Camel Quarkus release. Once Camel Quarkus is on Camel 4.24 and has this extension, `camel run --runtime=quarkus --chaos` can add it to the exported project, the same way as Spring Boot. _Claude Code on behalf of davsclaus_ -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
