knockknock10 opened a new pull request, #6922:
URL: https://github.com/apache/camel-k/pull/6922
## What does this PR do?
Fixes #6911.
Adds opt-in automatic KEDA IBM MQ trigger discovery for Camel's generic JMS
component.
IBM MQ commonly uses Camel's generic `jms` component, which is also used by
other JMS providers. Therefore, the provider cannot safely be inferred from the
endpoint URI alone.
This implementation requires an explicit provider discriminator:
```yaml
traits:
keda:
enabled: true
autoMetadata:
ibmmq:
queueType: ibm
host: https://mq.example.com/ibmmq/rest/v2/admin/action/qmgr/QM1/mqsc
queueDepth: "25"
```
### Implementation details
- Registers an IBM MQ mapper for Camel's `jms` component.
- Requires `keda.autoMetadata.ibmmq.queueType=ibm` before mapping a JMS
endpoint.
- Requires the IBM MQ Queue Manager Admin REST endpoint through
`keda.autoMetadata.ibmmq.host`.
- Derives `queueName` from JMS queue destinations, supporting both
`jms:queue:ORDERS` and the default queue form `jms:ORDERS`.
- Ignores topics, temporary destinations, non-IBM JMS providers, and
configurations without the required discriminator or Admin REST host.
- Removes the internal `queueType` discovery hint before generating KEDA
trigger metadata.
- Preserves the remaining IBM MQ auto-metadata values.
- Adds an optional metadata-aware mapper interface while keeping the
existing `ScaleMapper` contract and `MapToKedaTrigger` entry point compatible.
### Tests
Adds mapper-level and trait-level tests covering:
- Mapper registration.
- Queue destination mapping.
- Default queue destination handling.
- Topic and temporary destination rejection.
- Explicit IBM MQ provider selection.
- Missing or invalid provider discriminator.
- Missing required Admin REST host.
- Additional metadata propagation.
- Ensuring `queueType` is not emitted as KEDA scaler metadata.
### Documentation
Updates the KEDA trait documentation and the KEDA scaler contributor guide
with IBM MQ configuration, discovery requirements, and authentication guidance.
### Validation status
Tests have been added but have **not yet been executed locally**. CI results
are needed to verify the implementation.
An IBM MQ service-backed end-to-end test is not included in this PR. The
shared KEDA workflow in #6920 is still under review, and this can be extended
once that workflow is available.
--
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]