forked from kedacore/keda
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: Nisheeka Nynan <[email protected]> Co-authored-by: Liam McNulty <[email protected]> Co-authored-by: Richard Coppen <[email protected]> Co-authored-by: cpilton <[email protected]> Co-authored-by: Jess McCreery <[email protected]> Co-authored-by: Bimsara Pilapitiya <[email protected]> Co-authored-by: Rory Jackson <[email protected]> Co-authored-by: Soheel Chughtai <[email protected]>
- Loading branch information
1 parent
a84fb6c
commit 8cd2993
Showing
1 changed file
with
96 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,96 @@ | ||
+++ | ||
title = "IBM MQ" | ||
layout = "scaler" | ||
availability = "v2.0+" | ||
maintainer = "Community" | ||
description = "Scale applications based on IBM MQ Queue" | ||
go_file = "ibmmq_scaler" | ||
+++ | ||
|
||
### Trigger Specification | ||
|
||
This specification describes the `ibmmq` trigger for IBM MQ Queue. | ||
|
||
```yaml | ||
triggers: | ||
- type: ibmmq | ||
metadata: | ||
host: <ibm-host> # REQUIRED - IBM MQ Queue Manager Admin REST Endpoint | ||
queueManager: <queue-manager> # REQUIRED - Your queue manager | ||
queueName: <queue-name> # REQUIRED - Your queue name | ||
tlsDisabled: <TLS enabled/disabled> # OPTIONAL - Set 'true' to disable TLS. Default: false | ||
queueDepth: <queue-depth> # OPTIONAL - Queue depth target for HPA. Default: 5 messages | ||
usernameFromEnv: <admin-user> # Optional: Provide admin username from env instead of as a secret | ||
passwordFromEnv: <admin-password> # Optional: Provide admin password from env instead of as a secret | ||
authenticationRef: | ||
name: ibmmq-consumer-trigger | ||
``` | ||
**Parameter list** | ||
- `host`: REQUIRED - IBM MQ Queue Manager Admin REST Endpoint. Example URI endpoint structure on IBM cloud `https://example.mq.appdomain.cloud/ibmmq/rest/v2/admin/action/qmgr/QM/mqsc` | ||
- `queueManager`: REQUIRED - Name of the queue manager from which messages will be consumed | ||
- `queueName`: REQUIRED - Name of the Queue within the Queue Manager defined from which messages will be consumed | ||
- `tlsDisabled`: OPTIONAL - A boolean: Can be set to 'true' to disable TLS. False by default. | ||
- `queueDepth`: OPTIONAL - Queue depth Target for HPA. Will be set to Default Value of 5 if not Provided. | ||
- `usernameFromEnv`: OPTIONAL: Provide admin username from env instead of as a secret | ||
- `passwordFromEnv`: OPTIONAL: Provide admin password from env instead of as a secret | ||
|
||
### Authentication Parameters | ||
|
||
TriggerAuthentication CRD is used to connect and authenticate to IBM MQ: | ||
**Authentication Parameters** | ||
- `ADMIN_USER`: REQUIRED - The admin REST endpoint username for your MQ Queue Manager | ||
- `ADMIN_PASSWORD`: REQUIRED - The admin REST endpoint API key for your MQ Queue Manager | ||
- `usernameFromEnv`: OPTIONAL: Provide admin username from env instead of as a secret | ||
- `passwordFromEnv`: OPTIONAL: Provide admin password from env instead of as a secret | ||
|
||
### Example | ||
```yaml | ||
apiVersion: v1 | ||
kind: Secret | ||
metadata: | ||
name: keda-ibmmq-secret | ||
data: | ||
ADMIN_USER: <encoded-username> # REQUIRED - Admin Username | ||
ADMIN_PASSWORD: <encoded-password> # REQUIRED - Admin Password | ||
--- | ||
apiVersion: keda.sh/v1alpha1 | ||
kind: ScaledObject | ||
metadata: | ||
name: ibmmq-scaledobject | ||
namespace: default | ||
labels: | ||
deploymentName: ibmmq-deployment | ||
spec: | ||
scaleTargetRef: | ||
name: ibmmq-deployment | ||
pollingInterval: 5 # OPTIONAL - Default: 30 seconds | ||
cooldownPeriod: 30 # OPTIONAL - Default: 300 seconds | ||
maxReplicaCount: 18 # OPTIONAL - Default: 100 | ||
triggers: | ||
- type: ibmmq | ||
metadata: | ||
host: <ibm-host> # REQUIRED - IBM MQ Queue Manager Admin REST Endpoint | ||
queueManager: <queue-manager> # REQUIRED - Your queue manager | ||
queueName: <queue-name> # REQUIRED - Your queue name | ||
tlsDisabled: <TLS enabled/disabled> # OPTIONAL - Set 'true' to disable TLS. Default: false | ||
queueDepth: <queue-depth> # OPTIONAL - Queue depth target for HPA. Default: 5 messages | ||
usernameFromEnv: <admin-user> # Optional: Provide admin username from env instead of as a secret | ||
passwordFromEnv: <admin-password> # Optional: Provide admin password from env instead of as a secret | ||
authenticationRef: | ||
name: keda-ibmmq-trigger-auth | ||
--- | ||
apiVersion: keda.sh/v1alpha1 | ||
kind: TriggerAuthentication | ||
metadata: | ||
name: keda-ibmmq-trigger-auth | ||
namespace: default | ||
spec: | ||
secretTargetRef: | ||
- parameter: username | ||
name: keda-ibmmq-secret | ||
key: ADMIN_USER | ||
- parameter: password | ||
name: keda-ibmmq-secret | ||
key: ADMIN_PASSWORD | ||
``` |