From 3dd2aed8dfe18fc5693ce24fe507cd28b22de667 Mon Sep 17 00:00:00 2001 From: Alejandro Moreno Date: Tue, 7 May 2019 09:17:33 +0200 Subject: [PATCH 1/2] Remove tensorflow-inception chart (deprecated) --- bitnami/tensorflow-inception/.helmignore | 21 --- bitnami/tensorflow-inception/Chart.yaml | 21 --- bitnami/tensorflow-inception/README.md | 134 ------------------ .../tensorflow-inception/templates/NOTES.txt | 19 --- .../templates/_helpers.tpl | 126 ---------------- .../templates/deployment.yaml | 101 ------------- .../tensorflow-inception/templates/svc.yaml | 16 --- bitnami/tensorflow-inception/values.yaml | 99 ------------- 8 files changed, 537 deletions(-) delete mode 100755 bitnami/tensorflow-inception/.helmignore delete mode 100644 bitnami/tensorflow-inception/Chart.yaml delete mode 100755 bitnami/tensorflow-inception/README.md delete mode 100755 bitnami/tensorflow-inception/templates/NOTES.txt delete mode 100644 bitnami/tensorflow-inception/templates/_helpers.tpl delete mode 100644 bitnami/tensorflow-inception/templates/deployment.yaml delete mode 100644 bitnami/tensorflow-inception/templates/svc.yaml delete mode 100644 bitnami/tensorflow-inception/values.yaml diff --git a/bitnami/tensorflow-inception/.helmignore b/bitnami/tensorflow-inception/.helmignore deleted file mode 100755 index c13e3c8fbb..0000000000 --- a/bitnami/tensorflow-inception/.helmignore +++ /dev/null @@ -1,21 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*~ -# Various IDEs -.project -.idea/ -*.tmproj \ No newline at end of file diff --git a/bitnami/tensorflow-inception/Chart.yaml b/bitnami/tensorflow-inception/Chart.yaml deleted file mode 100644 index e32423176a..0000000000 --- a/bitnami/tensorflow-inception/Chart.yaml +++ /dev/null @@ -1,21 +0,0 @@ -apiVersion: v1 -name: tensorflow-inception -version: 3.3.1 -appVersion: 1.13.0 -description: Open-source software library for serving machine learning models -keywords: -- tensorflow -- serving -- inception -- machine -- learning -- library -home: https://www.tensorflow.org/serving/ -icon: https://bitnami.com/assets/stacks/tensorflow-inception/img/tensorflow-inception-stack-220x234.png -sources: -- https://github.com/bitnami/bitnami-docker-tensorflow-serving -- https://github.com/bitnami/bitnami-docker-tensorflow-inception -maintainers: -- email: containers@bitnami.com - name: Bitnami -engine: gotpl diff --git a/bitnami/tensorflow-inception/README.md b/bitnami/tensorflow-inception/README.md deleted file mode 100755 index ab14710087..0000000000 --- a/bitnami/tensorflow-inception/README.md +++ /dev/null @@ -1,134 +0,0 @@ -# Deprecation Notice - -The Bitnami TensorFlow Serving Inception v3 chart is deprecated. Consider using [TensorFlow Serving ResNet](https://github.com/bitnami/charts/tree/master/bitnami/tensorflow-resnet) instead. This repository will be archived in 15 days. - -# TensorFlow Serving Inception v3 - -TensorFlow Serving is an open-source software library for serving machine learning models. This chart will specifically serve the Inception v3 model with already trained data. - -## TL;DR; - -```console -$ helm install bitnami/tensorflow-inception -``` - -## Introduction - -This chart bootstraps a TensorFlow Serving Inception v3 pod on a [Kubernetes](http://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager. - -Bitnami charts can be used with [Kubeapps](https://kubeapps.com/) for deployment and management of Helm Charts in clusters. This Helm chart has been tested on top of [Bitnami Kubernetes Production Runtime](https://kubeprod.io/) (BKPR). Deploy BKPR to get automated TLS certificates, logging and monitoring for your applications. - -## Prerequisites - -- Kubernetes 1.4+ with Beta APIs enabled -- PV provisioner support in the underlying infrastructure - -## Get this chart - -Download the latest release of the chart from the [releases](../../../releases) page. - -Alternatively, clone the repo if you wish to use the development snapshot: - -```console -$ git clone https://github.com/bitnami/charts.git -``` - -## Installing the Chart - -To install the chart with the release name `my-release`: - -```console -$ helm install --name my-release bitnami/tensorflow-inception -``` - -The command deploys Tensorflow Serving Inception v3 model on the Kubernetes cluster in the default configuration. The [configuration](#configuration) section lists the parameters that can be configured during installation. - -> **Tip**: List all releases using `helm list` - -## Uninstalling the Chart - -To uninstall/delete the `my-release` deployment: - -```console -$ helm delete my-release -``` -You can check your releases with: - -```console -$ helm list -``` - -The command removes all the Kubernetes components associated with the chart and deletes the release. - -## Configuration - -The following tables lists the configurable parameters of the TensorFlow Inception chart and their default values. - -| 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) | -| `replicaCount` | desired number of pods | `1` | -| `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}` | -| `server.image.pullPolicy` | TensorFlow Serving image pull policy | `Always` if `imageTag` is `latest`, else `IfNotPresent` | -| `server.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` (does not add image pull secrets to deployed pods) | -| `server.port` | Tensorflow server port | `8500` | -| `client.image.registry` | TensorFlow Inception image registry | `docker.io` | -| `client.image.repository` | TensorFlow Inception Image name | `bitnami/tensorflow-inception` | -| `client.image.tag` | TensorFlow Inception Image tag | `{VERSION}` | -| `client.image.pullPolicy` | TensorFlow Inception image pull policy | `Always` if `imageTag` is `latest`, else `IfNotPresent` | -| `client.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` (does not add image pull secrets to deployed pods) | -| `securityContext.enabled` | Enable security context for TensorFlow Serving | `true` | -| `securityContext.fsGroup` | Group ID for TensorFlow Serving container | `1001` | -| `securityContext.runAsUser` | User ID for TensorFlow Serving container | `1001` | -| `imagePullPolicy` | Image pull policy | `Always` if `image` tag is `latest`, else `IfNotPresent` | -| `podAnnotations` | Pod annotations | `{}` | -| `metrics.enabled` | Start a side-car Tensorflow prometheus exporter | `false` | -| `metrics.image.registry` | Tensorflow exporter image registry | `docker.io` | -| `metrics.image.repository` | Tensorflow exporter image name | `ynqa/tensorflow-serving-exporter` | -| `metrics.image.tag` | Tensorflow exporter image tag | `latest` | -| `metrics.image.pullPolicy` | Image pull policy | `IfNotPresent` | -| `metrics.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` (does not add image pull secrets to deployed pods) | -| `metrics.podAnnotations` | Additional annotations for Metrics exporter pod | `{prometheus.io/scrape: "true", prometheus.io/port: "9118"}` | -| `metrics.resources` | Exporter resource requests/limit | Memory: `256Mi`, CPU: `100m` | - -Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example, - -```console -$ helm install --name my-release bitnami/tensorflow-inception --set imagePullPolicy=Always -``` - -Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example, - -```console -$ helm install --name my-release -f values.yaml bitnami/tensorflow-inception -``` - -> **Tip**: You can use the default [values.yaml](values.yaml) - -## Upgrading - -### To 3.2.0 - -Tensorflow Serving container was moved to a non-root approach. There shouldn't be any issue when upgrading since the corresponding `securityContext` is enabled by default. Both container image and chart can be upgraded by running the command below: - -``` -$ helm upgrade my-release stable/tensorflow-inception -``` - -If you use a previous container image (previous to **1.12.0-r34**), disable the `securityContext` by running the command below: - -``` -$ helm upgrade my-release stable/tensorflow-inception --set securityContext.enabled=fase,server.image.tag=XXX -``` - -### To 1.0.0 - -Backwards compatibility is not guaranteed unless you modify the labels used on the chart's deployments. -Use the workaround below to upgrade from versions previous to 1.0.0. The following example assumes that the release name is tensorflow-inception: - -```console -$ kubectl patch deployment tensorflow-inception --type=json -p='[{"op": "remove", "path": "/spec/selector/matchLabels/chart"}]' -``` diff --git a/bitnami/tensorflow-inception/templates/NOTES.txt b/bitnami/tensorflow-inception/templates/NOTES.txt deleted file mode 100755 index cc2a1870f5..0000000000 --- a/bitnami/tensorflow-inception/templates/NOTES.txt +++ /dev/null @@ -1,19 +0,0 @@ -1. Get the TensorFlow Serving URL by running: - - {{- if contains "NodePort" .Values.serviceType }} - - export APP_HOST=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}") - export APP_PORT=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "fullname" . }} -o jsonpath="{.spec.ports[0].nodePort}") - - {{- else if contains "LoadBalancer" .Values.serviceType }} - - NOTE: It may take a few minutes for the LoadBalancer IP to be available. - Watch the status with: 'kubectl get svc --namespace {{ .Release.Namespace }} -w {{ template "fullname" . }}' - - export APP_HOST=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}") - export APP_PORT=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "fullname" . }} -o jsonpath="{.spec.ports[0].port}") - {{- end }} - -2. Test the server with a sample image. - - docker run --rm -it bitnami/tensorflow-inception bash -c "curl -o grace_hopper.jpg https://raw.githubusercontent.com/tensorflow/tensorflow/master/tensorflow/examples/label_image/data/grace_hopper.jpg && inception_client --server=$APP_HOST:$APP_PORT --image=grace_hopper.jpg" diff --git a/bitnami/tensorflow-inception/templates/_helpers.tpl b/bitnami/tensorflow-inception/templates/_helpers.tpl deleted file mode 100644 index 09fbd97653..0000000000 --- a/bitnami/tensorflow-inception/templates/_helpers.tpl +++ /dev/null @@ -1,126 +0,0 @@ -{{/* vim: set filetype=mustache: */}} -{{/* -Expand the name of the chart. -*/}} -{{- define "name" -}} -{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} -{{- end -}} - -{{/* -Create a default fully qualified app name. -We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). -*/}} -{{- define "fullname" -}} -{{- $name := default .Chart.Name .Values.nameOverride -}} -{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} -{{- end -}} - -{{/* -Return the proper tensorflow-inception server image name -*/}} -{{- define "tensorflow-inception.server.image" -}} -{{- $registryName := .Values.server.image.registry -}} -{{- $repositoryName := .Values.server.image.repository -}} -{{- $tag := .Values.server.image.tag | toString -}} -{{/* -Helm 2.11 supports the assignment of a value to a variable defined in a different scope, -but Helm 2.9 and 2.10 doesn't support it, so we need to implement this if-else logic. -Also, we can't use a single if because lazy evaluation is not an option -*/}} -{{- if .Values.global }} - {{- if .Values.global.imageRegistry }} - {{- printf "%s/%s:%s" .Values.global.imageRegistry $repositoryName $tag -}} - {{- else -}} - {{- printf "%s/%s:%s" $registryName $repositoryName $tag -}} - {{- end -}} -{{- else -}} - {{- printf "%s/%s:%s" $registryName $repositoryName $tag -}} -{{- end -}} -{{- end -}} - -{{/* -Return the proper tensorflow-inception client image name -*/}} -{{- define "tensorflow-inception.client.image" -}} -{{- $registryName := .Values.client.image.registry -}} -{{- $repositoryName := .Values.client.image.repository -}} -{{- $tag := .Values.client.image.tag | toString -}} -{{/* -Helm 2.11 supports the assignment of a value to a variable defined in a different scope, -but Helm 2.9 and 2.10 doesn't support it, so we need to implement this if-else logic. -Also, we can't use a single if because lazy evaluation is not an option -*/}} -{{- if .Values.global }} - {{- if .Values.global.imageRegistry }} - {{- printf "%s/%s:%s" .Values.global.imageRegistry $repositoryName $tag -}} - {{- else -}} - {{- printf "%s/%s:%s" $registryName $repositoryName $tag -}} - {{- end -}} -{{- else -}} - {{- printf "%s/%s:%s" $registryName $repositoryName $tag -}} -{{- end -}} -{{- end -}} - -{{/* -Return the proper image name (for the metrics image) -*/}} -{{- define "tensorflow-inception.metrics.image" -}} -{{- $registryName := .Values.metrics.image.registry -}} -{{- $repositoryName := .Values.metrics.image.repository -}} -{{- $tag := .Values.metrics.image.tag | toString -}} -{{/* -Helm 2.11 supports the assignment of a value to a variable defined in a different scope, -but Helm 2.9 and 2.10 doesn't support it, so we need to implement this if-else logic. -Also, we can't use a single if because lazy evaluation is not an option -*/}} -{{- if .Values.global }} - {{- if .Values.global.imageRegistry }} - {{- printf "%s/%s:%s" .Values.global.imageRegistry $repositoryName $tag -}} - {{- else -}} - {{- printf "%s/%s:%s" $registryName $repositoryName $tag -}} - {{- end -}} -{{- else -}} - {{- printf "%s/%s:%s" $registryName $repositoryName $tag -}} -{{- end -}} -{{- end -}} - -{{/* -Return the proper Docker Image Registry Secret Names -*/}} -{{- define "tensorflow-inception.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-inception/templates/deployment.yaml b/bitnami/tensorflow-inception/templates/deployment.yaml deleted file mode 100644 index badcae6bdb..0000000000 --- a/bitnami/tensorflow-inception/templates/deployment.yaml +++ /dev/null @@ -1,101 +0,0 @@ -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - name: {{ template "fullname" . }} - labels: - app: {{ template "fullname" . }} - chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" - release: "{{ .Release.Name }}" - heritage: "{{ .Release.Service }}" -spec: - selector: - matchLabels: - app: {{ template "fullname" . }} - release: "{{ .Release.Name }}" - replicas: {{ .Values.replicaCount }} - template: - metadata: - labels: - app: {{ template "fullname" . }} - chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" - release: "{{ .Release.Name }}" -{{- if or .Values.podAnnotations .Values.metrics.enabled }} - annotations: - {{- if .Values.podAnnotations }} -{{ toYaml .Values.podAnnotations | indent 8 }} - {{- end }} - {{- if .Values.metrics.podAnnotations }} -{{ toYaml .Values.metrics.podAnnotations | indent 8 }} - {{- end }} -{{- end }} - spec: - {{- if .Values.securityContext.enabled }} - securityContext: - fsGroup: {{ .Values.securityContext.fsGroup }} - runAsUser: {{ .Values.securityContext.runAsUser }} - {{- end }} -{{- include "tensorflow-inception.imagePullSecrets" . | indent 6 }} - initContainers: - - name: seed - image: "{{ template "tensorflow-inception.client.image" . }}" - imagePullPolicy: {{ .Values.client.image.pullPolicy | quote }} - command: - - "/bin/sh" - - "-c" - - | - if [ -f /seed/.initialized ];then - echo "Already initialized. Skipping" - else - curl -o /seed/inception-v3-2016-03-01.tar.gz http://download.tensorflow.org/models/image/imagenet/inception-v3-2016-03-01.tar.gz - cd /seed/ && tar -xzf inception-v3-2016-03-01.tar.gz - rm inception-v3-2016-03-01.tar.gz - inception_saved_model --checkpoint_dir=/seed/inception-v3 --output_dir=/seed/ - rm -rf inception-v3 - touch /seed/.initialized - fi - volumeMounts: - - name: seed - mountPath: /seed - containers: - - name: serving - image: "{{ template "tensorflow-inception.server.image" . }}" - imagePullPolicy: {{ .Values.server.image.pullPolicy | quote }} - readinessProbe: - tcpSocket: - port: {{ .Values.server.port }} - timeoutSeconds: 5 - livenessProbe: - tcpSocket: - port: {{ .Values.server.port }} - initialDelaySeconds: 30 - timeoutSeconds: 5 - failureThreshold: 6 - volumeMounts: - - name: seed - mountPath: "/bitnami/model-data" -{{- if .Values.metrics.enabled }} - - name: metrics - image: {{ template "tensorflow-inception.metrics.image" . }} - imagePullPolicy: {{ .Values.metrics.image.pullPolicy | quote }} - command: ['python', 'tf_serving_exporter.py', '--tf_port', '{{ .Values.server.port }}', '--port', '9118', '--model_name', 'inception-v3'] - ports: - - name: metrics - containerPort: 9118 - livenessProbe: - httpGet: - path: /metrics - port: metrics - initialDelaySeconds: 15 - timeoutSeconds: 5 - readinessProbe: - httpGet: - path: /metrics - port: metrics - initialDelaySeconds: 5 - timeoutSeconds: 1 - resources: - {{ toYaml .Values.metrics.resources | indent 10 }} -{{- end }} - volumes: - - name: seed - emptyDir: {} diff --git a/bitnami/tensorflow-inception/templates/svc.yaml b/bitnami/tensorflow-inception/templates/svc.yaml deleted file mode 100644 index 4ec245b0bc..0000000000 --- a/bitnami/tensorflow-inception/templates/svc.yaml +++ /dev/null @@ -1,16 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ template "fullname" . }} - labels: - app: {{ template "fullname" . }} - chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" - release: "{{ .Release.Name }}" - heritage: "{{ .Release.Service }}" -spec: - type: {{ .Values.serviceType }} - ports: - - port: {{ .Values.server.port }} - protocol: TCP - selector: - app: {{ template "fullname" . }} diff --git a/bitnami/tensorflow-inception/values.yaml b/bitnami/tensorflow-inception/values.yaml deleted file mode 100644 index 25c6714e84..0000000000 --- a/bitnami/tensorflow-inception/values.yaml +++ /dev/null @@ -1,99 +0,0 @@ -## 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: myRegistryName -# imagePullSecrets: -# - myRegistryKeySecretName - -replicaCount: 1 - -## TensorFlow Serving server image version -## ref: https://hub.docker.com/r/bitnami/tensorflow-serving/tags/ -## -server: - image: - registry: docker.io - repository: bitnami/tensorflow-serving - tag: 1.13.0 - ## Specify a imagePullPolicy - ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent' - ## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images - ## - pullPolicy: IfNotPresent - ## Optionally specify an array of imagePullSecrets. - ## Secrets must be manually created in the namespace. - ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ - ## - # pullSecrets: - # - myRegistryKeySecretName - port: 8500 - -## TensorFlow Inception image version -## ref: https://hub.docker.com/r/bitnami/tensorflow-inception/tags/ -## -client: - image: - registry: docker.io - repository: bitnami/tensorflow-inception - tag: 1.11.1 - ## Specify a imagePullPolicy - ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent' - ## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images - ## - pullPolicy: IfNotPresent - ## Optionally specify an array of imagePullSecrets. - ## Secrets must be manually created in the namespace. - ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ - ## - # pullSecrets: - # - myRegistryKeySecretName - -## Specify a imagePullPolicy -## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent' -## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images -## -imagePullPolicy: IfNotPresent - -## Tensorflow Serving Pod Security Context -## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ -## -securityContext: - enabled: true - fsGroup: 1001 - runAsUser: 1001 - -## Kubernetes configuration -## For minikube, set this to NodePort, elsewhere use LoadBalancer -## -serviceType: LoadBalancer - -## Pod annotations -## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ -## -podAnnotations: {} - -## Prometheus Exporter / Metrics -## -metrics: - enabled: false - image: - registry: docker.io - repository: ynqa/tensorflow-serving-exporter - tag: latest - pullPolicy: IfNotPresent - ## Optionally specify an array of imagePullSecrets. - ## Secrets must be manually created in the namespace. - ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ - ## - # pullSecrets: - # - myRegistryKeySecretName - ## Metrics exporter pod Annotation and Labels - podAnnotations: - prometheus.io/scrape: "true" - prometheus.io/port: "9118" - ## Metrics exporter resource requests and limits - ## ref: http://kubernetes.io/docs/user-guide/compute-resources/ - ## - # resources: {} From b43e8b57d65f851e7658f811423d186e1c29e71b Mon Sep 17 00:00:00 2001 From: Alejandro Moreno Date: Tue, 7 May 2019 11:46:58 +0200 Subject: [PATCH 2/2] Remove TensorFlow Inception (deprecated) --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index d8d394dd0d..0f0ce2f2b2 100644 --- a/README.md +++ b/README.md @@ -59,7 +59,6 @@ $ helm search bitnami - [nginx](https://github.com/bitnami/charts/tree/master/bitnami/nginx) - [nginx-ingress-controller](https://github.com/bitnami/charts/tree/master/bitnami/nginx-ingress-controller) - [NodeJS](https://github.com/bitnami/charts/tree/master/bitnami/node) -- [TensorFlow Inception](https://github.com/bitnami/charts/tree/master/bitnami/tensorflow-inception) - [TensorFlow ResNet](https://github.com/bitnami/charts/tree/master/bitnami/tensorflow-resnet) - [Tomcat](https://github.com/bitnami/charts/tree/master/bitnami/tomcat) - [WildFly](https://github.com/bitnami/charts/tree/master/bitnami/wildfly)