diff --git a/bitnami/tensorflow-resnet/Chart.yaml b/bitnami/tensorflow-resnet/Chart.yaml index ecebfed69..f05552313 100755 --- a/bitnami/tensorflow-resnet/Chart.yaml +++ b/bitnami/tensorflow-resnet/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v1 name: tensorflow-resnet -version: 0.0.5 +version: 0.1.0 appVersion: 1.12.0 description: Open-source software library serving the ResNet machine learning model. keywords: diff --git a/bitnami/tensorflow-resnet/README.md b/bitnami/tensorflow-resnet/README.md index 96d6bdb2a..295bd1286 100755 --- a/bitnami/tensorflow-resnet/README.md +++ b/bitnami/tensorflow-resnet/README.md @@ -63,6 +63,7 @@ The following tables lists the configurable parameters of the TensorFlow ResNet | Parameter | Description | Default | | ------------------------------------------ | -----------------------------------------------------| -------------------------------------------------------------| | `global.imageRegistry` | Global Docker image registry | `nil` | +| `global.imagePullSecrets` | Global Docker registry secret names as an array | `[]` (does not add image pull secrets to deployed pods) | | `server.image.registry` | TensorFlow Serving image registry | `docker.io` | | `server.image.repository` | TensorFlow Serving Image name | `bitnami/tensorflow-serving` | | `server.image.tag` | TensorFlow Serving Image tag | `{VERSION}` | diff --git a/bitnami/tensorflow-resnet/templates/_helpers.tpl b/bitnami/tensorflow-resnet/templates/_helpers.tpl index 968716e07..a38053b0c 100644 --- a/bitnami/tensorflow-resnet/templates/_helpers.tpl +++ b/bitnami/tensorflow-resnet/templates/_helpers.tpl @@ -70,3 +70,44 @@ Return the proper image name (for the metrics image) {{- $tag := .Values.metrics.image.tag | toString -}} {{- printf "%s/%s:%s" $registryName $repositoryName $tag -}} {{- end -}} + +{{/* +Return the proper Docker Image Registry Secret Names +*/}} +{{- define "tensorflow-resnet.imagePullSecrets" -}} +{{/* +Helm 2.11 supports the assignment of a value to a variable defined in a different scope, +but Helm 2.9 and 2.10 does not support it, so we need to implement this if-else logic. +Also, we can not use a single if because lazy evaluation is not an option +*/}} +{{- if .Values.global }} +{{- if .Values.global.imagePullSecrets }} +imagePullSecrets: +{{- range .Values.global.imagePullSecrets }} + - name: {{ . }} +{{- end }} +{{- else if or .Values.server.image.pullSecrets .Values.client.image.pullSecrets .Values.metrics.image.pullSecrets }} +imagePullSecrets: +{{- range .Values.server.image.pullSecrets }} + - name: {{ . }} +{{- end }} +{{- range .Values.client.image.pullSecrets }} + - name: {{ . }} +{{- end }} +{{- range .Values.metrics.image.pullSecrets }} + - name: {{ . }} +{{- end }} +{{- end -}} +{{- else if or .Values.server.image.pullSecrets .Values.client.image.pullSecrets .Values.metrics.image.pullSecrets }} +imagePullSecrets: +{{- range .Values.server.image.pullSecrets }} + - name: {{ . }} +{{- end }} +{{- range .Values.client.image.pullSecrets }} + - name: {{ . }} +{{- end }} +{{- range .Values.metrics.image.pullSecrets }} + - name: {{ . }} +{{- end }} +{{- end -}} +{{- end -}} diff --git a/bitnami/tensorflow-resnet/templates/deployment.yaml b/bitnami/tensorflow-resnet/templates/deployment.yaml index 2c6cf69ee..5c31fb9a0 100644 --- a/bitnami/tensorflow-resnet/templates/deployment.yaml +++ b/bitnami/tensorflow-resnet/templates/deployment.yaml @@ -29,12 +29,7 @@ spec: {{- end }} {{- end }} spec: - {{- if .Values.server.image.pullSecrets }} - imagePullSecrets: - {{- range .Values.server.image.pullSecrets }} - - name: {{ . }} - {{- end}} - {{- end }} +{{- include "tensorflow-resnet.imagePullSecrets" . | indent 6 }} initContainers: - name: seed image: "{{ template "tensorflow-resnet.client.image" . }}" diff --git a/bitnami/tensorflow-resnet/values.yaml b/bitnami/tensorflow-resnet/values.yaml index 62c995d5d..248b57749 100755 --- a/bitnami/tensorflow-resnet/values.yaml +++ b/bitnami/tensorflow-resnet/values.yaml @@ -1,8 +1,11 @@ -## Global Docker image registry -## Please, note that this will override the image registry for all the images, including dependencies, configured to use the global value +## Global Docker image parameters +## Please, note that this will override the image parameters, including dependencies, configured to use the global value +## Current available global Docker image parameters: imageRegistry and imagePullSecrets ## # global: -# imageRegistry: +# imageRegistry: myRegistryName +# imagePullSecrets: +# - myRegistryKeySecretName replicaCount: 1 @@ -24,7 +27,7 @@ server: ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ ## # pullSecrets: - # - myRegistrKeySecretName + # - myRegistryKeySecretName port: 8500 ## TensorFlow ResNet image version @@ -45,7 +48,7 @@ client: ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ ## # pullSecrets: - # - myRegistrKeySecretName + # - myRegistryKeySecretName ## Specify a imagePullPolicy ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent' @@ -95,7 +98,7 @@ metrics: ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ ## # pullSecrets: - # - myRegistrKeySecretName + # - myRegistryKeySecretName port: 9118 ## Configure extra options for liveness and readiness probes ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes)