diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index 2ff66d161..944b19862 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -9,14 +9,14 @@ jobs:
runs-on: ubuntu-latest
steps:
- - uses: azure/setup-helm@v1
+ - uses: azure/setup-helm@v4
with:
- version: '3.8.2'
+ version: '3.9.1'
- name: helm version
run: helm version
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v4
- name: Add Helm repos
run: make repo-add update-req
@@ -52,7 +52,6 @@ jobs:
- pvc
- scaler
- spark-operator
- - sparkoperator
- tenant
- tenant-creator
- tensorboard
@@ -65,7 +64,6 @@ jobs:
# - hive
# - jupyter
# - jupyterhub
- # - label-studio
# - mariadb
# - metrics-server-exporter
# - mlrun
@@ -76,15 +74,13 @@ jobs:
# - spark
# - spark-history-server
# - v3io-framesd
- # - zeppelin
# Other Problematic Charts
# - k8s-pod-headless-service-operator # requires manual setting image tag
- # - tsdb-functions # requires nuclio CRDs to be installed
# - mlrun-kit # mysql pod not starting in minikube in github workflows
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v4
- name: Check if chart changed
id: chart_changed
@@ -99,16 +95,16 @@ jobs:
chmod +x "${GITHUB_WORKSPACE}/hack/scripts/ci/free_space.sh"
"${GITHUB_WORKSPACE}/hack/scripts/ci/free_space.sh"
- - uses: azure/setup-helm@v1
+ - uses: azure/setup-helm@v4
if: steps.chart_changed.outputs.any_changed == 'true'
with:
version: "v3.9.1"
- - uses: manusa/actions-setup-minikube@v2.7.1
+ - uses: manusa/actions-setup-minikube@v2.10.0
if: steps.chart_changed.outputs.any_changed == 'true'
with:
- minikube version: "v1.26.1"
- kubernetes version: "v1.23.9"
+ minikube version: "v1.32.0"
+ kubernetes version: "v1.29.0"
driver: docker
github token: ${{ github.token }}
diff --git a/stable/label-studio/.helmignore b/stable/label-studio/.helmignore
deleted file mode 100644
index f0c131944..000000000
--- a/stable/label-studio/.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
diff --git a/stable/label-studio/Chart.yaml b/stable/label-studio/Chart.yaml
deleted file mode 100644
index 8b515eb97..000000000
--- a/stable/label-studio/Chart.yaml
+++ /dev/null
@@ -1,14 +0,0 @@
-apiVersion: v1
-version: 0.3.2
-appVersion: 0.8.2
-description: A swiss army knife of data labeling and annotation tools
-deprecated: true
-name: label-studio
-home: https://labelstud.io/
-icon: https://labelstud.io/images/ls_logo.png
-sources:
- - https://github.com/heartexlabs/label-studio
-maintainers:
- - name: odedm
- email: odedm@iguazio.com
-
diff --git a/stable/label-studio/README.md b/stable/label-studio/README.md
deleted file mode 100644
index 3d28f6bcd..000000000
--- a/stable/label-studio/README.md
+++ /dev/null
@@ -1,35 +0,0 @@
-# Label Studio
-
-Provides installation of the Label Studio service
-
-## Installing the Chart
-
-To install the chart with the release name `my-release`:
-
-```bash
-$ helm install my-release v3io-stable/label-studio
-```
-
-## Configuration
-
-Configurable values are documented in the `values.yaml`.
-
-Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
-
-```bash
-$ helm install my-release --set project.name=project_a v3io-stable/label-studio
-```
-
-Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart. For example,
-
-```bash
-$ helm install my-release -f values.yaml v3io-stable/label-studio
-```
-
-
-Example of installing the chart and setting a node port:
-```bash
-$ helm install my-release --set service.type=NodePort --set service.nodePort=30030 v3io-stable/label-studio
-```
-
-> **Tip**: You can use the default [values.yaml](values.yaml)
diff --git a/stable/label-studio/requirements.yaml b/stable/label-studio/requirements.yaml
deleted file mode 100644
index 8129e96dd..000000000
--- a/stable/label-studio/requirements.yaml
+++ /dev/null
@@ -1,4 +0,0 @@
-dependencies:
-- name: v3io-configs
- version: "0.12.2"
- repository: https://v3io.github.io/helm-charts/stable
diff --git a/stable/label-studio/templates/_helpers.tpl b/stable/label-studio/templates/_helpers.tpl
deleted file mode 100644
index 70c728c7f..000000000
--- a/stable/label-studio/templates/_helpers.tpl
+++ /dev/null
@@ -1,62 +0,0 @@
-{{/* vim: set filetype=mustache: */}}
-{{/*
-Expand the name of the chart.
-*/}}
-{{- define "label-studio.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 "label-studio.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 "label-studio.chart" -}}
-{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-
-{{/*
-Allow overriding of service account and clusterrole names.
-*/}}
-{{- define "label-studio.serviceAccountName" -}}
-{{- default (include "label-studio.fullname" .) .Values.rbac.serviceAccountName -}}
-{{- end -}}
-
-{{- define "label-studio.roleName" -}}
-{{- default (include "label-studio.fullname" .) .Values.rbac.roleName -}}
-{{- end -}}
-
-{{/*
-Common labels
-*/}}
-{{- define "label-studio.common.labels" -}}
-{{ include "label-studio.common.selectorLabels" . }}
-app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
-app.kubernetes.io/part-of: "label-studio"
-app.kubernetes.io/managed-by: {{ .Release.Service }}
-helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
-{{- end -}}
-
-{{/*
-Common selector labels
-*/}}
-{{- define "label-studio.common.selectorLabels" -}}
-app.kubernetes.io/name: {{ include "label-studio.name" . }}
-app.kubernetes.io/instance: {{ .Release.Name }}
-{{- end -}}
diff --git a/stable/label-studio/templates/deployment.yaml b/stable/label-studio/templates/deployment.yaml
deleted file mode 100644
index 6fc73d56c..000000000
--- a/stable/label-studio/templates/deployment.yaml
+++ /dev/null
@@ -1,89 +0,0 @@
-{{- if .Values.deployment.create }}
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- name: {{ template "label-studio.fullname" . }}
- namespace: {{ .Release.Namespace }}
- labels:
- {{- include "label-studio.common.labels" . | nindent 4 }}
-spec:
- replicas: 1
- selector:
- matchLabels:
-{{- include "label-studio.common.selectorLabels" . | nindent 6 }}
- template:
- metadata:
- labels:
-{{- include "label-studio.common.labels" . | nindent 8 }}
- spec:
- serviceAccountName: {{ template "label-studio.serviceAccountName" . }}
- containers:
- - name: label-studio
- image: "{{ .Values.deployment.image.repository }}:{{ .Values.deployment.image.tag }}"
- imagePullPolicy: {{ .Values.deployment.image.pullPolicy }}
- env:
- - name: PROJECT_NAME
- value: "{{ .Values.deployment.project.name }}"
-{{- if .Values.environment }}
-{{- range $name, $val := .Values.environment.extra }}
- - name: {{ $name }}
- value: {{ $val | quote }}
-{{ end -}}
-{{- if .Values.environment.template }}
-{{ include .Values.environment.template . | indent 8 }}
-{{- end }}
-{{- end }}
- command: ["label-studio"]
- args:
- - start
- - "{{ .Values.deployment.project.name }}"
- {{- if .Values.deployment.project.initialize }}
- - --init
- {{- end }}
- {{- if .Values.deployment.project.forceInitialize }}
- - --force
- {{- end }}
- ports:
- - name: http
- containerPort: 8080
- protocol: TCP
- volumeMounts:
- - mountPath: "/label-studio/{{ .Values.deployment.project.name }}"
- name: project-data
- - mountPath: "/label-studio/{{ .Values.deployment.project.name }}-data"
- name: user-data
- - mountPath: /User/v3io
- name: v3io-fuse
-{{- if .Values.volumes }}
-{{ include .Values.volumes.volumeMountsTemplate . | indent 8 }}
-{{- end }}
- livenessProbe:
-{{ toYaml .Values.deployment.livenessProbe | indent 10 }}
- readinessProbe:
-{{ toYaml .Values.deployment.readinessProbe | indent 10 }}
- resources:
-{{ toYaml .Values.resources | indent 10 }}
- volumes:
- - name: project-data
- emptyDir: {}
- - name: user-data
- emptyDir: {}
-{{- if .Values.volumes }}
-{{ include .Values.volumes.volumesTemplate . | indent 8 }}
-{{- end }}
-{{- with .Values.nodeSelector }}
- nodeSelector:
-{{ toYaml . | indent 8 }}
-{{- end }}
-{{- with .Values.tolerations }}
- tolerations:
-{{ toYaml . | indent 8 }}
-{{- end }}
-{{- with .Values.affinity }}
- affinity:
-{{ toYaml . | indent 8 }}
-{{- end }}
-{{- if .Values.priorityClassName }}
- priorityClassName: {{ .Values.priorityClassName | quote }}
-{{- end }}
-{{- end }}
diff --git a/stable/label-studio/templates/role.yaml b/stable/label-studio/templates/role.yaml
deleted file mode 100644
index 4ee7fcb3b..000000000
--- a/stable/label-studio/templates/role.yaml
+++ /dev/null
@@ -1,9 +0,0 @@
-{{- if .Values.rbac.create -}}
-apiVersion: rbac.authorization.k8s.io/v1
-kind: Role
-metadata:
- name: {{ template "label-studio.roleName" . }}
- labels:
- {{ include "label-studio.common.labels" . | nindent 4 }}
-rules: []
-{{- end }}
diff --git a/stable/label-studio/templates/rolebinding.yaml b/stable/label-studio/templates/rolebinding.yaml
deleted file mode 100644
index 15582913e..000000000
--- a/stable/label-studio/templates/rolebinding.yaml
+++ /dev/null
@@ -1,15 +0,0 @@
-{{- if .Values.rbac.create -}}
-apiVersion: rbac.authorization.k8s.io/v1
-kind: RoleBinding
-metadata:
- name: {{ template "label-studio.fullname" . }}
- labels:
- {{ include "label-studio.common.labels" . | nindent 4 }}
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: Role
- name: {{ template "label-studio.roleName" . }}
-subjects:
-- kind: ServiceAccount
- name: {{ template "label-studio.serviceAccountName" . }}
-{{- end -}}
diff --git a/stable/label-studio/templates/service.yaml b/stable/label-studio/templates/service.yaml
deleted file mode 100644
index 3e5a7fae2..000000000
--- a/stable/label-studio/templates/service.yaml
+++ /dev/null
@@ -1,18 +0,0 @@
-apiVersion: v1
-kind: Service
-metadata:
- name: {{ include "label-studio.fullname" . }}
- labels:
- {{- include "label-studio.common.labels" . | nindent 4 }}
-spec:
- type: {{ .Values.service.type }}
- ports:
- - name: http
- port: {{ .Values.service.port }}
- protocol: TCP
- targetPort: http
-{{- if (and (eq .Values.service.type "NodePort") (not (empty .Values.service.nodePort))) }}
- nodePort: {{.Values.service.nodePort}}
-{{- end }}
- selector:
- {{- include "label-studio.common.selectorLabels" . | nindent 4 }}
diff --git a/stable/label-studio/templates/serviceaccount.yaml b/stable/label-studio/templates/serviceaccount.yaml
deleted file mode 100644
index c749dbbea..000000000
--- a/stable/label-studio/templates/serviceaccount.yaml
+++ /dev/null
@@ -1,8 +0,0 @@
-{{- if .Values.rbac.create -}}
-apiVersion: v1
-kind: ServiceAccount
-metadata:
- name: {{ include "label-studio.serviceAccountName" . }}
- labels:
- {{- include "label-studio.common.labels" . | nindent 4 }}
-{{- end -}}
diff --git a/stable/label-studio/templates/v3io-auth-secret.yaml b/stable/label-studio/templates/v3io-auth-secret.yaml
deleted file mode 100644
index 149edbbe3..000000000
--- a/stable/label-studio/templates/v3io-auth-secret.yaml
+++ /dev/null
@@ -1,11 +0,0 @@
-apiVersion: v1
-kind: Secret
-metadata:
- name: {{ .Release.Name }}-v3io-auth
- labels:
- app: {{ template "label-studio.name" . }}
- chart: {{ template "label-studio.chart" . }}
- release: {{ .Release.Name }}
- heritage: {{ .Release.Service }}
-data:
-{{ include "v3io-configs.auth.secret" . | indent 2 }}
diff --git a/stable/label-studio/templates/v3io-config-configmap.yaml b/stable/label-studio/templates/v3io-config-configmap.yaml
deleted file mode 100644
index a89fb7c2b..000000000
--- a/stable/label-studio/templates/v3io-config-configmap.yaml
+++ /dev/null
@@ -1,12 +0,0 @@
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: {{ .Release.Name }}-v3io-config
- labels:
- app: {{ template "label-studio.name" . }}
- chart: {{ template "label-studio.chart" . }}
- release: {{ .Release.Name }}
- heritage: {{ .Release.Service }}
-data:
-{{ include "v3io-configs.java.configMap" . | indent 2 }}
-
diff --git a/stable/label-studio/values.yaml b/stable/label-studio/values.yaml
deleted file mode 100644
index 12fb1208b..000000000
--- a/stable/label-studio/values.yaml
+++ /dev/null
@@ -1,84 +0,0 @@
-# nameOverride:
-# fullnameOverride:
-
-deployment:
- create: true
- project:
- name: "my_project"
- initialize: true
- forceInitialize: false
- image:
- repository: "heartexlabs/label-studio"
- tag: 0.8.2
- pullPolicy: IfNotPresent
-
- readinessProbe:
- httpGet:
- path: /api/health
- port: 8080
- initialDelaySeconds: 5
- periodSeconds: 5
- timeoutSeconds: 10
-
- livenessProbe:
- httpGet:
- path: /api/health
- port: 8080
- initialDelaySeconds: 60
- timeoutSeconds: 30
- periodSeconds: 10
- failureThreshold: 10
-
-service:
- type: ClusterIP
- port: 8080
- # nodePort: 30030
-
-rbac:
- create: true
- # serviceAccountName:
- # roleName:
-
-v3io: {}
-
-environment:
- template: v3io-configs.deployment-with-home.env
- extra: {}
-
-volumes:
- volumesTemplate: v3io-configs.deployment.mount-with-fuse
- volumeMountsTemplate: v3io-configs.deployment.volumeMounts-with-fuse-and-home
-
-global:
- v3io:
- configMountPath: /etc/config/v3io
-
-resources: {}
- # We usually recommend not to specify default resources and to leave this as a conscious
- # choice for the user. This also increases chances charts run on environments with little
- # resources, such as Minikube. If you do want to specify resources, uncomment the following
- # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
- # limits:
- # cpu: 100m
- # memory: 128Mi
- # requests:
- # cpu: 100m
- # memory: 128Mi
-
-## Node labels for pod assignment
-## Ref: https://kubernetes.io/docs/user-guide/node-selection/
-##
-nodeSelector: {}
-
-## List of node taints to tolerate (requires Kubernetes >= 1.6)
-tolerations: []
-# - key: "key"
-# operator: "Equal|Exists"
-# value: "value"
-# effect: "NoSchedule|PreferNoSchedule|NoExecute"
-
-## Affinity
-## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
-affinity: {}
-
-priorityClassName: ""
diff --git a/stable/mlrun-kit/requirements.lock b/stable/mlrun-kit/requirements.lock
index ad57b4704..ed138cd43 100644
--- a/stable/mlrun-kit/requirements.lock
+++ b/stable/mlrun-kit/requirements.lock
@@ -12,10 +12,10 @@ dependencies:
repository: https://charts.min.io/
version: 4.0.2
- name: spark-operator
- repository: https://googlecloudplatform.github.io/spark-on-k8s-operator
+ repository: https://kubeflow.github.io/spark-operator
version: 1.1.25
- name: kube-prometheus-stack
repository: https://prometheus-community.github.io/helm-charts
version: 39.6.0
-digest: sha256:1f19304db4f4a2e772fb7401e33ac98aea8f93a2b6c85d788a538af9706dda92
-generated: "2022-08-14T11:48:43.2664916+03:00"
+digest: sha256:e9d2a53a7cdb63d72aa0a11e765afa7d3ecd0c107f0e5e83a6a59732eb6d6349
+generated: "2024-04-17T13:16:58.689961+03:00"
diff --git a/stable/mlrun-kit/requirements.yaml b/stable/mlrun-kit/requirements.yaml
index 9bb011ca9..396a3d4c4 100644
--- a/stable/mlrun-kit/requirements.yaml
+++ b/stable/mlrun-kit/requirements.yaml
@@ -13,7 +13,7 @@ dependencies:
version: "4.0.2"
condition: minio.enabled
- name: spark-operator
- repository: "https://googlecloudplatform.github.io/spark-on-k8s-operator"
+ repository: "https://kubeflow.github.io/spark-operator"
version: "1.1.25"
condition: spark-operator.enabled
- name: kube-prometheus-stack
diff --git a/stable/sparkoperator/.helmignore b/stable/sparkoperator/.helmignore
deleted file mode 100644
index b7f6f9f10..000000000
--- a/stable/sparkoperator/.helmignore
+++ /dev/null
@@ -1 +0,0 @@
-OWNERS
diff --git a/stable/sparkoperator/Chart.yaml b/stable/sparkoperator/Chart.yaml
deleted file mode 100644
index 092c9705e..000000000
--- a/stable/sparkoperator/Chart.yaml
+++ /dev/null
@@ -1,13 +0,0 @@
-apiVersion: v1
-name: sparkoperator
-description: A Helm chart for Spark on Kubernetes operator
-version: 1.7.0
-deprecated: true
-appVersion: v1beta2-1.0.1-2.4.4
-icon: http://spark.apache.org/images/spark-logo-trademark.png
-keywords:
- - spark
-home: https://github.com/GoogleCloudPlatform/spark-on-k8s-operator
-maintainers:
- - name: Uri Hoenig
- email: urih@iguazio.com
diff --git a/stable/sparkoperator/OWNERS b/stable/sparkoperator/OWNERS
deleted file mode 100644
index c9bde5d24..000000000
--- a/stable/sparkoperator/OWNERS
+++ /dev/null
@@ -1,6 +0,0 @@
-approvers:
-- yuchaoran2011
-- liyinan926
-reviewers:
-- yuchaoran2011
-- liyinan926
diff --git a/stable/sparkoperator/README.md b/stable/sparkoperator/README.md
deleted file mode 100644
index a81a05501..000000000
--- a/stable/sparkoperator/README.md
+++ /dev/null
@@ -1,50 +0,0 @@
-### Helm Chart for Spark Operator
-
-This is the Helm chart for the [Kubernetes Operator for Apache Spark](https://github.com/GoogleCloudPlatform/spark-on-k8s-operator).
-
-#### Prerequisites
-
-The Operator requires Kubernetes version 1.8 and above because it relies on garbage collection of custom resources. If customization of driver and executor pods (through mounting custom ConfigMaps and volumes) is desired, then the [Mutating Admission Webhook](https://github.com/GoogleCloudPlatform/spark-on-k8s-operator/blob/master/docs/quick-start-guide.md#using-the-mutating-admission-webhook) needs to be enabled and it only became beta in Kubernetes 1.9.
-
-#### Installing the chart
-
-The chart can be installed by running:
-
-```bash
-$ helm repo add incubator http://storage.googleapis.com/kubernetes-charts-incubator
-$ helm install incubator/sparkoperator --namespace spark-operator --set sparkJobNamespace=default
-```
-
-Note that you need to use the `--namespace` flag during `helm install` to specify in which namespace you want to install the operator. The namespace can be existing or not. When it's not available, Helm would take care of creating the namespace. Note that this namespace has no relation to the namespace where you would like to deploy Spark jobs (i.e. the setting `sparkJobNamespace` shown in the table below). They can be the same namespace or different ones.
-
-#### Configuration
-
-The following table lists the configurable parameters of the Spark operator chart and their default values.
-
-| Parameter | Description | Default |
-| ------------------------- | ------------------------------------------------------------ | -------------------------------------- |
-| `operatorImageName` | The name of the operator image | `gcr.io/spark-operator/spark-operator` |
-| `operatorVersion` | The version of the operator to install | `v1beta2-1.0.1-2.4.4` |
-| `imagePullPolicy` | Docker image pull policy | `IfNotPresent` |
-| `imagePullSecrets` | Docker image pull secrets | |
-| `replicas` | The number of replicas of the operator Deployment | 1 |
-| `sparkJobNamespace` | K8s namespace where Spark jobs are to be deployed | `` |
-| `enableWebhook` | Whether to enable mutating admission webhook | false |
-| `enableMetrics` | Whether to expose metrics to be scraped by Prometheus | true |
-| `controllerThreads` | Number of worker threads used by the SparkApplication controller | 10 |
-| `ingressUrlFormat` | Ingress URL format | "" |
-| `logLevel` | Logging verbosity level | 2 |
-| `installCrds` | Whether to install CRDs | true |
-| `metricsPort` | Port for the metrics endpoint | 10254 |
-| `metricsEndpoint` | Metrics endpoint | "/metrics" |
-| `metricsPrefix` | Prefix for the metrics | "" |
-| `podAnnotations` | annotations to be added to pods | `{}` |
-| `resyncInterval` | Informer resync interval in seconds | 30 |
-| `webhookPort` | Service port of the webhook server | 8080 |
-| `resources` | Resources needed for the sparkoperator deployment | {} |
-| `enableBatchScheduler` | Whether to enable batch scheduler for pod scheduling | false |
-| `enableResourceQuotaEnforcement` | Whether to enable the ResourceQuota enforcement for SparkApplication resources. Requires the webhook to be enabled by setting enableWebhook to true. | false |
-| `enableLeaderElection` | Whether to enable leader election when the operator Deployment has more than one replica, i.e., when `replicas` is greater than 1. | false |
-| `securityContext` | Defines security context for operator container | `{}`
-
-Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
diff --git a/stable/sparkoperator/requirements.lock b/stable/sparkoperator/requirements.lock
deleted file mode 100644
index 2a31dfdf4..000000000
--- a/stable/sparkoperator/requirements.lock
+++ /dev/null
@@ -1,6 +0,0 @@
-dependencies:
-- name: v3io-configs
- repository: https://v3io.github.io/helm-charts/stable
- version: 0.11.3
-digest: sha256:5aaf04843eda9eab85b3608b6ff41e6bd8ff4301ee915bc44f2b980003348e54
-generated: "2022-03-09T16:39:23.166859044+02:00"
diff --git a/stable/sparkoperator/requirements.yaml b/stable/sparkoperator/requirements.yaml
deleted file mode 100644
index e9c01d811..000000000
--- a/stable/sparkoperator/requirements.yaml
+++ /dev/null
@@ -1,5 +0,0 @@
-dependencies:
-- name: v3io-configs
- version: "0.11.3"
- repository: https://v3io.github.io/helm-charts/stable
-
diff --git a/stable/sparkoperator/templates/_helpers.tpl b/stable/sparkoperator/templates/_helpers.tpl
deleted file mode 100644
index d43e38ff9..000000000
--- a/stable/sparkoperator/templates/_helpers.tpl
+++ /dev/null
@@ -1,59 +0,0 @@
-{{/* vim: set filetype=mustache: */}}
-{{/*
-Expand the name of the chart.
-*/}}
-{{- define "sparkoperator.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 "sparkoperator.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 "sparkoperator.chart" -}}
-{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
- {{/*
-Create the name of the service account to use
-*/}}
-{{- define "sparkoperator.serviceAccountName" -}}
-{{- if .Values.serviceAccounts.sparkoperator.create -}}
- {{ default (include "sparkoperator.fullname" .) .Values.serviceAccounts.sparkoperator.name }}
-{{- else -}}
- {{ default "default" .Values.serviceAccounts.sparkoperator.name }}
-{{- end -}}
-{{- end -}}
-{{- define "spark.serviceAccountName" -}}
-{{- if .Values.serviceAccounts.spark.create -}}
- {{ $sparkServiceaccount := printf "%s-%s" .Release.Name "spark" }}
- {{ default $sparkServiceaccount .Values.serviceAccounts.spark.name }}
-{{- else -}}
- {{ default "default" .Values.serviceAccounts.spark.name }}
-{{- end -}}
-{{- end -}}
-
-{{/*
-Return the appropriate apiVersion for CRD APIs.
-*/}}
-{{- define "crd.apiVersion" -}}
-{{- if semverCompare ">=1.19-0" .Capabilities.KubeVersion.GitVersion -}}
-{{- print "apiextensions.k8s.io/v1" }}
-{{- else -}}
-{{- print "apiextensions.k8s.io/v1beta1" }}
-{{- end -}}
-{{- end -}}
diff --git a/stable/sparkoperator/templates/crd-cleanup-job.yaml b/stable/sparkoperator/templates/crd-cleanup-job.yaml
deleted file mode 100644
index 7a24ceb06..000000000
--- a/stable/sparkoperator/templates/crd-cleanup-job.yaml
+++ /dev/null
@@ -1,47 +0,0 @@
-{{ if .Values.crd.create }}
-apiVersion: batch/v1
-kind: Job
-metadata:
- name: {{ include "sparkoperator.fullname" . }}-crd-cleanup
- namespace: {{ .Release.Namespace }}
- annotations:
- "helm.sh/hook": pre-delete
- "helm.sh/hook-delete-policy": hook-succeeded
- labels:
- app.kubernetes.io/name: {{ include "sparkoperator.name" . }}
- helm.sh/chart: {{ include "sparkoperator.chart" . }}
- app.kubernetes.io/instance: {{ .Release.Name }}
- app.kubernetes.io/managed-by: {{ .Release.Service }}
-spec:
- template:
- spec:
- serviceAccountName: {{ include "sparkoperator.serviceAccountName" . }}
- restartPolicy: OnFailure
- imagePullSecrets:
-{{ toYaml .Values.imagePullSecrets | trim | indent 8 }}
- containers:
- - name: delete-sparkapp-crd
- image: {{ .Values.operatorImageName }}:{{ .Values.operatorVersion }}
- imagePullPolicy: {{ .Values.imagePullPolicy }}
- command:
- - "/bin/sh"
- - "-c"
- - "curl -ik \
- -X DELETE \
- -H \"Authorization: Bearer $(cat /var/run/secrets/kubernetes.io/serviceaccount/token)\" \
- -H \"Accept: application/json\" \
- -H \"Content-Type: application/json\" \
- https://kubernetes.default.svc/apis/apiextensions.k8s.io/v1/customresourcedefinitions/sparkapplications.sparkoperator.k8s.io"
- - name: delete-scheduledsparkapp-crd
- image: {{ .Values.operatorImageName }}:{{ .Values.operatorVersion }}
- imagePullPolicy: {{ .Values.imagePullPolicy }}
- command:
- - "/bin/sh"
- - "-c"
- - "curl -ik \
- -X DELETE \
- -H \"Authorization: Bearer $(cat /var/run/secrets/kubernetes.io/serviceaccount/token)\" \
- -H \"Accept: application/json\" \
- -H \"Content-Type: application/json\" \
- https://kubernetes.default.svc/apis/apiextensions.k8s.io/v1/customresourcedefinitions/scheduledsparkapplications.sparkoperator.k8s.io"
-{{ end }}
diff --git a/stable/sparkoperator/templates/crds.yaml b/stable/sparkoperator/templates/crds.yaml
deleted file mode 100644
index 805be4ec7..000000000
--- a/stable/sparkoperator/templates/crds.yaml
+++ /dev/null
@@ -1,5117 +0,0 @@
-{{ if .Values.crd.create }}
-apiVersion: {{ template "crd.apiVersion" . }}
-kind: CustomResourceDefinition
-metadata:
- creationTimestamp: null
- name: sparkapplications.sparkoperator.k8s.io
- annotations:
-
- # this should be the PR that approved it to kubernetes.io but...STFU
- "api-approved.kubernetes.io": "https://github.com/GoogleCloudPlatform/spark-on-k8s-operator/issues/1043"
-spec:
- group: sparkoperator.k8s.io
- names:
- kind: SparkApplication
- listKind: SparkApplicationList
- plural: sparkapplications
- shortNames:
- - sparkapp
- singular: sparkapplication
- scope: Namespaced
-{{- if eq (include "crd.apiVersion" .) "apiextensions.k8s.io/v1beta1" }}
- subresources:
- status: {}
- validation:
- openAPIV3Schema:
- properties:
- apiVersion:
- type: string
- kind:
- type: string
- metadata:
- type: object
- spec:
- properties:
- arguments:
- items:
- type: string
- type: array
- batchScheduler:
- type: string
- batchSchedulerOptions:
- properties:
- priorityClassName:
- type: string
- queue:
- type: string
- type: object
- deps:
- properties:
- downloadTimeout:
- format: int32
- minimum: 1
- type: integer
- files:
- items:
- type: string
- type: array
- filesDownloadDir:
- type: string
- jars:
- items:
- type: string
- type: array
- jarsDownloadDir:
- type: string
- maxSimultaneousDownloads:
- format: int32
- minimum: 1
- type: integer
- pyFiles:
- items:
- type: string
- type: array
- type: object
- driver:
- properties:
- affinity:
- properties:
- nodeAffinity:
- properties:
- preferredDuringSchedulingIgnoredDuringExecution:
- items:
- properties:
- preference:
- properties:
- matchExpressions:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- required:
- - key
- - operator
- type: object
- type: array
- matchFields:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- required:
- - key
- - operator
- type: object
- type: array
- type: object
- weight:
- format: int32
- type: integer
- required:
- - preference
- - weight
- type: object
- type: array
- requiredDuringSchedulingIgnoredDuringExecution:
- properties:
- nodeSelectorTerms:
- items:
- properties:
- matchExpressions:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- required:
- - key
- - operator
- type: object
- type: array
- matchFields:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- required:
- - key
- - operator
- type: object
- type: array
- type: object
- type: array
- required:
- - nodeSelectorTerms
- type: object
- type: object
- podAffinity:
- properties:
- preferredDuringSchedulingIgnoredDuringExecution:
- items:
- properties:
- podAffinityTerm:
- properties:
- labelSelector:
- properties:
- matchExpressions:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- required:
- - key
- - operator
- type: object
- type: array
- matchLabels:
- additionalProperties:
- type: string
- type: object
- type: object
- namespaces:
- items:
- type: string
- type: array
- topologyKey:
- type: string
- required:
- - topologyKey
- type: object
- weight:
- format: int32
- type: integer
- required:
- - podAffinityTerm
- - weight
- type: object
- type: array
- requiredDuringSchedulingIgnoredDuringExecution:
- items:
- properties:
- labelSelector:
- properties:
- matchExpressions:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- required:
- - key
- - operator
- type: object
- type: array
- matchLabels:
- additionalProperties:
- type: string
- type: object
- type: object
- namespaces:
- items:
- type: string
- type: array
- topologyKey:
- type: string
- required:
- - topologyKey
- type: object
- type: array
- type: object
- podAntiAffinity:
- properties:
- preferredDuringSchedulingIgnoredDuringExecution:
- items:
- properties:
- podAffinityTerm:
- properties:
- labelSelector:
- properties:
- matchExpressions:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- required:
- - key
- - operator
- type: object
- type: array
- matchLabels:
- additionalProperties:
- type: string
- type: object
- type: object
- namespaces:
- items:
- type: string
- type: array
- topologyKey:
- type: string
- required:
- - topologyKey
- type: object
- weight:
- format: int32
- type: integer
- required:
- - podAffinityTerm
- - weight
- type: object
- type: array
- requiredDuringSchedulingIgnoredDuringExecution:
- items:
- properties:
- labelSelector:
- properties:
- matchExpressions:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- required:
- - key
- - operator
- type: object
- type: array
- matchLabels:
- additionalProperties:
- type: string
- type: object
- type: object
- namespaces:
- items:
- type: string
- type: array
- topologyKey:
- type: string
- required:
- - topologyKey
- type: object
- type: array
- type: object
- type: object
- annotations:
- additionalProperties:
- type: string
- type: object
- configMaps:
- items:
- properties:
- name:
- type: string
- path:
- type: string
- required:
- - name
- - path
- type: object
- type: array
- coreLimit:
- type: string
- cores:
- format: int32
- minimum: 1
- type: integer
- dnsConfig:
- properties:
- nameservers:
- items:
- type: string
- type: array
- options:
- items:
- properties:
- name:
- type: string
- value:
- type: string
- type: object
- type: array
- searches:
- items:
- type: string
- type: array
- type: object
- envSecretKeyRefs:
- additionalProperties:
- properties:
- key:
- type: string
- name:
- type: string
- required:
- - key
- - name
- type: object
- type: object
- envVars:
- additionalProperties:
- type: string
- type: object
- gpu:
- properties:
- name:
- type: string
- quantity:
- format: int64
- type: integer
- required:
- - name
- - quantity
- type: object
- hostNetwork:
- type: boolean
- image:
- type: string
- javaOptions:
- type: string
- labels:
- additionalProperties:
- type: string
- type: object
- memory:
- type: string
- memoryOverhead:
- type: string
- nodeSelector:
- additionalProperties:
- type: string
- type: object
- podName:
- pattern: '[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*'
- type: string
- schedulerName:
- type: string
- secrets:
- items:
- properties:
- name:
- type: string
- path:
- type: string
- secretType:
- type: string
- required:
- - name
- - path
- - secretType
- type: object
- type: array
- securityContext:
- properties:
- fsGroup:
- format: int64
- type: integer
- runAsGroup:
- format: int64
- type: integer
- runAsNonRoot:
- type: boolean
- runAsUser:
- format: int64
- type: integer
- seLinuxOptions:
- properties:
- level:
- type: string
- role:
- type: string
- type:
- type: string
- user:
- type: string
- type: object
- supplementalGroups:
- items:
- format: int64
- type: integer
- type: array
- sysctls:
- items:
- properties:
- name:
- type: string
- value:
- type: string
- required:
- - name
- - value
- type: object
- type: array
- type: object
- serviceAccount:
- type: string
- sidecars:
- items:
- properties:
- args:
- items:
- type: string
- type: array
- command:
- items:
- type: string
- type: array
- env:
- items:
- properties:
- name:
- type: string
- value:
- type: string
- valueFrom:
- properties:
- configMapKeyRef:
- properties:
- key:
- type: string
- name:
- type: string
- optional:
- type: boolean
- required:
- - key
- type: object
- fieldRef:
- properties:
- apiVersion:
- type: string
- fieldPath:
- type: string
- required:
- - fieldPath
- type: object
- resourceFieldRef:
- properties:
- containerName:
- type: string
- divisor:
- type: string
- resource:
- type: string
- required:
- - resource
- type: object
- secretKeyRef:
- properties:
- key:
- type: string
- name:
- type: string
- optional:
- type: boolean
- required:
- - key
- type: object
- type: object
- required:
- - name
- type: object
- type: array
- envFrom:
- items:
- properties:
- configMapRef:
- properties:
- name:
- type: string
- optional:
- type: boolean
- type: object
- prefix:
- type: string
- secretRef:
- properties:
- name:
- type: string
- optional:
- type: boolean
- type: object
- type: object
- type: array
- image:
- type: string
- imagePullPolicy:
- type: string
- lifecycle:
- properties:
- postStart:
- properties:
- exec:
- properties:
- command:
- items:
- type: string
- type: array
- type: object
- httpGet:
- properties:
- host:
- type: string
- httpHeaders:
- items:
- properties:
- name:
- type: string
- value:
- type: string
- required:
- - name
- - value
- type: object
- type: array
- path:
- type: string
- port:
- anyOf:
- - type: string
- - type: integer
- scheme:
- type: string
- required:
- - port
- type: object
- tcpSocket:
- properties:
- host:
- type: string
- port:
- anyOf:
- - type: string
- - type: integer
- required:
- - port
- type: object
- type: object
- preStop:
- properties:
- exec:
- properties:
- command:
- items:
- type: string
- type: array
- type: object
- httpGet:
- properties:
- host:
- type: string
- httpHeaders:
- items:
- properties:
- name:
- type: string
- value:
- type: string
- required:
- - name
- - value
- type: object
- type: array
- path:
- type: string
- port:
- anyOf:
- - type: string
- - type: integer
- scheme:
- type: string
- required:
- - port
- type: object
- tcpSocket:
- properties:
- host:
- type: string
- port:
- anyOf:
- - type: string
- - type: integer
- required:
- - port
- type: object
- type: object
- type: object
- livenessProbe:
- properties:
- exec:
- properties:
- command:
- items:
- type: string
- type: array
- type: object
- failureThreshold:
- format: int32
- type: integer
- httpGet:
- properties:
- host:
- type: string
- httpHeaders:
- items:
- properties:
- name:
- type: string
- value:
- type: string
- required:
- - name
- - value
- type: object
- type: array
- path:
- type: string
- port:
- anyOf:
- - type: string
- - type: integer
- scheme:
- type: string
- required:
- - port
- type: object
- initialDelaySeconds:
- format: int32
- type: integer
- periodSeconds:
- format: int32
- type: integer
- successThreshold:
- format: int32
- type: integer
- tcpSocket:
- properties:
- host:
- type: string
- port:
- anyOf:
- - type: string
- - type: integer
- required:
- - port
- type: object
- timeoutSeconds:
- format: int32
- type: integer
- type: object
- name:
- type: string
- ports:
- items:
- properties:
- containerPort:
- format: int32
- type: integer
- hostIP:
- type: string
- hostPort:
- format: int32
- type: integer
- name:
- type: string
- protocol:
- type: string
- required:
- - containerPort
- type: object
- type: array
- readinessProbe:
- properties:
- exec:
- properties:
- command:
- items:
- type: string
- type: array
- type: object
- failureThreshold:
- format: int32
- type: integer
- httpGet:
- properties:
- host:
- type: string
- httpHeaders:
- items:
- properties:
- name:
- type: string
- value:
- type: string
- required:
- - name
- - value
- type: object
- type: array
- path:
- type: string
- port:
- anyOf:
- - type: string
- - type: integer
- scheme:
- type: string
- required:
- - port
- type: object
- initialDelaySeconds:
- format: int32
- type: integer
- periodSeconds:
- format: int32
- type: integer
- successThreshold:
- format: int32
- type: integer
- tcpSocket:
- properties:
- host:
- type: string
- port:
- anyOf:
- - type: string
- - type: integer
- required:
- - port
- type: object
- timeoutSeconds:
- format: int32
- type: integer
- type: object
- resources:
- properties:
- limits:
- additionalProperties:
- type: string
- type: object
- requests:
- additionalProperties:
- type: string
- type: object
- type: object
- securityContext:
- properties:
- allowPrivilegeEscalation:
- type: boolean
- capabilities:
- properties:
- add:
- items:
- type: string
- type: array
- drop:
- items:
- type: string
- type: array
- type: object
- privileged:
- type: boolean
- procMount:
- type: string
- readOnlyRootFilesystem:
- type: boolean
- runAsGroup:
- format: int64
- type: integer
- runAsNonRoot:
- type: boolean
- runAsUser:
- format: int64
- type: integer
- seLinuxOptions:
- properties:
- level:
- type: string
- role:
- type: string
- type:
- type: string
- user:
- type: string
- type: object
- type: object
- stdin:
- type: boolean
- stdinOnce:
- type: boolean
- terminationMessagePath:
- type: string
- terminationMessagePolicy:
- type: string
- tty:
- type: boolean
- volumeDevices:
- items:
- properties:
- devicePath:
- type: string
- name:
- type: string
- required:
- - devicePath
- - name
- type: object
- type: array
- volumeMounts:
- items:
- properties:
- mountPath:
- type: string
- mountPropagation:
- type: string
- name:
- type: string
- readOnly:
- type: boolean
- subPath:
- type: string
- required:
- - mountPath
- - name
- type: object
- type: array
- workingDir:
- type: string
- required:
- - name
- type: object
- type: array
- tolerations:
- items:
- properties:
- effect:
- type: string
- key:
- type: string
- operator:
- type: string
- tolerationSeconds:
- format: int64
- type: integer
- value:
- type: string
- type: object
- type: array
- volumeMounts:
- items:
- properties:
- mountPath:
- type: string
- mountPropagation:
- type: string
- name:
- type: string
- readOnly:
- type: boolean
- subPath:
- type: string
- required:
- - mountPath
- - name
- type: object
- type: array
- type: object
- executor:
- properties:
- affinity:
- properties:
- nodeAffinity:
- properties:
- preferredDuringSchedulingIgnoredDuringExecution:
- items:
- properties:
- preference:
- properties:
- matchExpressions:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- required:
- - key
- - operator
- type: object
- type: array
- matchFields:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- required:
- - key
- - operator
- type: object
- type: array
- type: object
- weight:
- format: int32
- type: integer
- required:
- - preference
- - weight
- type: object
- type: array
- requiredDuringSchedulingIgnoredDuringExecution:
- properties:
- nodeSelectorTerms:
- items:
- properties:
- matchExpressions:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- required:
- - key
- - operator
- type: object
- type: array
- matchFields:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- required:
- - key
- - operator
- type: object
- type: array
- type: object
- type: array
- required:
- - nodeSelectorTerms
- type: object
- type: object
- podAffinity:
- properties:
- preferredDuringSchedulingIgnoredDuringExecution:
- items:
- properties:
- podAffinityTerm:
- properties:
- labelSelector:
- properties:
- matchExpressions:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- required:
- - key
- - operator
- type: object
- type: array
- matchLabels:
- additionalProperties:
- type: string
- type: object
- type: object
- namespaces:
- items:
- type: string
- type: array
- topologyKey:
- type: string
- required:
- - topologyKey
- type: object
- weight:
- format: int32
- type: integer
- required:
- - podAffinityTerm
- - weight
- type: object
- type: array
- requiredDuringSchedulingIgnoredDuringExecution:
- items:
- properties:
- labelSelector:
- properties:
- matchExpressions:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- required:
- - key
- - operator
- type: object
- type: array
- matchLabels:
- additionalProperties:
- type: string
- type: object
- type: object
- namespaces:
- items:
- type: string
- type: array
- topologyKey:
- type: string
- required:
- - topologyKey
- type: object
- type: array
- type: object
- podAntiAffinity:
- properties:
- preferredDuringSchedulingIgnoredDuringExecution:
- items:
- properties:
- podAffinityTerm:
- properties:
- labelSelector:
- properties:
- matchExpressions:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- required:
- - key
- - operator
- type: object
- type: array
- matchLabels:
- additionalProperties:
- type: string
- type: object
- type: object
- namespaces:
- items:
- type: string
- type: array
- topologyKey:
- type: string
- required:
- - topologyKey
- type: object
- weight:
- format: int32
- type: integer
- required:
- - podAffinityTerm
- - weight
- type: object
- type: array
- requiredDuringSchedulingIgnoredDuringExecution:
- items:
- properties:
- labelSelector:
- properties:
- matchExpressions:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- required:
- - key
- - operator
- type: object
- type: array
- matchLabels:
- additionalProperties:
- type: string
- type: object
- type: object
- namespaces:
- items:
- type: string
- type: array
- topologyKey:
- type: string
- required:
- - topologyKey
- type: object
- type: array
- type: object
- type: object
- annotations:
- additionalProperties:
- type: string
- type: object
- configMaps:
- items:
- properties:
- name:
- type: string
- path:
- type: string
- required:
- - name
- - path
- type: object
- type: array
- coreLimit:
- type: string
- coreRequest:
- type: string
- cores:
- format: int32
- minimum: 1
- type: integer
- dnsConfig:
- properties:
- nameservers:
- items:
- type: string
- type: array
- options:
- items:
- properties:
- name:
- type: string
- value:
- type: string
- type: object
- type: array
- searches:
- items:
- type: string
- type: array
- type: object
- envSecretKeyRefs:
- additionalProperties:
- properties:
- key:
- type: string
- name:
- type: string
- required:
- - key
- - name
- type: object
- type: object
- envVars:
- additionalProperties:
- type: string
- type: object
- gpu:
- properties:
- name:
- type: string
- quantity:
- format: int64
- type: integer
- required:
- - name
- - quantity
- type: object
- hostNetwork:
- type: boolean
- image:
- type: string
- instances:
- format: int32
- minimum: 1
- type: integer
- javaOptions:
- type: string
- labels:
- additionalProperties:
- type: string
- type: object
- memory:
- type: string
- memoryOverhead:
- type: string
- nodeSelector:
- additionalProperties:
- type: string
- type: object
- schedulerName:
- type: string
- secrets:
- items:
- properties:
- name:
- type: string
- path:
- type: string
- secretType:
- type: string
- required:
- - name
- - path
- - secretType
- type: object
- type: array
- securityContext:
- properties:
- fsGroup:
- format: int64
- type: integer
- runAsGroup:
- format: int64
- type: integer
- runAsNonRoot:
- type: boolean
- runAsUser:
- format: int64
- type: integer
- seLinuxOptions:
- properties:
- level:
- type: string
- role:
- type: string
- type:
- type: string
- user:
- type: string
- type: object
- supplementalGroups:
- items:
- format: int64
- type: integer
- type: array
- sysctls:
- items:
- properties:
- name:
- type: string
- value:
- type: string
- required:
- - name
- - value
- type: object
- type: array
- type: object
- sidecars:
- items:
- properties:
- args:
- items:
- type: string
- type: array
- command:
- items:
- type: string
- type: array
- env:
- items:
- properties:
- name:
- type: string
- value:
- type: string
- valueFrom:
- properties:
- configMapKeyRef:
- properties:
- key:
- type: string
- name:
- type: string
- optional:
- type: boolean
- required:
- - key
- type: object
- fieldRef:
- properties:
- apiVersion:
- type: string
- fieldPath:
- type: string
- required:
- - fieldPath
- type: object
- resourceFieldRef:
- properties:
- containerName:
- type: string
- divisor:
- type: string
- resource:
- type: string
- required:
- - resource
- type: object
- secretKeyRef:
- properties:
- key:
- type: string
- name:
- type: string
- optional:
- type: boolean
- required:
- - key
- type: object
- type: object
- required:
- - name
- type: object
- type: array
- envFrom:
- items:
- properties:
- configMapRef:
- properties:
- name:
- type: string
- optional:
- type: boolean
- type: object
- prefix:
- type: string
- secretRef:
- properties:
- name:
- type: string
- optional:
- type: boolean
- type: object
- type: object
- type: array
- image:
- type: string
- imagePullPolicy:
- type: string
- lifecycle:
- properties:
- postStart:
- properties:
- exec:
- properties:
- command:
- items:
- type: string
- type: array
- type: object
- httpGet:
- properties:
- host:
- type: string
- httpHeaders:
- items:
- properties:
- name:
- type: string
- value:
- type: string
- required:
- - name
- - value
- type: object
- type: array
- path:
- type: string
- port:
- anyOf:
- - type: string
- - type: integer
- scheme:
- type: string
- required:
- - port
- type: object
- tcpSocket:
- properties:
- host:
- type: string
- port:
- anyOf:
- - type: string
- - type: integer
- required:
- - port
- type: object
- type: object
- preStop:
- properties:
- exec:
- properties:
- command:
- items:
- type: string
- type: array
- type: object
- httpGet:
- properties:
- host:
- type: string
- httpHeaders:
- items:
- properties:
- name:
- type: string
- value:
- type: string
- required:
- - name
- - value
- type: object
- type: array
- path:
- type: string
- port:
- anyOf:
- - type: string
- - type: integer
- scheme:
- type: string
- required:
- - port
- type: object
- tcpSocket:
- properties:
- host:
- type: string
- port:
- anyOf:
- - type: string
- - type: integer
- required:
- - port
- type: object
- type: object
- type: object
- livenessProbe:
- properties:
- exec:
- properties:
- command:
- items:
- type: string
- type: array
- type: object
- failureThreshold:
- format: int32
- type: integer
- httpGet:
- properties:
- host:
- type: string
- httpHeaders:
- items:
- properties:
- name:
- type: string
- value:
- type: string
- required:
- - name
- - value
- type: object
- type: array
- path:
- type: string
- port:
- anyOf:
- - type: string
- - type: integer
- scheme:
- type: string
- required:
- - port
- type: object
- initialDelaySeconds:
- format: int32
- type: integer
- periodSeconds:
- format: int32
- type: integer
- successThreshold:
- format: int32
- type: integer
- tcpSocket:
- properties:
- host:
- type: string
- port:
- anyOf:
- - type: string
- - type: integer
- required:
- - port
- type: object
- timeoutSeconds:
- format: int32
- type: integer
- type: object
- name:
- type: string
- ports:
- items:
- properties:
- containerPort:
- format: int32
- type: integer
- hostIP:
- type: string
- hostPort:
- format: int32
- type: integer
- name:
- type: string
- protocol:
- type: string
- required:
- - containerPort
- type: object
- type: array
- readinessProbe:
- properties:
- exec:
- properties:
- command:
- items:
- type: string
- type: array
- type: object
- failureThreshold:
- format: int32
- type: integer
- httpGet:
- properties:
- host:
- type: string
- httpHeaders:
- items:
- properties:
- name:
- type: string
- value:
- type: string
- required:
- - name
- - value
- type: object
- type: array
- path:
- type: string
- port:
- anyOf:
- - type: string
- - type: integer
- scheme:
- type: string
- required:
- - port
- type: object
- initialDelaySeconds:
- format: int32
- type: integer
- periodSeconds:
- format: int32
- type: integer
- successThreshold:
- format: int32
- type: integer
- tcpSocket:
- properties:
- host:
- type: string
- port:
- anyOf:
- - type: string
- - type: integer
- required:
- - port
- type: object
- timeoutSeconds:
- format: int32
- type: integer
- type: object
- resources:
- properties:
- limits:
- additionalProperties:
- type: string
- type: object
- requests:
- additionalProperties:
- type: string
- type: object
- type: object
- securityContext:
- properties:
- allowPrivilegeEscalation:
- type: boolean
- capabilities:
- properties:
- add:
- items:
- type: string
- type: array
- drop:
- items:
- type: string
- type: array
- type: object
- privileged:
- type: boolean
- procMount:
- type: string
- readOnlyRootFilesystem:
- type: boolean
- runAsGroup:
- format: int64
- type: integer
- runAsNonRoot:
- type: boolean
- runAsUser:
- format: int64
- type: integer
- seLinuxOptions:
- properties:
- level:
- type: string
- role:
- type: string
- type:
- type: string
- user:
- type: string
- type: object
- type: object
- stdin:
- type: boolean
- stdinOnce:
- type: boolean
- terminationMessagePath:
- type: string
- terminationMessagePolicy:
- type: string
- tty:
- type: boolean
- volumeDevices:
- items:
- properties:
- devicePath:
- type: string
- name:
- type: string
- required:
- - devicePath
- - name
- type: object
- type: array
- volumeMounts:
- items:
- properties:
- mountPath:
- type: string
- mountPropagation:
- type: string
- name:
- type: string
- readOnly:
- type: boolean
- subPath:
- type: string
- required:
- - mountPath
- - name
- type: object
- type: array
- workingDir:
- type: string
- required:
- - name
- type: object
- type: array
- tolerations:
- items:
- properties:
- effect:
- type: string
- key:
- type: string
- operator:
- type: string
- tolerationSeconds:
- format: int64
- type: integer
- value:
- type: string
- type: object
- type: array
- volumeMounts:
- items:
- properties:
- mountPath:
- type: string
- mountPropagation:
- type: string
- name:
- type: string
- readOnly:
- type: boolean
- subPath:
- type: string
- required:
- - mountPath
- - name
- type: object
- type: array
- type: object
- failureRetries:
- format: int32
- type: integer
- hadoopConf:
- additionalProperties:
- type: string
- type: object
- hadoopConfigMap:
- type: string
- image:
- type: string
- imagePullPolicy:
- type: string
- imagePullSecrets:
- items:
- type: string
- type: array
- initContainerImage:
- type: string
- mainApplicationFile:
- type: string
- mainClass:
- type: string
- memoryOverheadFactor:
- type: string
- mode:
- enum:
- - cluster
- - client
- type: string
- monitoring:
- properties:
- exposeDriverMetrics:
- type: boolean
- exposeExecutorMetrics:
- type: boolean
- metricsProperties:
- type: string
- prometheus:
- properties:
- configFile:
- type: string
- configuration:
- type: string
- jmxExporterJar:
- type: string
- port:
- format: int32
- minimum: 1024
- maximum: 49151
- type: integer
- required:
- - jmxExporterJar
- type: object
- required:
- - exposeDriverMetrics
- - exposeExecutorMetrics
- type: object
- nodeSelector:
- additionalProperties:
- type: string
- type: object
- pythonVersion:
- enum:
- - "2"
- - "3"
- type: string
- restartPolicy:
- properties:
- onFailureRetries:
- format: int32
- minimum: 0
- type: integer
- onFailureRetryInterval:
- format: int64
- minimum: 1
- type: integer
- onSubmissionFailureRetries:
- format: int32
- minimum: 0
- type: integer
- onSubmissionFailureRetryInterval:
- format: int64
- minimum: 1
- type: integer
- type:
- enum:
- - Never
- - Always
- - OnFailure
- type: string
- type: object
- retryInterval:
- format: int64
- type: integer
- sparkConf:
- additionalProperties:
- type: string
- type: object
- sparkConfigMap:
- type: string
- sparkVersion:
- type: string
- timeToLiveSeconds:
- format: int64
- type: integer
- type:
- enum:
- - Java
- - Python
- - Scala
- - R
- type: string
- volumes:
- items:
- properties:
- awsElasticBlockStore:
- properties:
- fsType:
- type: string
- partition:
- format: int32
- type: integer
- readOnly:
- type: boolean
- volumeID:
- type: string
- required:
- - volumeID
- type: object
- azureDisk:
- properties:
- cachingMode:
- type: string
- diskName:
- type: string
- diskURI:
- type: string
- fsType:
- type: string
- kind:
- type: string
- readOnly:
- type: boolean
- required:
- - diskName
- - diskURI
- type: object
- azureFile:
- properties:
- readOnly:
- type: boolean
- secretName:
- type: string
- shareName:
- type: string
- required:
- - secretName
- - shareName
- type: object
- cephfs:
- properties:
- monitors:
- items:
- type: string
- type: array
- path:
- type: string
- readOnly:
- type: boolean
- secretFile:
- type: string
- secretRef:
- properties:
- name:
- type: string
- type: object
- user:
- type: string
- required:
- - monitors
- type: object
- cinder:
- properties:
- fsType:
- type: string
- readOnly:
- type: boolean
- secretRef:
- properties:
- name:
- type: string
- type: object
- volumeID:
- type: string
- required:
- - volumeID
- type: object
- configMap:
- properties:
- defaultMode:
- format: int32
- type: integer
- items:
- items:
- properties:
- key:
- type: string
- mode:
- format: int32
- type: integer
- path:
- type: string
- required:
- - key
- - path
- type: object
- type: array
- name:
- type: string
- optional:
- type: boolean
- type: object
- downwardAPI:
- properties:
- defaultMode:
- format: int32
- type: integer
- items:
- items:
- properties:
- fieldRef:
- properties:
- apiVersion:
- type: string
- fieldPath:
- type: string
- required:
- - fieldPath
- type: object
- mode:
- format: int32
- type: integer
- path:
- type: string
- resourceFieldRef:
- properties:
- containerName:
- type: string
- divisor:
- type: string
- resource:
- type: string
- required:
- - resource
- type: object
- required:
- - path
- type: object
- type: array
- type: object
- emptyDir:
- properties:
- medium:
- type: string
- sizeLimit:
- type: string
- type: object
- fc:
- properties:
- fsType:
- type: string
- lun:
- format: int32
- type: integer
- readOnly:
- type: boolean
- targetWWNs:
- items:
- type: string
- type: array
- wwids:
- items:
- type: string
- type: array
- type: object
- flexVolume:
- properties:
- driver:
- type: string
- fsType:
- type: string
- options:
- additionalProperties:
- type: string
- type: object
- readOnly:
- type: boolean
- secretRef:
- properties:
- name:
- type: string
- type: object
- required:
- - driver
- type: object
- flocker:
- properties:
- datasetName:
- type: string
- datasetUUID:
- type: string
- type: object
- gcePersistentDisk:
- properties:
- fsType:
- type: string
- partition:
- format: int32
- type: integer
- pdName:
- type: string
- readOnly:
- type: boolean
- required:
- - pdName
- type: object
- gitRepo:
- properties:
- directory:
- type: string
- repository:
- type: string
- revision:
- type: string
- required:
- - repository
- type: object
- glusterfs:
- properties:
- endpoints:
- type: string
- path:
- type: string
- readOnly:
- type: boolean
- required:
- - endpoints
- - path
- type: object
- hostPath:
- properties:
- path:
- type: string
- type:
- type: string
- required:
- - path
- type: object
- iscsi:
- properties:
- chapAuthDiscovery:
- type: boolean
- chapAuthSession:
- type: boolean
- fsType:
- type: string
- initiatorName:
- type: string
- iqn:
- type: string
- iscsiInterface:
- type: string
- lun:
- format: int32
- type: integer
- portals:
- items:
- type: string
- type: array
- readOnly:
- type: boolean
- secretRef:
- properties:
- name:
- type: string
- type: object
- targetPortal:
- type: string
- required:
- - iqn
- - lun
- - targetPortal
- type: object
- name:
- type: string
- nfs:
- properties:
- path:
- type: string
- readOnly:
- type: boolean
- server:
- type: string
- required:
- - path
- - server
- type: object
- persistentVolumeClaim:
- properties:
- claimName:
- type: string
- readOnly:
- type: boolean
- required:
- - claimName
- type: object
- photonPersistentDisk:
- properties:
- fsType:
- type: string
- pdID:
- type: string
- required:
- - pdID
- type: object
- portworxVolume:
- properties:
- fsType:
- type: string
- readOnly:
- type: boolean
- volumeID:
- type: string
- required:
- - volumeID
- type: object
- projected:
- properties:
- defaultMode:
- format: int32
- type: integer
- sources:
- items:
- properties:
- configMap:
- properties:
- items:
- items:
- properties:
- key:
- type: string
- mode:
- format: int32
- type: integer
- path:
- type: string
- required:
- - key
- - path
- type: object
- type: array
- name:
- type: string
- optional:
- type: boolean
- type: object
- downwardAPI:
- properties:
- items:
- items:
- properties:
- fieldRef:
- properties:
- apiVersion:
- type: string
- fieldPath:
- type: string
- required:
- - fieldPath
- type: object
- mode:
- format: int32
- type: integer
- path:
- type: string
- resourceFieldRef:
- properties:
- containerName:
- type: string
- divisor:
- type: string
- resource:
- type: string
- required:
- - resource
- type: object
- required:
- - path
- type: object
- type: array
- type: object
- secret:
- properties:
- items:
- items:
- properties:
- key:
- type: string
- mode:
- format: int32
- type: integer
- path:
- type: string
- required:
- - key
- - path
- type: object
- type: array
- name:
- type: string
- optional:
- type: boolean
- type: object
- serviceAccountToken:
- properties:
- audience:
- type: string
- expirationSeconds:
- format: int64
- type: integer
- path:
- type: string
- required:
- - path
- type: object
- type: object
- type: array
- required:
- - sources
- type: object
- quobyte:
- properties:
- group:
- type: string
- readOnly:
- type: boolean
- registry:
- type: string
- user:
- type: string
- volume:
- type: string
- required:
- - registry
- - volume
- type: object
- rbd:
- properties:
- fsType:
- type: string
- image:
- type: string
- keyring:
- type: string
- monitors:
- items:
- type: string
- type: array
- pool:
- type: string
- readOnly:
- type: boolean
- secretRef:
- properties:
- name:
- type: string
- type: object
- user:
- type: string
- required:
- - image
- - monitors
- type: object
- scaleIO:
- properties:
- fsType:
- type: string
- gateway:
- type: string
- protectionDomain:
- type: string
- readOnly:
- type: boolean
- secretRef:
- properties:
- name:
- type: string
- type: object
- sslEnabled:
- type: boolean
- storageMode:
- type: string
- storagePool:
- type: string
- system:
- type: string
- volumeName:
- type: string
- required:
- - gateway
- - secretRef
- - system
- type: object
- secret:
- properties:
- defaultMode:
- format: int32
- type: integer
- items:
- items:
- properties:
- key:
- type: string
- mode:
- format: int32
- type: integer
- path:
- type: string
- required:
- - key
- - path
- type: object
- type: array
- optional:
- type: boolean
- secretName:
- type: string
- type: object
- storageos:
- properties:
- fsType:
- type: string
- readOnly:
- type: boolean
- secretRef:
- properties:
- name:
- type: string
- type: object
- volumeName:
- type: string
- volumeNamespace:
- type: string
- type: object
- vsphereVolume:
- properties:
- fsType:
- type: string
- storagePolicyID:
- type: string
- storagePolicyName:
- type: string
- volumePath:
- type: string
- required:
- - volumePath
- type: object
- required:
- - name
- type: object
- type: array
- required:
- - driver
- - executor
- - mainApplicationFile
- - sparkVersion
- - type
- type: object
- required:
- - metadata
- - spec
- type: object
-{{- end }}
- versions:
- - name: v1beta2
- served: true
- storage: true
-{{- if eq (include "crd.apiVersion" .) "apiextensions.k8s.io/v1" }}
- subresources:
- status: {}
- schema:
- openAPIV3Schema:
- type: object
- x-kubernetes-preserve-unknown-fields: true
-{{- end }}
-status:
- acceptedNames:
- kind: ""
- plural: ""
- conditions: []
- storedVersions: []
----
-apiVersion: {{ template "crd.apiVersion" . }}
-kind: CustomResourceDefinition
-metadata:
- creationTimestamp: null
- name: scheduledsparkapplications.sparkoperator.k8s.io
- annotations:
-
- # this should be the PR that approved it to kubernetes.io but...STFU
- "api-approved.kubernetes.io": "https://github.com/GoogleCloudPlatform/spark-on-k8s-operator/issues/1043"
-spec:
- group: sparkoperator.k8s.io
- names:
- kind: ScheduledSparkApplication
- listKind: ScheduledSparkApplicationList
- plural: scheduledsparkapplications
- shortNames:
- - scheduledsparkapp
- singular: scheduledsparkapplication
- scope: Namespaced
-{{- if eq (include "crd.apiVersion" .) "apiextensions.k8s.io/v1beta1" }}
- subresources:
- status: {}
- validation:
- openAPIV3Schema:
- properties:
- apiVersion:
- type: string
- kind:
- type: string
- metadata:
- type: object
- spec:
- properties:
- concurrencyPolicy:
- type: string
- failedRunHistoryLimit:
- format: int32
- type: integer
- schedule:
- type: string
- successfulRunHistoryLimit:
- format: int32
- type: integer
- suspend:
- type: boolean
- template:
- properties:
- arguments:
- items:
- type: string
- type: array
- batchScheduler:
- type: string
- batchSchedulerOptions:
- properties:
- priorityClassName:
- type: string
- queue:
- type: string
- type: object
- deps:
- properties:
- downloadTimeout:
- format: int32
- minimum: 1
- type: integer
- files:
- items:
- type: string
- type: array
- filesDownloadDir:
- type: string
- jars:
- items:
- type: string
- type: array
- jarsDownloadDir:
- type: string
- maxSimultaneousDownloads:
- format: int32
- minimum: 1
- type: integer
- pyFiles:
- items:
- type: string
- type: array
- type: object
- driver:
- properties:
- affinity:
- properties:
- nodeAffinity:
- properties:
- preferredDuringSchedulingIgnoredDuringExecution:
- items:
- properties:
- preference:
- properties:
- matchExpressions:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- required:
- - key
- - operator
- type: object
- type: array
- matchFields:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- required:
- - key
- - operator
- type: object
- type: array
- type: object
- weight:
- format: int32
- type: integer
- required:
- - preference
- - weight
- type: object
- type: array
- requiredDuringSchedulingIgnoredDuringExecution:
- properties:
- nodeSelectorTerms:
- items:
- properties:
- matchExpressions:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- required:
- - key
- - operator
- type: object
- type: array
- matchFields:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- required:
- - key
- - operator
- type: object
- type: array
- type: object
- type: array
- required:
- - nodeSelectorTerms
- type: object
- type: object
- podAffinity:
- properties:
- preferredDuringSchedulingIgnoredDuringExecution:
- items:
- properties:
- podAffinityTerm:
- properties:
- labelSelector:
- properties:
- matchExpressions:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- required:
- - key
- - operator
- type: object
- type: array
- matchLabels:
- additionalProperties:
- type: string
- type: object
- type: object
- namespaces:
- items:
- type: string
- type: array
- topologyKey:
- type: string
- required:
- - topologyKey
- type: object
- weight:
- format: int32
- type: integer
- required:
- - podAffinityTerm
- - weight
- type: object
- type: array
- requiredDuringSchedulingIgnoredDuringExecution:
- items:
- properties:
- labelSelector:
- properties:
- matchExpressions:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- required:
- - key
- - operator
- type: object
- type: array
- matchLabels:
- additionalProperties:
- type: string
- type: object
- type: object
- namespaces:
- items:
- type: string
- type: array
- topologyKey:
- type: string
- required:
- - topologyKey
- type: object
- type: array
- type: object
- podAntiAffinity:
- properties:
- preferredDuringSchedulingIgnoredDuringExecution:
- items:
- properties:
- podAffinityTerm:
- properties:
- labelSelector:
- properties:
- matchExpressions:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- required:
- - key
- - operator
- type: object
- type: array
- matchLabels:
- additionalProperties:
- type: string
- type: object
- type: object
- namespaces:
- items:
- type: string
- type: array
- topologyKey:
- type: string
- required:
- - topologyKey
- type: object
- weight:
- format: int32
- type: integer
- required:
- - podAffinityTerm
- - weight
- type: object
- type: array
- requiredDuringSchedulingIgnoredDuringExecution:
- items:
- properties:
- labelSelector:
- properties:
- matchExpressions:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- required:
- - key
- - operator
- type: object
- type: array
- matchLabels:
- additionalProperties:
- type: string
- type: object
- type: object
- namespaces:
- items:
- type: string
- type: array
- topologyKey:
- type: string
- required:
- - topologyKey
- type: object
- type: array
- type: object
- type: object
- annotations:
- additionalProperties:
- type: string
- type: object
- configMaps:
- items:
- properties:
- name:
- type: string
- path:
- type: string
- required:
- - name
- - path
- type: object
- type: array
- coreLimit:
- type: string
- cores:
- format: int32
- minimum: 1
- type: integer
- dnsConfig:
- properties:
- nameservers:
- items:
- type: string
- type: array
- options:
- items:
- properties:
- name:
- type: string
- value:
- type: string
- type: object
- type: array
- searches:
- items:
- type: string
- type: array
- type: object
- envSecretKeyRefs:
- additionalProperties:
- properties:
- key:
- type: string
- name:
- type: string
- required:
- - key
- - name
- type: object
- type: object
- envVars:
- additionalProperties:
- type: string
- type: object
- gpu:
- properties:
- name:
- type: string
- quantity:
- format: int64
- type: integer
- required:
- - name
- - quantity
- type: object
- hostNetwork:
- type: boolean
- image:
- type: string
- javaOptions:
- type: string
- labels:
- additionalProperties:
- type: string
- type: object
- memory:
- type: string
- memoryOverhead:
- type: string
- nodeSelector:
- additionalProperties:
- type: string
- type: object
- podName:
- pattern: '[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*'
- type: string
- schedulerName:
- type: string
- secrets:
- items:
- properties:
- name:
- type: string
- path:
- type: string
- secretType:
- type: string
- required:
- - name
- - path
- - secretType
- type: object
- type: array
- securityContext:
- properties:
- fsGroup:
- format: int64
- type: integer
- runAsGroup:
- format: int64
- type: integer
- runAsNonRoot:
- type: boolean
- runAsUser:
- format: int64
- type: integer
- seLinuxOptions:
- properties:
- level:
- type: string
- role:
- type: string
- type:
- type: string
- user:
- type: string
- type: object
- supplementalGroups:
- items:
- format: int64
- type: integer
- type: array
- sysctls:
- items:
- properties:
- name:
- type: string
- value:
- type: string
- required:
- - name
- - value
- type: object
- type: array
- type: object
- serviceAccount:
- type: string
- sidecars:
- items:
- properties:
- args:
- items:
- type: string
- type: array
- command:
- items:
- type: string
- type: array
- env:
- items:
- properties:
- name:
- type: string
- value:
- type: string
- valueFrom:
- properties:
- configMapKeyRef:
- properties:
- key:
- type: string
- name:
- type: string
- optional:
- type: boolean
- required:
- - key
- type: object
- fieldRef:
- properties:
- apiVersion:
- type: string
- fieldPath:
- type: string
- required:
- - fieldPath
- type: object
- resourceFieldRef:
- properties:
- containerName:
- type: string
- divisor:
- type: string
- resource:
- type: string
- required:
- - resource
- type: object
- secretKeyRef:
- properties:
- key:
- type: string
- name:
- type: string
- optional:
- type: boolean
- required:
- - key
- type: object
- type: object
- required:
- - name
- type: object
- type: array
- envFrom:
- items:
- properties:
- configMapRef:
- properties:
- name:
- type: string
- optional:
- type: boolean
- type: object
- prefix:
- type: string
- secretRef:
- properties:
- name:
- type: string
- optional:
- type: boolean
- type: object
- type: object
- type: array
- image:
- type: string
- imagePullPolicy:
- type: string
- lifecycle:
- properties:
- postStart:
- properties:
- exec:
- properties:
- command:
- items:
- type: string
- type: array
- type: object
- httpGet:
- properties:
- host:
- type: string
- httpHeaders:
- items:
- properties:
- name:
- type: string
- value:
- type: string
- required:
- - name
- - value
- type: object
- type: array
- path:
- type: string
- port:
- anyOf:
- - type: string
- - type: integer
- scheme:
- type: string
- required:
- - port
- type: object
- tcpSocket:
- properties:
- host:
- type: string
- port:
- anyOf:
- - type: string
- - type: integer
- required:
- - port
- type: object
- type: object
- preStop:
- properties:
- exec:
- properties:
- command:
- items:
- type: string
- type: array
- type: object
- httpGet:
- properties:
- host:
- type: string
- httpHeaders:
- items:
- properties:
- name:
- type: string
- value:
- type: string
- required:
- - name
- - value
- type: object
- type: array
- path:
- type: string
- port:
- anyOf:
- - type: string
- - type: integer
- scheme:
- type: string
- required:
- - port
- type: object
- tcpSocket:
- properties:
- host:
- type: string
- port:
- anyOf:
- - type: string
- - type: integer
- required:
- - port
- type: object
- type: object
- type: object
- livenessProbe:
- properties:
- exec:
- properties:
- command:
- items:
- type: string
- type: array
- type: object
- failureThreshold:
- format: int32
- type: integer
- httpGet:
- properties:
- host:
- type: string
- httpHeaders:
- items:
- properties:
- name:
- type: string
- value:
- type: string
- required:
- - name
- - value
- type: object
- type: array
- path:
- type: string
- port:
- anyOf:
- - type: string
- - type: integer
- scheme:
- type: string
- required:
- - port
- type: object
- initialDelaySeconds:
- format: int32
- type: integer
- periodSeconds:
- format: int32
- type: integer
- successThreshold:
- format: int32
- type: integer
- tcpSocket:
- properties:
- host:
- type: string
- port:
- anyOf:
- - type: string
- - type: integer
- required:
- - port
- type: object
- timeoutSeconds:
- format: int32
- type: integer
- type: object
- name:
- type: string
- ports:
- items:
- properties:
- containerPort:
- format: int32
- type: integer
- hostIP:
- type: string
- hostPort:
- format: int32
- type: integer
- name:
- type: string
- protocol:
- type: string
- required:
- - containerPort
- type: object
- type: array
- readinessProbe:
- properties:
- exec:
- properties:
- command:
- items:
- type: string
- type: array
- type: object
- failureThreshold:
- format: int32
- type: integer
- httpGet:
- properties:
- host:
- type: string
- httpHeaders:
- items:
- properties:
- name:
- type: string
- value:
- type: string
- required:
- - name
- - value
- type: object
- type: array
- path:
- type: string
- port:
- anyOf:
- - type: string
- - type: integer
- scheme:
- type: string
- required:
- - port
- type: object
- initialDelaySeconds:
- format: int32
- type: integer
- periodSeconds:
- format: int32
- type: integer
- successThreshold:
- format: int32
- type: integer
- tcpSocket:
- properties:
- host:
- type: string
- port:
- anyOf:
- - type: string
- - type: integer
- required:
- - port
- type: object
- timeoutSeconds:
- format: int32
- type: integer
- type: object
- resources:
- properties:
- limits:
- additionalProperties:
- type: string
- type: object
- requests:
- additionalProperties:
- type: string
- type: object
- type: object
- securityContext:
- properties:
- allowPrivilegeEscalation:
- type: boolean
- capabilities:
- properties:
- add:
- items:
- type: string
- type: array
- drop:
- items:
- type: string
- type: array
- type: object
- privileged:
- type: boolean
- procMount:
- type: string
- readOnlyRootFilesystem:
- type: boolean
- runAsGroup:
- format: int64
- type: integer
- runAsNonRoot:
- type: boolean
- runAsUser:
- format: int64
- type: integer
- seLinuxOptions:
- properties:
- level:
- type: string
- role:
- type: string
- type:
- type: string
- user:
- type: string
- type: object
- type: object
- stdin:
- type: boolean
- stdinOnce:
- type: boolean
- terminationMessagePath:
- type: string
- terminationMessagePolicy:
- type: string
- tty:
- type: boolean
- volumeDevices:
- items:
- properties:
- devicePath:
- type: string
- name:
- type: string
- required:
- - devicePath
- - name
- type: object
- type: array
- volumeMounts:
- items:
- properties:
- mountPath:
- type: string
- mountPropagation:
- type: string
- name:
- type: string
- readOnly:
- type: boolean
- subPath:
- type: string
- required:
- - mountPath
- - name
- type: object
- type: array
- workingDir:
- type: string
- required:
- - name
- type: object
- type: array
- tolerations:
- items:
- properties:
- effect:
- type: string
- key:
- type: string
- operator:
- type: string
- tolerationSeconds:
- format: int64
- type: integer
- value:
- type: string
- type: object
- type: array
- volumeMounts:
- items:
- properties:
- mountPath:
- type: string
- mountPropagation:
- type: string
- name:
- type: string
- readOnly:
- type: boolean
- subPath:
- type: string
- required:
- - mountPath
- - name
- type: object
- type: array
- type: object
- executor:
- properties:
- affinity:
- properties:
- nodeAffinity:
- properties:
- preferredDuringSchedulingIgnoredDuringExecution:
- items:
- properties:
- preference:
- properties:
- matchExpressions:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- required:
- - key
- - operator
- type: object
- type: array
- matchFields:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- required:
- - key
- - operator
- type: object
- type: array
- type: object
- weight:
- format: int32
- type: integer
- required:
- - preference
- - weight
- type: object
- type: array
- requiredDuringSchedulingIgnoredDuringExecution:
- properties:
- nodeSelectorTerms:
- items:
- properties:
- matchExpressions:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- required:
- - key
- - operator
- type: object
- type: array
- matchFields:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- required:
- - key
- - operator
- type: object
- type: array
- type: object
- type: array
- required:
- - nodeSelectorTerms
- type: object
- type: object
- podAffinity:
- properties:
- preferredDuringSchedulingIgnoredDuringExecution:
- items:
- properties:
- podAffinityTerm:
- properties:
- labelSelector:
- properties:
- matchExpressions:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- required:
- - key
- - operator
- type: object
- type: array
- matchLabels:
- additionalProperties:
- type: string
- type: object
- type: object
- namespaces:
- items:
- type: string
- type: array
- topologyKey:
- type: string
- required:
- - topologyKey
- type: object
- weight:
- format: int32
- type: integer
- required:
- - podAffinityTerm
- - weight
- type: object
- type: array
- requiredDuringSchedulingIgnoredDuringExecution:
- items:
- properties:
- labelSelector:
- properties:
- matchExpressions:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- required:
- - key
- - operator
- type: object
- type: array
- matchLabels:
- additionalProperties:
- type: string
- type: object
- type: object
- namespaces:
- items:
- type: string
- type: array
- topologyKey:
- type: string
- required:
- - topologyKey
- type: object
- type: array
- type: object
- podAntiAffinity:
- properties:
- preferredDuringSchedulingIgnoredDuringExecution:
- items:
- properties:
- podAffinityTerm:
- properties:
- labelSelector:
- properties:
- matchExpressions:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- required:
- - key
- - operator
- type: object
- type: array
- matchLabels:
- additionalProperties:
- type: string
- type: object
- type: object
- namespaces:
- items:
- type: string
- type: array
- topologyKey:
- type: string
- required:
- - topologyKey
- type: object
- weight:
- format: int32
- type: integer
- required:
- - podAffinityTerm
- - weight
- type: object
- type: array
- requiredDuringSchedulingIgnoredDuringExecution:
- items:
- properties:
- labelSelector:
- properties:
- matchExpressions:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- required:
- - key
- - operator
- type: object
- type: array
- matchLabels:
- additionalProperties:
- type: string
- type: object
- type: object
- namespaces:
- items:
- type: string
- type: array
- topologyKey:
- type: string
- required:
- - topologyKey
- type: object
- type: array
- type: object
- type: object
- annotations:
- additionalProperties:
- type: string
- type: object
- configMaps:
- items:
- properties:
- name:
- type: string
- path:
- type: string
- required:
- - name
- - path
- type: object
- type: array
- coreLimit:
- type: string
- coreRequest:
- type: string
- cores:
- format: int32
- minimum: 1
- type: integer
- dnsConfig:
- properties:
- nameservers:
- items:
- type: string
- type: array
- options:
- items:
- properties:
- name:
- type: string
- value:
- type: string
- type: object
- type: array
- searches:
- items:
- type: string
- type: array
- type: object
- envSecretKeyRefs:
- additionalProperties:
- properties:
- key:
- type: string
- name:
- type: string
- required:
- - key
- - name
- type: object
- type: object
- envVars:
- additionalProperties:
- type: string
- type: object
- gpu:
- properties:
- name:
- type: string
- quantity:
- format: int64
- type: integer
- required:
- - name
- - quantity
- type: object
- hostNetwork:
- type: boolean
- image:
- type: string
- instances:
- format: int32
- minimum: 1
- type: integer
- javaOptions:
- type: string
- labels:
- additionalProperties:
- type: string
- type: object
- memory:
- type: string
- memoryOverhead:
- type: string
- nodeSelector:
- additionalProperties:
- type: string
- type: object
- schedulerName:
- type: string
- secrets:
- items:
- properties:
- name:
- type: string
- path:
- type: string
- secretType:
- type: string
- required:
- - name
- - path
- - secretType
- type: object
- type: array
- securityContext:
- properties:
- fsGroup:
- format: int64
- type: integer
- runAsGroup:
- format: int64
- type: integer
- runAsNonRoot:
- type: boolean
- runAsUser:
- format: int64
- type: integer
- seLinuxOptions:
- properties:
- level:
- type: string
- role:
- type: string
- type:
- type: string
- user:
- type: string
- type: object
- supplementalGroups:
- items:
- format: int64
- type: integer
- type: array
- sysctls:
- items:
- properties:
- name:
- type: string
- value:
- type: string
- required:
- - name
- - value
- type: object
- type: array
- type: object
- sidecars:
- items:
- properties:
- args:
- items:
- type: string
- type: array
- command:
- items:
- type: string
- type: array
- env:
- items:
- properties:
- name:
- type: string
- value:
- type: string
- valueFrom:
- properties:
- configMapKeyRef:
- properties:
- key:
- type: string
- name:
- type: string
- optional:
- type: boolean
- required:
- - key
- type: object
- fieldRef:
- properties:
- apiVersion:
- type: string
- fieldPath:
- type: string
- required:
- - fieldPath
- type: object
- resourceFieldRef:
- properties:
- containerName:
- type: string
- divisor:
- type: string
- resource:
- type: string
- required:
- - resource
- type: object
- secretKeyRef:
- properties:
- key:
- type: string
- name:
- type: string
- optional:
- type: boolean
- required:
- - key
- type: object
- type: object
- required:
- - name
- type: object
- type: array
- envFrom:
- items:
- properties:
- configMapRef:
- properties:
- name:
- type: string
- optional:
- type: boolean
- type: object
- prefix:
- type: string
- secretRef:
- properties:
- name:
- type: string
- optional:
- type: boolean
- type: object
- type: object
- type: array
- image:
- type: string
- imagePullPolicy:
- type: string
- lifecycle:
- properties:
- postStart:
- properties:
- exec:
- properties:
- command:
- items:
- type: string
- type: array
- type: object
- httpGet:
- properties:
- host:
- type: string
- httpHeaders:
- items:
- properties:
- name:
- type: string
- value:
- type: string
- required:
- - name
- - value
- type: object
- type: array
- path:
- type: string
- port:
- anyOf:
- - type: string
- - type: integer
- scheme:
- type: string
- required:
- - port
- type: object
- tcpSocket:
- properties:
- host:
- type: string
- port:
- anyOf:
- - type: string
- - type: integer
- required:
- - port
- type: object
- type: object
- preStop:
- properties:
- exec:
- properties:
- command:
- items:
- type: string
- type: array
- type: object
- httpGet:
- properties:
- host:
- type: string
- httpHeaders:
- items:
- properties:
- name:
- type: string
- value:
- type: string
- required:
- - name
- - value
- type: object
- type: array
- path:
- type: string
- port:
- anyOf:
- - type: string
- - type: integer
- scheme:
- type: string
- required:
- - port
- type: object
- tcpSocket:
- properties:
- host:
- type: string
- port:
- anyOf:
- - type: string
- - type: integer
- required:
- - port
- type: object
- type: object
- type: object
- livenessProbe:
- properties:
- exec:
- properties:
- command:
- items:
- type: string
- type: array
- type: object
- failureThreshold:
- format: int32
- type: integer
- httpGet:
- properties:
- host:
- type: string
- httpHeaders:
- items:
- properties:
- name:
- type: string
- value:
- type: string
- required:
- - name
- - value
- type: object
- type: array
- path:
- type: string
- port:
- anyOf:
- - type: string
- - type: integer
- scheme:
- type: string
- required:
- - port
- type: object
- initialDelaySeconds:
- format: int32
- type: integer
- periodSeconds:
- format: int32
- type: integer
- successThreshold:
- format: int32
- type: integer
- tcpSocket:
- properties:
- host:
- type: string
- port:
- anyOf:
- - type: string
- - type: integer
- required:
- - port
- type: object
- timeoutSeconds:
- format: int32
- type: integer
- type: object
- name:
- type: string
- ports:
- items:
- properties:
- containerPort:
- format: int32
- type: integer
- hostIP:
- type: string
- hostPort:
- format: int32
- type: integer
- name:
- type: string
- protocol:
- type: string
- required:
- - containerPort
- type: object
- type: array
- readinessProbe:
- properties:
- exec:
- properties:
- command:
- items:
- type: string
- type: array
- type: object
- failureThreshold:
- format: int32
- type: integer
- httpGet:
- properties:
- host:
- type: string
- httpHeaders:
- items:
- properties:
- name:
- type: string
- value:
- type: string
- required:
- - name
- - value
- type: object
- type: array
- path:
- type: string
- port:
- anyOf:
- - type: string
- - type: integer
- scheme:
- type: string
- required:
- - port
- type: object
- initialDelaySeconds:
- format: int32
- type: integer
- periodSeconds:
- format: int32
- type: integer
- successThreshold:
- format: int32
- type: integer
- tcpSocket:
- properties:
- host:
- type: string
- port:
- anyOf:
- - type: string
- - type: integer
- required:
- - port
- type: object
- timeoutSeconds:
- format: int32
- type: integer
- type: object
- resources:
- properties:
- limits:
- additionalProperties:
- type: string
- type: object
- requests:
- additionalProperties:
- type: string
- type: object
- type: object
- securityContext:
- properties:
- allowPrivilegeEscalation:
- type: boolean
- capabilities:
- properties:
- add:
- items:
- type: string
- type: array
- drop:
- items:
- type: string
- type: array
- type: object
- privileged:
- type: boolean
- procMount:
- type: string
- readOnlyRootFilesystem:
- type: boolean
- runAsGroup:
- format: int64
- type: integer
- runAsNonRoot:
- type: boolean
- runAsUser:
- format: int64
- type: integer
- seLinuxOptions:
- properties:
- level:
- type: string
- role:
- type: string
- type:
- type: string
- user:
- type: string
- type: object
- type: object
- stdin:
- type: boolean
- stdinOnce:
- type: boolean
- terminationMessagePath:
- type: string
- terminationMessagePolicy:
- type: string
- tty:
- type: boolean
- volumeDevices:
- items:
- properties:
- devicePath:
- type: string
- name:
- type: string
- required:
- - devicePath
- - name
- type: object
- type: array
- volumeMounts:
- items:
- properties:
- mountPath:
- type: string
- mountPropagation:
- type: string
- name:
- type: string
- readOnly:
- type: boolean
- subPath:
- type: string
- required:
- - mountPath
- - name
- type: object
- type: array
- workingDir:
- type: string
- required:
- - name
- type: object
- type: array
- tolerations:
- items:
- properties:
- effect:
- type: string
- key:
- type: string
- operator:
- type: string
- tolerationSeconds:
- format: int64
- type: integer
- value:
- type: string
- type: object
- type: array
- volumeMounts:
- items:
- properties:
- mountPath:
- type: string
- mountPropagation:
- type: string
- name:
- type: string
- readOnly:
- type: boolean
- subPath:
- type: string
- required:
- - mountPath
- - name
- type: object
- type: array
- type: object
- failureRetries:
- format: int32
- type: integer
- hadoopConf:
- additionalProperties:
- type: string
- type: object
- hadoopConfigMap:
- type: string
- image:
- type: string
- imagePullPolicy:
- type: string
- imagePullSecrets:
- items:
- type: string
- type: array
- initContainerImage:
- type: string
- mainApplicationFile:
- type: string
- mainClass:
- type: string
- memoryOverheadFactor:
- type: string
- mode:
- enum:
- - cluster
- - client
- type: string
- monitoring:
- properties:
- exposeDriverMetrics:
- type: boolean
- exposeExecutorMetrics:
- type: boolean
- metricsProperties:
- type: string
- prometheus:
- properties:
- configFile:
- type: string
- configuration:
- type: string
- jmxExporterJar:
- type: string
- port:
- format: int32
- minimum: 1024
- maximum: 49151
- type: integer
- required:
- - jmxExporterJar
- type: object
- required:
- - exposeDriverMetrics
- - exposeExecutorMetrics
- type: object
- nodeSelector:
- additionalProperties:
- type: string
- type: object
- pythonVersion:
- enum:
- - "2"
- - "3"
- type: string
- restartPolicy:
- properties:
- onFailureRetries:
- format: int32
- minimum: 0
- type: integer
- onFailureRetryInterval:
- format: int64
- minimum: 1
- type: integer
- onSubmissionFailureRetries:
- format: int32
- minimum: 0
- type: integer
- onSubmissionFailureRetryInterval:
- format: int64
- minimum: 1
- type: integer
- type:
- enum:
- - Never
- - Always
- - OnFailure
- type: string
- type: object
- retryInterval:
- format: int64
- type: integer
- sparkConf:
- additionalProperties:
- type: string
- type: object
- sparkConfigMap:
- type: string
- sparkVersion:
- type: string
- timeToLiveSeconds:
- format: int64
- type: integer
- type:
- enum:
- - Java
- - Python
- - Scala
- - R
- type: string
- volumes:
- items:
- properties:
- awsElasticBlockStore:
- properties:
- fsType:
- type: string
- partition:
- format: int32
- type: integer
- readOnly:
- type: boolean
- volumeID:
- type: string
- required:
- - volumeID
- type: object
- azureDisk:
- properties:
- cachingMode:
- type: string
- diskName:
- type: string
- diskURI:
- type: string
- fsType:
- type: string
- kind:
- type: string
- readOnly:
- type: boolean
- required:
- - diskName
- - diskURI
- type: object
- azureFile:
- properties:
- readOnly:
- type: boolean
- secretName:
- type: string
- shareName:
- type: string
- required:
- - secretName
- - shareName
- type: object
- cephfs:
- properties:
- monitors:
- items:
- type: string
- type: array
- path:
- type: string
- readOnly:
- type: boolean
- secretFile:
- type: string
- secretRef:
- properties:
- name:
- type: string
- type: object
- user:
- type: string
- required:
- - monitors
- type: object
- cinder:
- properties:
- fsType:
- type: string
- readOnly:
- type: boolean
- secretRef:
- properties:
- name:
- type: string
- type: object
- volumeID:
- type: string
- required:
- - volumeID
- type: object
- configMap:
- properties:
- defaultMode:
- format: int32
- type: integer
- items:
- items:
- properties:
- key:
- type: string
- mode:
- format: int32
- type: integer
- path:
- type: string
- required:
- - key
- - path
- type: object
- type: array
- name:
- type: string
- optional:
- type: boolean
- type: object
- downwardAPI:
- properties:
- defaultMode:
- format: int32
- type: integer
- items:
- items:
- properties:
- fieldRef:
- properties:
- apiVersion:
- type: string
- fieldPath:
- type: string
- required:
- - fieldPath
- type: object
- mode:
- format: int32
- type: integer
- path:
- type: string
- resourceFieldRef:
- properties:
- containerName:
- type: string
- divisor:
- type: string
- resource:
- type: string
- required:
- - resource
- type: object
- required:
- - path
- type: object
- type: array
- type: object
- emptyDir:
- properties:
- medium:
- type: string
- sizeLimit:
- type: string
- type: object
- fc:
- properties:
- fsType:
- type: string
- lun:
- format: int32
- type: integer
- readOnly:
- type: boolean
- targetWWNs:
- items:
- type: string
- type: array
- wwids:
- items:
- type: string
- type: array
- type: object
- flexVolume:
- properties:
- driver:
- type: string
- fsType:
- type: string
- options:
- additionalProperties:
- type: string
- type: object
- readOnly:
- type: boolean
- secretRef:
- properties:
- name:
- type: string
- type: object
- required:
- - driver
- type: object
- flocker:
- properties:
- datasetName:
- type: string
- datasetUUID:
- type: string
- type: object
- gcePersistentDisk:
- properties:
- fsType:
- type: string
- partition:
- format: int32
- type: integer
- pdName:
- type: string
- readOnly:
- type: boolean
- required:
- - pdName
- type: object
- gitRepo:
- properties:
- directory:
- type: string
- repository:
- type: string
- revision:
- type: string
- required:
- - repository
- type: object
- glusterfs:
- properties:
- endpoints:
- type: string
- path:
- type: string
- readOnly:
- type: boolean
- required:
- - endpoints
- - path
- type: object
- hostPath:
- properties:
- path:
- type: string
- type:
- type: string
- required:
- - path
- type: object
- iscsi:
- properties:
- chapAuthDiscovery:
- type: boolean
- chapAuthSession:
- type: boolean
- fsType:
- type: string
- initiatorName:
- type: string
- iqn:
- type: string
- iscsiInterface:
- type: string
- lun:
- format: int32
- type: integer
- portals:
- items:
- type: string
- type: array
- readOnly:
- type: boolean
- secretRef:
- properties:
- name:
- type: string
- type: object
- targetPortal:
- type: string
- required:
- - iqn
- - lun
- - targetPortal
- type: object
- name:
- type: string
- nfs:
- properties:
- path:
- type: string
- readOnly:
- type: boolean
- server:
- type: string
- required:
- - path
- - server
- type: object
- persistentVolumeClaim:
- properties:
- claimName:
- type: string
- readOnly:
- type: boolean
- required:
- - claimName
- type: object
- photonPersistentDisk:
- properties:
- fsType:
- type: string
- pdID:
- type: string
- required:
- - pdID
- type: object
- portworxVolume:
- properties:
- fsType:
- type: string
- readOnly:
- type: boolean
- volumeID:
- type: string
- required:
- - volumeID
- type: object
- projected:
- properties:
- defaultMode:
- format: int32
- type: integer
- sources:
- items:
- properties:
- configMap:
- properties:
- items:
- items:
- properties:
- key:
- type: string
- mode:
- format: int32
- type: integer
- path:
- type: string
- required:
- - key
- - path
- type: object
- type: array
- name:
- type: string
- optional:
- type: boolean
- type: object
- downwardAPI:
- properties:
- items:
- items:
- properties:
- fieldRef:
- properties:
- apiVersion:
- type: string
- fieldPath:
- type: string
- required:
- - fieldPath
- type: object
- mode:
- format: int32
- type: integer
- path:
- type: string
- resourceFieldRef:
- properties:
- containerName:
- type: string
- divisor:
- type: string
- resource:
- type: string
- required:
- - resource
- type: object
- required:
- - path
- type: object
- type: array
- type: object
- secret:
- properties:
- items:
- items:
- properties:
- key:
- type: string
- mode:
- format: int32
- type: integer
- path:
- type: string
- required:
- - key
- - path
- type: object
- type: array
- name:
- type: string
- optional:
- type: boolean
- type: object
- serviceAccountToken:
- properties:
- audience:
- type: string
- expirationSeconds:
- format: int64
- type: integer
- path:
- type: string
- required:
- - path
- type: object
- type: object
- type: array
- required:
- - sources
- type: object
- quobyte:
- properties:
- group:
- type: string
- readOnly:
- type: boolean
- registry:
- type: string
- user:
- type: string
- volume:
- type: string
- required:
- - registry
- - volume
- type: object
- rbd:
- properties:
- fsType:
- type: string
- image:
- type: string
- keyring:
- type: string
- monitors:
- items:
- type: string
- type: array
- pool:
- type: string
- readOnly:
- type: boolean
- secretRef:
- properties:
- name:
- type: string
- type: object
- user:
- type: string
- required:
- - image
- - monitors
- type: object
- scaleIO:
- properties:
- fsType:
- type: string
- gateway:
- type: string
- protectionDomain:
- type: string
- readOnly:
- type: boolean
- secretRef:
- properties:
- name:
- type: string
- type: object
- sslEnabled:
- type: boolean
- storageMode:
- type: string
- storagePool:
- type: string
- system:
- type: string
- volumeName:
- type: string
- required:
- - gateway
- - secretRef
- - system
- type: object
- secret:
- properties:
- defaultMode:
- format: int32
- type: integer
- items:
- items:
- properties:
- key:
- type: string
- mode:
- format: int32
- type: integer
- path:
- type: string
- required:
- - key
- - path
- type: object
- type: array
- optional:
- type: boolean
- secretName:
- type: string
- type: object
- storageos:
- properties:
- fsType:
- type: string
- readOnly:
- type: boolean
- secretRef:
- properties:
- name:
- type: string
- type: object
- volumeName:
- type: string
- volumeNamespace:
- type: string
- type: object
- vsphereVolume:
- properties:
- fsType:
- type: string
- storagePolicyID:
- type: string
- storagePolicyName:
- type: string
- volumePath:
- type: string
- required:
- - volumePath
- type: object
- required:
- - name
- type: object
- type: array
- required:
- - driver
- - executor
- - mainApplicationFile
- - sparkVersion
- - type
- type: object
- required:
- - schedule
- - template
- type: object
- required:
- - metadata
- - spec
- type: object
-{{- end }}
- versions:
- - name: v1beta2
- served: true
- storage: true
-{{- if eq (include "crd.apiVersion" .) "apiextensions.k8s.io/v1" }}
- subresources:
- status: {}
- schema:
- openAPIV3Schema:
- type: object
- x-kubernetes-preserve-unknown-fields: true
-{{- end }}
-status:
- acceptedNames:
- kind: ""
- plural: ""
- conditions: []
- storedVersions: []
-{{ end }}
diff --git a/stable/sparkoperator/templates/spark-operator-deployment.yaml b/stable/sparkoperator/templates/spark-operator-deployment.yaml
deleted file mode 100644
index 00a39113a..000000000
--- a/stable/sparkoperator/templates/spark-operator-deployment.yaml
+++ /dev/null
@@ -1,123 +0,0 @@
-{{- if .Values.deployment.create }}
-# If the admission webhook is enabled, then a post-install step is required
-# to generate and install the secret in the operator namespace.
-
-# In the post-install hook, the token corresponding to the operator service account
-# is used to authenticate with the Kubernetes API server to install the secret bundle.
-
-
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- name: {{ include "sparkoperator.fullname" . }}
- namespace: {{ .Release.Namespace }}
- labels:
- app.kubernetes.io/name: {{ include "sparkoperator.name" . }}
- helm.sh/chart: {{ include "sparkoperator.chart" . }}
- app.kubernetes.io/instance: {{ .Release.Name }}
- app.kubernetes.io/managed-by: {{ .Release.Service }}
-spec:
- replicas: {{ .Values.replicas }}
- selector:
- matchLabels:
- app.kubernetes.io/name: {{ include "sparkoperator.name" . }}
- app.kubernetes.io/version: {{ .Values.operatorVersion }}
- strategy:
- type: Recreate
- template:
- metadata:
- {{- if or .Values.podAnnotations .Values.enableMetrics }}
- annotations:
- {{- if .Values.enableMetrics }}
- prometheus.io/scrape: "true"
- prometheus.io/port: "{{ .Values.metricsPort }}"
- prometheus.io/path: {{ .Values.metricsEndpoint }}
- {{- end }}
- {{- if .Values.podAnnotations }}
-{{ toYaml .Values.podAnnotations | trim | indent 8 }}
- {{- end }}
- {{- end }}
- labels:
- app.kubernetes.io/name: {{ include "sparkoperator.name" . }}
- app.kubernetes.io/version: {{ .Values.operatorVersion }}
- app.kubernetes.io/instance: {{ .Release.Name }}
- spec:
- hostNetwork: {{ .Values.hostNetwork.enabled }}
- serviceAccountName: {{ include "sparkoperator.serviceAccountName" . }}
- imagePullSecrets:
-{{ toYaml .Values.imagePullSecrets | trim | indent 8 }}
- {{- if .Values.enableWebhook }}
- volumes:
- - name: webhook-certs
- secret:
- secretName: spark-webhook-certs
- {{- end }}
- containers:
- - name: sparkoperator
- image: {{ .Values.operatorImageName }}:{{ .Values.operatorVersion }}
- imagePullPolicy: {{ .Values.imagePullPolicy }}
- {{- if .Values.securityContext }}
- securityContext:
- {{- range $securityPolicy, $value := .Values.securityContext }}
- {{ $securityPolicy }}: {{ $value }}
- {{- end }}
- {{- end }}
- {{- if .Values.enableWebhook }}
- volumeMounts:
- - name: webhook-certs
- mountPath: /etc/webhook-certs
- {{- end }}
- {{- if .Values.enableMetrics }}
- ports:
- - containerPort: {{ .Values.metricsPort }}
- {{ end }}
- args:
- - -v={{ .Values.logLevel }}
- - -namespace={{ .Values.sparkJobNamespace }}
- - -ingress-url-format={{ .Values.ingressUrlFormat }}
- - -controller-threads={{ .Values.controllerThreads }}
- - -resync-interval={{ .Values.resyncInterval }}
- - -logtostderr
- {{- if .Values.enableBatchScheduler }}
- - -enable-batch-scheduler={{ .Values.enableBatchScheduler }}
- {{- end }}
- {{- if .Values.enableMetrics }}
- - -enable-metrics=true
- - -metrics-labels=app_type
- - -metrics-port={{ .Values.metricsPort }}
- - -metrics-endpoint={{ .Values.metricsEndpoint }}
- - -metrics-prefix={{ .Values.metricsPrefix }}
- {{- end }}
- {{- if .Values.enableWebhook }}
- - -enable-webhook=true
- - -webhook-svc-namespace={{ .Release.Namespace }}
- - -webhook-port={{ .Values.webhookPort }}
- - -webhook-svc-name={{ .Release.Name }}-webhook
- - -webhook-config-name={{ .Release.Namespace }}-{{ include "sparkoperator.fullname" . }}-webhook-config
- {{- end }}
- {{- if .Values.enableResourceQuotaEnforcement }}
- - -enable-resource-quota-enforcement={{ .Values.enableResourceQuotaEnforcement }}
- {{- end }}
- {{- if .Values.enableLeaderElection }}
- - -leader-election={{ .Values.enableLeaderElection }}
- {{- end }}
- {{- with .Values.resources }}
- resources:
- {{ toYaml . | nindent 10 }}
- {{- end }}
- {{- with .Values.nodeSelector }}
- nodeSelector:
- {{ toYaml . | nindent 8 }}
- {{- end }}
- {{- with .Values.affinity }}
- affinity:
- {{ toYaml . | nindent 8 }}
- {{- end }}
- {{- with .Values.tolerations }}
- tolerations:
- {{ toYaml . | nindent 8 }}
- {{- end }}
- {{- if .Values.priorityClassName }}
- priorityClassName: {{ .Values.priorityClassName | quote }}
- {{- end }}
-{{- end }}
diff --git a/stable/sparkoperator/templates/spark-operator-rbac.yaml b/stable/sparkoperator/templates/spark-operator-rbac.yaml
deleted file mode 100644
index 288136a28..000000000
--- a/stable/sparkoperator/templates/spark-operator-rbac.yaml
+++ /dev/null
@@ -1,102 +0,0 @@
-{{- if .Values.rbac.clusterResources.create }}
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: {{ include "sparkoperator.fullname" . }}-cr
- labels:
- app.kubernetes.io/name: {{ include "sparkoperator.name" . }}
- helm.sh/chart: {{ include "sparkoperator.chart" . }}
- app.kubernetes.io/instance: {{ .Release.Name }}
- app.kubernetes.io/managed-by: {{ .Release.Service }}
-rules:
-- apiGroups: ["admissionregistration.k8s.io"]
- resources: ["mutatingwebhookconfigurations", "validatingwebhookconfigurations"]
- verbs: ["create", "get", "update", "delete"]
-{{- end }}
-
-{{- if .Values.rbac.namespaced.create }}
----
-apiVersion: rbac.authorization.k8s.io/v1
-kind: Role
-metadata:
- name: {{ include "sparkoperator.fullname" . }}-r
- namespace: {{ .Release.Namespace }}
- labels:
- app.kubernetes.io/name: {{ include "sparkoperator.name" . }}
- helm.sh/chart: {{ include "sparkoperator.chart" . }}
- app.kubernetes.io/instance: {{ .Release.Name }}
- app.kubernetes.io/managed-by: {{ .Release.Service }}
-rules:
-- apiGroups: ["batch"]
- resources: ["jobs"]
- verbs: ["*"]
-- apiGroups: [""]
- resources: ["pods"]
- verbs: ["*"]
-- apiGroups: [""]
- resources: ["services", "configmaps", "secrets"]
- verbs: ["create", "get", "delete", "update"]
-- apiGroups: ["extensions"]
- resources: ["ingresses"]
- verbs: ["create", "get", "delete"]
-- apiGroups: [""]
- resources: ["nodes"]
- verbs: ["get"]
-- apiGroups: [""]
- resources: ["events"]
- verbs: ["create", "update", "patch"]
-- apiGroups: [""]
- resources: ["resourcequotas"]
- verbs: ["get", "list", "watch"]
-- apiGroups: ["apiextensions.k8s.io"]
- resources: ["customresourcedefinitions"]
- verbs: ["create", "get", "update", "delete"]
-- apiGroups: ["sparkoperator.k8s.io"]
- resources: ["sparkapplications", "scheduledsparkapplications", "sparkapplications/status", "scheduledsparkapplications/status"]
- verbs: ["*"]
- {{- if .Values.enableBatchScheduler }}
- # This api resources below is configured for the `volcano` batch scheduler.
-- apiGroups: ["scheduling.incubator.k8s.io", "scheduling.sigs.dev"]
- resources: ["podgroups"]
- verbs: ["*"]
- {{- end }}
----
-apiVersion: rbac.authorization.k8s.io/v1
-kind: RoleBinding
-metadata:
- name: {{ include "sparkoperator.fullname" . }}-rb
- labels:
- app.kubernetes.io/name: {{ include "sparkoperator.name" . }}
- helm.sh/chart: {{ include "sparkoperator.chart" . }}
- app.kubernetes.io/instance: {{ .Release.Name }}
- app.kubernetes.io/managed-by: {{ .Release.Service }}
-subjects:
- - kind: ServiceAccount
- name: {{ include "sparkoperator.serviceAccountName" . }}
- namespace: {{ .Release.Namespace }}
-roleRef:
- kind: Role
- name: {{ include "sparkoperator.fullname" . }}-r
- apiGroup: rbac.authorization.k8s.io
-{{- end }}
-
-{{- if .Values.rbac.clusterNamespaceResources.create }}
----
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: {{ include "sparkoperator.fullname" . }}-crb
- labels:
- app.kubernetes.io/name: {{ include "sparkoperator.name" . }}
- helm.sh/chart: {{ include "sparkoperator.chart" . }}
- app.kubernetes.io/instance: {{ .Release.Name }}
- app.kubernetes.io/managed-by: {{ .Release.Service }}
-subjects:
- - kind: ServiceAccount
- name: {{ include "sparkoperator.serviceAccountName" . }}
- namespace: {{ .Release.Namespace }}
-roleRef:
- kind: ClusterRole
- name: {{ .Values.rbac.clusterRoleName }}
- apiGroup: rbac.authorization.k8s.io
-{{- end }}
diff --git a/stable/sparkoperator/templates/spark-operator-serviceaccount.yaml b/stable/sparkoperator/templates/spark-operator-serviceaccount.yaml
deleted file mode 100644
index e3874e927..000000000
--- a/stable/sparkoperator/templates/spark-operator-serviceaccount.yaml
+++ /dev/null
@@ -1,12 +0,0 @@
-{{- if .Values.serviceAccounts.sparkoperator.create }}
-apiVersion: v1
-kind: ServiceAccount
-metadata:
- name: {{ include "sparkoperator.serviceAccountName" . }}
- namespace: {{ .Release.Namespace }}
- labels:
- app.kubernetes.io/name: {{ include "sparkoperator.name" . }}
- helm.sh/chart: {{ include "sparkoperator.chart" . }}
- app.kubernetes.io/instance: {{ .Release.Name }}
- app.kubernetes.io/managed-by: {{ .Release.Service }}
-{{- end }}
diff --git a/stable/sparkoperator/templates/spark-rbac.yaml b/stable/sparkoperator/templates/spark-rbac.yaml
deleted file mode 100644
index f40ed938c..000000000
--- a/stable/sparkoperator/templates/spark-rbac.yaml
+++ /dev/null
@@ -1,50 +0,0 @@
-{{- if and (.Values.rbac.namespaced.create) (ne .Values.sparkJobNamespace "") }}
-apiVersion: rbac.authorization.k8s.io/v1
-kind: Role
-metadata:
- namespace: {{ .Values.sparkJobNamespace }}
- name: spark-role
- labels:
- app.kubernetes.io/name: {{ include "sparkoperator.name" . }}
- helm.sh/chart: {{ include "sparkoperator.chart" . }}
- app.kubernetes.io/instance: {{ .Release.Name }}
- app.kubernetes.io/managed-by: {{ .Release.Service }}
-rules:
-- apiGroups:
- - "" # "" indicates the core API group
- resources:
- - "pods"
- verbs:
- - "*"
-- apiGroups:
- - "" # "" indicates the core API group
- resources:
- - "services"
- verbs:
- - "*"
-- apiGroups:
- - ""
- resources:
- - "configmaps"
- verbs:
- - "*"
----
-apiVersion: rbac.authorization.k8s.io/v1
-kind: RoleBinding
-metadata:
- name: spark-role-binding
- namespace: {{ .Values.sparkJobNamespace }}
- labels:
- app.kubernetes.io/name: {{ include "sparkoperator.name" . }}
- helm.sh/chart: {{ include "sparkoperator.chart" . }}
- app.kubernetes.io/instance: {{ .Release.Name }}
- app.kubernetes.io/managed-by: {{ .Release.Service }}
-subjects:
-- kind: ServiceAccount
- name: {{ include "spark.serviceAccountName" . }}
- namespace: {{ .Values.sparkJobNamespace }}
-roleRef:
- kind: Role
- name: spark-role
- apiGroup: rbac.authorization.k8s.io
-{{- end }}
diff --git a/stable/sparkoperator/templates/spark-serviceaccount.yaml b/stable/sparkoperator/templates/spark-serviceaccount.yaml
deleted file mode 100644
index bb0e55ea6..000000000
--- a/stable/sparkoperator/templates/spark-serviceaccount.yaml
+++ /dev/null
@@ -1,12 +0,0 @@
-{{- if .Values.serviceAccounts.spark.create }}
-apiVersion: v1
-kind: ServiceAccount
-metadata:
- name: {{ include "spark.serviceAccountName" . }}
- namespace: {{ .Values.sparkJobNamespace }}
- labels:
- app.kubernetes.io/name: {{ include "sparkoperator.name" . }}
- helm.sh/chart: {{ include "sparkoperator.chart" . }}
- app.kubernetes.io/instance: {{ .Release.Name }}
- app.kubernetes.io/managed-by: {{ .Release.Service }}
-{{- end }}
diff --git a/stable/sparkoperator/templates/v3io-config-configmap.yaml b/stable/sparkoperator/templates/v3io-config-configmap.yaml
deleted file mode 100644
index c4251b9f0..000000000
--- a/stable/sparkoperator/templates/v3io-config-configmap.yaml
+++ /dev/null
@@ -1,20 +0,0 @@
-{{ if .Values.deployment.create }}
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: {{ .Release.Name }}-v3io-config
- namespace: {{ .Values.sparkJobNamespace }}
- labels:
- app: {{ template "sparkoperator.name" . }}
- chart: {{ template "sparkoperator.chart" . }}
- release: {{ .Release.Name }}
- heritage: {{ .Release.Service }}
-data:
-{{ include "v3io-configs.java.configMap" . | indent 2 }}
-
- v3io-spark-operator.sh: |
- #!/usr/bin/env bash
- set -e
-
-{{ include "v3io-configs.script.lookupService" . | indent 4 }}
-{{- end }}
diff --git a/stable/sparkoperator/templates/webhook-cleanup-job.yaml b/stable/sparkoperator/templates/webhook-cleanup-job.yaml
deleted file mode 100644
index 53168654c..000000000
--- a/stable/sparkoperator/templates/webhook-cleanup-job.yaml
+++ /dev/null
@@ -1,38 +0,0 @@
-{{ if and (.Values.deployment.create) (.Values.enableWebhook) }}
-apiVersion: batch/v1
-kind: Job
-metadata:
- name: {{ include "sparkoperator.fullname" . }}-webhook-cleanup
- namespace: {{ .Release.Namespace }}
- annotations:
- "helm.sh/hook": pre-delete
- "helm.sh/hook-delete-policy": hook-succeeded
- labels:
- app.kubernetes.io/name: {{ include "sparkoperator.name" . }}
- helm.sh/chart: {{ include "sparkoperator.chart" . }}
- app.kubernetes.io/instance: {{ .Release.Name }}
- app.kubernetes.io/managed-by: {{ .Release.Service }}
-spec:
- template:
- spec:
- serviceAccountName: {{ include "sparkoperator.serviceAccountName" . }}
- restartPolicy: OnFailure
- imagePullSecrets:
-{{ toYaml .Values.imagePullSecrets | trim | indent 8 }}
- containers:
- - name: main
- image: {{ .Values.operatorImageName }}:{{ .Values.operatorVersion }}
- imagePullPolicy: {{ .Values.imagePullPolicy }}
- command:
- - "/bin/sh"
- - "-c"
- - "curl -ik \
- -X DELETE \
- -H \"Authorization: Bearer $(cat /var/run/secrets/kubernetes.io/serviceaccount/token)\" \
- -H \"Accept: application/json\" \
- -H \"Content-Type: application/json\" \
- https://kubernetes.default.svc/api/v1/namespaces/{{ .Release.Namespace }}/secrets/spark-webhook-certs"
- {{- if .Values.priorityClassName }}
- priorityClassName: {{ .Values.priorityClassName | quote }}
- {{- end }}
-{{ end }}
diff --git a/stable/sparkoperator/templates/webhook-init-job.yaml b/stable/sparkoperator/templates/webhook-init-job.yaml
deleted file mode 100644
index 3df325e0e..000000000
--- a/stable/sparkoperator/templates/webhook-init-job.yaml
+++ /dev/null
@@ -1,39 +0,0 @@
-{{ if and (.Values.deployment.create) (.Values.enableWebhook) }}
-apiVersion: batch/v1
-kind: Job
-metadata:
- name: {{ include "sparkoperator.fullname" . }}-init
- namespace: {{ .Release.Namespace }}
- labels:
- app.kubernetes.io/name: {{ include "sparkoperator.name" . }}
- helm.sh/chart: {{ include "sparkoperator.chart" . }}
- app.kubernetes.io/instance: {{ .Release.Name }}
- app.kubernetes.io/managed-by: {{ .Release.Service }}
-spec:
- template:
- spec:
- serviceAccountName: {{ include "sparkoperator.serviceAccountName" . }}
- restartPolicy: Never
- imagePullSecrets:
-{{ toYaml .Values.imagePullSecrets | trim | indent 8 }}
- containers:
- - name: main
- image: {{ .Values.operatorImageName }}:{{ .Values.operatorVersion }}
- imagePullPolicy: {{ .Values.imagePullPolicy }}
- command: ["/usr/bin/gencerts.sh", "-n", "{{ .Release.Namespace }}", "-s", "{{ .Release.Name }}-webhook", "-p"]
- {{- with .Values.nodeSelector }}
- nodeSelector:
- {{ toYaml . | nindent 8 }}
- {{- end }}
- {{- with .Values.affinity }}
- affinity:
- {{ toYaml . | nindent 8 }}
- {{- end }}
- {{- with .Values.tolerations }}
- tolerations:
- {{ toYaml . | nindent 8 }}
- {{- end }}
- {{- if .Values.priorityClassName }}
- priorityClassName: {{ .Values.priorityClassName | quote }}
- {{- end }}
-{{- end }}
diff --git a/stable/sparkoperator/templates/webhook-service.yaml b/stable/sparkoperator/templates/webhook-service.yaml
deleted file mode 100644
index 80483ee4b..000000000
--- a/stable/sparkoperator/templates/webhook-service.yaml
+++ /dev/null
@@ -1,20 +0,0 @@
-{{ if and (.Values.deployment.create) (.Values.enableWebhook) }}
-kind: Service
-apiVersion: v1
-metadata:
- name: {{ .Release.Name }}-webhook
- namespace: {{ .Release.Namespace }}
- labels:
- app.kubernetes.io/name: {{ include "sparkoperator.name" . }}
- helm.sh/chart: {{ include "sparkoperator.chart" . }}
- app.kubernetes.io/instance: {{ .Release.Name }}
- app.kubernetes.io/managed-by: {{ .Release.Service }}
-spec:
- ports:
- - port: 443
- targetPort: {{ .Values.webhookPort }}
- name: webhook
- selector:
- app.kubernetes.io/name: {{ include "sparkoperator.name" . }}
- app.kubernetes.io/version: {{ .Values.operatorVersion }}
-{{ end }}
diff --git a/stable/sparkoperator/values.yaml b/stable/sparkoperator/values.yaml
deleted file mode 100644
index aa4b044fa..000000000
--- a/stable/sparkoperator/values.yaml
+++ /dev/null
@@ -1,90 +0,0 @@
-operatorImageName: urihoenig/multi-version-spark-operator
-operatorVersion: v16
-imagePullPolicy: IfNotPresent
-imagePullSecrets: []
-replicas: 1
-hostNetwork:
- enabled: false
-
-deployment:
- create: false
-
-crd:
- create: false
-
-rbac:
- clusterResources:
- create: false
- clusterNamespaceResources:
- create: false
- namespaced:
- create: false
- clusterRoleName:
-
-serviceAccounts:
- spark:
- create: false
- name:
- sparkoperator:
- create: false
- name:
-
-sparkJobNamespace: ""
-controllerThreads: 10
-resyncInterval: 30
-ingressUrlFormat: ""
-logLevel: 2
-
-securityContext: {}
-
-enableWebhook: true
-webhookPort: 8080
-
-enableMetrics: true
-metricsPort: 10254
-metricsEndpoint: "/metrics"
-metricsPrefix: ""
-
-## Node labels for pod assignment
-## Ref: https://kubernetes.io/docs/user-guide/node-selection/
-##
-nodeSelector: {}
-
-podAnnotations: {}
-
-## List of node taints to tolerate (requires Kubernetes >= 1.6)
-tolerations: []
-# - key: "key"
-# operator: "Equal|Exists"
-# value: "value"
-# effect: "NoSchedule|PreferNoSchedule|NoExecute"
-
-## Affinity
-## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
-affinity: {}
-
-## Resources for the sparkoperator deployment
-## Ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
-##
-resources: {}
-
-priorityClassName: ""
-
-## Whether to enable batch scheduler for pod scheduling,
-## if enabled, end user can specify batch scheduler name in spark application.
-enableBatchScheduler: false
-
-## Whether to enable the ResourceQuota enforcement for SparkApplication resources.
-## Requires the webhook to be enabled by setting enableWebhook to true.
-## Ref: https://github.com/GoogleCloudPlatform/spark-on-k8s-operator/blob/master/docs/user-guide.md#enabling-resource-quota-enforcement.
-enableResourceQuotaEnforcement: false
-
-## Whether to enable leader election when the operator Deployment has more than one replica.
-## Only applicable when `replicas` is set to a value greater than 1.
-## Ref: https://github.com/GoogleCloudPlatform/spark-on-k8s-operator/blob/master/docs/user-guide.md#enabling-leader-election-for-high-availability.
-enableLeaderElection: false
-
-global:
- v3io:
- configMountPath: /etc/config/v3io
-
diff --git a/stable/tsdb-functions/Chart.yaml b/stable/tsdb-functions/Chart.yaml
deleted file mode 100644
index 68383004d..000000000
--- a/stable/tsdb-functions/Chart.yaml
+++ /dev/null
@@ -1,13 +0,0 @@
-apiVersion: v1
-version: 0.6.0
-appVersion: 0.0.12
-deprecated: true
-name: tsdb-functions
-description: V3IO TSDB nuclio functions
-home: https://iguazio.com
-icon: https://www.iguazio.com/wp-content/uploads/2019/10/Iguazio-Logo.png
-sources:
- - https://github.com/v3io
-maintainers:
- - name: liranb
- email: liranb@iguazio.com
diff --git a/stable/tsdb-functions/README.md b/stable/tsdb-functions/README.md
deleted file mode 100644
index 5c0b29e8d..000000000
--- a/stable/tsdb-functions/README.md
+++ /dev/null
@@ -1,39 +0,0 @@
-# TSDB functions Chart
-
-TSDB functions is a set of functions demonstrating working with Iguazio's time series database
-
-## Chart Details
-
-This chart will do the following:
-
-* Deploys 2 functions as ingest and query
-* Creates a project which they both sit under
-
-## Installing the Chart
-
-The chart requires having a secret which includes the username and either the password or the access key of the user.
-The secret keys are: `username`, `accessKey` and `password`.
-The secret name should be provided through the `webapi.auth.secretName` value.
-The secret can be created using:
-```bash
-$ kubectl create secret generic secret-name --from-literal=username='some-username' --from-literal=password='some-password'
-```
-To install the chart with the release name `my-release`:
-
-```bash
-$ helm install --name my-release stable/tsdb-functions
-```
-
-## Configuration
-
-Configurable values are documented in the `values.yaml`.
-
-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 --name my-release -f values.yaml stable/tsdb-functions
-```
-
-> **Tip**: You can use the default [values.yaml](values.yaml)
diff --git a/stable/tsdb-functions/templates/NOTES.txt b/stable/tsdb-functions/templates/NOTES.txt
deleted file mode 100644
index 2683958e0..000000000
--- a/stable/tsdb-functions/templates/NOTES.txt
+++ /dev/null
@@ -1 +0,0 @@
-Deployment complete!
diff --git a/stable/tsdb-functions/templates/_helpers.tpl b/stable/tsdb-functions/templates/_helpers.tpl
deleted file mode 100644
index ca325fd8f..000000000
--- a/stable/tsdb-functions/templates/_helpers.tpl
+++ /dev/null
@@ -1,26 +0,0 @@
-{{/* vim: set filetype=mustache: */}}
-{{/*
-Expand the name of the chart.
-*/}}
-{{- define "tsdb-functions.name" -}}
-{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-
-{{/*
-Create chart name and version as used by the chart label.
-*/}}
-{{- define "tsdb-functions.chart" -}}
-{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-
-{{- define "tsdb-functions.queryName" -}}
-{{- printf "%s-%s" .Release.Name "query" | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-
-{{- define "tsdb-functions.ingestName" -}}
-{{- printf "%s-%s" .Release.Name "ingest" | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-
-{{- define "tsdb-functions.projectName" -}}
-{{- printf "tsdb-functions-%s" .Release.Name | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
diff --git a/stable/tsdb-functions/templates/ingest.yaml b/stable/tsdb-functions/templates/ingest.yaml
deleted file mode 100644
index 13f261bf0..000000000
--- a/stable/tsdb-functions/templates/ingest.yaml
+++ /dev/null
@@ -1,74 +0,0 @@
-apiVersion: nuclio.io/v1beta1
-kind: NuclioFunction
-metadata:
- name: {{ template "tsdb-functions.ingestName" . }}
- labels:
- app.kubernetes.io/name: {{ template "tsdb-functions.name" . }}
- app.kubernetes.io/instance: {{ .Release.Name }}
- app.kubernetes.io/part-of: "tsdb-functions"
- nuclio.io/project-name: {{ template "tsdb-functions.projectName" . }}
- app: {{ template "tsdb-functions.name" . }} # TODO deprecate, use app.kubernetes.io/name instead
- chart: {{ template "tsdb-functions.chart" . }}
- release: {{ .Release.Name }} # TODO deprecate, use app.kubernetes.io/instance instead
- heritage: {{ .Release.Service }}
- component: ingest
-spec:
- build:
- codeEntryType: image
- imagePullPolicy: {{ .Values.functions.ingest.image.pullPolicy }}
- handler: main:Ingest
- image: {{ .Values.functions.ingest.image.repository }}:{{ .Values.functions.ingest.image.tag }}
- replicas: {{ .Values.functions.ingest.replicas }}
- runtime: golang
- readinessTimeoutSeconds: {{ .Values.functions.ingest.readinessTimeoutSeconds }}
- resources:
-{{ toYaml .Values.resources | indent 12 }}
- env:
- - name: INGEST_V3IO_TSDB_PATH
- value: {{ .Values.tsdb.path }}
- - name: INGEST_V3IO_URL
-{{- if hasPrefix "http" .Values.webapi.url }}
- value: {{ .Values.webapi.url }}
-{{- else }}
- value: http://{{ cat .Values.webapi.url }}
-{{- end }}
- {{- if .Values.webapi.auth.secretName }}
- - name: INGEST_V3IO_USERNAME
- valueFrom:
- secretKeyRef:
- name: {{ .Values.webapi.auth.secretName }}
- key: username
- - name: INGEST_V3IO_PASSWORD
- valueFrom:
- secretKeyRef:
- name: {{ .Values.webapi.auth.secretName }}
- key: password
- optional: true
- - name: INGEST_V3IO_ACCESS_KEY
- valueFrom:
- secretKeyRef:
- name: {{ .Values.webapi.auth.secretName }}
- key: accessKey
- optional: true
- {{- end }}
- - name: INGEST_V3IO_CONTAINER
- value: {{ .Values.tsdb.container }}
- triggers:
- default-http:
- name: default-http
- kind: http
- maxWorkers: 1
- annotations:
- nginx.ingress.kubernetes.io/rewrite-target: /
- attributes:
- port: {{ .Values.functions.ingest.port }}
- {{- if .Values.functions.ingest.ingress }}
- serviceType: ClusterIP
- ingresses:
- http:
- host: {{ .Values.functions.ingest.ingress.host }}
- paths:
- - {{ default "/ingest" .Values.functions.ingest.ingress.path }}
- {{- end }}
-status:
- state: waitingForResourceConfiguration
diff --git a/stable/tsdb-functions/templates/project.yaml b/stable/tsdb-functions/templates/project.yaml
deleted file mode 100644
index 34f889422..000000000
--- a/stable/tsdb-functions/templates/project.yaml
+++ /dev/null
@@ -1,15 +0,0 @@
-apiVersion: nuclio.io/v1beta1
-kind: NuclioProject
-metadata:
- name: {{ template "tsdb-functions.projectName" . }}
- labels:
- app.kubernetes.io/name: {{ template "tsdb-functions.name" . }}
- app.kubernetes.io/instance: {{ .Release.Name }}
- app.kubernetes.io/managed-by: {{ .Release.Service }}
- app.kubernetes.io/part-of: "tsdb-functions"
- nuclio.io/project-name: {{ template "tsdb-functions.projectName" . }}
- app: {{ template "tsdb-functions.name" . }} # TODO deprecate, use app.kubernetes.io/name instead
- chart: {{ template "tsdb-functions.chart" . }}
- release: {{ .Release.Name }} # TODO deprecate, use app.kubernetes.io/instance instead
- heritage: {{ .Release.Service }}
- component: project
diff --git a/stable/tsdb-functions/templates/query.yaml b/stable/tsdb-functions/templates/query.yaml
deleted file mode 100644
index 95005f49f..000000000
--- a/stable/tsdb-functions/templates/query.yaml
+++ /dev/null
@@ -1,75 +0,0 @@
-apiVersion: nuclio.io/v1beta1
-kind: NuclioFunction
-metadata:
- name: {{ template "tsdb-functions.queryName" . }}
- labels:
- app.kubernetes.io/name: {{ template "tsdb-functions.name" . }}
- app.kubernetes.io/instance: {{ .Release.Name }}
- app.kubernetes.io/part-of: "tsdb-functions"
- nuclio.io/project-name: {{ template "tsdb-functions.projectName" . }}
- app: {{ template "tsdb-functions.name" . }} # TODO deprecate, use app.kubernetes.io/name instead
- chart: {{ template "tsdb-functions.chart" . }}
- release: {{ .Release.Name }} # TODO deprecate, use app.kubernetes.io/instance instead
- heritage: {{ .Release.Service }}
- component: query
-spec:
- build:
- codeEntryType: image
- imagePullPolicy: {{ .Values.functions.query.image.pullPolicy }}
- handler: main:Query
- image: {{ .Values.functions.query.image.repository }}:{{ .Values.functions.query.image.tag }}
- replicas: {{ .Values.functions.query.replicas }}
- runtime: golang
- readinessTimeoutSeconds: {{ .Values.functions.query.readinessTimeoutSeconds }}
- resources:
-{{ toYaml .Values.resources | indent 12 }}
- env:
- - name: QUERY_V3IO_TSDB_PATH
- value: {{ .Values.tsdb.path }}
- - name: QUERY_V3IO_URL
-{{- if hasPrefix "http" .Values.webapi.url }}
- value: {{ .Values.webapi.url }}
-{{- else }}
- value: http://{{ cat .Values.webapi.url }}
-{{- end }}
- {{- if .Values.webapi.auth.secretName }}
- - name: QUERY_V3IO_USERNAME
- valueFrom:
- secretKeyRef:
- name: {{ .Values.webapi.auth.secretName }}
- key: username
- optional: true
- - name: QUERY_V3IO_PASSWORD
- valueFrom:
- secretKeyRef:
- name: {{ .Values.webapi.auth.secretName }}
- key: password
- optional: true
- - name: QUERY_V3IO_ACCESS_KEY
- valueFrom:
- secretKeyRef:
- name: {{ .Values.webapi.auth.secretName }}
- key: accessKey
- optional: true
- {{- end }}
- - name: QUERY_V3IO_CONTAINER
- value: {{ .Values.tsdb.container }}
- triggers:
- default-http:
- name: default-http
- kind: http
- maxWorkers: 1
- annotations:
- nginx.ingress.kubernetes.io/rewrite-target: /
- attributes:
- port: {{ .Values.functions.query.port }}
- {{- if .Values.functions.query.ingress }}
- serviceType: ClusterIP
- ingresses:
- http:
- host: {{ .Values.functions.query.ingress.host }}
- paths:
- - {{ default "/query" .Values.functions.query.ingress.path }}
- {{- end }}
-status:
- state: waitingForResourceConfiguration
diff --git a/stable/tsdb-functions/values.yaml b/stable/tsdb-functions/values.yaml
deleted file mode 100644
index a8c162d25..000000000
--- a/stable/tsdb-functions/values.yaml
+++ /dev/null
@@ -1,34 +0,0 @@
-tsdb:
- container: bigdata
- path: mytsdb
-webapi:
- url: v3io-webapi:8081
- auth:
-# must include username and password/accessKey
- secretName: ""
-resources: {}
- # limits:
- # cpu: 1
- # memory: "2Gi"
- # requests:
- # cpu: 1
- # memory: "2Gi"
-functions:
- ingest:
- readinessTimeoutSeconds: 180
- replicas: 1
- port: 32030
- ingress: {}
- image:
- repository: quay.io/iguazio/tsdb-ingest
- tag: 0.0.12
- pullPolicy: IfNotPresent
- query:
- readinessTimeoutSeconds: 180
- replicas: 1
- port: 32031
- ingress: {}
- image:
- repository: quay.io/iguazio/tsdb-query
- tag: 0.0.12
- pullPolicy: IfNotPresent