From 54d53ac97642560c92688fcbc41ca08be7b385da Mon Sep 17 00:00:00 2001 From: Kent Rancourt Date: Thu, 16 Mar 2017 14:54:30 -0400 Subject: [PATCH] refactor and clean up catalog and ups-broker charts (#546) --- {deploy => charts}/catalog/Chart.yaml | 0 charts/catalog/README.md | 68 +++++++++ charts/catalog/templates/_helpers.tpl | 9 ++ .../templates/apiserver-cert-secret.yaml | 13 ++ .../templates/apiserver-deployment.yaml | 139 ++++++++++++++++++ .../catalog/templates/apiserver-service.yaml | 30 ++++ .../controller-manager-deployment.yaml | 75 ++++++++++ charts/catalog/values.yaml | 54 +++++++ {deploy => charts}/ups-broker/Chart.yaml | 0 charts/ups-broker/README.md | 48 ++++++ charts/ups-broker/templates/_helpers.tpl | 9 ++ .../templates/broker-deployment.yaml | 47 ++++++ .../ups-broker/templates/broker-service.yaml | 16 ++ charts/ups-broker/values.yaml | 5 + contrib/examples/walkthrough/ups-broker.yaml | 2 +- contrib/jenkins/deploy.sh | 2 +- deploy/catalog/README.md | 78 ---------- deploy/catalog/templates/apiserver.yaml | 83 ----------- deploy/catalog/templates/cert.yaml | 8 - .../catalog/templates/controller-manager.yaml | 45 ------ deploy/ups-broker/templates/broker.yaml | 35 ----- docs/DEVGUIDE.md | 2 +- 22 files changed, 516 insertions(+), 252 deletions(-) rename {deploy => charts}/catalog/Chart.yaml (100%) create mode 100644 charts/catalog/README.md create mode 100644 charts/catalog/templates/_helpers.tpl create mode 100644 charts/catalog/templates/apiserver-cert-secret.yaml create mode 100644 charts/catalog/templates/apiserver-deployment.yaml create mode 100644 charts/catalog/templates/apiserver-service.yaml create mode 100644 charts/catalog/templates/controller-manager-deployment.yaml create mode 100644 charts/catalog/values.yaml rename {deploy => charts}/ups-broker/Chart.yaml (100%) create mode 100644 charts/ups-broker/README.md create mode 100644 charts/ups-broker/templates/_helpers.tpl create mode 100644 charts/ups-broker/templates/broker-deployment.yaml create mode 100644 charts/ups-broker/templates/broker-service.yaml create mode 100644 charts/ups-broker/values.yaml delete mode 100644 deploy/catalog/README.md delete mode 100644 deploy/catalog/templates/apiserver.yaml delete mode 100644 deploy/catalog/templates/cert.yaml delete mode 100644 deploy/catalog/templates/controller-manager.yaml delete mode 100644 deploy/ups-broker/templates/broker.yaml diff --git a/deploy/catalog/Chart.yaml b/charts/catalog/Chart.yaml similarity index 100% rename from deploy/catalog/Chart.yaml rename to charts/catalog/Chart.yaml diff --git a/charts/catalog/README.md b/charts/catalog/README.md new file mode 100644 index 000000000000..daa5d7ce7467 --- /dev/null +++ b/charts/catalog/README.md @@ -0,0 +1,68 @@ +# Service Catalog + +Service Catalog is a Kubernetes Incubator project that provides a +Kubernetes-native workflow for integrating with [Open Service Brokers] +(https://www.openservicebrokerapi.org/) to provision and bind to application +dependencies like databases, object storage, message-oriented middleware, and +more. + +For more information, [visit the project on github] +(https://github.com/kubernetes-incubator/service-catalog). + +## Prerequisites + +- Kubernetes 1.6+ with Beta APIs enabled + +## Installing the Chart + +To install the chart with the release name `catalog`: + +```bash +$ helm install charts/catalog --name catalog --namespace catalog +``` + +## Uninstalling the Chart + +To uninstall/delete the `catalog` deployment: + +```bash +$ helm delete catalog +``` + +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 Service Catalog +chart and their default values. + +| Parameter | Description | Default | +|-----------|-------------|---------| +| `apiserver.image` | apiserver image to use | `quay.io/kubernetes-service-catalog/apiserver:canary` | +| `apiserver.imagePullPolicy` | `imagePullPolicy` for the apiserver | `Always` | +| `apiserver.insecure` | Whether to expose an insecure endpoint; keep this enabled because there are some outstanding problems with the TLS-secured endpoint | `true` | +| `apiserver.tls.cert` | Base64-encoded x509 certificate | A self-signed certificate | +| `apiserver.tls.key` | Base64-encoded private key | The private key for the certificate above | +| `apiserver.service.type` | Type of service; valid values are `LoadBalancer` and `NodePort` | `LoadBalancer` | +| `apiserver.service.nodePort.securePort` | If service type is `NodePort`, specifies a port in allowable range (e.g. 30000 - 32767 on minikube); The TLS-enabled endpoint will be exposed here | `30443` | +| `apiserver.service.nodePort.insecurePort` | If service type is `NodePort`, specifies a port in allowable range (e.g. 30000 - 32767 on minikube); The insecure endpoint, if enabled, will be exposed here | `30080` | +| `apiserver.storage.type` | The storage backend to use; valid values are `etcd` and `tpr` | `etcd` | +| `apiserver.storage.etcd.useEmbedded` | If storage type is `etcd`: Whether to embed an etcd container in the apiserver pod; THIS IS INADEQUATE FOR PRODUCTION USE! | `true` | +| `apiserver.storage.etcd.servers` | If storage type is `etcd`: etcd URL(s); override this if NOT using embedded etcd | `http://localhost:2379` | +| `apiserver.storage.tpr.useEmbedded.globalNamespace` | If storage type is `tpr`: Some service catalog resources are not namespaced, but third party resources must be; setting this designates a namespace that will be treated as a container for such resources | `servicecatalog` | +| `apiserver.verbosity` | Log level; valid values are in the range 0 - 10 | `10` | +| `controllerManager.image` | controller-manager image to use | `quay.io/kubernetes-service-catalog/controller-manager:canary` | +| `controllerManager.imagePullPolicy` | `imagePullPolicy` for the controller-manager | `Always` | +| `controllerManager.verbosity` | Log level; valid values are in the range 0 - 10 | `10` | + +Specify each parameter using the `--set key=value[,key=value]` argument to +`helm install`. + +Alternatively, a YAML file that specifies the values for the parameters can be +provided while installing the chart. For example: + +```bash +$ helm install charts/catalog --name catalog --namespace catalog \ + --values values.yaml +``` diff --git a/charts/catalog/templates/_helpers.tpl b/charts/catalog/templates/_helpers.tpl new file mode 100644 index 000000000000..458fc1b0ce4a --- /dev/null +++ b/charts/catalog/templates/_helpers.tpl @@ -0,0 +1,9 @@ +{{/* vim: set filetype=mustache: */}} + +{{/* +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" -}} +{{- printf "%s-%s" .Release.Name .Chart.Name | trunc 63 | trimSuffix "-" -}} +{{- end -}} diff --git a/charts/catalog/templates/apiserver-cert-secret.yaml b/charts/catalog/templates/apiserver-cert-secret.yaml new file mode 100644 index 000000000000..16892f2e8a0d --- /dev/null +++ b/charts/catalog/templates/apiserver-cert-secret.yaml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: Secret +metadata: + name: {{ template "fullname" . }}-apiserver-cert + labels: + app: {{ template "fullname" . }}-apiserver + chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" + release: "{{ .Release.Name }}" + heritage: "{{ .Release.Service }}" +type: Opaque +data: + tls.crt: {{ .Values.apiserver.tls.cert }} + tls.key: {{ .Values.apiserver.tls.key }} diff --git a/charts/catalog/templates/apiserver-deployment.yaml b/charts/catalog/templates/apiserver-deployment.yaml new file mode 100644 index 000000000000..0df87ddef1df --- /dev/null +++ b/charts/catalog/templates/apiserver-deployment.yaml @@ -0,0 +1,139 @@ +kind: Deployment +apiVersion: extensions/v1beta1 +metadata: + name: {{ template "fullname" . }}-apiserver + labels: + app: {{ template "fullname" . }}-apiserver + chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" + release: "{{ .Release.Name }}" + heritage: "{{ .Release.Service }}" +spec: + replicas: 1 + selector: + matchLabels: + app: {{ template "fullname" . }}-apiserver + template: + metadata: + labels: + app: {{ template "fullname" . }}-apiserver + chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" + release: "{{ .Release.Name }}" + heritage: "{{ .Release.Service }}" + spec: + containers: + - name: apiserver + image: {{ .Values.apiserver.image }} + imagePullPolicy: {{ .Values.apiserver.imagePullPolicy }} + resources: + requests: + cpu: 100m + memory: 20Mi + limits: + cpu: 100m + memory: 30Mi + args: + - --secure-port + - "8443" + {{- if .Values.apiserver.insecure }} + - --insecure-bind-address + - 0.0.0.0 + - --insecure-port + - "8080" + {{- end }} + - --storage-type + - {{ .Values.apiserver.storage.type }} + {{- if eq .Values.apiserver.storage.type "etcd" }} + - --etcd-servers + - {{ .Values.apiserver.storage.etcd.servers }} + {{- else if eq .Values.apiserver.storage.type "tpr" }} + - --global-namespace + - {{ .Values.apiserver.storage.tpr.globalNamespace }} + {{- end }} + - -v + - "{{ .Values.apiserver.verbosity }}" + ports: + {{- if .Values.apiserver.insecure }} + - containerPort: 8080 + {{- end }} + - containerPort: 8443 + volumeMounts: + - name: apiserver-cert + mountPath: /var/run/kubernetes-service-catalog + readOnly: true + readinessProbe: + httpGet: + port: 8443 + path: /healthz + scheme: HTTPS + failureThreshold: 1 + initialDelaySeconds: 10 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 2 + livenessProbe: + httpGet: + port: 8443 + path: /healthz + scheme: HTTPS + failureThreshold: 3 + initialDelaySeconds: 10 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 2 + {{- if and (eq .Values.apiserver.storage.type "etcd") .Values.apiserver.storage.etcd.useEmbedded }} + - name: etcd + image: quay.io/coreos/etcd:latest + imagePullPolicy: Always + resources: + requests: + cpu: 100m + memory: 20Mi + limits: + cpu: 100m + memory: 30Mi + env: + - name: ETCD_DATA_DIR + value: /etcd-data-dir + command: + - /usr/local/bin/etcd + - --listen-client-urls + - http://0.0.0.0:2379 + - --advertise-client-urls + - http://localhost:2379 + ports: + - containerPort: 2379 + volumeMounts: + - name: etcd-data-dir + mountPath: /etcd-data-dir + readinessProbe: + httpGet: + port: 2379 + path: /health + failureThreshold: 1 + initialDelaySeconds: 10 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 2 + livenessProbe: + httpGet: + port: 2379 + path: /health + failureThreshold: 3 + initialDelaySeconds: 10 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 2 + {{- end }} + volumes: + - name: apiserver-cert + secret: + secretName: {{ template "fullname" . }}-apiserver-cert + items: + - key: tls.crt + path: apiserver.crt + - key: tls.key + path: apiserver.key + {{- if eq .Values.apiserver.storage.type "etcd" }} + - name: etcd-data-dir + emptyDir: {} + {{- end }} diff --git a/charts/catalog/templates/apiserver-service.yaml b/charts/catalog/templates/apiserver-service.yaml new file mode 100644 index 000000000000..8a14fea6744c --- /dev/null +++ b/charts/catalog/templates/apiserver-service.yaml @@ -0,0 +1,30 @@ +kind: Service +apiVersion: v1 +metadata: + name: {{ template "fullname" . }}-apiserver + labels: + app: {{ template "fullname" . }}-apiserver + chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" + release: "{{ .Release.Name }}" + heritage: "{{ .Release.Service }}" +spec: + type: {{ .Values.apiserver.service.type }} + selector: + app: {{ template "fullname" . }}-apiserver + ports: + {{- if .Values.apiserver.insecure }} + - name: insecure + protocol: TCP + port: 80 + targetPort: 8080 + {{- if eq .Values.apiserver.service.type "NodePort" }} + nodePort: {{ .Values.apiserver.service.nodePort.insecurePort }} + {{- end }} + {{- end }} + - name: secure + protocol: TCP + port: 443 + targetPort: 8443 + {{- if eq .Values.apiserver.service.type "NodePort" }} + nodePort: {{ .Values.apiserver.service.nodePort.securePort }} + {{- end }} diff --git a/charts/catalog/templates/controller-manager-deployment.yaml b/charts/catalog/templates/controller-manager-deployment.yaml new file mode 100644 index 000000000000..b42052ab3f09 --- /dev/null +++ b/charts/catalog/templates/controller-manager-deployment.yaml @@ -0,0 +1,75 @@ +kind: Deployment +apiVersion: extensions/v1beta1 +metadata: + name: {{ template "fullname" . }}-controller-manager + labels: + app: {{ template "fullname" . }} + chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" + release: "{{ .Release.Name }}" + heritage: "{{ .Release.Service }}" +spec: + replicas: 1 + selector: + matchLabels: + app: {{ template "fullname" . }}-controller-manager + template: + metadata: + labels: + app: {{ template "fullname" . }}-controller-manager + chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" + release: "{{ .Release.Name }}" + heritage: "{{ .Release.Service }}" + spec: + containers: + - name: controller-manager + image: {{ .Values.controllerManager.image }} + imagePullPolicy: {{ .Values.controllerManager.imagePullPolicy }} + resources: + requests: + cpu: 100m + memory: 20Mi + limits: + cpu: 100m + memory: 30Mi + args: + - --port + - "8080" + - --service-catalog-api-server-url + {{- if .Values.apiserver.insecure }} + - http://{{ template "fullname" . }}-apiserver + {{- else }} + - https://{{ template "fullname" . }}-apiserver + {{- end }} + - -v + - "{{ .Values.controllerManager.verbosity }}" + ports: + - containerPort: 8080 + volumeMounts: + - name: service-catalog-cert + mountPath: /etc/service-catalog-ssl + readOnly: true + readinessProbe: + httpGet: + port: 8080 + path: /healthz + failureThreshold: 1 + initialDelaySeconds: 10 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 2 + livenessProbe: + httpGet: + port: 8080 + path: /healthz + failureThreshold: 3 + initialDelaySeconds: 10 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 2 + volumes: + - name: service-catalog-cert + secret: + secretName: {{ template "fullname" . }}-apiserver-cert + items: + - key: tls.crt + path: apiserver.crt diff --git a/charts/catalog/values.yaml b/charts/catalog/values.yaml new file mode 100644 index 000000000000..0142e24423b3 --- /dev/null +++ b/charts/catalog/values.yaml @@ -0,0 +1,54 @@ +# Default values for Service Catalog +apiserver: + # apiserver image to use + image: quay.io/kubernetes-service-catalog/apiserver:canary + # imagePullPolicy for the apiserver; valid values are "IfNotPresent" and + # "Always" + imagePullPolicy: Always + # Whether to expose an insecure endpoint; keep this enabled because there + # are some outstanding problems with the TLS-secured endpoint + insecure: true + tls: + # Base64-encoded x509 certificate + cert: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURUVENDQWpXZ0F3SUJBZ0lCQVRBTkJna3Foa2lHOXcwQkFRc0ZBREFpTVNBd0hnWURWUVFEREJjeE1DNHgKTVRJdU1TNHhPRFJBTVRRNE56RTVPRE14TWpBZUZ3MHhOekF5TVRVeU1qTTRNekphRncweE9EQXlNVFV5TWpNNApNekphTUNJeElEQWVCZ05WQkFNTUZ6RXdMakV4TWk0eExqRTRORUF4TkRnM01UazRNekV5TUlJQklqQU5CZ2txCmhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBc1J6WlcxTllJQ2FaV3NScytrUGZxRU1uUnI0eE91N2gKb0l5ODI2MHltU3lCRkFZaUh0ankrVVc5NldNbXdCQkFRcVlGR3BQczN2UnI1SGF1RkJuV1dicHRMUjlnbVdZWApRa0tzYm9yK1MybTJwYWUyQ2EyVVRnMXJkMkV5VHpkbWkzaFdKMWRQMllRV0tOSXJOSGpmcTM5L25HTU5YWHRjCmJqbWYxb0ZHUER5ODVMNlIyclpVMHlaM0NMNVByczNhV0tQQmtLVXU3NDZhbldONzNTcGRoSTFxMnhNWHJseXMKcFlnUzdjV2FhZERidjVvNjFUYUFyTm0yTCtUWlNESExUMUVzOXdlVCs3TkhQQVlkUVpYTW1lRXU1V1U5ZzZ0UApnOEtmQk5PVG9iUzZPOTZLTzl4Y0VqT0JLcWdaZTQyYVpoZmFja09rcCs5aUFRN1BPQXhTVVFJREFRQUJvNEdOCk1JR0tNQTRHQTFVZER3RUIvd1FFQXdJQ3BEQVRCZ05WSFNVRUREQUtCZ2dyQmdFRkJRY0RBVEFQQmdOVkhSTUIKQWY4RUJUQURBUUgvTUZJR0ExVWRFUVJMTUVtQ0ZtdDFZbVZ5Ym1WMFpYTXVaR1ZtWVhWc2RDNXpkbU9DRW10MQpZbVZ5Ym1WMFpYTXVaR1ZtWVhWc2RJSUthM1ZpWlhKdVpYUmxjNElKYkc5allXeG9iM04waHdRS2NBRzRNQTBHCkNTcUdTSWIzRFFFQkN3VUFBNElCQVFCYWlPckpOS3FhMmFWdG13YVdoaDAyVFJrMjlXLzA0WlRCYnJseFlpbHQKVi9CYklHbmF3UzlxcGRyVHJNc0RBVmtBbUpRaGtabHJOeFpYbE01WnR2c2wyc3ZHMVlFVnA1UTJuaU9PT3B1Sgo1UDFINUo2SDJNWUpQS2c3OTAyVnZnZ0xPVG5QU01aVjgyWFRlV2JrRW51UjFlY3pwK1NmWjVjZFArSnE3WVRuCm52dHc3aHUzOW1mSVZIU3g3Rk0vN2lBWUJLN0tNQlNUUHZYdWk0SGRTamUzTkhkNlllL0c1bTgvOXNxVXVIL0gKcWJMT0lpenFRRVFNTFRzaFNHdUtxYlVFZ2tBU0ExaTVPbENZcWpEUGRQNTBvVEJkQ24vRnhrMVIvc0R5UlhtQwpYMUR4cUZjNzdkT0pMaHJKM0tDT1RsTy9RY2tkcytkR0tTU09jV0Y4L0p5egotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg== + # Base64-encoded private key + key: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb3dJQkFBS0NBUUVBc1J6WlcxTllJQ2FaV3NScytrUGZxRU1uUnI0eE91N2hvSXk4MjYweW1TeUJGQVlpCkh0ankrVVc5NldNbXdCQkFRcVlGR3BQczN2UnI1SGF1RkJuV1dicHRMUjlnbVdZWFFrS3Nib3IrUzJtMnBhZTIKQ2EyVVRnMXJkMkV5VHpkbWkzaFdKMWRQMllRV0tOSXJOSGpmcTM5L25HTU5YWHRjYmptZjFvRkdQRHk4NUw2UgoyclpVMHlaM0NMNVByczNhV0tQQmtLVXU3NDZhbldONzNTcGRoSTFxMnhNWHJseXNwWWdTN2NXYWFkRGJ2NW82CjFUYUFyTm0yTCtUWlNESExUMUVzOXdlVCs3TkhQQVlkUVpYTW1lRXU1V1U5ZzZ0UGc4S2ZCTk9Ub2JTNk85NksKTzl4Y0VqT0JLcWdaZTQyYVpoZmFja09rcCs5aUFRN1BPQXhTVVFJREFRQUJBb0lCQUUyYUVWWmxkeWhuSVN4WApBbFRKWm5iSUxhNWVhUjJrU3pIWVdHdDhRTDVDZEsvOFcvamVIOSsrZ2c1L2hod0RRdFN3LzIxOHdQMlRaSzZ1Cm5XbHJSTEw5N3hZbE9HTWVDelRhRjhrN2wxNGRqSXlhcGpVcFcrQ3pHcEl0QVNrYVloRGNBZ3Vzd3V6UVpoRXUKdlFWNXJLN3M1MUh6U0lqY0kweWNiUDlFbHl5T3lhQWJhRnNuQmw5RkFCSUgydmhIRS9NNUZsUHBOaVZPaGhraQpQUWdEQng1VGdrYUJrUDJtMVF1WmdxbnRkakRpcC9ZUWdpNE03ai9FMm9tWWtxOGkvd0lnUTBmaUkrZmxzVXpyCmNBWHNvaTU5TGVwLzEyUllqUEtoMXFJUHd4Y0dvTCtHektxNlQ0RG9xRXgxYXg4c1YwK1ZZVHJ6UHJXbTBZL0cKdHVhaXJnRUNnWUVBMm95RDVDNkdJb1JKU21ldTRTbnlxZTFJTjYrUndTd3RvMmd1SUx3K3dUSVBPTFJyNFJzMwpvRjJ6VS9NcmZpRFliTSswK0NXSGhOb3huMmcwOEsyd0pFV01EY1JlNjJLeEhjUEFXcFZuajVUcEJSaHRibUhZCkFoaGVidnErOW9RSkM3c3FLRHp3dWVpYzZhVlVmcVBtTXJ0M0tpRVh6R3VHWVVGbi93dm12dkVDZ1lFQXozYVQKaGU2OG9neHUrSEs4MElYSWNEMlljNFVYeS9UalNOSVdFakRzTUYrekhyNFNBMHJvQzBCaHc2b1djeUpERXFHdgo3WFg3dmFzMHR2SlBTc1Y3QnZieWxmUzY1cVdyN3JJQ2VsbG44Z3ptbERLUlcwbE5hNVAzWWxsSGx1bXVBR29MCjFJMHBwVUVLN3ZOK2hzQk5CdmtRL3NTVlRqME9aNTJuemo1ZmlXRUNnWUJ3TytrZnJhVEU1UnFlVTFERDRUNzEKZFIyNU96aW04NEVjZ2N2dWs3M0dpV2Ezd0RBR2ttdW10M2Y0ak5DeEhUMEg1RU1UakhKa0Q0bWNTMitraWc0RApFcFF5SGI2Qk0xV3g2MjFGRjZUdlg1R3JSRGd1ajZEV3NwME1jVWpRWUU0azhDRmVPSzJIUzZZSmR4WkZVdlpNCjUyanpBYnV2Qnlram1PdEhWMTFRZ1FLQmdGQ0xsTkxXMFYySXZqeXZMeWMyQ1krcUdsb2ZQaEh0VGFDa0QvV1kKRU5ybkRML093MmVMMlhNazE5QURaUnZtSFd4S1llY3JlMFUwQnc5UUhBREhrdkF0U0JsNEhtZ1Z3aDYxOWNoUwpsY3lmdlpXajNGTTRybG9wNUUzR284aXZpT0tZU1dlSU5yYjEvYXl2MUZ1MHBUTWoxN2xSMFRYQzlxaTd5TDZGCjhNbUJBb0dCQU0vN2ROK2lLN2NOTlFiT3haMWJ0VDduQzkySTI1ekduRWNXZFBzMWdZR2w2SnQ3TXJUQTEzRDUKNDNNTXIvTE1OdnI0ZWMyVHl0VUpkMXMzQ1dEMEM5UHg5dUlURUNOT1ZCRHpvN2hoUFcxb0NkTTl0OWM4V0hSNwpzSSsrWktKOVJVanZzeUNZeHM1SFNlNzFVNXZYMTFMcUhydkc2Q2docnNNc2lCa0N1NGZWCi0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg== + # Attributes of the apiserver's service resource + service: + # Type of service; valid values are "LoadBalancer" and "NodePort" + # NodePort is useful if deploying on bare metal or hacking locally on + # minikube + type: NodePort + # Further configuration for services of type NodePort + nodePort: + # Available port in allowable range (e.g. 30000 - 32767 on minikube) + # The TLS-enabled endpoint will be exposed here + securePort: 30443 + # Available port in allowable range (e.g. 30000 - 32767 on minikube) + # The insecure endpoint, if enabled, will be exposed here + insecurePort: 30080 + storage: + # The storage backend to use; valid values are "etcd" and "tpr" + type: etcd + # Further configuration for the etcd-based backend + etcd: + # Whether to embed an etcd container in the apiserver pod + # THIS IS INADEQUATE FOR PRODUCTION USE! + useEmbedded: true + # etcd URL(s); override this if NOT using embedded etcd + servers: http://localhost:2379 + tpr: + # Some service catalog resources are not namespaced, but third party + # resources must be; setting this designates a namespace that will be + # treated as a container for such resources + globalNamespace: servicecatalog + # Log level; valid values are in the range 0 - 10 + verbosity: 10 +controllerManager: + # controller-manager image to use + image: quay.io/kubernetes-service-catalog/controller-manager:canary + # imagePullPolicy for the controller-manager; valid values are "IfNotPresent" + # and "Always" + imagePullPolicy: Always + # Log level; valid values are in the range 0 - 10 + verbosity: 10 diff --git a/deploy/ups-broker/Chart.yaml b/charts/ups-broker/Chart.yaml similarity index 100% rename from deploy/ups-broker/Chart.yaml rename to charts/ups-broker/Chart.yaml diff --git a/charts/ups-broker/README.md b/charts/ups-broker/README.md new file mode 100644 index 000000000000..cc7e08c4ddb0 --- /dev/null +++ b/charts/ups-broker/README.md @@ -0,0 +1,48 @@ +# User Provided Service Broker + +User Provided Service Broker is an example [Open Service Broker] +(https://www.openservicebrokerapi.org/) for use demonstrating the Kubernetes +Service Catalog. + +For more information, [visit the Service Catalog project on github] +(https://github.com/kubernetes-incubator/service-catalog). + +## Installing the Chart + +To install the chart with the release name `ups-broker`: + +```bash +$ helm install charts/ups-broker --name ups-broker --namespace ups-broker +``` + +## Uninstalling the Chart + +To uninstall/delete the `ups-broker` deployment: + +```bash +$ helm delete ups-broker +``` + +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 User Provided +Service Broker + +| Parameter | Description | Default | +|-----------|-------------|---------| +| `image` | Image to use | `quay.io/kubernetes-service-catalog/user-broker:canary` | +| `imagePullPolicy` | `imagePullPolicy` for the ups-broker | `Always` | + +Specify each parameter using the `--set key=value[,key=value]` argument to +`helm install`. + +Alternatively, a YAML file that specifies the values for the parameters can be +provided while installing the chart. For example: + +```bash +$ helm install charts/ups-broker --name ups-broker --namespace ups-broker \ + --values values.yaml +``` diff --git a/charts/ups-broker/templates/_helpers.tpl b/charts/ups-broker/templates/_helpers.tpl new file mode 100644 index 000000000000..458fc1b0ce4a --- /dev/null +++ b/charts/ups-broker/templates/_helpers.tpl @@ -0,0 +1,9 @@ +{{/* vim: set filetype=mustache: */}} + +{{/* +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" -}} +{{- printf "%s-%s" .Release.Name .Chart.Name | trunc 63 | trimSuffix "-" -}} +{{- end -}} diff --git a/charts/ups-broker/templates/broker-deployment.yaml b/charts/ups-broker/templates/broker-deployment.yaml new file mode 100644 index 000000000000..8b29b3ee55f8 --- /dev/null +++ b/charts/ups-broker/templates/broker-deployment.yaml @@ -0,0 +1,47 @@ +kind: Deployment +apiVersion: extensions/v1beta1 +metadata: + name: {{ template "fullname" . }} + labels: + app: {{ template "fullname" . }} + chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" + release: "{{ .Release.Name }}" + heritage: "{{ .Release.Service }}" +spec: + replicas: 1 + selector: + matchLabels: + app: {{ template "fullname" . }} + template: + metadata: + labels: + app: {{ template "fullname" . }} + chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" + release: "{{ .Release.Name }}" + heritage: "{{ .Release.Service }}" + spec: + containers: + - name: ups-broker + image: {{ .Values.image }} + imagePullPolicy: {{ .Values.imagePullPolicy }} + args: + - --port + - "8080" + ports: + - containerPort: 8080 + readinessProbe: + tcpSocket: + port: 8080 + failureThreshold: 1 + initialDelaySeconds: 10 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 2 + livenessProbe: + tcpSocket: + port: 8080 + failureThreshold: 3 + initialDelaySeconds: 10 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 2 diff --git a/charts/ups-broker/templates/broker-service.yaml b/charts/ups-broker/templates/broker-service.yaml new file mode 100644 index 000000000000..f0df832e7e84 --- /dev/null +++ b/charts/ups-broker/templates/broker-service.yaml @@ -0,0 +1,16 @@ +kind: Service +apiVersion: v1 +metadata: + name: {{ template "fullname" . }} + labels: + app: {{ template "fullname" . }} + chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" + release: "{{ .Release.Name }}" + heritage: "{{ .Release.Service }}" +spec: + selector: + app: {{ template "fullname" . }} + ports: + - protocol: TCP + port: 80 + targetPort: 8080 diff --git a/charts/ups-broker/values.yaml b/charts/ups-broker/values.yaml new file mode 100644 index 000000000000..059bdc5cd0ab --- /dev/null +++ b/charts/ups-broker/values.yaml @@ -0,0 +1,5 @@ +# Default values for Service Catalog +# Image to use +image: quay.io/kubernetes-service-catalog/user-broker:canary +# ImagePullPolicy; valid values are "IfNotPresent" and "Always" +imagePullPolicy: Always diff --git a/contrib/examples/walkthrough/ups-broker.yaml b/contrib/examples/walkthrough/ups-broker.yaml index 48ad4a1c6a29..ce4bcadde6fa 100644 --- a/contrib/examples/walkthrough/ups-broker.yaml +++ b/contrib/examples/walkthrough/ups-broker.yaml @@ -3,4 +3,4 @@ kind: Broker metadata: name: ups-broker spec: - url: http://ups-broker.ups-broker.svc.cluster.local:8000 + url: http://ups-broker-ups-broker.ups-broker.svc.cluster.local diff --git a/contrib/jenkins/deploy.sh b/contrib/jenkins/deploy.sh index f817d038368f..2d9482e78f3e 100755 --- a/contrib/jenkins/deploy.sh +++ b/contrib/jenkins/deploy.sh @@ -88,7 +88,7 @@ echo 'Deploying to Kubernetes cluster...' kubectl create namespace "${NAMESPACE}" retry -n 10 -s 10 -t 60 \ - helm install "${ROOT}/deploy/catalog" \ + helm install "${ROOT}/charts/catalog" \ --set "registry=${GCR},version=${VERSION},debug=true" \ --namespace "${NAMESPACE}" \ || error_exit 'Error deploying to Kubernetes cluster.' diff --git a/deploy/catalog/README.md b/deploy/catalog/README.md deleted file mode 100644 index 78b3dc914ff3..000000000000 --- a/deploy/catalog/README.md +++ /dev/null @@ -1,78 +0,0 @@ -# Service Catalog Helm Chart - -The Helm Chart deploys Service Catalog into an existing Kubernetes cluster. - -## Prerequisites - -- [Helm](https://github.com/kubernetes/helm) must be installed in the cluster -- Images must be built from source and pushed to a registry accessible to the - cluster if deploying to a non-local cluster; see the [dev guide](../../docs/DEVGUIDE.md) for instructions - -## Usage - -Supported template parameters (values): - -### Deployment Knobs - -- `registry`: Container registry with Service Catalog images; optional; defaults - to unset -- `version`: Version of Service Catalog (container images) to deploy; optional; - defaults to `latest` -- `apiServerVersion`: The version of the API server image to deploy; optional; - defaults to unset; overrides `version` for the API server if set -- `controllerManagerVersion`: The version of the controller-manager image to - deploy; optional; defaults to unset; overrides `version` for the - controller-manager if set -- `etcdImage`: The name of the etcd image to use; optional; defaults to - `quay.io/coreos/etcd` -- `etcdVersion`: The version of the etcd image to deploy; optional; defaults to - unset; overrides `version` for etcd if set - -### Catalog knobs - -- `verbosity`: The verbosity of logs; optional; defaults to `10` -- `debug`: Whether to create a load balancer for the apiserver and - controller-manager services; optional; defaults to `false` -- `imagePullPolicy`: The image pull policy to use for all pods in this chart; - optional; defaults to `Always` - -### API Server knobs - -- `insecure`: Whether the API server should serve insecurely; optional; defaults - to `false` -- `insecurePort`: When `insecure` is true, the API server pod serves insecurely - on this container port; optional; defaults to `8081` -- `insecureServicePort`: When `insecure` is true, the API server is fronted by a - k8s service serving on this node port; optional; defaults to `30001` -- `storageType`: The type of storage for the API server to use; optional; - defaults to `etcd`, also accepts `tpr` -- `globalNamespace`: The namespace to store global resources in when the API - server is backed by TPR - -## Examples - -### Local cluster installation, backed with etcd - -This helm command installs into a local cluster in namespace `service- -catalog`, backing the API server with etcd, and serving insecurely on node -port 30000: - -```console -helm install \ - --namespace=service-catalog \ - --set storageType=etcd,insecure=true,debug=true,nodePort=30000,imagePullPolicy=Never \ - deploy/catalog -``` - -### Local cluster installation, backed with TPR - -This helm command installs into a local cluster in namespace `service-catalog- -tpr`, backing the API server with third party resources in the main Kubernetes -API server: - -```console -helm install \ - --namespace=service-catalog-tpr \ - --set version=${VERSION},storageType=tpr,debug=true,insecure=true,imagePullPolicy=Never,globalNamespace=service-catalog-global \ - deploy/catalog -``` \ No newline at end of file diff --git a/deploy/catalog/templates/apiserver.yaml b/deploy/catalog/templates/apiserver.yaml deleted file mode 100644 index b4bd9846e922..000000000000 --- a/deploy/catalog/templates/apiserver.yaml +++ /dev/null @@ -1,83 +0,0 @@ -kind: Deployment -apiVersion: extensions/v1beta1 -metadata: - name: apiserver -spec: - replicas: 1 - template: - metadata: - labels: - app: apiserver - spec: - containers: - - name: apiserver - image: {{ if .Values.registry }}{{ .Values.registry }}/{{ end }}apiserver:{{ if .Values.apiServerVersion }}{{ .Values.apiServerVersion }}{{ else }}{{ default "latest" .Values.version }}{{ end }} - imagePullPolicy: {{ default "Always" .Values.imagePullPolicy }} - args: - - --global-namespace - - {{ default "servicecatalog" .Values.globalNamespace }} - - --storage-type - - {{ default "etcd" .Values.storageType }} - {{ if .Values.insecure -}} - - --secure-port - - "0" - - --insecure-bind-address - - "0.0.0.0" - - --insecure-port - - {{ default 8081 .Values.insecurePort | quote }} - {{- end }} - {{ if eq (default .Values.storageType "etcd") "etcd" -}} - - --etcd-servers - - http://localhost:2379 - {{- end }} - - -v - - {{ default 10 .Values.verbosity | quote }} - ports: - - containerPort: 6443 - {{ if .Values.insecure -}} - - containerPort: {{ default 8081 .Values.insecurePort }} - hostPort: {{ default 8081 .Values.insecurePort }} - {{- end }} - volumeMounts: - - name: apiserver-ssl - mountPath: /var/run/kubernetes-service-catalog - readOnly: true - {{ if eq (.Values.storageType | default "etcd") "etcd" -}} - - name: etcd - image: {{ default .Values.etcdImage "quay.io/coreos/etcd" }}:{{ if .Values.etcdVersion }}{{ .Values.etcdVersion }}{{ else }}{{ "latest" }}{{ end }} - env: - - name: ETCD_DATA_DIR - value: /etcd-data-dir - volumeMounts: - - name: etcd-data-dir - mountPath: /etcd-data-dir - {{- end }} - volumes: - - name: etcd-data-dir - emptyDir: {} - - name: apiserver-ssl - secret: - secretName: apiserver-ssl ---- -kind: Service -apiVersion: v1 -metadata: - name: apiserver -spec: -{{ if .Values.debug }} - type: LoadBalancer -{{ end }} - selector: - app: apiserver - ports: - {{ if .Values.insecure -}} - - name: insecure - protocol: TCP - nodePort: {{ default 30001 .Values.insecureServicePort }} - port: 80 - targetPort: {{ default 8081 .Values.insecurePort }} - {{- end }} - - name: secure - protocol: TCP - port: 6443 - targetPort: 6443 diff --git a/deploy/catalog/templates/cert.yaml b/deploy/catalog/templates/cert.yaml deleted file mode 100644 index 85465c28e650..000000000000 --- a/deploy/catalog/templates/cert.yaml +++ /dev/null @@ -1,8 +0,0 @@ -apiVersion: v1 -kind: Secret -metadata: - name: apiserver-ssl -type: Opaque -data: - apiserver.crt: "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURUVENDQWpXZ0F3SUJBZ0lCQVRBTkJna3Foa2lHOXcwQkFRc0ZBREFpTVNBd0hnWURWUVFEREJjeE1DNHgKTVRJdU1TNHhPRFJBTVRRNE56RTVPRE14TWpBZUZ3MHhOekF5TVRVeU1qTTRNekphRncweE9EQXlNVFV5TWpNNApNekphTUNJeElEQWVCZ05WQkFNTUZ6RXdMakV4TWk0eExqRTRORUF4TkRnM01UazRNekV5TUlJQklqQU5CZ2txCmhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBc1J6WlcxTllJQ2FaV3NScytrUGZxRU1uUnI0eE91N2gKb0l5ODI2MHltU3lCRkFZaUh0ankrVVc5NldNbXdCQkFRcVlGR3BQczN2UnI1SGF1RkJuV1dicHRMUjlnbVdZWApRa0tzYm9yK1MybTJwYWUyQ2EyVVRnMXJkMkV5VHpkbWkzaFdKMWRQMllRV0tOSXJOSGpmcTM5L25HTU5YWHRjCmJqbWYxb0ZHUER5ODVMNlIyclpVMHlaM0NMNVByczNhV0tQQmtLVXU3NDZhbldONzNTcGRoSTFxMnhNWHJseXMKcFlnUzdjV2FhZERidjVvNjFUYUFyTm0yTCtUWlNESExUMUVzOXdlVCs3TkhQQVlkUVpYTW1lRXU1V1U5ZzZ0UApnOEtmQk5PVG9iUzZPOTZLTzl4Y0VqT0JLcWdaZTQyYVpoZmFja09rcCs5aUFRN1BPQXhTVVFJREFRQUJvNEdOCk1JR0tNQTRHQTFVZER3RUIvd1FFQXdJQ3BEQVRCZ05WSFNVRUREQUtCZ2dyQmdFRkJRY0RBVEFQQmdOVkhSTUIKQWY4RUJUQURBUUgvTUZJR0ExVWRFUVJMTUVtQ0ZtdDFZbVZ5Ym1WMFpYTXVaR1ZtWVhWc2RDNXpkbU9DRW10MQpZbVZ5Ym1WMFpYTXVaR1ZtWVhWc2RJSUthM1ZpWlhKdVpYUmxjNElKYkc5allXeG9iM04waHdRS2NBRzRNQTBHCkNTcUdTSWIzRFFFQkN3VUFBNElCQVFCYWlPckpOS3FhMmFWdG13YVdoaDAyVFJrMjlXLzA0WlRCYnJseFlpbHQKVi9CYklHbmF3UzlxcGRyVHJNc0RBVmtBbUpRaGtabHJOeFpYbE01WnR2c2wyc3ZHMVlFVnA1UTJuaU9PT3B1Sgo1UDFINUo2SDJNWUpQS2c3OTAyVnZnZ0xPVG5QU01aVjgyWFRlV2JrRW51UjFlY3pwK1NmWjVjZFArSnE3WVRuCm52dHc3aHUzOW1mSVZIU3g3Rk0vN2lBWUJLN0tNQlNUUHZYdWk0SGRTamUzTkhkNlllL0c1bTgvOXNxVXVIL0gKcWJMT0lpenFRRVFNTFRzaFNHdUtxYlVFZ2tBU0ExaTVPbENZcWpEUGRQNTBvVEJkQ24vRnhrMVIvc0R5UlhtQwpYMUR4cUZjNzdkT0pMaHJKM0tDT1RsTy9RY2tkcytkR0tTU09jV0Y4L0p5egotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==" - apiserver.key: "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb3dJQkFBS0NBUUVBc1J6WlcxTllJQ2FaV3NScytrUGZxRU1uUnI0eE91N2hvSXk4MjYweW1TeUJGQVlpCkh0ankrVVc5NldNbXdCQkFRcVlGR3BQczN2UnI1SGF1RkJuV1dicHRMUjlnbVdZWFFrS3Nib3IrUzJtMnBhZTIKQ2EyVVRnMXJkMkV5VHpkbWkzaFdKMWRQMllRV0tOSXJOSGpmcTM5L25HTU5YWHRjYmptZjFvRkdQRHk4NUw2UgoyclpVMHlaM0NMNVByczNhV0tQQmtLVXU3NDZhbldONzNTcGRoSTFxMnhNWHJseXNwWWdTN2NXYWFkRGJ2NW82CjFUYUFyTm0yTCtUWlNESExUMUVzOXdlVCs3TkhQQVlkUVpYTW1lRXU1V1U5ZzZ0UGc4S2ZCTk9Ub2JTNk85NksKTzl4Y0VqT0JLcWdaZTQyYVpoZmFja09rcCs5aUFRN1BPQXhTVVFJREFRQUJBb0lCQUUyYUVWWmxkeWhuSVN4WApBbFRKWm5iSUxhNWVhUjJrU3pIWVdHdDhRTDVDZEsvOFcvamVIOSsrZ2c1L2hod0RRdFN3LzIxOHdQMlRaSzZ1Cm5XbHJSTEw5N3hZbE9HTWVDelRhRjhrN2wxNGRqSXlhcGpVcFcrQ3pHcEl0QVNrYVloRGNBZ3Vzd3V6UVpoRXUKdlFWNXJLN3M1MUh6U0lqY0kweWNiUDlFbHl5T3lhQWJhRnNuQmw5RkFCSUgydmhIRS9NNUZsUHBOaVZPaGhraQpQUWdEQng1VGdrYUJrUDJtMVF1WmdxbnRkakRpcC9ZUWdpNE03ai9FMm9tWWtxOGkvd0lnUTBmaUkrZmxzVXpyCmNBWHNvaTU5TGVwLzEyUllqUEtoMXFJUHd4Y0dvTCtHektxNlQ0RG9xRXgxYXg4c1YwK1ZZVHJ6UHJXbTBZL0cKdHVhaXJnRUNnWUVBMm95RDVDNkdJb1JKU21ldTRTbnlxZTFJTjYrUndTd3RvMmd1SUx3K3dUSVBPTFJyNFJzMwpvRjJ6VS9NcmZpRFliTSswK0NXSGhOb3huMmcwOEsyd0pFV01EY1JlNjJLeEhjUEFXcFZuajVUcEJSaHRibUhZCkFoaGVidnErOW9RSkM3c3FLRHp3dWVpYzZhVlVmcVBtTXJ0M0tpRVh6R3VHWVVGbi93dm12dkVDZ1lFQXozYVQKaGU2OG9neHUrSEs4MElYSWNEMlljNFVYeS9UalNOSVdFakRzTUYrekhyNFNBMHJvQzBCaHc2b1djeUpERXFHdgo3WFg3dmFzMHR2SlBTc1Y3QnZieWxmUzY1cVdyN3JJQ2VsbG44Z3ptbERLUlcwbE5hNVAzWWxsSGx1bXVBR29MCjFJMHBwVUVLN3ZOK2hzQk5CdmtRL3NTVlRqME9aNTJuemo1ZmlXRUNnWUJ3TytrZnJhVEU1UnFlVTFERDRUNzEKZFIyNU96aW04NEVjZ2N2dWs3M0dpV2Ezd0RBR2ttdW10M2Y0ak5DeEhUMEg1RU1UakhKa0Q0bWNTMitraWc0RApFcFF5SGI2Qk0xV3g2MjFGRjZUdlg1R3JSRGd1ajZEV3NwME1jVWpRWUU0azhDRmVPSzJIUzZZSmR4WkZVdlpNCjUyanpBYnV2Qnlram1PdEhWMTFRZ1FLQmdGQ0xsTkxXMFYySXZqeXZMeWMyQ1krcUdsb2ZQaEh0VGFDa0QvV1kKRU5ybkRML093MmVMMlhNazE5QURaUnZtSFd4S1llY3JlMFUwQnc5UUhBREhrdkF0U0JsNEhtZ1Z3aDYxOWNoUwpsY3lmdlpXajNGTTRybG9wNUUzR284aXZpT0tZU1dlSU5yYjEvYXl2MUZ1MHBUTWoxN2xSMFRYQzlxaTd5TDZGCjhNbUJBb0dCQU0vN2ROK2lLN2NOTlFiT3haMWJ0VDduQzkySTI1ekduRWNXZFBzMWdZR2w2SnQ3TXJUQTEzRDUKNDNNTXIvTE1OdnI0ZWMyVHl0VUpkMXMzQ1dEMEM5UHg5dUlURUNOT1ZCRHpvN2hoUFcxb0NkTTl0OWM4V0hSNwpzSSsrWktKOVJVanZzeUNZeHM1SFNlNzFVNXZYMTFMcUhydkc2Q2docnNNc2lCa0N1NGZWCi0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg==" diff --git a/deploy/catalog/templates/controller-manager.yaml b/deploy/catalog/templates/controller-manager.yaml deleted file mode 100644 index 687f16bcc315..000000000000 --- a/deploy/catalog/templates/controller-manager.yaml +++ /dev/null @@ -1,45 +0,0 @@ -kind: Deployment -apiVersion: extensions/v1beta1 -metadata: - name: controller-manager -spec: - replicas: 1 - template: - metadata: - labels: - app: controller-manager - spec: - containers: - - name: controller-manager - image: {{ if .Values.registry }}{{ .Values.registry }}/{{ end }}controller-manager:{{ if .Values.controllerManagerVersion }}{{ .Values.controllerManagerVersion }}{{ else }}{{ default "latest" .Values.version }}{{ end }} - imagePullPolicy: {{ default "Always" .Values.imagePullPolicy }} - args: - - -v - - "5" - - --service-catalog-api-server-url - - "http://$(APISERVER_SERVICE_HOST):$(APISERVER_SERVICE_PORT)" - ports: - - containerPort: 8080 - volumeMounts: - - name: service-catalog-ssl - mountPath: /etc/service-catalog-ssl - readOnly: true - volumes: - - name: service-catalog-ssl - secret: - secretName: apiserver-ssl - items: - - key: apiserver.crt - path: apiserver.crt ---- -kind: Service -apiVersion: v1 -metadata: - name: controller-manager -spec: - selector: - app: controller-manager - ports: - - protocol: TCP - port: 6443 - targetPort: 6443 diff --git a/deploy/ups-broker/templates/broker.yaml b/deploy/ups-broker/templates/broker.yaml deleted file mode 100644 index d272d5341d80..000000000000 --- a/deploy/ups-broker/templates/broker.yaml +++ /dev/null @@ -1,35 +0,0 @@ -kind: Deployment -apiVersion: extensions/v1beta1 -metadata: - name: ups-broker -spec: - replicas: 1 - template: - metadata: - labels: - app: ups-broker - spec: - containers: - - name: ups-broker - image: {{ if .Values.registry }}{{ .Values.registry}}/{{ end }}user-broker:{{ if .Values.upsBrokerVersion }}{{ .Values.upsBrokerVersion }}{{ else }}{{ default "latest" .Values.version }}{{ end }} - imagePullPolicy: {{ default "Always" .Values.imagePullPolicy }} - args: - - --port - - "8000" - ports: - - containerPort: 8000 ---- -kind: Service -apiVersion: v1 -metadata: - name: ups-broker -spec: -{{ if .Values.debug }} - type: LoadBalancer -{{ end }} - selector: - app: ups-broker - ports: - - protocol: TCP - port: 8000 - targetPort: 8000 diff --git a/docs/DEVGUIDE.md b/docs/DEVGUIDE.md index 62ea57fb36fc..cfd80c431e08 100644 --- a/docs/DEVGUIDE.md +++ b/docs/DEVGUIDE.md @@ -206,7 +206,7 @@ export KUBECONFIG=/home/yippee/code/service-catalog/.kubeconfig ## Deploying to Kubernetes -Use the [`catalog` chart](../deploy/catalog) to deploy the service +Use the [`catalog` chart](../charts/catalog) to deploy the service catalog into your cluster. The easiest way to get started is to deploy into a cluster you regularly use and are familiar with. One of the choices you can make when deploying the catalog is whether to back the API server with etcd or