name: {{ .Values.global.commonConfigPrefix  }}-config
             subPath: log.conf
           resources:
-{{ toYaml .Values.resources | indent 12 }}
+{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }}
         {{- if .Values.nodeSelector }}
         nodeSelector:
 {{ toYaml .Values.nodeSelector | indent 10 }}
 
 replicaCount: 1
 nodeSelector: {}
 affinity: {}
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+  small:
+    limits:
+      memory: 4Gi
+      cpu: 2000m
+    requests:
+      memory: 1Gi
+      cpu: 500m
+  large:
+    limits:
+      memory: 8Gi
+      cpu: 4000m
+    requests:
+      memory: 2Gi
+      cpu: 1000m
 # probe configuration parameters
 liveness:
   initialDelaySeconds: 10
 readiness:
   initialDelaySeconds: 10
   periodSeconds: 10
-resources: {}
 
         - name: {{ include "common.fullname" . }}-data
           mountPath: /var/lib/cassandra/data
         resources:
-{{ toYaml .Values.resources | indent 12 }}
+{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }}
       {{- if .Values.nodeSelector }}
       nodeSelector:
 {{ toYaml .Values.nodeSelector | indent 10 }}
 
 
 affinity: {}
 
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+  small:
+    limits:
+      memory: 16Gi
+      cpu: 8000m
+    requests:
+      memory: 8Gi
+      cpu: 4000m
+  large:
+    limits:
+      memory: 32Gi
+      cpu: 16000m
+    requests:
+      memory: 16Gi
+      cpu: 8000m
 # probe configuration parameters
 liveness:
   initialDelaySeconds: 10
 
 ingress:
   enabled: false
-
-resources: {}
 
             name: {{ .Values.global.commonConfigPrefix }}-config
             subPath: healthy.sh
           resources:
-{{ toYaml .Values.resources | indent 12 }}
+{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }}
         {{- if .Values.nodeSelector }}
         nodeSelector:
 {{ toYaml .Values.nodeSelector | indent 10 }}
 
 replicaCount: 1
 nodeSelector: {}
 affinity: {}
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+  small:
+    limits:
+      memory: 4Gi
+      cpu: 2000m
+    requests:
+      memory: 1Gi
+      cpu: 500m
+  large:
+    limits:
+      memory: 8Gi
+      cpu: 4000m
+    requests:
+      memory: 2Gi
+      cpu: 1000m
 # probe configuration parameters
 liveness:
   initialDelaySeconds: 10
 readiness:
   initialDelaySeconds: 10
   periodSeconds: 10
-resources: {}
 
             name: {{ .Values.global.commonConfigPrefix }}-config
             subPath: AAF_RootCA.cer
           resources:
-{{ toYaml .Values.resources | indent 12 }}
+{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }}
         {{- if .Values.nodeSelector }}
         nodeSelector:
 {{ toYaml .Values.nodeSelector | indent 10 }}
 
 replicaCount: 1
 nodeSelector: {}
 affinity: {}
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+  small:
+    limits:
+      memory: 4Gi
+      cpu: 2000m
+    requests:
+      memory: 1Gi
+      cpu: 500m
+  large:
+    limits:
+      memory: 8Gi
+      cpu: 4000m
+    requests:
+      memory: 2Gi
+      cpu: 1000m
 # probe configuration parameters
 liveness:
   initialDelaySeconds: 10
 readiness:
   initialDelaySeconds: 10
   periodSeconds: 10
-resources: {}
 
         - name: {{ include "common.name" . }}
           image: "{{ include "common.repository" . }}/{{ .Values.image }}"   #"
           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          resources:
+{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }}
           ports:
           - containerPort: {{ .Values.service.internalPort }}
           # disable liveness probe when breakpoints set in debugger
 
 
 affinity: {}
 
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+  small:
+    limits:
+      memory: 4Gi
+      cpu: 2000m
+    requests:
+      memory: 1Gi
+      cpu: 500m
+  large:
+    limits:
+      memory: 8Gi
+      cpu: 4000m
+    requests:
+      memory: 2Gi
+      cpu: 1000m
 # probe configuration parameters
 liveness:
   initialDelaySeconds: 10
   portName: oof-has-music
 ingress:
   enabled: false
-
-resources: {}
 
             name: {{ .Values.global.commonConfigPrefix }}-config
             subPath: healthy.sh
           resources:
-{{ toYaml .Values.resources | indent 12 }}
+{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }}
         {{- if .Values.nodeSelector }}
         nodeSelector:
 {{ toYaml .Values.nodeSelector | indent 10 }}
 
 replicaCount: 1
 nodeSelector: {}
 affinity: {}
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+  small:
+    limits:
+      memory: 4Gi
+      cpu: 2000m
+    requests:
+      memory: 1Gi
+      cpu: 500m
+  large:
+    limits:
+      memory: 8Gi
+      cpu: 4000m
+    requests:
+      memory: 2Gi
+      cpu: 1000m
 # probe configuration parameters
 liveness:
   initialDelaySeconds: 10
 readiness:
   initialDelaySeconds: 10
   periodSeconds: 10
-resources: {}
 
             name: {{ .Values.global.commonConfigPrefix }}-config
             subPath: healthy.sh
           resources:
-{{ toYaml .Values.resources | indent 12 }}
+{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }}
         {{- if .Values.nodeSelector }}
         nodeSelector:
 {{ toYaml .Values.nodeSelector | indent 10 }}
 
 replicaCount: 1
 nodeSelector: {}
 affinity: {}
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+  small:
+    limits:
+      memory: 4Gi
+      cpu: 2000m
+    requests:
+      memory: 1Gi
+      cpu: 500m
+  large:
+    limits:
+      memory: 8Gi
+      cpu: 4000m
+    requests:
+      memory: 2Gi
+      cpu: 1000m
 # probe configuration parameters
 liveness:
   initialDelaySeconds: 10
 readiness:
   initialDelaySeconds: 10
   periodSeconds: 10
-resources: {}
 
             name: localtime
             readOnly: true
           resources:
-{{ toYaml .Values.resources | indent 12 }}
+{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }}
         {{- if .Values.nodeSelector }}
         nodeSelector:
 {{ toYaml .Values.nodeSelector | indent 10 }}
 
 replicaCount: 1
 nodeSelector: {}
 affinity: {}
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+  small:
+    limits:
+      memory: 4Gi
+      cpu: 2000m
+    requests:
+      memory: 1Gi
+      cpu: 500m
+  large:
+    limits:
+      memory: 8Gi
+      cpu: 4000m
+    requests:
+      memory: 2Gi
+      cpu: 1000m
 # probe configuration parameters
 liveness:
   initialDelaySeconds: 10
   portName: oof-has-zookeeper
 ingress:
   enabled: false
-resources: {}
 
             name: {{ include "common.fullname" . }}-config
             subPath: osdf_config.yaml
           resources:
-{{ toYaml .Values.resources | indent 12 }}
+{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }}
         {{- if .Values.nodeSelector }}
         nodeSelector:
 {{ toYaml .Values.nodeSelector | indent 10 }}
 
 replicaCount: 1
 nodeSelector: {}
 affinity: {}
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+  small:
+    limits:
+      memory: 4Gi
+      cpu: 2000m
+    requests:
+      memory: 1Gi
+      cpu: 500m
+  large:
+    limits:
+      memory: 8Gi
+      cpu: 4000m
+    requests:
+      memory: 2Gi
+      cpu: 1000m
 # probe configuration parameters
 liveness:
   initialDelaySeconds: 10
   nodePort: 48
 ingress:
   enabled: false
-resources: {}