diff --git a/README.md b/README.md index 3b9470e7..f02cfb8b 100644 --- a/README.md +++ b/README.md @@ -26,24 +26,24 @@ To uninstall the chart: ## Parameters -| Name | Description | Value | -| ---| ---------------------------------------------------------------------------------------------|---------------------------------------------| -| applicationName | Name of the application | `application` | -| namespaceOverride | Override default release namespace with a custom value | `application` | -| labels.group | Label to define application group | `com.stakater.platform` | -| labels.team | Label to define team | `stakater` | +| Name | Description | Value | +| -----------------------|--------------------------------------------------------------------------|---------------------------------------------| +| applicationName | Name of the application | `application` | +| namespaceOverride | Override default release namespace with a custom value | `application` | +| labels.group | Label to define application group | `com.stakater.platform` | +| labels.team | Label to define team | `stakater` | ### Deployment Paramaters | Name | Description | Value | |------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------|----------------| | deployment.enabled | Enable deployment on helm chart deployments | `true` | -| deployment.strategy | Strategy for updating deployments | `RollingUpdate` | +| deployment.strategy | Strategy for updating deployments | `RollingUpdate`| | deployment.reloadOnChange | Reload deployment if configMap/secret mounted are updated | `true` | | deployment.nodeSelector | Select node to deploy this application | `{}` | | deployment.hostAliases | Adding entries to a Pod's /etc/hosts file provides Pod-level override of hostname resolution when DNS and other options are not applicable | `[]` | | deployment.additionalLabels | Additional labels for Deployment | `{}` | -| deployment.podLabels | Additional label added on pod which is used in Service's Label Selector | {} | +| deployment.podLabels | Additional label added on pod which is used in Service's Label Selector | `{}` | | deployment.annotations | Annotations on deployments | `{}` | | deployment.additionalPodAnnotations | Additional Pod Annotations added on pod created by this Deployment | `{}` | | deployment.replicas | Replicas to be created | `` | @@ -54,6 +54,7 @@ To uninstall the chart: | deployment.revisionHistoryLimit | The number of old history to retain to allow rollback | `2` | | deployment.command | Command for primary container of deployment | `[]` | | deployment.args | Arg for primary container of deployment | `[]` | +| deployment.priorityClassName | Defines the priority class for pod scheduling | `""` | | deployment.tolerations | Taint tolerations for nodes | `[]` | | deployment.affinity | Affinity for pod/node | `[]` | | deployment.topologySpreadConstraints | Topology spread constraints definitions | `[]` | @@ -61,18 +62,19 @@ To uninstall the chart: | deployment.securityContext | Security Context for the pod | `{}` | | deployment.additionalContainers | Add additional containers besides init and app containers | `[]` | | deployment.containerSecurityContext | Add security context at container level | `{}` | -| deployment.terminationGracePeriodSeconds | Graceful termination timeout | `` | +| deployment.terminationGracePeriodSeconds | Graceful termination timeout | `` | +| deployment.lifecycle | Container lifecycle management for graceful startup and shutdown procedures | `{}` | #### Deployment Resources Parameters | Name | Description | Value | | ------------------------ | -------------------------------------------------------------------------------------------- | --------------- | -| deployment.resources | Application pod resource requests & limits | See below | +| deployment.resources | Application pod resource requests & limits | See below | ##### Requests and Limits ``` - resources: + resources: limits: memory: 256Mi cpu: 0.5 @@ -470,6 +472,7 @@ Job parameter for each cronjob object at `cronJob.jobs` | `.image.imagePullPolicy` | ImagePullPolicy of container image of cronjob | | `.command` | Command of container of job | | `.args` | Args of container of job | +| `.priorityClassName` | Defines the priority class of job | | `.resources` | Resources of container of job | | `.additionalLabels` | Additional labels of cronjob | | `.annotations` | Annotation of cronjob | diff --git a/application/templates/cronjob.yaml b/application/templates/cronjob.yaml index 37f6ade8..60bfa45b 100644 --- a/application/templates/cronjob.yaml +++ b/application/templates/cronjob.yaml @@ -63,12 +63,10 @@ spec: {{- end }} containers: - name: {{ $name }} - {{- $image := required (print "Undefined image repo for container '" $name "'") $job.image.repository }} {{- with $job.image.tag }} {{- $image = print $image ":" . }} {{- end }} {{- with $job.image.digest }} {{- $image = print $image "@" . }} {{- end }} image: {{ $image }} - {{- if $job.image.imagePullPolicy }} imagePullPolicy: {{ $job.image.imagePullPolicy }} {{ end }} @@ -105,6 +103,9 @@ spec: {{- with $job.affinity }} affinity: {{ toYaml . | indent 12 }} + {{- end }} + {{- with $job.priorityClassName }} + priorityClassName: {{ . }} {{- end }} {{- with $job.tolerations }} tolerations: {{ toYaml . | nindent 12 }} @@ -115,12 +116,12 @@ spec: {{- with $job.securityContext }} securityContext: {{ toYaml . | nindent 12 }} {{- end }} - {{- if $job.restartPolicy}} + {{- if $job.restartPolicy }} restartPolicy: {{ $job.restartPolicy }} {{ else }} restartPolicy: OnFailure {{ end }} - {{- with $job.imagePullSecrets}} + {{- with $job.imagePullSecrets }} imagePullSecrets: {{ toYaml . | indent 12 }} {{ end }} diff --git a/application/templates/deployment.yaml b/application/templates/deployment.yaml index b69eef4a..00567707 100644 --- a/application/templates/deployment.yaml +++ b/application/templates/deployment.yaml @@ -75,12 +75,12 @@ spec: {{- end }} spec: {{- if .Values.deployment.hostAliases }} - hostAliases: + hostAliases: {{ toYaml .Values.deployment.hostAliases | indent 6 }} {{- end }} {{- if .Values.deployment.initContainers }} initContainers: - {{- range $key, $value := .Values.deployment.initContainers }} + {{- range $key, $value := .Values.deployment.initContainers }} - name: {{ $key }} {{ include "application.tplvalues.render" ( dict "value" $value "context" $ ) | indent 8 }} {{- end }} @@ -88,6 +88,9 @@ spec: {{- if .Values.deployment.nodeSelector }} nodeSelector: {{ toYaml .Values.deployment.nodeSelector | indent 8 }} + {{- end }} + {{- with .Values.deployment.priorityClassName }} + priorityClassName: {{ .Values.deployment.priorityClassName }} {{- end }} {{- if .Values.deployment.tolerations }} tolerations: @@ -101,7 +104,7 @@ spec: topologySpreadConstraints: {{- toYaml . | nindent 8 }} {{- end }} - {{- if .Values.deployment.imagePullSecrets }} + {{- if .Values.deployment.imagePullSecrets }} imagePullSecrets: - name: {{ .Values.deployment.imagePullSecrets }} {{- end }} @@ -119,7 +122,7 @@ spec: - --tls-cert=/etc/tls/private/tls.crt - --tls-key=/etc/tls/private/tls.key - --cookie-secret=SECRET - image: {{ .Values.deployment.openshiftOAuthProxy.image | default "openshift/oauth-proxy:latest" }} + image: {{ .Values.deployment.openshiftOAuthProxy.image | default "openshift/oauth-proxy:latest" }} imagePullPolicy: IfNotPresent name: oauth-proxy ports: @@ -131,7 +134,7 @@ spec: name: proxy volumeMounts: - mountPath: /etc/tls/private - name: proxy-tls + name: proxy-tls {{- end }} - name: {{ template "application.name" . }} @@ -141,6 +144,10 @@ spec: image: {{ $image }} imagePullPolicy: {{ .Values.deployment.image.pullPolicy }} + {{- with .Values.deployment.lifecycle }} + lifecycle: + {{- toYaml . | nindent 10 }} + {{- end }} {{- if .Values.deployment.command }} command: {{- include "application.tplvalues.render" (dict "value" .Values.deployment.command "context" $) | nindent 12 }} {{- end }} @@ -246,7 +253,7 @@ spec: {{- toYaml .Values.deployment.readinessProbe.grpc | nindent 12 }} {{- end }} {{- end }} - {{- if or (.Values.deployment.volumeMounts) (and (eq .Values.persistence.enabled true) (eq .Values.persistence.mountPVC true) )}} + {{- if or (.Values.deployment.volumeMounts) (and (eq .Values.persistence.enabled true) (eq .Values.persistence.mountPVC true) )}} volumeMounts: {{- if (eq .Values.persistence.mountPVC true) }} - mountPath: {{ .Values.persistence.mountPath }} @@ -255,7 +262,7 @@ spec: {{- if .Values.deployment.volumeMounts }} {{- range $key, $value := .Values.deployment.volumeMounts }} - name: {{ $key }} -{{ include "application.tplvalues.render" ( dict "value" $value "context" $ ) | indent 10 }} +{{ include "application.tplvalues.render" ( dict "value" $value "context" $ ) | indent 10 }} {{- end }} {{- end }} {{- end }} @@ -271,14 +278,14 @@ spec: {{ toYaml .Values.deployment.additionalContainers | indent 6 }} {{- end }} {{- if .Values.deployment.securityContext }} - securityContext: + securityContext: {{ toYaml .Values.deployment.securityContext | indent 8 }} {{- end }} {{- if .Values.deployment.dnsConfig }} - dnsConfig: + dnsConfig: {{ toYaml .Values.deployment.dnsConfig | indent 8 }} {{- end }} - {{- if or (.Values.deployment.openshiftOAuthProxy.enabled) (.Values.deployment.volumes) (and (eq .Values.persistence.enabled true) (eq .Values.persistence.mountPVC true) )}} + {{- if or (.Values.deployment.openshiftOAuthProxy.enabled) (.Values.deployment.volumes) (and (eq .Values.persistence.enabled true) (eq .Values.persistence.mountPVC true) )}} volumes: {{- if .Values.deployment.openshiftOAuthProxy.enabled }} - name: proxy-tls @@ -295,8 +302,8 @@ spec: {{- end }} {{- end }} {{- if .Values.deployment.volumes }} - {{- range $key, $value := .Values.deployment.volumes }} - - name: {{ $key }} + {{- range $key, $value := .Values.deployment.volumes }} + - name: {{ $key }} {{ include "application.tplvalues.render" ( dict "value" $value "context" $ ) | indent 8 }} {{- end }} {{- end }} diff --git a/application/values-test.yaml b/application/values-test.yaml index 6266e16e..1e78b115 100644 --- a/application/values-test.yaml +++ b/application/values-test.yaml @@ -19,11 +19,11 @@ deployment: rollingUpdate: maxSurge: 25% maxUnavailable: 25% - + # Reload deployment if configMap/secret updates reloadOnChange: true - # Select nodes to deploy which matches the following labels + # Select nodes to deploy which matches the following labels nodeSelector: # cloud.google.com/gke-nodepool: default-pool @@ -48,7 +48,7 @@ deployment: # Additional labels for Deployment additionalLabels: key: value - + # Additional label added on pod which is used in Service's Label Selector podLabels: env: prod @@ -59,7 +59,7 @@ deployment: # Additional Pod Annotations added on pod created by this Deployment additionalPodAnnotations: key: value - + # Annotations for fluentd Configurations fluentdConfigAnnotations: fluentd: @@ -88,7 +88,7 @@ deployment: env: ENVIRONMENT: value: "dev" - + # Volumes to be added to the pod volumes: config-volume: @@ -106,11 +106,14 @@ deployment: persistentVolumeClaim: claimName: claim-name - # Mount path for Volumes + # Mount path for Volumes volumeMounts: - volume-name: + volume-name: mountPath: /path1 + # The priority class for pod scheduling + priorityClassName: "" + # Taint tolerations for nodes tolerations: - key: "dedicated" @@ -152,7 +155,7 @@ deployment: successThreshold: 1 timeoutSeconds: 1 initialDelaySeconds: 10 - exec: + exec: command: - cat - tmp/healthy @@ -187,7 +190,6 @@ deployment: port: 8080 secretName: "openshift-oauth-proxy-tls" - # Add additional containers besides init and app containers additionalContainers: - name: sidecar-contaner @@ -198,7 +200,7 @@ deployment: # Security Context for the pod securityContext: # fsGroup: 2000 - + # Command for primary container command: [] @@ -223,6 +225,12 @@ deployment: # Graceful termination timeout terminationGracePeriodSeconds: 120 + # Container lifecycle management for graceful startup and shutdown procedures + lifecycle: + preStop: + exec: + command: ["/bin/sh", "-c", "sleep 20"] + # Add Storage volumes to the pods persistence: enabled: true @@ -279,7 +287,7 @@ ingress: # Port of the service that serves pods servicePort: http - + #Set pathType: default is ImplementationSpecific; Options: Exact, Prefix pathType: ImplementationSpecific @@ -287,7 +295,7 @@ ingress: hosts: - host: chart-example.local - paths: + paths: - path: / # pathType: '' # serviceName: '' @@ -327,11 +335,11 @@ route: kubernetes.io/ingress.class: external-ingress ingress.kubernetes.io/rewrite-target: / ingress.kubernetes.io/force-ssl-redirect: "true" - + # Additional labels for this Route additionalLabels: key: value - + # If no host is added then openshift inserts the default hostname. To Add host explicitly, use host attribute host: @@ -365,7 +373,7 @@ secretProviderClass: objects: | - objectName: "MONGO_HOST" secretPath: "testing/data/mongoDb" - secretKey: "MONGO_HOST" + secretKey: "MONGO_HOST" secretObjects: - data: - key: MONGO_HOST @@ -373,7 +381,6 @@ secretProviderClass: secretName: secret-mongo-host type: Opaque - # Expose Application on Forecastle Dashboard forecastle: enabled: true @@ -381,19 +388,19 @@ forecastle: # Add additional labels on Forecastle Custom Resource additionalLabels: key: value - + # URL of the icon for the custom app icon: https://raw.githubusercontent.com/stakater/ForecastleIcons/master/stakater-big.png # Name of the application to be displayed on the Forecastle Dashboard displayName: "application" - + # Group for the custom app (default: .Release.Namespace) group: "" # Add properties to Custom Resource properties: - + # Whether app is network restricted or not networkRestricted: false @@ -409,8 +416,8 @@ rbac: # Additional Labels on service account additionalLabels: key: value - - # Annotations on service account + + # Annotations on service account annotations: # key: value @@ -433,7 +440,7 @@ rbac: verbs: - get -# Additional ConfigMaps +# Additional ConfigMaps configMap: enabled: true additionalLabels: @@ -499,7 +506,7 @@ secret: # Service Monitor to collect Prometheus metrices serviceMonitor: enabled: true - + # Additional labels additionalLabels: key: value @@ -545,15 +552,15 @@ autoscaling: # autoscaling is used for vertical pod autoscaling vpa: -# enabled is a boolean flag for enabling or disabling vpa +# enabled is a boolean flag for enabling or disabling vpa enabled: true # additionalLabels defines additional labels - additionalLabels: + additionalLabels: # key: value # annotations defines annotations in key value pair - annotations: + annotations: # key: value -# container policies for individual containers. +# container policies for individual containers. # There can be at most one entry for every named container and optionally a single wildcard entry with `containerName = '*'`, which handles all containers that do not have individual policies. containerPolicies: - containerName: '*' @@ -567,7 +574,7 @@ vpa: # EndpointMonitor for IMC (https://github.com/stakater/IngressMonitorController) endpointMonitor: enabled: true - + # Additional labels additionalLabels: key: value @@ -579,7 +586,7 @@ endpointMonitor: # Certficate CRD to generate the certificate certificate: enabled: false - + # Additional labels additionalLabels: key: value @@ -640,7 +647,7 @@ certificate: # AlertmanagerConfig object for defining application specific alertmanager configurations alertmanagerConfig: enabled: true - + # AlertmanagerConfig selectionLabels to specify label to be picked up by Alertmanager to add it to base config. Read more about it at [https://docs.openshift.com/container-platform/4.7/rest_api/monitoring_apis/alertmanager-monitoring-coreos-com-v1.html] under .spec.alertmanagerConfigSelector selectionLabels: alertmanagerConfig: "workload" @@ -674,7 +681,7 @@ alertmanagerConfig: # PrometheusRule object for defining application alerting rules prometheusRule: enabled: true - + # PrometheusRule labels additionalLabels: prometheus: stakater-workload-monitoring @@ -727,7 +734,7 @@ externalSecret: ########################################################## # Network Policy ########################################################## -networkPolicy: +networkPolicy: enabled: false # Additional labels additionalLabels: @@ -736,7 +743,7 @@ networkPolicy: # Additional annotations annotations: # key: value - + # Ingress rules ingress: - from: @@ -753,7 +760,7 @@ networkPolicy: ports: - protocol: TCP port: 6379 - + # Egress rules egress: - to: @@ -1286,22 +1293,23 @@ grafanaDashboard: matchLabels: app: test-2 -cronJob: +cronJob: enabled: true jobs: db-migration: schedule: "* * * 8 *" + priorityClassName: high-priority imagePullSecrets: - name: nexus-secret - image: + image: repository: docker.io/nginx tag: v1.0.0 - env: + env: KEY: value: VALUE command: ["/bin/bash"] args: ["-c","sleep 5000"] - resources: + resources: requests: memory: 5Gi cpu: 1 diff --git a/application/values.yaml b/application/values.yaml index 81439f4d..9067fa2c 100644 --- a/application/values.yaml +++ b/application/values.yaml @@ -14,27 +14,28 @@ applicationName: "application" ########################################################## # Global labels -# These labels will be added on all resources, -# and you can add additional labels from below +# These labels will be added on all resources, +# and you can add additional labels from below # on individual resource ########################################################## - -cronJob: + +cronJob: enabled: false jobs: # db-migration: # schedule: "* * * 8 *" + # priorityClassName: high-priority # env: # KEY: # value: VALUE - # image: + # image: # repository: docker.io/nginx # tag: v1.0.0 # digest: '' # if set to a non empty value, digest takes precedence on the tag # imagePullPolicy: IfNotPresent # command: ["/bin/bash"] # args: ["-c","sleep 5000"] - # resources: + # resources: # requests: # memory: 5Gi # cpu: 1 @@ -81,9 +82,9 @@ deployment: # Reload deployment if configMap/secret updates reloadOnChange: true - # Select nodes to deploy which matches the following labels + # Select nodes to deploy which matches the following labels nodeSelector: - # cloud.google.com/gke-nodepool: default-pool + # cloud.google.com/gke-nodepool: default-pool # Init containers which runs before the app container hostAliases: @@ -98,17 +99,17 @@ deployment: # Init containers which runs before the app container initContainers: -# init-contaner: -# image: busybox -# imagePullPolicy: IfNotPresent -# command: ['/bin/sh'] + # init-contaner: + # image: busybox + # imagePullPolicy: IfNotPresent + # command: ['/bin/sh'] # Additional labels for Deployment additionalLabels: # key: value - + # Additional label added on pod which is used in Service's Label Selector - podLabels: + podLabels: # env: prod # Annotations on deployments @@ -117,7 +118,7 @@ deployment: # Additional Pod Annotations added on pod created by this Deployment additionalPodAnnotations: # key: value - + # Annotations for fluentd Configurations fluentdConfigAnnotations: # fluentd: @@ -125,46 +126,46 @@ deployment: # timeFormat: world # Replicas to be created - replicas: + replicas: # Secrets used to pull image imagePullSecrets: "" # If want to mount Envs from configmap or secret envFrom: -# production-cm: -# type: configmap -# nameSuffix: my-configmap -# logging-config: -# type: configmap -# nameSuffix: your-configmap -# postgres-config: -# type: secret -# nameSuffix: postgres + # production-cm: + # type: configmap + # nameSuffix: my-configmap + # logging-config: + # type: configmap + # nameSuffix: your-configmap + # postgres-config: + # type: secret + # nameSuffix: postgres # Environment variables to be passed to the app container env: -# ENVIRONMENT: -# value: "dev" -# FREQUENCY: -# valueFrom: -# configMapKeyRef: -# name: config -# key: frequency + # ENVIRONMENT: + # value: "dev" + # FREQUENCY: + # valueFrom: + # configMapKeyRef: + # name: config + # key: frequency # Volumes to be added to the pod volumes: -# configmap-volume: -# configMap: -# name: '{{ template "application.name" . }}-configmap-nameSuffix' -# secret-volume: -# secret: -# secretName: secret-name -# persistent-volume-name: -# persistentVolumeClaim: -# claimName: claim-name - - # Mount path for Volumes + # configmap-volume: + # configMap: + # name: '{{ template "application.name" . }}-configmap-nameSuffix' + # secret-volume: + # secret: + # secretName: secret-name + # persistent-volume-name: + # persistentVolumeClaim: + # claimName: claim-name + + # Mount path for Volumes volumeMounts: # volume-name: # mountPath: path @@ -173,6 +174,9 @@ deployment: # volume-name-2: # mountPath: path-2 + # priorityClassName defines the priority class for pod scheduling + priorityClassName: '' + # Taint tolerations for nodes tolerations: # - key: "dedicated" @@ -216,7 +220,7 @@ deployment: revisionHistoryLimit: 2 # Image of the app container - image: + image: repository: repository/image-name tag: '' digest: '' # if set to a non empty value, digest takes precedence on the tag @@ -271,12 +275,12 @@ deployment: memory: 128Mi cpu: 0.1 -# Security Context at Container Level + # Security Context at Container Level containerSecurityContext: readOnlyRootFilesystem: true runAsNonRoot: true - - openshiftOAuthProxy: + + openshiftOAuthProxy: enabled: false port: 8080 # Port on which application is running inside container secretName: "openshift-oauth-proxy-tls" @@ -289,12 +293,10 @@ deployment: # imagePullPolicy: IfNotPresent # command: ['/bin/sh'] - # Security Context for the pod - securityContext: # fsGroup: 2000 - + # Command for primary container command: [] @@ -319,6 +321,13 @@ deployment: # Graceful termination timeout terminationGracePeriodSeconds: + # Default lifecycle configuration + lifecycle: {} + # Example for a preStop hook: + # preStop: + # exec: + # command: ["/bin/bash", "-c", "sleep 20"] + ########################################################## # Add Storage volumes to the pods ########################################################## @@ -353,17 +362,17 @@ service: # expose: "true" annotations: -# config.xposer.stakater.com/Domain: stakater.com -# config.xposer.stakater.com/IngressNameTemplate: '{{ "{{.Service}}-{{.Namespace}}" }}' -# config.xposer.stakater.com/IngressURLPath: / -# config.xposer.stakater.com/IngressURLTemplate: '{{ "{{.Service}}.{{.Namespace}}.{{.Domain}}" }}' -# service.alpha.openshift.io/serving-cert-secret-name: | -# '{{ template "application.name" . }}-tls' -# xposer.stakater.com/annotations: |- -# kubernetes.io/ingress.class: external-ingress -# ingress.kubernetes.io/rewrite-target: / -# ingress.kubernetes.io/force-ssl-redirect: true - + # config.xposer.stakater.com/Domain: stakater.com + # config.xposer.stakater.com/IngressNameTemplate: '{{ "{{.Service}}-{{.Namespace}}" }}' + # config.xposer.stakater.com/IngressURLPath: / + # config.xposer.stakater.com/IngressURLTemplate: '{{ "{{.Service}}.{{.Namespace}}.{{.Domain}}" }}' + # service.alpha.openshift.io/serving-cert-secret-name: | + # '{{ template "application.name" . }}-tls' + # xposer.stakater.com/annotations: |- + # kubernetes.io/ingress.class: external-ingress + # ingress.kubernetes.io/rewrite-target: / + # ingress.kubernetes.io/force-ssl-redirect: true + ports: - port: 8080 name: http @@ -371,7 +380,7 @@ service: targetPort: 8080 type: ClusterIP - # Set to 'None' will make this service headless + # Set to 'None' will make this service headless clusterIP: ########################################################## @@ -379,7 +388,7 @@ service: ########################################################## ingress: enabled: false - + # Name of the ingress class ingressClassName: '' @@ -392,7 +401,7 @@ ingress: # List of host addresses to be exposed by this Ingress hosts: - host: chart-example.local - paths: + paths: - path: / # pathType: '' # serviceName: '' @@ -430,8 +439,8 @@ route: # If no host is added then openshift inserts the default hostname. To Add host explicitly, use host attribute host: - - path: + + path: # Port of the service that serves pods port: targetPort: http @@ -467,14 +476,14 @@ secretProviderClass: objects: #- objectName: MONGO_HOST # secretPath: testing/data/mongoDb - # secretKey: MONGO_HOST + # secretKey: MONGO_HOST secretObjects: #- data: # - key: MONGO_HOST # objectName: host # secretName: secret-mongo-host - # type: Opaque - + # type: Opaque + ########################################################## # Expose Application on Forecastle Dashboard # https://github.com/stakater/Forecastle @@ -484,7 +493,7 @@ forecastle: # Add additional labels on Forecastle Custom Resource additionalLabels: - + # URL of the icon for the custom app icon: https://raw.githubusercontent.com/stakater/ForecastleIcons/master/stakater-big.png @@ -496,7 +505,7 @@ forecastle: # Add properties to Custom Resource properties: - + # Whether app is network restricted or not networkRestricted: false @@ -514,7 +523,7 @@ rbac: # Additional Labels on service account additionalLabels: # key: value - + # Annotations on service account annotations: # key: value @@ -543,27 +552,27 @@ rbac: ########################################################## configMap: enabled: false - additionalLabels: + additionalLabels: # key: value - annotations: + annotations: # key: value files: - # nameSuffix of configMap -# code-config: -# key1: value1 -# key2: value2 -# dev-config: -# key1: value1 -# key2: value2 + # nameSuffix of configMap + # code-config: + # key1: value1 + # key2: value2 + # dev-config: + # key1: value1 + # key2: value2 ########################################################## # SealedSecrets ########################################################## sealedSecret: enabled: false - additionalLabels: + additionalLabels: #key: value - annotations: + annotations: #key: value files: # #nameSuffix of sealedSecret @@ -584,9 +593,9 @@ sealedSecret: ########################################################## secret: enabled: false - additionalLabels: + additionalLabels: # key: value - annotations: + annotations: # key: value files: # nameSuffix of Secret @@ -612,7 +621,7 @@ secret: ########################################################## serviceMonitor: enabled: false - + # Additional labels additionalLabels: # key: value @@ -631,13 +640,13 @@ serviceMonitor: # HPA - Horizontal Pod Autoscaling ########################################################## autoscaling: -# enabled is a boolean flag for enabling or disabling autoscaling +# enabled is a boolean flag for enabling or disabling autoscaling enabled: false # additionalLabels defines additional labels - additionalLabels: + additionalLabels: # key: value # annotations defines annotations in key value pair - annotations: + annotations: # key: value # minReplicas sets the minimum number of replicas minReplicas: 1 @@ -648,13 +657,13 @@ autoscaling: - type: Resource resource: name: cpu - target: + target: type: Utilization averageUtilization: 60 - type: Resource resource: name: memory - target: + target: type: Utilization averageUtilization: 60 @@ -665,23 +674,23 @@ vpa: # enabled is a boolean flag for enabling or disabling vpa enabled: false # additionalLabels defines additional labels - additionalLabels: + additionalLabels: # key: value # annotations defines annotations in key value pair - annotations: + annotations: # key: value # container policies for individual containers. containerPolicies: [] updatePolicy: updateMode: Auto - + ########################################################## # EndpointMonitor for IMC # https://github.com/stakater/IngressMonitorController ########################################################## endpointMonitor: enabled: false - + # Additional labels additionalLabels: # key: value @@ -695,7 +704,7 @@ endpointMonitor: ########################################################## certificate: enabled: false - + # Additional labels additionalLabels: # key: value @@ -754,12 +763,12 @@ certificate: name: test-creds ########################################################## -# AlertmanagerConfig object for defining application +# AlertmanagerConfig object for defining application # specific alertmanager configurations ########################################################## alertmanagerConfig: enabled: false - + # AlertmanagerConfig selectionLabels to specify label to be picked up by Alertmanager to add it to base config. Read more about it at [https://docs.openshift.com/container-platform/4.7/rest_api/monitoring_apis/alertmanager-monitoring-coreos-com-v1.html] under .spec.alertmanagerConfigSelector selectionLabels: alertmanagerConfig: "workload" @@ -789,12 +798,12 @@ alertmanagerConfig: # equal: ['cluster', 'service'] ########################################################## -# PrometheusRule object for defining application +# PrometheusRule object for defining application # alerting rules ########################################################## prometheusRule: enabled: false - + # PrometheusRule labels additionalLabels: # prometheus: stakater-workload-monitoring @@ -812,7 +821,8 @@ prometheusRule: # expr: up{namespace="test-app"} == 0 # for: 1m # labels: - # severity: critical + # severity: critical + ########################################################## # External Secrets ########################################################## @@ -826,29 +836,28 @@ externalSecret: # RefreshInterval is the amount of time before the values reading again from the SecretStore provider refreshInterval: "1m" - files: + files: # mongodb: # # Data defines the connection between the Kubernetes Secret keys and the Provider data # data: - # mongo-password: + # mongo-password: # remoteRef: # key: monodb - # property: passowrd - # secretStore: - # name: secret-store-name-2 # specify if value is other than default secretstore + # property: passowrd + # secretStore: + # name: secret-store-name-2 # specify if value is other than default secretstore # labels: # stakater.com/app: mongodb - # # + # # # postgres: ## Used to fetch all properties from the Provider key # dataFrom: # key: postgres - ########################################################## # Network Policy ########################################################## -networkPolicy: +networkPolicy: enabled: false additionalLabels: # key: value @@ -886,12 +895,12 @@ pdb: # maxUnavailable: 1 ########################################################## -# grafanaDashboard object for defining application +# grafanaDashboard object for defining application # Grafana Dashboard ########################################################## grafanaDashboard: enabled: false - + # GrafanaDashboard additonal labels additionalLabels: # grafanaDashboard: grafana-operator @@ -899,18 +908,18 @@ grafanaDashboard: # GrafanaDashboard annotations annotations: # key: value - + # GrafanaDashboard contents # this includes pairs of dashboard name and associated json content # Accoroding to GrafanaDashboard behavior, if both url and json are specified then the GrafanaDashboard content will be updated with fetched content from url contents: - # dashboard-name-1: + # dashboard-name-1: # json: |- # { # "data" # } # url: http://hostname/path/to/file.json - # dashboard-name-2: + # dashboard-name-2: # json: |- # { # "data" @@ -935,4 +944,3 @@ grafanaDashboard: ########################################################## backup: enabled: false -