Thanks to visit codestin.com
Credit goes to github.com

Skip to content

sdwbgn/unitycatalog-helm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Helm Chart for Unity Catalog

Apache-2.0 license

Unity Catalog is a universal catalog for data and AI. It offers an open source solution designed to seamlessly integrate with various clouds, data formats, and data platforms.

Introduction

This chart deploys Unity Catalog on a Kubernetes cluster using the Helm package manager.

Prerequisites

  • Kubernetes 1.20+ cluster
  • Helm 3.0+

Features

  • Deploys Unity Catalog server and UI
  • Supports OAuth authentication: Google, Okta, Keycloak
  • Supports Unity Catalog versions: 0.2.1+

Installing the Chart

To install the chart with the release name unitycatalog:

helm install unitycatalog oci://ghcr.io/sdwbgn/unitycatalog-helm/unitycatalog:0.0.2

Configuration

The following table lists the configurable parameters of the Unity Catalog chart and their default values.

Parameter Description Default Example
storage.modelStorageRoot Root path for the model storage "" s3://bucket/path
storage.credentials.s3 S3 credentials for accessing the storage []
- bucketPath: s3://my-bucket-path
region: us-east-1
awsRoleArn: arn:aws:iam::123456789012:role/my-role
credentialsSecretName: my-bucket-secret
storage.credentials.adls ADLS credentials for accessing the storage []
- storageAccountName: my-storage-account
credentialsSecretName: my-storage-secret
storage.credentials.gcs GCS credentials for accessing the storage []
- bucketPath: gs://my-bucket-name
credentialsSecretName: my-bucket-secret
auth.enabled Enable OAuth authentication false true
auth.users List of users to be created in the system []
- name: user
email: [email protected]
auth.provider OAuth provider
Currently supported options: google, okta, keycloak
google google
auth.authorizationUrl OAuth authorization URL "" https://accounts.google.com/o/oauth2/auth
auth.tokenUrl OAuth token URL "" https://oauth2.googleapis.com/token
auth.clientSecretName OAuth client secret "" my-client-secret
auth.redirectPort OAuth redirect port "" 8080
auth.cookieTimeout OAuth cookie timeout P5D P5D
auth.oktaDomain Okta domain "" example.okta.com
auth.keycloakRealmId Keycloak realm ID "" my-realm
db.type Database type
Currently supported options: file
file file
db.fileConfig.persistence.enabled Enable persistence for the file database true false
db.fileConfig.persistence.accessModes Access modes for the file database [ "ReadWriteOnce" ] [ "ReadWriteOnce" ]
db.fileConfig.persistence.size Size of the file database 1Gi 1Gi
db.fileConfig.persistence.storageClassName Storage class for the file database "" ""
server.config.persistence.enabled Enable persistence for the server configuration true false
server.config.persistence.accessModes Access modes for the server configuration [ "ReadWriteOnce" ] [ "ReadWriteOnce" ]
server.config.persistence.size Size of the server configuration 100Mi 100Mi
server.config.persistence.storageClassName Storage class for the server configuration "" ""
server.config.extraProperties Additional properties that will be added to server config {}
my-config.property1: my-value1
my-config.property2: my-value2
server.service.type Service type for the server ClusterIP LoadBalancer
server.service.port Service port for the server 8080 8080
server.statefulset.port Port for the server statefulset 8080 8080
server.statefulset.initContainer.image.repository Repository for the init container bhgedigital/envsubst bhgedigital/envsubst
server.statefulset.initContainer.image.pullPolicy Pull policy for the init container IfNotPresent IfNotPresent
server.statefulset.initContainer.image.tag Tag for the init container latest latest
server.statefulset.image.repository Repository for the server image ghcr.io/sdwbgn/unitycatalog-helm/unitycatalog unitycatalog/unitycatalog
server.statefulset.image.pullPolicy Pull policy for the server image IfNotPresent IfNotPresent
server.statefulset.image.tag Tag for the server image
If not specified, appVersion from chart/Chart.yaml is used
"" 0.2.1
server.statefulset.imagePullSecrets Image pull secrets for the server []
- name: my-secret
server.statefulset.podAnnotations Annotations for the server pod {}
key1: value1
server.statefulset.podLabels Labels for the server pod {}
key1: value1
server.statefulset.podSecurityContext Security context for the server pod {}
fsGroup: 101
server.statefulset.securityContext Security context for the server {}
runAsUser: 101
server.statefulset.resources Resources for the server {}
requests:
memory: "64Mi"
cpu: "250m"
limits:
memory: "64Mi"
cpu: "250m"
server.statefulset.livenessProbe.tcpSocket.port Port for the server liveness probe api api
server.statefulset.readinessProbe.tcpSocket.port Port for the server readiness probe api api
server.statefulset.volumes Volumes for the server []
- name: my-volume
persistentVolumeClaim:
claimName: my-claim
server.statefulset.volumeMounts Volume mounts for the server []
- name: my-volume
mountPath: /path
server.statefulset.nodeSelector Node selector for the server {}
key1: value1
server.statefulset.tolerations Tolerations for the server []
- key: "key1"
operator: "Equal"
value: "value1"
effect: "NoSchedule"
server.statefulset.affinity Affinity for the server {}
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: key1
operator: In
values:
- value1
server.createUsersJob.image.repository Repository for the create users job image badouralix/curl-jq badouralix/curl-jq
server.createUsersJob.image.pullPolicy Pull policy for the create users job image IfNotPresent IfNotPresent
server.createUsersJob.image.tag Tag for the create users job image latest latest
server.createUsersJob.imagePullSecrets Image pull secrets for the create users job []
- name: my-secret
ui.enabled Enable the UI true false
ui.service.type Service type for the UI ClusterIP LoadBalancer
ui.service.port Service port for the UI 3000 3000
ui.deployment.port Port for the UI deployment 3000 3000
ui.deployment.replicaCount Replica count for the UI deployment 1 1
ui.deployment.initContainer.image.repository Repository for the init container busybox busybox
ui.deployment.initContainer.image.pullPolicy Pull policy for the init container IfNotPresent IfNotPresent
ui.deployment.initContainer.image.tag Tag for the init container latest latest
ui.deployment.image.repository Repository for the UI image ghcr.io/sdwbgn/unitycatalog-helm/unitycatalog-ui unitycatalog/unitycatalog-ui
ui.deployment.image.pullPolicy Pull policy for the UI image IfNotPresent IfNotPresent
ui.deployment.image.tag Tag for the UI image
If not specified, appVersion from chart/Chart.yaml is used
"" 0.2.1
ui.deployment.imagePullSecrets Image pull secrets for the UI []
- name: my-secret
ui.deployment.podAnnotations Annotations for the UI pod {}
key1: value1
ui.deployment.podLabels Labels for the UI pod {}
key1: value1
ui.deployment.podSecurityContext Security context for the UI pod {}
fsGroup: 101
ui.deployment.securityContext Security context for the UI {}
runAsUser: 101
ui.deployment.resources Resources for the UI {}
requests:
memory: "64Mi"
cpu: "250m"
limits:
memory: "64Mi"
cpu: "250m"
ui.deployment.livenessProbe.tcpSocket.port Port for the UI liveness probe ui ui
ui.deployment.readinessProbe.tcpSocket.port Port for the UI readiness probe ui ui
ui.deployment.volumes Volumes for the UI []
- name: my-volume
persistentVolumeClaim:
claimName: my-claim
ui.deployment.volumeMounts Volume mounts for the UI []
- name: my-volume
mountPath: /path
ui.deployment.nodeSelector Node selector for the UI {}
key1: value1
ui.deployment.tolerations Tolerations for the UI []
- key: "key1"
operator: "Equal"
value: "value1"
effect: "NoSchedule"
ui.deployment.affinity Affinity for the UI {}
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: key1
operator: In
values:
- value1
nameOverride Override the name of the chart "" "mycustomname"
fullnameOverride Override the full name of the chart "" "mycustomfullname"
serviceAccount.create Create a service account true true
serviceAccount.automount Automount the service account true true
serviceAccount.annotations Annotations for the service account {}
key1: value1
serviceAccount.name Name of the service account, when not set default service account used "" "mySA"

Uninstalling the Chart

To uninstall the unitycatalog chart:

helm uninstall unitycatalog

The command removes all the Kubernetes components associated with the chart and deletes the release. If persistent volumes are used, they are not deleted by default. To delete them, you need to manually delete the PVCs.

License

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages