github.com/1aal/kubeblocks@v0.0.0-20231107070852-e1c03e598921/deploy/weaviate/values.yaml (about)

     1  # Default values for weaviate.
     2  # This is a YAML-formatted file.
     3  # Declare variables to be passed into your templates.
     4  
     5  
     6  clusterVersionOverride: ""
     7  nameOverride: ""
     8  fullnameOverride: ""
     9  
    10  
    11  ## @param commonLabels Labels to add to all deployed objects
    12  ##
    13  commonLabels: {}
    14  
    15  ## @param application images
    16  ##
    17  images:
    18    pullPolicy: IfNotPresent
    19    weaviate:
    20      repository: docker.io/semitechnologies/weaviate
    21      tag: 1.19.6
    22  
    23  ## @param debugEnabled enables containers' debug logging
    24  ##
    25  debugEnabled: true
    26  
    27  # overwrite command and args if you want to run specific startup scripts, for
    28  # example setting the nofile limit
    29  command: ["/bin/weaviate"]
    30  args:
    31    - '--host'
    32    - '0.0.0.0'
    33    - '--port'
    34    - '8080'
    35    - '--scheme'
    36    - 'http'
    37    - '--config-file'
    38    - '/weaviate-config/conf.yaml'
    39    - --read-timeout=60s
    40    - --write-timeout=60s
    41  
    42  # below is an example that can be used to set an arbitrary nofile limit at
    43  # startup:
    44  #
    45  # command:
    46  #   - "/bin/sh"
    47  # args:
    48  #   - "-c"
    49  #   - "ulimit -n 65535 && /bin/weaviate --host 0.0.0.0 --port 8080 --scheme http --config-file /weaviate-config/conf.yaml"
    50  
    51  # Scale replicas of Weaviate. Note that as of v1.8.0 dynamic scaling is limited
    52  # to cases where no data is imported yet. Scaling down after importing data may
    53  # break usability. Full dynamic scalability will be added in a future release.
    54  replicas: 1
    55  resources: {}
    56    # requests:
    57    #   cpu: '500m'
    58    #   memory: '300Mi'
    59    # limits:
    60    #   cpu: '1000m'
    61  #   memory: '1Gi'
    62  
    63  
    64  # Add a service account to the Weaviate pods if you need Weaviate to have permissions to
    65  # access kubernetes resources or cloud provider resources. For example for it to have
    66  # access to a backup up bucket, or if you want to restrict Weaviate pod in any way.
    67  # By default, use the default ServiceAccount
    68  serviceAccountName:
    69  
    70  # The Persistent Volume Claim settings for Weaviate. If there's a
    71  # storage.fullnameOverride field set, then the default pvc will not be
    72  # created, instead the one defined in fullnameOverride will be used
    73  storage:
    74    size: 32Gi
    75    storageClassName: ""
    76  
    77  # The service controls how weaviate is exposed to the outside world. If you
    78  # don't want a public load balancer, you can also choose 'ClusterIP' to make
    79  # weaviate only accessible within your cluster.
    80  service:
    81    name: weaviate
    82    ports:
    83      - name: http
    84        protocol: TCP
    85        port: 80
    86        # Target port is going to be the same for every port
    87    type: LoadBalancer
    88    loadBalancerSourceRanges: []
    89    # optionally set cluster IP if you want to set a static IP
    90    clusterIP:
    91    annotations: {}
    92  
    93  # Adjust liveness, readiness and startup probes configuration
    94  startupProbe:
    95    # For kubernetes versions prior to 1.18 startupProbe is not supported thus can be disabled.
    96    enabled: false
    97  
    98    initialDelaySeconds: 300
    99    periodSeconds: 60
   100    failureThreshold: 50
   101    successThreshold: 1
   102    timeoutSeconds: 3
   103  
   104  livenessProbe:
   105    initialDelaySeconds: 900
   106    periodSeconds: 10
   107    failureThreshold: 30
   108    successThreshold: 1
   109    timeoutSeconds: 3
   110  
   111  readinessProbe:
   112    initialDelaySeconds: 3
   113    periodSeconds: 10
   114    failureThreshold: 3
   115    successThreshold: 1
   116    timeoutSeconds: 3
   117  
   118  
   119  terminationGracePeriodSeconds: 600
   120  
   121  # Weaviate Config
   122  #
   123  # The following settings allow you to customize Weaviate to your needs, for
   124  # example set authentication and authorization options. See weaviate docs
   125  # (https://www.weaviate.io/developers/weaviate/) for all
   126  # configuration.
   127  authentication:
   128    anonymous_access:
   129      enabled: true
   130  authorization:
   131    admin_list:
   132      enabled: false
   133  query_defaults:
   134    limit: 100
   135  debug: false
   136  
   137  
   138  # Insert any custom environment variables or envSecrets by putting the exact name
   139  # and desired value into the settings below. Any env name passed will be automatically
   140  # set for the statefulSet.
   141  env:
   142    CLUSTER_GOSSIP_BIND_PORT: 7000
   143    CLUSTER_DATA_BIND_PORT: 7001
   144    # The aggressiveness of the Go Garbage Collector. 100 is the default value.
   145    GOGC: 100
   146  
   147    # Expose metrics on port 2112 for Prometheus to scrape
   148    PROMETHEUS_MONITORING_ENABLED: false
   149  
   150    # Set a MEM limit for the Weaviate Pod so it can help you both increase GC-related
   151    # performance as well as avoid GC-related out-of-memory ("OOM") situations
   152    # GOMEMLIMIT: 6GiB
   153  
   154    # Maximum results Weaviate can query with/without pagination
   155    # NOTE: Affects performance, do NOT set to a very high value.
   156    # The default is 100K
   157    QUERY_MAXIMUM_RESULTS: 100000
   158  
   159    # whether to enable vector dimensions tracking metric
   160    TRACK_VECTOR_DIMENSIONS: false
   161  
   162    # whether to re-index/-compute the vector dimensions metric (needed if upgrading from weaviate < v1.16.0)
   163    REINDEX_VECTOR_DIMENSIONS_AT_STARTUP: false
   164  
   165  envSecrets:
   166  
   167  
   168  # Configure backup providers
   169  backups:
   170    # The backup-filesystem module enables creation of the DB backups in
   171    # the local filesystem
   172    filesystem:
   173      enabled: false
   174      envconfig:
   175        # Configure folder where backups should be saved
   176        BACKUP_FILESYSTEM_PATH: /tmp/backups
   177  
   178    s3:
   179      enabled: false
   180      # If one is using AWS EKS and has already configured K8s Service Account
   181      # that holds the AWS credentials one can pass a name of that service account
   182      # here using this setting.
   183      # NOTE: the root `serviceAccountName` config has priority over this one, and
   184      # if the root one is set this one will NOT overwrite it. This one is here for
   185      # backwards compatibility.
   186      serviceAccountName:
   187  
   188      envconfig:
   189        # Configure bucket where backups should be saved, this setting is mandatory
   190        BACKUP_S3_BUCKET: weaviate-backups
   191  
   192        # Optional setting. Defaults to empty string.
   193        # Set this option if you want to save backups to a given location
   194        # inside the bucket
   195        # BACKUP_S3_PATH: path/inside/bucket
   196  
   197        # Optional setting. Defaults to AWS S3 (s3.amazonaws.com).
   198        # Set this option if you have a MinIO storage configured in your environment
   199        # and want to use it instead of the AWS S3.
   200        # BACKUP_S3_ENDPOINT: custom.minio.endpoint.address
   201  
   202        # Optional setting. Defaults to true.
   203        # Set this option if you don't want to use SSL.
   204        # BACKUP_S3_USE_SSL: true
   205  
   206        # You can pass environment AWS settings here:
   207        # Define the region
   208        # AWS_REGION: eu-west-1
   209  
   210      # For Weaviate to be able to create bucket objects it needs a user credentials to authenticate to AWS.
   211      # The User must have permissions to read/create/delete bucket objects.
   212      # You can pass the User credentials (access-key id and access-secret-key) in 2 ways:
   213      # 1. by setting the AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY plain values in the `secrets` section below
   214      #     this chart will create a kubernetes secret for you with these key-values pairs
   215      # 2. create Kubernetes secret/s with AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY  keys and their respective values
   216      #     Set the Key and the secret where it is set in `envSecrets` section below
   217      secrets: {}
   218      #   AWS_ACCESS_KEY_ID: access-key-id (plain text)
   219      #   AWS_SECRET_ACCESS_KEY: secret-access-key (plain text)
   220  
   221      # If one has already defined secrets with AWS credentials one can pass them using
   222      # this setting:
   223      envSecrets: {}
   224      #   AWS_ACCESS_KEY_ID: name-of-the-k8s-secret-containing-the-key-id
   225      #   AWS_SECRET_ACCESS_KEY: name-of-the-k8s-secret-containing-the-key
   226  
   227    gcs:
   228      enabled: false
   229      envconfig:
   230        # Configure bucket where backups should be saved, this setting is mandatory
   231        BACKUP_GCS_BUCKET: weaviate-backups
   232  
   233        # Optional setting. Defaults to empty string.
   234        # Set this option if you want to save backups to a given location
   235        # inside the bucket
   236        # BACKUP_GCS_PATH: path/inside/bucket
   237  
   238        # You can pass environment Google settings here:
   239        # Define the project
   240        # GOOGLE_CLOUD_PROJECT: project-id
   241  
   242      # For Weaviate to be able to create bucket objects it needs a ServiceAccount credentials to authenticate to GCP.
   243      # The ServiceAccount must have permissions to read/create/delete bucket objects.
   244      # You can pass the ServiceAccount credentials (as JSON) in 2 ways:
   245      # 1. by setting the GOOGLE_APPLICATION_CREDENTIALS json as plain text in the `secrets` section below
   246      #     this chart will create a kubernetes secret for you with this key-values pairs
   247      # 2. create a Kubernetes secret with GOOGLE_APPLICATION_CREDENTIALS key and its respective value
   248      #     Set the Key and the secret where it is set in `envSecrets` section below
   249      secrets: {}
   250      #   GOOGLE_APPLICATION_CREDENTIALS: credentials-json-string
   251  
   252      # If one has already defined a secret with GOOGLE_APPLICATION_CREDENTIALS one can pass them using
   253      # this setting:
   254      envSecrets: {}
   255      #   GOOGLE_APPLICATION_CREDENTIALS: name-of-the-k8s-secret-containing-the-key
   256  
   257    azure:
   258      enabled: false
   259      envconfig:
   260        # Configure container where backups should be saved, this setting is mandatory
   261        BACKUP_AZURE_CONTAINER: weaviate-backups
   262  
   263        # Optional setting. Defaults to empty string.
   264        # Set this option if you want to save backups to a given location
   265        # inside the container
   266        # BACKUP_AZURE_PATH: path/inside/container
   267  
   268      # For Weaviate to be able to create container objects it needs a user credentials to authenticate to Azure Storage.
   269      # The User must have permissions to read/create/delete container objects.
   270      # You can pass the User credentials (account-name id and account-key or connection-string) in 2 ways:
   271      # 1. by setting the AZURE_STORAGE_ACCOUNT and AZURE_STORAGE_KEY
   272      #     or AZURE_STORAGE_CONNECTION_STRING plain values in the `secrets` section below
   273      #     this chart will create a kubernetes secret for you with these key-values pairs
   274      # 2. create Kubernetes secret/s with AZURE_STORAGE_ACCOUNT and AZURE_STORAGE_KEY
   275      #     or AZURE_STORAGE_CONNECTION_STRING and their respective values
   276      #     Set the Key and the secret where it is set in `envSecrets` section below
   277      secrets: {}
   278      #   AZURE_STORAGE_ACCOUNT: account-name (plain text)
   279      #   AZURE_STORAGE_KEY: account-key (plain text)
   280      #   AZURE_STORAGE_CONNECTION_STRING: connection-string (plain text)
   281  
   282      # If one has already defined secrets with Azure Storage credentials one can pass them using
   283      # this setting:
   284      envSecrets: {}
   285      #   AZURE_STORAGE_ACCOUNT: name-of-the-k8s-secret-containing-the-account-name
   286      #   AZURE_STORAGE_KEY: name-of-the-k8s-secret-containing-account-key
   287      #   AZURE_STORAGE_CONNECTION_STRING: name-of-the-k8s-secret-containing-connection-string
   288  
   289  
   290  # modules are extensions to Weaviate, they can be used to support various
   291  # ML-models, but also other features unrelated to model inference.
   292  # An inference/vectorizer module is not required, you can also run without any
   293  # modules and import your own vectors.
   294  modules:
   295  
   296    # The text2vec-contextionary module uses a fastText-based vector-space to
   297    # derive vector embeddings for your objects. It is very efficient on CPUs,
   298    # but in some situations it cannot reach the same level of accuracy as
   299    # transformers-based models.
   300    text2vec-contextionary:
   301      # disable if you want to use transformers or import or own vectors
   302      enabled: false
   303  
   304      # The configuration below is ignored if enabled==false
   305      fullnameOverride: contextionary
   306      tag: en0.16.0-v1.0.2
   307      repo: semitechnologies/contextionary
   308      registry: docker.io
   309      replicas: 1
   310      envconfig:
   311        occurrence_weight_linear_factor: 0.75
   312        neighbor_occurrence_ignore_percentile: 5
   313        enable_compound_splitting: false
   314        extensions_storage_mode: weaviate
   315      resources:
   316        requests:
   317          cpu: '500m'
   318          memory: '500Mi'
   319        limits:
   320          cpu: '1000m'
   321          memory: '5000Mi'
   322  
   323      # It is possible to add a ServiceAccount to this module's Pods, it can be
   324      # used in cases where the module is in a private registry and you want to
   325      # give access to the registry only to this pod.
   326      # NOTE: if not set the root `serviceAccountName` config will be used.
   327      serviceAccountName:
   328  
   329      # You can guide where the pods are scheduled on a per-module basis,
   330      # as well as for Weaviate overall. Each module accepts nodeSelector,
   331      # tolerations, and affinity configuration. If it is set on a per-
   332      # module basis, this configuration overrides the global config.
   333  
   334      nodeSelector:
   335      tolerations:
   336      affinity:
   337  
   338    # The text2vec-transformers modules uses neural networks, such as BERT,
   339    # DistilBERT, etc. to dynamically compute vector embeddings based on the
   340    # sentence's context. It is very slow on CPUs and should run with
   341    # CUDA-enabled GPUs for optimal performance.
   342    text2vec-transformers:
   343  
   344      # enable if you want to use transformers instead of the
   345      # text2vec-contextionary module
   346      enabled: false
   347      # You can set directly an inference URL of this module without deploying it with this release.
   348      # You can do so by setting a value for the `inferenceUrl` here AND by setting the `enable` to `false`
   349      inferenceUrl: {}
   350      # The configuration below is ignored if enabled==false
   351  
   352      # replace with model of choice, see
   353      # https://weaviate.io/developers/weaviate/modules/retriever-vectorizer-modules/text2vec-transformers
   354      # for all supported models or build your own container.
   355      tag: distilbert-base-uncased
   356      repo: semitechnologies/transformers-inference
   357      registry: docker.io
   358      replicas: 1
   359      fullnameOverride: transformers-inference
   360      probeInitialDelaySeconds: 120
   361      envconfig:
   362        # enable for CUDA support. Your K8s cluster needs to be configured
   363        # accordingly and you need to explicitly set GPU requests & limits below
   364        enable_cuda: false
   365  
   366        # only used when cuda is enabled
   367        nvidia_visible_devices: all
   368        nvidia_driver_capabilities: compute,utility
   369  
   370        # only used when cuda is enabled
   371        ld_library_path: /usr/local/nvidia/lib64
   372  
   373      resources:
   374        requests:
   375          cpu: '1000m'
   376          memory: '3000Mi'
   377  
   378          # enable if running with CUDA support
   379          # nvidia.com/gpu: 1
   380        limits:
   381          cpu: '1000m'
   382          memory: '5000Mi'
   383  
   384          # enable if running with CUDA support
   385          # nvidia.com/gpu: 1
   386  
   387      # It is possible to add a ServiceAccount to this module's Pods, it can be
   388      # used in cases where the module is in a private registry and you want to
   389      # give access to the registry only to this pod.
   390      # NOTE: if not set the root `serviceAccountName` config will be used.
   391      serviceAccountName:
   392  
   393      # You can guide where the pods are scheduled on a per-module basis,
   394      # as well as for Weaviate overall. Each module accepts nodeSelector,
   395      # tolerations, and affinity configuration. If it is set on a per-
   396      # module basis, this configuration overrides the global config.
   397  
   398      nodeSelector:
   399      tolerations:
   400      affinity:
   401  
   402      passageQueryServices:
   403        passage:
   404          enabled: false
   405          # You can set directly an inference URL of this module without deploying it with this release.
   406          # You can do so by setting a value for the `inferenceUrl` here AND by setting the `enable` to `false`
   407          inferenceUrl: {}
   408  
   409          tag: facebook-dpr-ctx_encoder-single-nq-base
   410          repo: semitechnologies/transformers-inference
   411          registry: docker.io
   412          replicas: 1
   413          fullnameOverride: transformers-inference-passage
   414          envconfig:
   415            # enable for CUDA support. Your K8s cluster needs to be configured
   416            # accordingly and you need to explicitly set GPU requests & limits below
   417            enable_cuda: false
   418  
   419            # only used when cuda is enabled
   420            nvidia_visible_devices: all
   421            nvidia_driver_capabilities: compute,utility
   422  
   423            # only used when cuda is enabled
   424            ld_library_path: /usr/local/nvidia/lib64
   425  
   426          resources:
   427            requests:
   428              cpu: '1000m'
   429              memory: '3000Mi'
   430  
   431              # enable if running with CUDA support
   432              # nvidia.com/gpu: 1
   433            limits:
   434              cpu: '1000m'
   435              memory: '5000Mi'
   436  
   437              # enable if running with CUDA support
   438              # nvidia.com/gpu: 1
   439  
   440          # You can guide where the pods are scheduled on a per-module basis,
   441          # as well as for Weaviate overall. Each module accepts nodeSelector,
   442          # tolerations, and affinity configuration. If it is set on a per-
   443          # module basis, this configuration overrides the global config.
   444  
   445          nodeSelector:
   446          tolerations:
   447          affinity:
   448  
   449        query:
   450          enabled: false
   451          # You can set directly an inference URL of this module without deploying it with this release.
   452          # You can do so by setting a value for the `inferenceUrl` here AND by setting the `enable` to `false`
   453          inferenceUrl: {}
   454  
   455          tag: facebook-dpr-question_encoder-single-nq-base
   456          repo: semitechnologies/transformers-inference
   457          registry: docker.io
   458          replicas: 1
   459          fullnameOverride: transformers-inference-query
   460          envconfig:
   461            # enable for CUDA support. Your K8s cluster needs to be configured
   462            # accordingly and you need to explicitly set GPU requests & limits below
   463            enable_cuda: false
   464  
   465            # only used when cuda is enabled
   466            nvidia_visible_devices: all
   467            nvidia_driver_capabilities: compute,utility
   468  
   469            # only used when cuda is enabled
   470            ld_library_path: /usr/local/nvidia/lib64
   471  
   472          resources:
   473            requests:
   474              cpu: '1000m'
   475              memory: '3000Mi'
   476  
   477              # enable if running with CUDA support
   478              # nvidia.com/gpu: 1
   479            limits:
   480              cpu: '1000m'
   481              memory: '5000Mi'
   482  
   483              # enable if running with CUDA support
   484              # nvidia.com/gpu: 1
   485  
   486          # You can guide where the pods are scheduled on a per-module basis,
   487          # as well as for Weaviate overall. Each module accepts nodeSelector,
   488          # tolerations, and affinity configuration. If it is set on a per-
   489          # module basis, this configuration overrides the global config.
   490  
   491          nodeSelector:
   492          tolerations:
   493          affinity:
   494  
   495    # The text2vec-openai module uses OpenAI Embeddings API
   496    # to dynamically compute vector embeddings based on the
   497    # sentence's context.
   498    # More information about OpenAI Embeddings API can be found here:
   499    # https://beta.openai.com/docs/guides/embeddings/what-are-embeddings
   500    text2vec-openai:
   501  
   502      # enable if you want to use OpenAI module
   503      enabled: false
   504  
   505      # Set your OpenAI API Key to be passed to Weaviate pod as
   506      # an environment variable
   507      apiKey: ''
   508  
   509    # The text2vec-huggingface module uses HuggingFace API
   510    # to dynamically compute vector embeddings based on the
   511    # sentence's context.
   512    # More information about HuggingFace API can be found here:
   513    # https://huggingface.co/docs/api-inference/detailed_parameters#feature-extraction-task
   514    text2vec-huggingface:
   515  
   516      # enable if you want to use HuggingFace module
   517      enabled: false
   518  
   519      # Set your HuggingFace API Key to be passed to Weaviate pod as
   520      # an environment variable
   521      apiKey: ''
   522  
   523    # The text2vec-cohere module uses Cohere API
   524    # to dynamically compute vector embeddings based on the
   525    # sentence's context.
   526    # More information about Cohere API can be found here: https://docs.cohere.ai/
   527    text2vec-cohere:
   528  
   529      # enable if you want to use Cohere module
   530      enabled: false
   531  
   532      # Set your Cohere API Key to be passed to Weaviate pod as
   533      # an environment variable
   534      apiKey: ''
   535  
   536    # The ref2vec-centroid module
   537    ref2vec-centroid:
   538  
   539      # enable if you want to use Centroid module
   540      enabled: false
   541  
   542    # The multi2vec-clip modules uses CLIP transformers to vectorize both images
   543    # and text in the same vector space. It is typically slow(er) on CPUs and should
   544    # run with CUDA-enabled GPUs for optimal performance.
   545    multi2vec-clip:
   546  
   547      # enable if you want to use transformers instead of the
   548      # text2vec-contextionary module
   549      enabled: false
   550      # You can set directly an inference URL of this module without deploying it with this release.
   551      # You can do so by setting a value for the `inferenceUrl` here AND by setting the `enable` to `false`
   552      inferenceUrl: {}
   553  
   554      # The configuration below is ignored if enabled==false
   555  
   556      # replace with model of choice, see
   557      # https://weaviate.io/developers/weaviate/modules/retriever-vectorizer-modules/multi2vec-clip
   558      # for all supported models or build your own container.
   559      tag: sentence-transformers-clip-ViT-B-32-multilingual-v1
   560      repo: semitechnologies/multi2vec-clip
   561      registry: docker.io
   562      replicas: 1
   563      fullnameOverride: clip-inference
   564      envconfig:
   565        # enable for CUDA support. Your K8s cluster needs to be configured
   566        # accordingly and you need to explicitly set GPU requests & limits below
   567        enable_cuda: false
   568  
   569        # only used when cuda is enabled
   570        nvidia_visible_devices: all
   571        nvidia_driver_capabilities: compute,utility
   572  
   573        # only used when cuda is enabled
   574        ld_library_path: /usr/local/nvidia/lib64
   575  
   576      resources:
   577        requests:
   578          cpu: '1000m'
   579          memory: '3000Mi'
   580  
   581          # enable if running with CUDA support
   582          # nvidia.com/gpu: 1
   583        limits:
   584          cpu: '1000m'
   585          memory: '5000Mi'
   586  
   587          # enable if running with CUDA support
   588          # nvidia.com/gpu: 1
   589      annotations:
   590      nodeSelector:
   591      tolerations:
   592  
   593    # The qna-transformers module uses neural networks, such as BERT,
   594    # DistilBERT, to find an aswer in text to a given question
   595    qna-transformers:
   596      enabled: false
   597      # You can set directly an inference URL of this module without deploying it with this release.
   598      # You can do so by setting a value for the `inferenceUrl` here AND by setting the `enable` to `false`
   599      inferenceUrl: {}
   600      tag: bert-large-uncased-whole-word-masking-finetuned-squad-34d66b1
   601      repo: semitechnologies/qna-transformers
   602      registry: docker.io
   603      replicas: 1
   604      fullnameOverride: qna-transformers
   605      envconfig:
   606        # enable for CUDA support. Your K8s cluster needs to be configured
   607        # accordingly and you need to explicitly set GPU requests & limits below
   608        enable_cuda: false
   609  
   610        # only used when cuda is enabled
   611        nvidia_visible_devices: all
   612        nvidia_driver_capabilities: compute,utility
   613  
   614        # only used when cuda is enabled
   615        ld_library_path: /usr/local/nvidia/lib64
   616  
   617      resources:
   618        requests:
   619          cpu: '1000m'
   620          memory: '3000Mi'
   621  
   622          # enable if running with CUDA support
   623          # nvidia.com/gpu: 1
   624        limits:
   625          cpu: '1000m'
   626          memory: '5000Mi'
   627  
   628          # enable if running with CUDA support
   629          # nvidia.com/gpu: 1
   630  
   631      # It is possible to add a ServiceAccount to this module's Pods, it can be
   632      # used in cases where the module is in a private registry and you want to
   633      # give access to the registry only to this pod.
   634      # NOTE: if not set the root `serviceAccountName` config will be used.
   635      serviceAccountName:
   636  
   637      # You can guide where the pods are scheduled on a per-module basis,
   638      # as well as for Weaviate overall. Each module accepts nodeSelector,
   639      # tolerations, and affinity configuration. If it is set on a per-
   640      # module basis, this configuration overrides the global config.
   641  
   642      nodeSelector:
   643      tolerations:
   644      affinity:
   645  
   646    # The qna-openai module uses OpenAI Completions API
   647    # to dynamically answer given questions.
   648    # More information about OpenAI Completions API can be found here:
   649    # https://beta.openai.com/docs/api-reference/completions
   650    qna-openai:
   651  
   652      # enable if you want to use OpenAI module
   653      enabled: false
   654  
   655      # Set your OpenAI API Key to be passed to Weaviate pod as
   656      # an environment variable
   657      apiKey: ''
   658  
   659    # The generative-openai module uses OpenAI Completions API
   660    # along with text-davinci-003 model to behave as ChatGPT.
   661    # More information about OpenAI Completions API can be found here:
   662    # https://beta.openai.com/docs/api-reference/completions
   663    generative-openai:
   664  
   665      # enable if you want to use OpenAI module
   666      enabled: false
   667  
   668      # Set your OpenAI API Key to be passed to Weaviate pod as
   669      # an environment variable
   670      apiKey: ''
   671  
   672    # The img2vec-neural module uses neural networks, to generate
   673    # a vector representation of the image
   674    img2vec-neural:
   675      enabled: false
   676      # You can set directly an inference URL of this module without deploying it with this release.
   677      # You can do so by setting a value for the `inferenceUrl` here AND by setting the `enable` to `false`
   678      inferenceUrl: {}
   679      tag: resnet50
   680      repo: semitechnologies/img2vec-pytorch
   681      registry: docker.io
   682      replicas: 1
   683      fullnameOverride: img2vec-neural
   684      envconfig:
   685        # enable for CUDA support. Your K8s cluster needs to be configured
   686        # accordingly and you need to explicitly set GPU requests & limits below
   687        enable_cuda: false
   688  
   689        # only used when cuda is enabled
   690        nvidia_visible_devices: all
   691        nvidia_driver_capabilities: compute,utility
   692  
   693        # only used when cuda is enabled
   694        ld_library_path: /usr/local/nvidia/lib64
   695  
   696      resources:
   697        requests:
   698          cpu: '1000m'
   699          memory: '3000Mi'
   700  
   701          # enable if running with CUDA support
   702          # nvidia.com/gpu: 1
   703        limits:
   704          cpu: '1000m'
   705          memory: '5000Mi'
   706  
   707          # enable if running with CUDA support
   708          # nvidia.com/gpu: 1
   709  
   710      # It is possible to add a ServiceAccount to this module's Pods, it can be
   711      # used in cases where the module is in a private registry and you want to
   712      # give access to the registry only to this pod.
   713      # NOTE: if not set the root `serviceAccountName` config will be used.
   714      serviceAccountName:
   715  
   716      # You can guide where the pods are scheduled on a per-module basis,
   717      # as well as for Weaviate overall. Each module accepts nodeSelector,
   718      # tolerations, and affinity configuration. If it is set on a per-
   719      # module basis, this configuration overrides the global config.
   720  
   721      nodeSelector:
   722      tolerations:
   723      affinity:
   724  
   725    # The text-spellcheck module uses spellchecker library to check
   726    # misspellings in a given text
   727    text-spellcheck:
   728      enabled: false
   729      # You can set directly an inference URL of this module without deploying it with this release.
   730      # You can do so by setting a value for the `inferenceUrl` here AND by setting the `enable` to `false`
   731      inferenceUrl: {}
   732      tag: pyspellchecker-en
   733      repo: semitechnologies/text-spellcheck-model
   734      registry: docker.io
   735      replicas: 1
   736      fullnameOverride: text-spellcheck
   737  
   738      resources:
   739        requests:
   740          cpu: '400m'
   741          memory: '400Mi'
   742        limits:
   743          cpu: '500m'
   744          memory: '500Mi'
   745  
   746      # It is possible to add a ServiceAccount to this module's Pods, it can be
   747      # used in cases where the module is in a private registry and you want to
   748      # give access to the registry only to this pod.
   749      # NOTE: if not set the root `serviceAccountName` config will be used.
   750      serviceAccountName:
   751  
   752      # You can guide where the pods are scheduled on a per-module basis,
   753      # as well as for Weaviate overall. Each module accepts nodeSelector,
   754      # tolerations, and affinity configuration. If it is set on a per-
   755      # module basis, this configuration overrides the global config.
   756  
   757      nodeSelector:
   758      tolerations:
   759      affinity:
   760  
   761    # The ner-transformers module uses spellchecker library to check
   762    # misspellings in a given text
   763    ner-transformers:
   764      enabled: false
   765      # You can set directly an inference URL of this module without deploying it with this release.
   766      # You can do so by setting a value for the `inferenceUrl` here AND by setting the `enable` to `false`
   767      inferenceUrl: {}
   768      tag: dbmdz-bert-large-cased-finetuned-conll03-english-0.0.2
   769      repo: semitechnologies/ner-transformers
   770      registry: docker.io
   771      replicas: 1
   772      fullnameOverride: ner-transformers
   773      envconfig:
   774        # enable for CUDA support. Your K8s cluster needs to be configured
   775        # accordingly and you need to explicitly set GPU requests & limits below
   776        enable_cuda: false
   777  
   778        # only used when cuda is enabled
   779        nvidia_visible_devices: all
   780        nvidia_driver_capabilities: compute,utility
   781  
   782        # only used when cuda is enabled
   783        ld_library_path: /usr/local/nvidia/lib64
   784  
   785      resources:
   786        requests:
   787          cpu: '1000m'
   788          memory: '3000Mi'
   789  
   790          # enable if running with CUDA support
   791          # nvidia.com/gpu: 1
   792        limits:
   793          cpu: '1000m'
   794          memory: '5000Mi'
   795  
   796          # enable if running with CUDA support
   797          # nvidia.com/gpu: 1
   798  
   799      # It is possible to add a ServiceAccount to this module's Pods, it can be
   800      # used in cases where the module is in a private registry and you want to
   801      # give access to the registry only to this pod.
   802      # NOTE: if not set the root `serviceAccountName` config will be used.
   803      serviceAccountName:
   804  
   805      # You can guide where the pods are scheduled on a per-module basis,
   806      # as well as for Weaviate overall. Each module accepts nodeSelector,
   807      # tolerations, and affinity configuration. If it is set on a per-
   808      # module basis, this configuration overrides the global config.
   809  
   810      nodeSelector:
   811      tolerations:
   812      affinity:
   813  
   814    # The sum-transformers module makes result texts summarizations
   815    sum-transformers:
   816      enabled: false
   817      # You can set directly an inference URL of this module without deploying it with this release.
   818      # You can do so by setting a value for the `inferenceUrl` here AND by setting the `enable` to `false`
   819      inferenceUrl: {}
   820      tag: facebook-bart-large-cnn-1.0.0
   821      repo: semitechnologies/sum-transformers
   822      registry: docker.io
   823      replicas: 1
   824      fullnameOverride: sum-transformers
   825      envconfig:
   826        # enable for CUDA support. Your K8s cluster needs to be configured
   827        # accordingly and you need to explicitly set GPU requests & limits below
   828        enable_cuda: false
   829  
   830        # only used when cuda is enabled
   831        nvidia_visible_devices: all
   832        nvidia_driver_capabilities: compute,utility
   833  
   834        # only used when cuda is enabled
   835        ld_library_path: /usr/local/nvidia/lib64
   836  
   837      resources:
   838        requests:
   839          cpu: '1000m'
   840          memory: '3000Mi'
   841  
   842          # enable if running with CUDA support
   843          # nvidia.com/gpu: 1
   844        limits:
   845          cpu: '1000m'
   846          memory: '5000Mi'
   847  
   848          # enable if running with CUDA support
   849          # nvidia.com/gpu: 1
   850  
   851      # It is possible to add a ServiceAccount to this module's Pods, it can be
   852      # used in cases where the module is in a private registry and you want to
   853      # give access to the registry only to this pod.
   854      # NOTE: if not set the root `serviceAccountName` config will be used.
   855      serviceAccountName:
   856  
   857      # You can guide where the pods are scheduled on a per-module basis,
   858      # as well as for Weaviate overall. Each module accepts nodeSelector,
   859      # tolerations, and affinity configuration. If it is set on a per-
   860      # module basis, this configuration overrides the global config.
   861  
   862      nodeSelector:
   863      tolerations:
   864      affinity:
   865  
   866    # by choosing the default vectorizer module, you can tell Weaviate to always
   867    # use this module as the vectorizer if nothing else is specified. Can be
   868    # overwritten on a per-class basis.
   869    # set to text2vec-transformers if running with transformers instead
   870    default_vectorizer_module: none
   871  
   872  # It is also possible to configure authentication and authorization through a
   873  # custom configmap The authorization and authentication values defined in
   874  # values.yaml will be ignored when defining a custom config map.
   875  custom_config_map:
   876    enabled: false
   877    name: 'custom-config'
   878  
   879  # Pass any annotations to Weaviate pods
   880  annotations:
   881  
   882  nodeSelector:
   883  
   884  tolerations:
   885  
   886  affinity:
   887    podAntiAffinity:
   888      preferredDuringSchedulingIgnoredDuringExecution:
   889        - weight: 1
   890          podAffinityTerm:
   891            topologyKey: "kubernetes.io/hostname"
   892            labelSelector:
   893              matchExpressions:
   894                - key: "app"
   895                  operator: In
   896                  values:
   897                    - weaviate