PromisingServiceGroup custom resource manifest

Use PromisingServiceGroup to manage number of deployments, replica counts, thread counts and more, for Promising service resources.
To create a PromisingServiceGroup, you can use any of the following methods:
  • Method 1: Specify the name property, which is the environment to which you want to deploy your service group. The service properties such as appServers, backendServers, and other properties, are automatically populated when the service group is created. You can customize it by configuring as needed. For more information, see Configuring PromisingServiceGroup custom resource (independent mode).
  • Method 2: Copy and paste an already tested PromisingServiceGroup schema from one environment to another. This method saves you time from creating a service group from scratch.
You can run the following YAML to populate the spec based on the kind and name of the environment. The value of <name> can be dev, production, or any value for the flexible mode.
apiVersion: apps.sip.ibm.com/v1beta1
kind: PromisingServiceGroup
metadata:
  name: <name>
  namespace: <sip_installation_namespace>
spec: {}

The following examples illustrates schemas for PromisingServiceGroup custom resource in a development and production modes.

Figure 1. Development mode
apiVersion: apps.sip.ibm.com/v1beta1
kind: PromisingServiceGroup
metadata:
  name: dev
  namespace: <sip_installation_namespace>
spec:
  active: true
  pod:
    podAnnotations: {}
    podLabels: {}
  logLevel: INFO ##Allowed values are: OFF, FATAL, ERROR, WARN, INFO, DEBUG, TRACE, 
  affinityAndTolerations: ""
  horizontalPodAutoscaler: ""  
  topology: {}
  image:
   imagePullSecrets:
     - name: ibm-entitlement-key
     - name: my-private-registry-key1
   repository: <container_registry>
   tag: <release_tag>
  appServers:
    - active: true
      groupName: appserver
      names:
        - promising-server
      replicaCount: 1
      pod:
        podAnnotations: {}
        podLabels: {}   
      affinityAndTolerations: ""
      horizontalPodAutoscaler: ""
      topology: {}
      logLevel: INFO
  backendServers:
    - active: true
      groupName: backend
      names:
        - 'odx-source-stream-flatten:1'
        - 'cas-carrier-service-sync-flatten:1'
        - 'prm-source-stream-demux:1'
        - 'prm-shipnode-sync:1'
        - 'prm-carrier-service-sync:1'
        - 'prm-carrier-service-deleted:1'
        - 'cat-item-events-flatten:1'
        - 'item-upserted-handler:1'
        - 'item-deleted-handler:1'
        - 'iv-supply-breakup-source-stream-flatten:1'
        - 'iv-supply-breakup-snapshot-source-stream-flatten:1'
        - 'iv-supply-breakup-sink-stream-consumer:1'
        - 'prm-node-day-capacity-availability-publisher:1'
      replicaCount: 1
      pod:
        podAnnotations: {}
        podLabels: {}          
      affinityAndTolerations: ""
      horizontalPodAutoscaler: ""
      topology: {}
      logLevel: INFO
  defaultresources:
    limits:s
      cpu: '1'
      memory: 1536Mi
    requests:
      cpu: 100m
      memory: 1Gi
  jobs:
    - name: cassandra-onboarding-job
      pod:
        podAnnotations: {}
        podLabels: {}
      affinityAndTolerations: "" 
      topology: {}
      logLevel: INFO
      JobBackoffLimit: ""      
      resources:
        limits:
          cpu: '1'
          memory: 1536Mi
        requests:
          cpu: 250m
          memory: 512Mi 
  jobs:
    - name: prepare-environment-job
      pod:
        podAnnotations: {}
        podLabels: {}
      affinityAndTolerations: "" 
      topology: {}  
      logLevel: INFO
      JobBackoffLimit: ""      
      resources:
        limits:
          cpu: '1'
          memory: 1536Mi
        requests:
          cpu: 250m
          memory: 512Mi
Figure 2. Production mode
apiVersion: apps.sip.ibm.com/v1beta1
kind: PromisingServiceGroup
metadata:
  name: production
  namespace: <sip_installation_namespace>
spec:
  active: false
  pod:
    podAnnotations: {}
    podLabesl: {}
  logLevel: INFO ##Allowed values are: OFF, FATAL, ERROR, WARN, INFO, DEBUG, TRACE, ALL
  image:
   imagePullSecrets:
     - name: ibm-sip-jwt-operators-pull-secret
   repository: <container_registry>
   tag: <release_tag>  
  affinityAndTolerations: ""
  horizontalPodAutoscaler: ""  
  topology: {}
  appServers:
    - active: true
      names:
        - promising-server
      replicaCount: 2
      affinityAndTolerations: ""
      horizontalPodAutoscaler: ""
      topology: {}
      pod:
        podAnnotations: {}
        podLabesl: {}
      logLevel: INFO  
      resources:
        limits:
          cpu: '1'
          memory: 1536Mi
        requests:
          cpu: 250m
          memory: 512Mi      
  backendServers:
    - active: true
      names:
        - 'odx-source-stream-flatten:5'
      replicaCount: 2
      affinityAndTolerations: ""
      horizontalPodAutoscaler: ""
      topology: {}
      pod:
        podAnnotations: {}
        podLabesl: {}
      logLevel: INFO  
      resources:
        limits:
          cpu: '1'
          memory: 1536Mi
        requests:
          cpu: 250m
          memory: 512Mi   
    - active: true
      names:
        - 'cas-carrier-service-sync-flatten:5'
      replicaCount: 2
      affinityAndTolerations: ""
      horizontalPodAutoscaler: ""
      topology: {}
      pod:
        podAnnotations: {}
        podLabesl: {}
      logLevel: INFO  
      resources:
        limits:
          cpu: '1'
          memory: 1536Mi
        requests:
          cpu: 250m
          memory: 512Mi       
    - active: true
      replicaCount: 2
      affinityAndTolerations: ""
      horizontalPodAutoscaler: ""
      topology: {}
      pod:
        podAnnotations: {}
        podLabesl: {}
      logLevel: INFO  
      resources:
        limits:
          cpu: '1'
          memory: 1536Mi
        requests:
          cpu: 250m
          memory: 512Mi     
      names:
        - 'prm-source-stream-demux:5'
      replicaCount: 2
      affinityAndTolerations: ""
      horizontalPodAutoscaler: ""
      topology: {}
      pod:
        podAnnotations: {}
        podLabesl: {}
      logLevel: INFO  
      resources:
        limits:
          cpu: '1'
          memory: 1536Mi
        requests:
          cpu: 250m
          memory: 512Mi 
    - active: true
      names:
        - 'prm-shipnode-sync:5'
      replicaCount: 2     
    - active: true
      names:
        - 'prm-carrier-service-sync:5'
      replicaCount: 2
    - active: true
      names:
        - 'prm-carrier-service-deleted:5'
      replicaCount: 2
      affinityAndTolerations: ""
      horizontalPodAutoscaler: ""
      topology: {}
      pod:
        podAnnotations: {}
        podLabesl: {}
      logLevel: INFO  
      resources:
        limits:
          cpu: '1'
          memory: 1536Mi
        requests:
          cpu: 250m
          memory: 512Mi       
    - active: true
      names:
        - 'cat-item-events-flatten:5'
      replicaCount: 2
      affinityAndTolerations: ""
      horizontalPodAutoscaler: ""
      topology: {}
      pod:
        podAnnotations: {}
        podLabesl: {}
      logLevel: INFO  
      resources:
        limits:
          cpu: '1'
          memory: 1536Mi
        requests:
          cpu: 250m
          memory: 512Mi  
    - active: true
      names:
        - 'item-upserted-handler:5'
      replicaCount: 2
      affinityAndTolerations: ""
      horizontalPodAutoscaler: ""
      topology: {}
      pod:
        podAnnotations: {}
        podLabesl: {}
      logLevel: INFO  
      resources:
        limits:
          cpu: '1'
          memory: 1536Mi
        requests:
          cpu: 250m
          memory: 512Mi  
    - active: true
      names:
        - 'item-deleted-handler:5'
      replicaCount: 2
      affinityAndTolerations: ""
      horizontalPodAutoscaler: ""
      topology: {}
      pod:
        podAnnotations: {}
        podLabesl: {}
      logLevel: INFO  
      resources:
        limits:
          cpu: '1'
          memory: 1536Mi
        requests:
          cpu: 250m
          memory: 512Mi  
    - active: true
      names:
        - 'iv-supply-breakup-source-stream-flatten:5'
      replicaCount: 2
      affinityAndTolerations: ""
      horizontalPodAutoscaler: ""
      topology: {}
      pod:
        podAnnotations: {}
        podLabesl: {}
      logLevel: INFO  
      resources:
        limits:
          cpu: '1'
          memory: 1536Mi
        requests:
          cpu: 250m
          memory: 512Mi        
    - active: true
      names:
        - 'iv-supply-breakup-snapshot-source-stream-flatten:5'
      replicaCount: 2
      affinityAndTolerations: ""
      horizontalPodAutoscaler: ""
      topology: {}
      pod:
        podAnnotations: {}
        podLabesl: {}
      logLevel: INFO  
      resources:
        limits:
          cpu: '1'
          memory: 1536Mi
        requests:
          cpu: 250m
          memory: 512Mi        
    - active: true
      names:
        - 'iv-supply-breakup-sink-stream-consumer:5'
      replicaCount: 2
      affinityAndTolerations: ""
      horizontalPodAutoscaler: ""
      topology: {}
      pod:
        podAnnotations: {}
        podLabesl: {}
      logLevel: INFO  
      resources:
        limits:
          cpu: '1'
          memory: 1536Mi
        requests:
          cpu: 250m
          memory: 512Mi        
    - active: true
      names:
        - 'prm-node-day-capacity-availability-publisher:1'
      replicaCount: 1
      affinityAndTolerations: ""
      horizontalPodAutoscaler: ""
      topology: {}
      pod:
        podAnnotations: {}
        podLabesl: {}
      logLevel: INFO  
      resources:
        limits:
          cpu: '1'
          memory: 1536Mi
        requests:
          cpu: 250m
          memory: 512Mi        
  defaultresources:
    limits:
      cpu: '1'
      memory: 1536Mi
    requests:
      cpu: 100m
      memory: 1Gi
  jobs:
    - name: cassandra-onboarding-job
      affinityAndTolerations: ""
      horizontalPodAutoscaler: ""
      topology: {}
      pod:
        podAnnotations: {}
        podLabesl: {}      
      logLevel: INFO 
      jobBackoffLimit: "" 
      resources:
        limits:
          cpu: '1'
          memory: 1536Mi
        requests:
          cpu: 250m
          memory: 512Mi    
    - name: prepare-environment-job
      affinityAndTolerations: ""
      horizontalPodAutoscaler: ""
      topology: {}
      pod:
        podAnnotations: {}
        podLabesl: {}      
      logLevel: INFO  
      jobBackoffLimit: "" 
      resources:
        limits:
          cpu: '1'
          memory: 1536Mi
        requests:
          cpu: 250m
          memory: 512Mi   
status: {}