From bda42f698a95f20fe6524039904241a62161b1f7 Mon Sep 17 00:00:00 2001 From: Steven Crespo Date: Wed, 1 Sep 2021 12:15:45 -0700 Subject: [PATCH 1/2] Remove streamsets control-agent 404 icon --- .../generated-changes/patch/Chart.yaml.patch | 10 +++++++++- packages/streamsets/package.yaml | 2 +- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/packages/streamsets/generated-changes/patch/Chart.yaml.patch b/packages/streamsets/generated-changes/patch/Chart.yaml.patch index b40cf9bdc..8981922d7 100644 --- a/packages/streamsets/generated-changes/patch/Chart.yaml.patch +++ b/packages/streamsets/generated-changes/patch/Chart.yaml.patch @@ -1,6 +1,14 @@ --- charts-original/Chart.yaml +++ charts/Chart.yaml -@@ -14,3 +14,6 @@ +@@ -2,7 +2,6 @@ + appVersion: 3.8.0 + description: Control Agent for managing StreamSets Control Hub Deployments + home: https://streamsets.com +-icon: https://github.com/streamsets/datacollector/raw/master/basic-lib/src/main/resources/sdcipc.png + keywords: + - streamsets + - sdc +@@ -14,3 +13,6 @@ sources: - https://github.com/streamsets/helm-charts/tree/master/incubating/control-agent version: 2.0.1 diff --git a/packages/streamsets/package.yaml b/packages/streamsets/package.yaml index 144ce4764..46b83fef7 100644 --- a/packages/streamsets/package.yaml +++ b/packages/streamsets/package.yaml @@ -1,2 +1,2 @@ url: https://github.com/thomasganka/helm-charts/raw/master/docs/stable/control-agent-2.0.1.tgz -packageVersion: 00 +packageVersion: 01 From dce7ebc365eb94ca7ff2fc9079f2fa11eda508fb Mon Sep 17 00:00:00 2001 From: Steven Crespo Date: Wed, 1 Sep 2021 12:16:17 -0700 Subject: [PATCH 2/2] Make charts --- assets/streamsets/control-agent-2.0.101.tgz | Bin 0 -> 5029 bytes .../control-agent/2.0.101/.helmignore | 21 ++++ .../control-agent/2.0.101/Chart.yaml | 18 ++++ .../control-agent/2.0.101/README.md | 52 ++++++++++ .../control-agent/2.0.101/app-readme.md | 5 + .../control-agent/2.0.101/krb/krb5.conf | 17 ++++ .../control-agent/2.0.101/questions.yml | 65 +++++++++++++ .../control-agent/2.0.101/templates/NOTES.txt | 2 + .../2.0.101/templates/_helpers.tpl | 32 ++++++ .../2.0.101/templates/deployment.yaml | 87 +++++++++++++++++ .../2.0.101/templates/krb5-secret.yaml | 32 ++++++ .../control-agent/2.0.101/templates/rbac.yaml | 91 ++++++++++++++++++ .../control-agent/2.0.101/templates/sdc.yaml | 22 +++++ .../2.0.101/templates/token-secret.yaml | 12 +++ .../control-agent/2.0.101/values.yaml | 28 ++++++ index.yaml | 22 +++++ 16 files changed, 506 insertions(+) create mode 100644 assets/streamsets/control-agent-2.0.101.tgz create mode 100644 charts/streamsets/control-agent/2.0.101/.helmignore create mode 100644 charts/streamsets/control-agent/2.0.101/Chart.yaml create mode 100644 charts/streamsets/control-agent/2.0.101/README.md create mode 100644 charts/streamsets/control-agent/2.0.101/app-readme.md create mode 100644 charts/streamsets/control-agent/2.0.101/krb/krb5.conf create mode 100644 charts/streamsets/control-agent/2.0.101/questions.yml create mode 100644 charts/streamsets/control-agent/2.0.101/templates/NOTES.txt create mode 100644 charts/streamsets/control-agent/2.0.101/templates/_helpers.tpl create mode 100644 charts/streamsets/control-agent/2.0.101/templates/deployment.yaml create mode 100644 charts/streamsets/control-agent/2.0.101/templates/krb5-secret.yaml create mode 100644 charts/streamsets/control-agent/2.0.101/templates/rbac.yaml create mode 100644 charts/streamsets/control-agent/2.0.101/templates/sdc.yaml create mode 100644 charts/streamsets/control-agent/2.0.101/templates/token-secret.yaml create mode 100644 charts/streamsets/control-agent/2.0.101/values.yaml diff --git a/assets/streamsets/control-agent-2.0.101.tgz b/assets/streamsets/control-agent-2.0.101.tgz new file mode 100644 index 0000000000000000000000000000000000000000..f14af8348f96e2f283e72b2e36096b1337869f50 GIT binary patch literal 5029 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 literal 0 HcmV?d00001 diff --git a/charts/streamsets/control-agent/2.0.101/.helmignore b/charts/streamsets/control-agent/2.0.101/.helmignore new file mode 100644 index 000000000..f0c131944 --- /dev/null +++ b/charts/streamsets/control-agent/2.0.101/.helmignore @@ -0,0 +1,21 @@ +# 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 diff --git a/charts/streamsets/control-agent/2.0.101/Chart.yaml b/charts/streamsets/control-agent/2.0.101/Chart.yaml new file mode 100644 index 000000000..2f7de63fa --- /dev/null +++ b/charts/streamsets/control-agent/2.0.101/Chart.yaml @@ -0,0 +1,18 @@ +annotations: + catalog.cattle.io/certified: partner + catalog.cattle.io/release-name: streamsets +apiVersion: v1 +appVersion: 3.8.0 +description: Control Agent for managing StreamSets Control Hub Deployments +home: https://streamsets.com +keywords: +- streamsets +- sdc +- sch +maintainers: +- email: thomas.ganka@streamsets.com + name: thomasganka +name: control-agent +sources: +- https://github.com/streamsets/helm-charts/tree/master/incubating/control-agent +version: 2.0.101 diff --git a/charts/streamsets/control-agent/2.0.101/README.md b/charts/streamsets/control-agent/2.0.101/README.md new file mode 100644 index 000000000..fd7dd1e5a --- /dev/null +++ b/charts/streamsets/control-agent/2.0.101/README.md @@ -0,0 +1,52 @@ +# StreamSets Control Agent + +The [StreamSets](https://streamsets.com) control agent manages StreamSets Control Hub deployments. + +## Introduction + +This chart supports both RBAC and non-RBAC enabled clusters. It has no dependencies. + +## Installing the Chart + +First, add the streamsets stable repository to helm. + +```bash +helm repo add streamsets https://streamsets.github.io/helm-charts/stable +``` + +To install the chart with the release name `my-release` into the namespace `streamsets`: + +```bash +helm install streamsets/control-agent --name my-release --namespace streamsets +``` + +## Configuration + +The following tables lists the configurable parameters of the chart and their default values. + +| Parameter | Description | Default | +| ------------------------------- | -------------------------------------------------------------------- | ----------------------------------------- | +| `image.repository` | Control Agent image name | `streamsets/control-agent` | +| `image.tag` | The version of the official image to use | `3.0.0` | +| `image.pullPolicy` | Pull policy for the image | `IfNotPresent` | +| `streamsets.orgId` | This is the part of your SCH/DPM username after the `@` | None (Required) | +| `streamsets.api.url` | The URL for the SCH/DPM instance to connect to | `https://cloud.streamsets.com` | +| `streamsets.api.token` | Agent auth token from the SCH/DPM REST API or UI | None (Required) | +| `rbac.enabled` | Creates req'd ServiceAccount and Role on RBAC-enabled cluster | `true` | +| `resources` | Resource request for the pod | None | +| `nodeSelector` | Node Selector to apply to the deployment | None | + +`streamsets.api.token` and `streamsets.orgId` are required values + +Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example: + +```bash +helm install streamsets/control-agent --set streamsets.api.token="my_api_token" --set streamsets.orgId="my_org" +``` + +Alternatively, a YAML file that specifies the values for the parameters can be provided while +installing the chart. For example: + +```bash +helm install streamsets/control-agent --values values.yaml +``` diff --git a/charts/streamsets/control-agent/2.0.101/app-readme.md b/charts/streamsets/control-agent/2.0.101/app-readme.md new file mode 100644 index 000000000..f511468db --- /dev/null +++ b/charts/streamsets/control-agent/2.0.101/app-readme.md @@ -0,0 +1,5 @@ +# Streamsets + +[Streamsets](https://www.streamsets.com/) is a data engineering platform. This chart adds the Streamsets Agent to all nodes in your cluster. The agent communicates with Control Hub to automatically provision Data Collector containers in the Kubernetes cluster in which it runs [Streamsets Control Hub](https://streamsets.com/documentation/controlhub/latest/help/controlhub/UserGuide/GettingStarted/DPM.html#concept_l45_qwf_xw. For more information about deploying Streamsets on Kubernetes, please refer to the [Streamsets documentation website](https://streamsets.com/documentation/controlhub/latest/help/controlhub/UserGuide/DataCollectorsProvisioned/Provisioned.html#concept_jsd_v24_lbb). + +Streamsets [Docker Image](https://hub.docker.com/r/streamsets/datacollector). \ No newline at end of file diff --git a/charts/streamsets/control-agent/2.0.101/krb/krb5.conf b/charts/streamsets/control-agent/2.0.101/krb/krb5.conf new file mode 100644 index 000000000..d97d77d1e --- /dev/null +++ b/charts/streamsets/control-agent/2.0.101/krb/krb5.conf @@ -0,0 +1,17 @@ +[libdefaults] +default_realm = +dns_lookup_kdc = false +dns_lookup_realm = false +ticket_lifetime = 86400 +renew_lifetime = 604800 +forwardable = true +default_tgs_enctypes = aes256-cts +default_tkt_enctypes = aes256-cts +permitted_enctypes = aes256-cts +udp_preference_limit = 1 +[realms] + = { +kdc = +admin_server = +} + diff --git a/charts/streamsets/control-agent/2.0.101/questions.yml b/charts/streamsets/control-agent/2.0.101/questions.yml new file mode 100644 index 000000000..b34ac722c --- /dev/null +++ b/charts/streamsets/control-agent/2.0.101/questions.yml @@ -0,0 +1,65 @@ +questions: +#image configurations +- variable: defaultImage + default: true + description: "Use default Streamsets image or specify a custom one" + label: Use Default Streamsets Image + type: boolean + show_subquestion_if: false + group: "Container Images" + subquestions: + - variable: image.repository + default: "streamsets/control-agent" + description: "Streamsets Control Agent Image Name" + type: string + label: Streamsets Control Agent Image Name + - variable: image.tag + default: "3.0.0" + description: "Streamsets Image Tag" + type: string + label: Streamsets Image Tag + - variable: image.pullPolicy + default: "IfNotPresent" + description: "Pull policy for the image" + type: string + label: Streamsets Pull Policy +#streamsets configurations +- variable: streamsets.orgId + default: "" + description: "This is the part of your Streamsets Control Hub username after the `@`" + type: string + label: Enable Org ID + required: true + group: "Streamsets Org ID" +- variable: streamsets.api.url + default: "https://cloud.streamsets.com" + description: "The URL for the Streamsets Control Hub instance to connect to. Default is Streamsets Hosted Service" + type: string + label: Enable Streamsets API URL + required: false + group: "Streamsets API URL" +- variable: streamsets.api.token + default: "" + description: "Agent auth token from the Streamsets Control Hub REST API or UI" + type: string + required: true + label: Agent Auth Token + group: "Agent Auth Token" +- variable: rbac.enabled + default: true + description: "Creates req'd ServiceAccount and Role on RBAC-enabled cluster" + type: boolean + label: Enable RBAC + group: "RBAC" +- variable: resources + default: "" + description: "Resource request for the Control Agent pod" + type: string + label: Resource request for Streamsets Control Agent + group: "Resource request" +- variable: nodeSelector + default: "" + description: "Node Selector to apply to the deployment " + type: string + label: Node Selector for Streamsets Control Agent + group: "Node Selector" diff --git a/charts/streamsets/control-agent/2.0.101/templates/NOTES.txt b/charts/streamsets/control-agent/2.0.101/templates/NOTES.txt new file mode 100644 index 000000000..f17b2e5d9 --- /dev/null +++ b/charts/streamsets/control-agent/2.0.101/templates/NOTES.txt @@ -0,0 +1,2 @@ +The agent has been successfully installed. +Visit {{ .Values.streamsets.api.url }}/sch/provisioning/deployments to continue setup. diff --git a/charts/streamsets/control-agent/2.0.101/templates/_helpers.tpl b/charts/streamsets/control-agent/2.0.101/templates/_helpers.tpl new file mode 100644 index 000000000..8288985e9 --- /dev/null +++ b/charts/streamsets/control-agent/2.0.101/templates/_helpers.tpl @@ -0,0 +1,32 @@ +{{/* vim: set filetype=mustache: */}} +{{/* +Expand the name of the chart. +*/}} +{{- define "control-agent.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). +If release name contains chart name it will be used as a full name. +*/}} +{{- define "control-agent.fullname" -}} +{{- if .Values.fullnameOverride -}} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- $name := default .Chart.Name .Values.nameOverride -}} +{{- if contains $name .Release.Name -}} +{{- .Release.Name | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} +{{- end -}} +{{- end -}} +{{- end -}} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "control-agent.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} +{{- end -}} diff --git a/charts/streamsets/control-agent/2.0.101/templates/deployment.yaml b/charts/streamsets/control-agent/2.0.101/templates/deployment.yaml new file mode 100644 index 000000000..6dc75545b --- /dev/null +++ b/charts/streamsets/control-agent/2.0.101/templates/deployment.yaml @@ -0,0 +1,87 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ include "control-agent.fullname" . }} + labels: + app.kubernetes.io/name: {{ include "control-agent.name" . }} + helm.sh/chart: {{ include "control-agent.chart" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} +spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/name: {{ include "control-agent.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + template: + metadata: + labels: + app.kubernetes.io/name: {{ include "control-agent.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + spec: + {{- if .Values.rbac.enabled }} + serviceAccountName: {{ include "control-agent.fullname" . }} + {{- else }} + serviceAccountName: default + {{- end }} + terminationGracePeriodSeconds: 60 + containers: + - name: {{ include "control-agent.fullname" . }} + image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" + imagePullPolicy: {{ .Values.image.pullPolicy }} + {{- if .Values.krb.enabled }} + volumeMounts: + - name: krb5conf + mountPath: "/opt/kerberos" + readOnly: true + {{- end}} + {{- if .Values.resources }} + resources: +{{ toYaml .Values.resources | indent 12 }} + {{- end }} + env: + - name: HOST + valueFrom: + fieldRef: + fieldPath: status.podIP + - name: dpm_agent_master_url + value: "https://kubernetes.default.svc.cluster.local" + - name: dpm_agent_cof_type + value: KUBERNETES + - name: dpm_agent_dpm_baseurl + value: {{ default "https://cloud.streamsets.com" .Values.streamsets.api.url }} + - name: dpm_agent_component_id + value: {{ .Release.Name }}-{{ .Values.streamsets.orgId }} + - name: dpm_agent_token_string + valueFrom: + secretKeyRef: + name: {{ include "control-agent.fullname" . }} + key: apiToken + - name: dpm_agent_name + value: {{ .Release.Name }} + - name: dpm_agent_orgId + value: {{required "An SCH orgId is required!" .Values.streamsets.orgId }} + - name: dpm_agent_secret + value: {{ include "control-agent.fullname" . }} + - name: dpm_agent_crd_enabled + value: "{{.Values.streamsets.crdEnabled}}" + {{- if .Values.krb.enabled }} + - name: dpm_agent_kerberos_enabled + value: "true" + - name: KRB5_CONFIG + value: "/opt/kerberos/krb5.conf" + - name: dpm_agent_kerberos_secret + value: kerbsecret + - name: dpm_agent_kdc_type + value: {{ .Values.krb.kdcType }} + {{- end}} + {{- if .Values.krb.enabled }} + volumes: + - name: krb5conf + secret: + secretName: krb5conf + {{- end}} + {{- if .Values.nodeSelector }} + nodeSelector: +{{ toYaml .Values.nodeSelector | indent 8 }} + {{- end }} diff --git a/charts/streamsets/control-agent/2.0.101/templates/krb5-secret.yaml b/charts/streamsets/control-agent/2.0.101/templates/krb5-secret.yaml new file mode 100644 index 000000000..6af832276 --- /dev/null +++ b/charts/streamsets/control-agent/2.0.101/templates/krb5-secret.yaml @@ -0,0 +1,32 @@ +{{- if .Values.krb.enabled }} +apiVersion: v1 +kind: Secret +metadata: + name: krb5conf + labels: + app: {{ template "control-agent.fullname" . }} + chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" + release: "{{ .Release.Name }}" + heritage: "{{ .Release.Service }}" +type: Opaque +data: +{{ (.Files.Glob "krb/krb5.conf").AsSecrets | indent 2 }} +--- +apiVersion: v1 +kind: Secret +metadata: + name: kerbsecret + labels: + app: {{ template "control-agent.fullname" . }} + chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" + release: "{{ .Release.Name }}" + heritage: "{{ .Release.Service }}" +type: Opaque +data: + encryption_types: {{required "encryption types to use when creating a keytab for service principal!" .Values.krb.encryptionTypes | b64enc }} + container_dn: {{required "distinguished name of the container under which new principals will be created is required!" .Values.krb.containerDn | b64enc }} + ldap_url: {{required "URL of the LDAP service provider is required!" .Values.krb.ldapUrl | b64enc }} + admin_principal: {{required "user account which has privileges to create, search and destroy service principals is required!" .Values.krb.adminPrincipal | b64enc }} + admin_key : {{required "secret key for the admin principal is required!" .Values.krb.adminKey | b64enc }} + realm : {{required "the realm of the organization is required!" .Values.krb.realm | b64enc }} +{{- end}} diff --git a/charts/streamsets/control-agent/2.0.101/templates/rbac.yaml b/charts/streamsets/control-agent/2.0.101/templates/rbac.yaml new file mode 100644 index 000000000..29607415a --- /dev/null +++ b/charts/streamsets/control-agent/2.0.101/templates/rbac.yaml @@ -0,0 +1,91 @@ +{{- if .Values.rbac.enabled }} +kind: ServiceAccount +apiVersion: v1 +metadata: + name: {{ include "control-agent.fullname" . }} + labels: + app.kubernetes.io/name: {{ include "control-agent.name" . }} + helm.sh/chart: {{ include "control-agent.chart" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} +--- +kind: Role +apiVersion: rbac.authorization.k8s.io/v1beta1 +metadata: + namespace: {{ .Release.Namespace }} + name: {{ include "control-agent.fullname" . }} + labels: + app.kubernetes.io/name: {{ include "control-agent.name" . }} + helm.sh/chart: {{ include "control-agent.chart" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} +rules: +- apiGroups: ["", "extensions", "autoscaling", "apps"] + resources: ["pods", "deployments", "replicasets", "horizontalpodautoscalers", "services", "ingresses"] + verbs: ["get", "list", "watch", "create", "update", "patch", "delete"] +- apiGroups: [""] + resources: ["secrets"] + verbs: ["get", "update"] +{{- if .Values.streamsets.crdEnabled }} +- apiGroups: ["streamsets.k8s.io"] + resources: ["sdcs"] + verbs: ["get", "list", "watch", "create", "update", "patch", "delete"] +{{- end }} +--- +apiVersion: rbac.authorization.k8s.io/v1beta1 +kind: RoleBinding +metadata: + name: {{ include "control-agent.fullname" . }} + namespace: {{ .Release.Namespace }} + labels: + app.kubernetes.io/name: {{ include "control-agent.name" . }} + helm.sh/chart: {{ include "control-agent.chart" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: {{ include "control-agent.fullname" . }} +subjects: + - kind: ServiceAccount + name: {{ include "control-agent.fullname" . }} + namespace: {{ .Release.Namespace }} +--- +{{- if .Values.streamsets.crdEnabled }} +kind: ClusterRole +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: streamsets-crd-handler + labels: + app.kubernetes.io/name: {{ include "control-agent.name" . }} + helm.sh/chart: {{ include "control-agent.chart" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} +rules: +- apiGroups: ["apiextensions.k8s.io"] + resources: ["customresourcedefinitions", ] + verbs: ["get", "list", "watch"] +- apiGroups: ["apiextensions.k8s.io", "streamsets.k8s.io"] + resources: ["customresourcedefinitions", "sdcs"] + verbs: ["get", "list", "watch", "create", "update", "patch", "delete"] +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: {{ include "control-agent.fullname" . }} + namespace: {{ .Release.Namespace }} + labels: + app.kubernetes.io/name: {{ include "control-agent.name" . }} + helm.sh/chart: {{ include "control-agent.chart" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: streamsets-crd-handler +subjects: +- kind: ServiceAccount + name: {{ include "control-agent.fullname" . }} + namespace: {{ .Release.Namespace }} +{{- end }} +{{- end }} diff --git a/charts/streamsets/control-agent/2.0.101/templates/sdc.yaml b/charts/streamsets/control-agent/2.0.101/templates/sdc.yaml new file mode 100644 index 000000000..bd061f56e --- /dev/null +++ b/charts/streamsets/control-agent/2.0.101/templates/sdc.yaml @@ -0,0 +1,22 @@ +{{- if .Values.streamsets.crdEnabled }} +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: sdcs.streamsets.k8s.io + labels: + app.kubernetes.io/name: {{ include "control-agent.name" . }} + helm.sh/chart: {{ include "control-agent.chart" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} + annotations: + "helm.sh/hook": crd-install + "helm.sh/hook-delete-policy": before-hook-creation +scope: Namespaced +spec: + group: streamsets.k8s.io + version: v1 + names: + kind: SdcCustomResource + plural: sdcs + singular: sdc +{{- end }} diff --git a/charts/streamsets/control-agent/2.0.101/templates/token-secret.yaml b/charts/streamsets/control-agent/2.0.101/templates/token-secret.yaml new file mode 100644 index 000000000..fa397f495 --- /dev/null +++ b/charts/streamsets/control-agent/2.0.101/templates/token-secret.yaml @@ -0,0 +1,12 @@ +kind: Secret +apiVersion: v1 +metadata: + name: {{ include "control-agent.fullname" . }} + labels: + app.kubernetes.io/name: {{ include "control-agent.name" . }} + helm.sh/chart: {{ include "control-agent.chart" . }} + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: {{ .Release.Service }} +type: Opaque +data: + apiToken: {{ required "A Control Agent API token is required!" .Values.streamsets.api.token | b64enc }} diff --git a/charts/streamsets/control-agent/2.0.101/values.yaml b/charts/streamsets/control-agent/2.0.101/values.yaml new file mode 100644 index 000000000..3ccdef683 --- /dev/null +++ b/charts/streamsets/control-agent/2.0.101/values.yaml @@ -0,0 +1,28 @@ +# Default values for Streamsets Control Agent +image: + repository: streamsets/control-agent + tag: latest + pullPolicy: Always +streamsets: + orgId: + crdEnabled: false + api: + url: https://cloud.streamsets.com + token: +rbac: + enabled: true +krb: + enabled: false + encryptionTypes: + containerDn: + ldapUrl: + adminPrincipal: + adminKey: + realm: + kdcType: < AD | MIT > +## +## Configure resource requests and limits +## ref: http://kubernetes.io/docs/user-guide/compute-resources/ +## +resources: {} +nodeSelector: {} diff --git a/index.yaml b/index.yaml index 7253e8fc2..3046d88d9 100755 --- a/index.yaml +++ b/index.yaml @@ -453,6 +453,28 @@ entries: - assets/cockroachdb/cockroachdb-4.1.200.tgz version: 4.1.200 control-agent: + - annotations: + catalog.cattle.io/certified: partner + catalog.cattle.io/release-name: streamsets + apiVersion: v1 + appVersion: 3.8.0 + created: "2021-09-01T12:16:05.996504-07:00" + description: Control Agent for managing StreamSets Control Hub Deployments + digest: d4278297e91d2ea64bebc0498a1f2403dc74930132a6c67e39d9da33942a2488 + home: https://streamsets.com + keywords: + - streamsets + - sdc + - sch + maintainers: + - email: thomas.ganka@streamsets.com + name: thomasganka + name: control-agent + sources: + - https://github.com/streamsets/helm-charts/tree/master/incubating/control-agent + urls: + - assets/streamsets/control-agent-2.0.101.tgz + version: 2.0.101 - annotations: catalog.cattle.io/certified: partner catalog.cattle.io/release-name: streamsets