Skip to content

Commit

Permalink
feat: add Feast UI chart
Browse files Browse the repository at this point in the history
  • Loading branch information
khorshuheng committed May 15, 2024
1 parent fe178b6 commit 4b218c1
Show file tree
Hide file tree
Showing 6 changed files with 183 additions and 0 deletions.
4 changes: 4 additions & 0 deletions charts/feast-ui/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
apiVersion: v1
description: "Feast: ML Feature Store"
name: feast-ui
version: 0.4.0
30 changes: 30 additions & 0 deletions charts/feast-ui/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# feast-ui

![Version: 0.4.0](https://img.shields.io/badge/Version-0.4.0-informational?style=flat-square)

Feast: ML Feature Store

## Values

| Key | Type | Default | Description |
|-----|------|---------|-------------|
| feast_ui.extraVolumeMounts[0].mountPath | string | `"/etc/gcp_service_account"` | |
| feast_ui.extraVolumeMounts[0].name | string | `"service-account"` | |
| feast_ui.extraVolumeMounts[0].readOnly | bool | `true` | |
| feast_ui.extraVolumes[0].name | string | `"service-account"` | |
| feast_ui.extraVolumes[0].secret.items[0].key | string | `"key.json"` | |
| feast_ui.extraVolumes[0].secret.items[0].path | string | `"key.json"` | |
| feast_ui.extraVolumes[0].secret.secretName | string | `"feast-google-service-account"` | |
| feast_ui.image.pullPolicy | string | `"IfNotPresent"` | |
| feast_ui.image.repository | string | `"feast-ui"` | |
| feast_ui.image.tag | string | `nil` | |
| feast_ui.livenessProbe.path | string | `"/api/live"` | |
| feast_ui.readinessProbe.path | string | `"/api/ready"` | |
| feast_ui.replicaCount | string | `"1"` | |
| feast_ui.resources.limits.memory | string | `"256Mi"` | |
| feast_ui.resources.requests.cpu | string | `"100m"` | |
| feast_ui.resources.requests.memory | string | `"128Mi"` | |
| feast_ui.service.type | string | `"ClusterIP"` | |

----------------------------------------------
Autogenerated from chart metadata using [helm-docs v1.11.0](https://github.com/norwoodj/helm-docs/releases/v1.11.0)
20 changes: 20 additions & 0 deletions charts/feast-ui/templates/_helpers.tpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{{- define "feast_ui.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
{{- end }}

{{- define "feast_ui.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version -}}
{{- end -}}

{{- define "feast_ui.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 -}}
68 changes: 68 additions & 0 deletions charts/feast-ui/templates/deployment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ template "feast_ui.fullname" . }}
namespace: {{ .Release.Namespace }}
labels:
app: {{ template "feast_ui.fullname" . }}
chart: {{ template "feast_ui.chart" . }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
{{- if .Values.feast_ui.labels }}
{{ toYaml .Values.feast_ui.labels | indent 4 -}}
{{- end }}
spec:
replicas: {{ .Values.feast_ui.replicaCount }}
selector:
matchLabels:
app: {{ template "feast_ui.fullname" . }}
release: {{ .Release.Name }}
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 4
maxUnavailable: 0
template:
metadata:
labels:
app: {{ template "feast_ui.fullname" . }}
release: {{ .Release.Name }}
{{- if .Values.feast_ui.labels }}
{{ toYaml .Values.feast_ui.labels | indent 8 -}}
{{- end }}
spec:
containers:
- name: feast-ui
image: "{{ .Values.feast_ui.image.registry }}{{ .Values.feast_ui.image.repository }}:{{ .Values.feast_ui.image.tag }}"
imagePullPolicy: {{ .Values.feast_ui.image.pullPolicy }}
ports:
- containerPort: {{ .Values.feast_ui.service.internalPort }}
resources:
{{- toYaml .Values.feast_ui.resources | nindent 10 }}
env:
- name: REACT_APP_OAUTH_CLIENT_ID
value: "{{ .Values.feast_ui.oauthClientID }}"
- name: JOBSERVICE_ENDPOINTS
value: "{{ .Values.feast_ui.jobserviceEndpoints }}"
- name: JOBSERVICE_LABELS
value: "{{ .Values.feast_ui.jobserviceLabels }}"
- name: JOB_LOG_URL_TEMPLATE
value: "{{ .Values.feast_ui.jobLogUrlTemplate }}"
- name: FEAST_CORE_ENDPOINT
value: "{{ .Values.feast_ui.coreEndpoint }}"
{{- with .Values.feast_ui.extraEnvs }}
{{- toYaml . | nindent 8 }}
{{- end }}
volumeMounts:
{{- with .Values.feast_ui.extraVolumeMounts }}
{{- toYaml . | nindent 8 }}
{{- end }}
volumes:
{{- with .Values.feast_ui.extraVolumes }}
{{- toYaml . | nindent 6 }}
{{- end }}

{{- if .Values.feast_ui.nodeSelector }}
nodeSelector:
{{ toYaml .Values.feast_ui.nodeSelector | nindent 8 }}
{{ end -}}
22 changes: 22 additions & 0 deletions charts/feast-ui/templates/service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
apiVersion: v1
kind: Service
metadata:
name: {{ template "feast_ui.fullname" . }}
namespace: {{ .Release.Namespace }}
labels:
app: {{ template "feast_ui.fullname" . }}
chart: {{ template "feast_ui.chart" . }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
{{- if .Values.feast_ui.labels }}
{{ toYaml .Values.feast_ui.labels | indent 4 -}}
{{- end }}
spec:
type: {{ .Values.feast_ui.service.type }}
ports:
- port: {{ .Values.feast_ui.service.externalPort }}
targetPort: {{ .Values.feast_ui.service.internalPort }}
protocol: TCP
selector:
app: {{ template "feast_ui.fullname" . }}
release: {{ .Release.Name }}
39 changes: 39 additions & 0 deletions charts/feast-ui/values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
feast_ui:
image:
pullPolicy: IfNotPresent
repository: feast-ui
# Value will be set at install time using helm --set command
tag:

service:
type: ClusterIP

extraVolumes:
- name: service-account
secret:
# Assume secret "feast-google-service-account" with key "key.json" containing
# GCP service account already exists in the Kubernetes cluster
secretName: feast-google-service-account
items:
- key: key.json
path: key.json

extraVolumeMounts:
- name: service-account
mountPath: "/etc/gcp_service_account"
readOnly: true

livenessProbe:
path: "/api/live"

readinessProbe:
path: "/api/ready"

resources:
requests:
cpu: 100m
memory: 128Mi
limits:
memory: 256Mi

replicaCount: "1"

0 comments on commit 4b218c1

Please sign in to comment.