Skip to content

Commit

Permalink
IBM MQ scaler doc (kedacore#283)
Browse files Browse the repository at this point in the history
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
8 people authored Oct 23, 2020
1 parent a84fb6c commit 8cd2993
Showing 1 changed file with 96 additions and 0 deletions.
96 changes: 96 additions & 0 deletions content/docs/2.0/scalers/ibm-mq.md
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
```

0 comments on commit 8cd2993

Please sign in to comment.