chart/env/staging.yaml (290 lines of code) (raw):
# SPDX-License-Identifier: Apache-2.0
# Copyright 2022 The HuggingFace Authors.
# --- common parameters ---
global:
huggingface:
ingress:
domain: us.dev.moon.huggingface.tech
# ^ the domain contains "dev", not "staging". We don't change for now.
subdomains:
datasetsServer: datasets-server
images:
pullPolicy: IfNotPresent
pullSecrets: []
jobs:
mongodbMigration:
registry: huggingface
useGlobalRegistry: false
repository: datasets-server-jobs-mongodb_migration
tag: sha-fb3399a
cacheMaintenance:
registry: huggingface
useGlobalRegistry: false
repository: datasets-server-jobs-cache_maintenance
tag: sha-fb3399a
services:
admin:
registry: huggingface
useGlobalRegistry: false
repository: datasets-server-services-admin
tag: sha-fb3399a
api:
registry: huggingface
useGlobalRegistry: false
repository: datasets-server-services-api
tag: sha-fb3399a
rows:
registry: huggingface
useGlobalRegistry: false
repository: datasets-server-services-rows
tag: sha-fb3399a
search:
registry: huggingface
useGlobalRegistry: false
repository: datasets-server-services-search
tag: sha-fb3399a
sseApi:
registry: huggingface
useGlobalRegistry: false
repository: datasets-server-services-sse-api
tag: sha-fb3399a
worker:
registry: huggingface
useGlobalRegistry: false
repository: datasets-server-services-worker
tag: sha-fb3399a
webhook:
registry: huggingface
useGlobalRegistry: false
repository: datasets-server-services-webhook
tag: sha-fb3399a
secrets:
infisical:
enabled: true
env: "ephemeral-us-east-1"
mongoUrl:
fromSecret: true
secretName: ""
appHfToken:
fromSecret: true
secretName: ""
appParquetConverterHfToken:
fromSecret: true
secretName: ""
hfWebhookSecret:
fromSecret: false
secretName: ""
hfJwtAdditionalPublicKeys:
fromSecret: true
secretName: ""
spawningToken:
fromSecret: true
secretName: ""
s3:
accessKeyId:
fromSecret: true
secretName: ""
secretAccessKey:
fromSecret: true
secretName: ""
cloudfront:
keyPairId:
fromSecret: true
secretName: ""
privateKey:
fromSecret: true
secretName: ""
persistence:
duckDBIndex:
existingClaim: "datasets-server-duckdb-pvc"
parquetMetadata:
existingClaim: "datasets-server-parquet-pvc"
monitoring:
enabled: true
mongodb:
enabled: false
common:
# URL of the HuggingFace Hub
hfEndpoint: "https://huggingface.co"
log:
# Log level
level: "DEBUG"
firstRows:
maxBytes: "200_000"
parquetAndInfo:
maxDatasetSizeBytes: "500_000_000"
assets:
storageRoot: "hf-datasets-server-statics-staging/assets"
storageProtocol: "s3"
cachedAssets:
storageRoot: "hf-datasets-server-statics-staging/cached-assets"
storageProtocol: "s3"
# --- jobs (pre-install/upgrade hooks) ---
mongodbMigration:
resources:
requests:
cpu: 100m
limits:
cpu: 1
# --- cron jobs ---
backfill:
enabled: false
queueMetricsCollector:
action: "collect-queue-metrics"
schedule: "*/10 * * * *"
# every ten minutes, then it will be changed to default
resources:
requests:
cpu: 1
limits:
cpu: 1
memory: "512Mi"
# --- ALB ---
ingress:
tls:
- hosts:
- "datasets-server.us.dev.moon.huggingface.tech"
annotations:
# Link to Route53 - we could set any subdomain to us.dev.moon.huggingface.tech (common zone to the k8s cluster)
alb.ingress.kubernetes.io/load-balancer-name: "hub-datasets-server-staging"
alb.ingress.kubernetes.io/tags: "Env=staging,Project=datasets-server,Terraform=true"
alb.ingress.kubernetes.io/healthcheck-path: "/healthcheck"
alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80, "HTTPS": 443}]'
alb.ingress.kubernetes.io/scheme: "internet-facing"
alb.ingress.kubernetes.io/group.name: "datasets-server"
kubernetes.io/ingress.class: "alb"
alb.ingress.kubernetes.io/group.order: "100"
# --- services ---
admin:
uvicornNumWorkers: "1"
replicas: 1
service:
type: NodePort
ingress:
enabled: true
annotations:
alb.ingress.kubernetes.io/group.order: "1"
resources:
requests:
cpu: 100m
memory: "512Mi"
limits:
cpu: 1
memory: "4Gi"
api:
uvicornNumWorkers: "1"
replicas: 1
service:
type: NodePort
ingress:
enabled: true
annotations:
alb.ingress.kubernetes.io/actions.openapi-redirect: '{"Type":"redirect","RedirectConfig":{"Host":"raw.githubusercontent.com","Path":"/huggingface/dataset-viewer/main/docs/source/openapi.json","Port":"443","Protocol":"HTTPS","Query":"#{query}","StatusCode":"HTTP_302"}}'
alb.ingress.kubernetes.io/actions.metrics-unauthorized: '{"type":"fixed-response","fixedResponseConfig":{"contentType":"text/plain","statusCode":"401","messageBody":"401 Unauthorized"}}'
resources:
requests:
cpu: 100m
memory: "512Mi"
limits:
cpu: 1
memory: "4Gi"
rows:
uvicornNumWorkers: "1"
replicas: 1
service:
type: NodePort
ingress:
enabled: true
annotations:
alb.ingress.kubernetes.io/group.order: "2"
resources:
requests:
cpu: 100m
memory: "512Mi"
limits:
cpu: 1
memory: "4Gi"
search:
uvicornNumWorkers: "1"
replicas: 1
service:
type: NodePort
ingress:
enabled: true
annotations:
alb.ingress.kubernetes.io/group.order: "3"
resources:
requests:
cpu: 100m
memory: "512Mi"
limits:
cpu: 1
memory: "4Gi"
sseApi:
service:
type: NodePort
ingress:
enabled: true
annotations:
alb.ingress.kubernetes.io/group.order: "4"
resources:
requests:
cpu: 100m
memory: "512Mi"
limits:
cpu: 1
memory: "4Gi"
workers:
- deployName: "all"
prometheusMultiprocDirectory: "/tmp"
uvicornHostname: "0.0.0.0"
uvicornNumWorkers: "1"
uvicornPort: 8080
workerDifficultyMax: 100
workerDifficultyMin: 0
replicas: 1
autoscaling:
enabled: true
minReplicas: 1
maxReplicas: 5
targets:
- targetQueueName: "worker_size_jobs_count"
targetQueueLength: 2
targetWorkerSize: "heavy"
- targetQueueName: "worker_size_jobs_count"
targetQueueLength: 2
targetWorkerSize: "medium"
resources:
requests:
cpu: 100m
memory: "512Mi"
limits:
cpu: 1
memory: "4Gi"
- deployName: "light"
prometheusMultiprocDirectory: "/tmp"
uvicornHostname: "0.0.0.0"
uvicornNumWorkers: "1"
uvicornPort: 8080
workerDifficultyMax: 40
workerDifficultyMin: 0
replicas: 1
autoscaling:
enabled: true
minReplicas: 1
maxReplicas: 5
targets:
- targetQueueName: "worker_size_jobs_count"
targetQueueLength: 2
targetWorkerSize: "light"
resources:
requests:
cpu: 100m
memory: "512Mi"
limits:
cpu: 1
memory: "4Gi"
webhook:
uvicornNumWorkers: "1"
replicas: 1
service:
type: NodePort
ingress:
enabled: true
annotations:
alb.ingress.kubernetes.io/group.order: "5"
resources:
requests:
cpu: 100m
memory: "512Mi"
limits:
cpu: 1
memory: "4Gi"