diff --git a/charts/scalar-manager/Chart.yaml b/charts/scalar-manager/Chart.yaml index 96080ea6..6e6f65f3 100644 --- a/charts/scalar-manager/Chart.yaml +++ b/charts/scalar-manager/Chart.yaml @@ -2,16 +2,20 @@ apiVersion: v2 name: scalar-manager description: Scalar Manager type: application -version: 2.0.0-SNAPSHOT -appVersion: 2.0.0-SNAPSHOT +version: 3.0.0-SNAPSHOT +appVersion: 3.0.0-SNAPSHOT deprecated: false +icon: https://scalar-labs.com/wp-content/themes/scalar/assets/img/logo_scalar.svg keywords: -- scalardb -- scalardl -- scalar-manager + - scalar-manager + - scalardb-cluster + - scalardl-ledger + - scalardl-auditor + - scalar-admin-for-kubernetes home: https://scalar-labs.com/ sources: - - https://github.com/scalar-labs/scalar-manager + - https://github.com/scalar-labs/scalar-manager-api + - https://github.com/scalar-labs/scalar-manager-web maintainers: - name: Takanori Yokoyama email: takanori.yokoyama@scalar-labs.com diff --git a/charts/scalar-manager/README.md b/charts/scalar-manager/README.md index d19b6458..15eb3395 100644 --- a/charts/scalar-manager/README.md +++ b/charts/scalar-manager/README.md @@ -1,9 +1,9 @@ # scalar-manager -![Version: 2.0.0-SNAPSHOT](https://img.shields.io/badge/Version-2.0.0--SNAPSHOT-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 2.0.0-SNAPSHOT](https://img.shields.io/badge/AppVersion-2.0.0--SNAPSHOT-informational?style=flat-square) +![Version: 3.0.0-SNAPSHOT](https://img.shields.io/badge/Version-3.0.0--SNAPSHOT-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 3.0.0-SNAPSHOT](https://img.shields.io/badge/AppVersion-3.0.0--SNAPSHOT-informational?style=flat-square) Scalar Manager -Current chart version is `2.0.0-SNAPSHOT` +Current chart version is `3.0.0-SNAPSHOT` **Homepage:** @@ -11,18 +11,28 @@ Current chart version is `2.0.0-SNAPSHOT` | Key | Type | Default | Description | |-----|------|---------|-------------| -| fullnameOverride | string | `""` | Override the fully qualified app name | -| image.pullPolicy | string | `"IfNotPresent"` | Specify a imagePullPolicy | -| image.repository | string | `"ghcr.io/scalar-labs/scalar-manager"` | Docker image | -| image.tag | string | `""` | Override the image tag whose default is the chart appVersion | -| imagePullSecrets | list | `[{"name":"reg-docker-secrets"}]` | Optionally specify an array of imagePullSecrets. Secrets must be manually created in the namespace | -| nameOverride | string | `""` | Override the Chart name | -| replicaCount | int | `1` | number of replicas to deploy | -| scalarManager.grafanaUrl | string | `""` | | -| scalarManager.port | int | `5000` | The port that Scalar Manager container exposes | -| scalarManager.refreshInterval | int | `30` | | -| scalarManager.targets | list | `[]` | | -| service.port | int | `8000` | The port that service exposes | -| service.type | string | `"ClusterIP"` | The service type | -| serviceAccount.automountServiceAccountToken | bool | `true` | Specify to mount a service account token or not | -| serviceAccount.serviceAccountName | string | `""` | Name of the existing service account resource | +| api.applicationProperties | string | The minimum template of application.properties is set by default. | The application.properties for Scalar Manager. If you want to customize application.properties, you can override this value with your application.properties. | +| api.image.pullPolicy | string | `"IfNotPresent"` | | +| api.image.repository | string | `"ghcr.io/scalar-labs/scalar-manager-api"` | | +| api.image.tag | string | `""` | | +| api.resources | object | `{}` | | +| fullnameOverride | string | `""` | | +| imagePullSecrets[0].name | string | `"reg-docker-secrets"` | | +| nameOverride | string | `""` | | +| nodeSelector | object | `{}` | | +| podAnnotations | object | `{}` | | +| podLabels | object | `{}` | | +| podSecurityContext.seccompProfile.type | string | `"RuntimeDefault"` | | +| replicaCount | int | `1` | | +| securityContext.allowPrivilegeEscalation | bool | `false` | | +| securityContext.capabilities.drop[0] | string | `"ALL"` | | +| securityContext.runAsNonRoot | bool | `true` | | +| service.port | int | `80` | | +| service.type | string | `"ClusterIP"` | | +| serviceAccount.automountServiceAccountToken | bool | `true` | | +| serviceAccount.serviceAccountName | string | `""` | | +| tolerations | list | `[]` | | +| web.image.pullPolicy | string | `"IfNotPresent"` | | +| web.image.repository | string | `"ghcr.io/scalar-labs/scalar-manager-web"` | | +| web.image.tag | string | `""` | | +| web.resources | object | `{}` | | diff --git a/charts/scalar-manager/templates/_helpers.tpl b/charts/scalar-manager/templates/_helpers.tpl index 2cee60f2..a41ac9b0 100644 --- a/charts/scalar-manager/templates/_helpers.tpl +++ b/charts/scalar-manager/templates/_helpers.tpl @@ -48,6 +48,7 @@ Selector labels {{- define "scalar-manager.selectorLabels" -}} app.kubernetes.io/name: {{ include "scalar-manager.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} +app.kubernetes.io/app: scalar-manager {{- end }} {{/* diff --git a/charts/scalar-manager/templates/deployment.yaml b/charts/scalar-manager/templates/deployment.yaml deleted file mode 100644 index d103763a..00000000 --- a/charts/scalar-manager/templates/deployment.yaml +++ /dev/null @@ -1,58 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - namespace: {{ .Release.Namespace }} - name: {{ include "scalar-manager.fullname" . }} - labels: - {{- include "scalar-manager.labels" . | nindent 4 }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - {{- include "scalar-manager.selectorLabels" . | nindent 6 }} - template: - metadata: - labels: - {{- include "scalar-manager.selectorLabels" . | nindent 8 }} - spec: - {{- with .Values.imagePullSecrets }} - imagePullSecrets: - {{- toYaml . | nindent 8 }} - {{- end }} - serviceAccountName: {{ include "scalar-manager.serviceAccountName" . }} - automountServiceAccountToken: {{ .Values.serviceAccount.automountServiceAccountToken }} - containers: - - name: {{ .Chart.Name }} - image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - ports: - - containerPort: {{ .Values.scalarManager.port }} - env: - - name: PORT - value: "{{ .Values.scalarManager.port }}" - {{- range $i, $target := .Values.scalarManager.targets }} - - name: TARGET_NAME_{{ $i }} - value: {{ $target.name | default $i }} - - name: TARGET_ADMIN_SRV_{{ $i }} - value: {{ $target.adminSrv | default $i }} - - name: TARGET_DATABASE_TYPE_{{ $i }} - value: {{ $target.databaseType| default $i }} - {{ end }} - - name: GRAFANA_URL - value: {{ .Values.scalarManager.grafanaUrl | default "" }} - - name: REFRESH_INTERVAL - value: "{{ .Values.scalarManager.refreshInterval }}" - startupProbe: - httpGet: - path: /health - port: {{ .Values.scalarManager.port }} - failureThreshold: 60 - periodSeconds: 5 - livenessProbe: - httpGet: - path: /health - port: {{ .Values.scalarManager.port }} - failureThreshold: 3 - periodSeconds: 10 - successThreshold: 1 - timeoutSeconds: 1 diff --git a/charts/scalar-manager/templates/role.yaml b/charts/scalar-manager/templates/role.yaml deleted file mode 100644 index 00194254..00000000 --- a/charts/scalar-manager/templates/role.yaml +++ /dev/null @@ -1,9 +0,0 @@ -apiVersion: rbac.authorization.k8s.io/v1 -kind: Role -metadata: - namespace: {{ .Release.Namespace }} - name: {{ include "scalar-manager.fullname" . }}-role -rules: -- apiGroups: [""] - resources: ["endpoints"] - verbs: ["get"] diff --git a/charts/scalar-manager/templates/rolebinding.yaml b/charts/scalar-manager/templates/rolebinding.yaml deleted file mode 100644 index fe896d0d..00000000 --- a/charts/scalar-manager/templates/rolebinding.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - namespace: {{ .Release.Namespace }} - name: {{ include "scalar-manager.fullname" . }}-rolebinding -subjects: -- kind: ServiceAccount - name: {{ include "scalar-manager.serviceAccountName" . }} - apiGroup: "" -roleRef: - kind: Role - name: {{ include "scalar-manager.fullname" . }}-role - apiGroup: rbac.authorization.k8s.io diff --git a/charts/scalar-manager/templates/scalar-manager/clusterrole.yaml b/charts/scalar-manager/templates/scalar-manager/clusterrole.yaml new file mode 100644 index 00000000..1ab7f689 --- /dev/null +++ b/charts/scalar-manager/templates/scalar-manager/clusterrole.yaml @@ -0,0 +1,19 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: {{ include "scalar-manager.fullname" . }} + labels: + {{- include "scalar-manager.labels" . | nindent 4 }} +rules: + - apiGroups: [""] + resources: ["pods", "services", "namespaces", "configmaps", "secrets", "serviceaccounts"] + verbs: ["get", "list", "create", "patch", "delete", "update"] + - apiGroups: ["batch"] + resources: ["cronjobs", "jobs"] + verbs: ["get", "list", "create", "delete"] + - apiGroups: ["apps"] + resources: ["deployments"] + verbs: ["get", "list"] + - apiGroups: ["rbac.authorization.k8s.io"] + resources: ["roles", "rolebindings"] + verbs: ["get", "list", "create", "delete"] diff --git a/charts/scalar-manager/templates/scalar-manager/clusterrolebinding.yaml b/charts/scalar-manager/templates/scalar-manager/clusterrolebinding.yaml new file mode 100644 index 00000000..ee1a4ffa --- /dev/null +++ b/charts/scalar-manager/templates/scalar-manager/clusterrolebinding.yaml @@ -0,0 +1,15 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: {{ include "scalar-manager.fullname" . }} + labels: + {{- include "scalar-manager.labels" . | nindent 4 }} +subjects: + - kind: ServiceAccount + name: {{ include "scalar-manager.serviceAccountName" . }} + namespace: {{ .Release.Namespace }} + apiGroup: "" +roleRef: + kind: ClusterRole + name: {{ include "scalar-manager.fullname" . }} + apiGroup: rbac.authorization.k8s.io diff --git a/charts/scalar-manager/templates/scalar-manager/configmap.yaml b/charts/scalar-manager/templates/scalar-manager/configmap.yaml new file mode 100644 index 00000000..0cc370ed --- /dev/null +++ b/charts/scalar-manager/templates/scalar-manager/configmap.yaml @@ -0,0 +1,10 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "scalar-manager.fullname" . }}-api-application-properties + namespace: {{ .Release.Namespace }} + labels: + {{- include "scalar-manager.labels" . | nindent 4 }} +data: + scalar-manager-api-application.properties: + {{- toYaml .Values.api.applicationProperties | nindent 4 }} diff --git a/charts/scalar-manager/templates/scalar-manager/deployment.yaml b/charts/scalar-manager/templates/scalar-manager/deployment.yaml new file mode 100644 index 00000000..289bbe4f --- /dev/null +++ b/charts/scalar-manager/templates/scalar-manager/deployment.yaml @@ -0,0 +1,73 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ include "scalar-manager.fullname" . }} + namespace: {{ .Release.Namespace }} + labels: + {{- include "scalar-manager.labels" . | nindent 4 }} +spec: + replicas: {{ .Values.replicaCount }} + selector: + matchLabels: + {{- include "scalar-manager.selectorLabels" . | nindent 6 }} + template: + metadata: + annotations: + checksum/config: {{ include (print $.Template.BasePath "/scalar-manager/configmap.yaml") . | sha256sum }} + {{- if .Values.podAnnotations }} + {{- toYaml .Values.podAnnotations | nindent 8 }} + {{- end }} + labels: + {{- include "scalar-manager.selectorLabels" . | nindent 8 }} + {{- if .Values.podLabels }} + {{- toYaml .Values.podLabels | nindent 8 }} + {{- end }} + spec: + restartPolicy: Always + serviceAccountName: {{ include "scalar-manager.serviceAccountName" . }} + automountServiceAccountToken: {{ .Values.serviceAccount.automountServiceAccountToken }} + containers: + - name: {{ .Chart.Name }}-api + image: "{{ .Values.api.image.repository }}:{{ .Values.api.image.tag | default .Chart.AppVersion }}" + resources: + {{- toYaml .Values.api.resources | nindent 12 }} + ports: + - containerPort: 8080 + imagePullPolicy: {{ .Values.api.image.pullPolicy }} + securityContext: + {{- toYaml .Values.securityContext | nindent 12 }} + volumeMounts: + - name: api-application-properties-volume + mountPath: /app/application.properties + subPath: scalar-manager-api-application.properties + - name: {{ .Chart.Name }}-web + image: "{{ .Values.web.image.repository }}:{{ .Values.web.image.tag | default .Chart.AppVersion }}" + resources: + {{- toYaml .Values.web.resources | nindent 12 }} + ports: + - containerPort: 3000 + imagePullPolicy: {{ .Values.web.image.pullPolicy }} + securityContext: + {{- toYaml .Values.securityContext | nindent 12 }} + volumes: + - name: api-application-properties-volume + configMap: + name: {{ include "scalar-manager.fullname" . }}-api-application-properties + securityContext: + {{- toYaml .Values.podSecurityContext | nindent 8 }} + {{- with .Values.imagePullSecrets }} + imagePullSecrets: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.nodeSelector }} + nodeSelector: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.affinity }} + affinity: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.tolerations }} + tolerations: + {{- toYaml . | nindent 8 }} + {{- end }} diff --git a/charts/scalar-manager/templates/service.yaml b/charts/scalar-manager/templates/scalar-manager/service.yaml similarity index 71% rename from charts/scalar-manager/templates/service.yaml rename to charts/scalar-manager/templates/scalar-manager/service.yaml index 4f14ee7f..eea2cf3d 100644 --- a/charts/scalar-manager/templates/service.yaml +++ b/charts/scalar-manager/templates/scalar-manager/service.yaml @@ -1,16 +1,16 @@ apiVersion: v1 kind: Service metadata: - namespace: {{ .Release.Namespace }} name: {{ include "scalar-manager.fullname" . }} + namespace: {{ .Release.Namespace }} labels: {{- include "scalar-manager.labels" . | nindent 4 }} spec: type: {{ .Values.service.type }} ports: - - port: {{ .Values.service.port }} - targetPort: {{ .Values.scalarManager.port }} - protocol: TCP - name: http + - protocol: TCP + name: web + port: {{ .Values.service.port }} + targetPort: 3000 selector: {{- include "scalar-manager.selectorLabels" . | nindent 4 }} diff --git a/charts/scalar-manager/templates/serviceaccount.yaml b/charts/scalar-manager/templates/scalar-manager/serviceaccount.yaml similarity index 100% rename from charts/scalar-manager/templates/serviceaccount.yaml rename to charts/scalar-manager/templates/scalar-manager/serviceaccount.yaml index 159688a7..7ad83bde 100644 --- a/charts/scalar-manager/templates/serviceaccount.yaml +++ b/charts/scalar-manager/templates/scalar-manager/serviceaccount.yaml @@ -2,8 +2,8 @@ apiVersion: v1 kind: ServiceAccount metadata: - namespace: {{ .Release.Namespace }} name: {{ include "scalar-manager.serviceAccountName" . }} + namespace: {{ .Release.Namespace }} labels: {{- include "scalar-manager.labels" . | nindent 4 }} {{- end }} diff --git a/charts/scalar-manager/values.schema.json b/charts/scalar-manager/values.schema.json index ccb0b8ba..01114dcb 100644 --- a/charts/scalar-manager/values.schema.json +++ b/charts/scalar-manager/values.schema.json @@ -2,23 +2,34 @@ "$schema": "http://json-schema.org/schema#", "type": "object", "properties": { - "fullnameOverride": { - "type": "string" - }, - "image": { + "api": { "type": "object", "properties": { - "pullPolicy": { + "applicationProperties": { "type": "string" }, - "repository": { - "type": "string" + "image": { + "type": "object", + "properties": { + "pullPolicy": { + "type": "string" + }, + "repository": { + "type": "string" + }, + "tag": { + "type": "string" + } + } }, - "tag": { - "type": "string" + "resources": { + "type": "object" } } }, + "fullnameOverride": { + "type": "string" + }, "imagePullSecrets": { "type": "array", "items": { @@ -33,23 +44,50 @@ "nameOverride": { "type": "string" }, + "nodeSelector": { + "type": "object" + }, + "podAnnotations": { + "type": "object" + }, + "podLabels": { + "type": "object" + }, + "podSecurityContext": { + "type": "object", + "properties": { + "seccompProfile": { + "type": "object", + "properties": { + "type": { + "type": "string" + } + } + } + } + }, "replicaCount": { "type": "integer" }, - "scalarManager": { + "securityContext": { "type": "object", "properties": { - "grafanaUrl": { - "type": "string" - }, - "port": { - "type": "integer" + "allowPrivilegeEscalation": { + "type": "boolean" }, - "refreshInterval": { - "type": "integer" + "capabilities": { + "type": "object", + "properties": { + "drop": { + "type": "array", + "items": { + "type": "string" + } + } + } }, - "targets": { - "type": "array" + "runAsNonRoot": { + "type": "boolean" } } }, @@ -74,6 +112,31 @@ "type": "string" } } + }, + "tolerations": { + "type": "array" + }, + "web": { + "type": "object", + "properties": { + "image": { + "type": "object", + "properties": { + "pullPolicy": { + "type": "string" + }, + "repository": { + "type": "string" + }, + "tag": { + "type": "string" + } + } + }, + "resources": { + "type": "object" + } + } } } } diff --git a/charts/scalar-manager/values.yaml b/charts/scalar-manager/values.yaml index 6c972c6e..0844ca35 100644 --- a/charts/scalar-manager/values.yaml +++ b/charts/scalar-manager/values.yaml @@ -1,52 +1,103 @@ -# replicaCount -- number of replicas to deploy +# Default values for scalar-manager. +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. replicaCount: 1 -image: - # image.repository -- Docker image - repository: ghcr.io/scalar-labs/scalar-manager - # image.pullPolicy -- Specify a imagePullPolicy - pullPolicy: IfNotPresent - # image.tag -- Override the image tag whose default is the chart appVersion - tag: "" - -# imagePullSecrets -- Optionally specify an array of imagePullSecrets. Secrets must be manually created in the namespace -imagePullSecrets: - - name: reg-docker-secrets - -# nameOverride -- Override the Chart name nameOverride: "" -# fullnameOverride -- Override the fully qualified app name fullnameOverride: "" +podAnnotations: {} + +podLabels: {} + +podSecurityContext: + seccompProfile: + type: RuntimeDefault + +securityContext: + capabilities: + drop: + - ALL + runAsNonRoot: true + allowPrivilegeEscalation: false + +nodeSelector: {} + +tolerations: [] + +service: + type: ClusterIP + port: 80 + serviceAccount: - # serviceAccount.serviceAccountName -- Name of the existing service account resource serviceAccountName: "" - # serviceAccount.automountServiceAccountToken -- Specify to mount a service account token or not automountServiceAccountToken: true -service: - # service.type -- The service type - type: ClusterIP - # service.port -- The port that service exposes - port: 8000 - -scalarManager: - # scalarManager.port -- The port that Scalar Manager container exposes - port: 5000 - - # targets -- The targets that Scalar Manager should monitor - targets: [] - # targets: # example - # - name: Ledger - # adminSrv: _scalardl-admin._tcp.scalardl-headless.default.svc.cluster.local - # databaseType: cassandra - # - name: Auditor - # adminSrv: _scalardl-auditor-admin._tcp.scalardl-auditor-headless.default.svc.cluster.local - # databaseType: cassandra - - # grafanaUrl -- The URL where Grafana can be accessable in public - grafanaUrl: "" - - # refreshInterval -- The interval that Scalar Manager refresh the status of the monitoring targets - refreshInterval: 30 +api: + image: + repository: ghcr.io/scalar-labs/scalar-manager-api + pullPolicy: IfNotPresent + # Overrides the image tag whose default is the chart appVersion. + tag: "" + + resources: + {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + + # -- The application.properties for Scalar Manager. If you want to customize application.properties, you can override this value with your application.properties. + # @default -- The minimum template of application.properties is set by default. + applicationProperties: | + grafana.kubernetesServiceLabelName=${GRAFANA_KUBERNETES_SERVICE_LABEL_NAME:app.kubernetes.io/name} + grafana.kubernetesServiceLabelValue=${GRAFANA_KUBERNETES_SERVICE_LABEL_VALUE:grafana} + grafana.kubernetesServicePortName=${GRAFANA_KUBERNETES_SERVICE_PORT_NAME:http-web} + + prometheus.kubernetesServiceLabelName=${PROMETHEUS_KUBERNETES_SERVICE_LABEL_NAME:app} + prometheus.kubernetesServiceLabelValue=${PROMETHEUS_KUBERNETES_SERVICE_LABEL_VALUE:kube-prometheus-stack-prometheus} + prometheus.kubernetesServicePortName=${PROMETHEUS_KUBERNETES_SERVICE_PORT_NAME:http-web} + + loki.kubernetesServiceLabelName=${LOKI_KUBERNETES_SERVICE_LABEL_NAME:app} + loki.kubernetesServiceLabelValue=${LOKI_KUBERNETES_SERVICE_LABEL_VALUE:loki} + loki.kubernetesServicePortName=${LOKI_KUBERNETES_SERVICE_PORT_NAME:http-metrics} + + helm.scalarRepositoryName=${HELM_SCALAR_REPOSITORY_NAME:scalar-labs} + helm.scalarRepositoryUrl=${HELM_SCALAR_REPOSITORY_URL:https://scalar-labs.github.io/helm-charts} + helm.scalarAdminForKubernetesChartName=${HELM_SCALAR_ADMIN_FOR_KUBERNETES_CHART_NAME:scalar-admin-for-kubernetes} + helm.scalarAdminForKubernetesChartVersion=${HELM_SCALAR_ADMIN_FOR_KUBERNETES_CHART_VERSION:1.0.0} + + configMapNamespace=${CONFIG_MAP_NAMESPACE:default} + configMapName=${CONFIG_MAP_NAME:scalar-manager-metadata} + + paused-state-retention.storage=${PAUSED_STATE_RETENTION_STORAGE:configmap} + paused-state-retention.max-number=${PAUSED_STATE_RETENTION_MAX_NUMBER:100} + +web: + image: + repository: ghcr.io/scalar-labs/scalar-manager-web + pullPolicy: IfNotPresent + # Overrides the image tag whose default is the chart appVersion. + tag: "" + resources: + {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + +imagePullSecrets: + - name: reg-docker-secrets