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

     1  ---
     2  apiVersion: apps.kubeblocks.io/v1alpha1
     3  kind: ClusterDefinition
     4  metadata:
     5    name: weaviate
     6    labels:
     7      {{- include "weaviate.labels" . | nindent 4 }}
     8  spec:
     9    type: weaviate
    10    connectionCredential:
    11      username: root
    12      password: "$(RANDOM_PASSWD)"
    13      endpoint: "$(SVC_FQDN):$(SVC_PORT_tcp-weaviate)"
    14      host: "$(SVC_FQDN)"
    15      port: "$(SVC_PORT_tcp-weaviate)"
    16    componentDefs:
    17      - name: weaviate
    18        workloadType: Stateful
    19        characterType: weaviate
    20        probes:
    21        monitor:
    22          builtIn: false
    23          exporterConfig:
    24            scrapePath: /metrics
    25            scrapePort: 2112
    26        logConfigs:
    27        configSpecs:
    28          - name: weaviate-config-template
    29            templateRef: weaviate-config-template
    30            volumeName: weaviate-config
    31            namespace: {{ .Release.Namespace }}
    32          - name: weaviate-env-template
    33            templateRef: weaviate-env-template
    34            constraintRef: weaviate-env-constraints
    35            volumeName: weaviate-env
    36            namespace: {{ .Release.Namespace }}
    37        service:
    38          ports:
    39            - name: tcp-weaviate
    40              port: 8080
    41              targetPort: tcp-weaviate
    42        volumeTypes:
    43          - name: data
    44            type: data
    45        podSpec:
    46          securityContext:
    47            fsGroup: 1001
    48          containers:
    49            - name: weaviate
    50              imagePullPolicy: {{default .Values.images.pullPolicy "IfNotPresent"}}
    51              command:
    52              - /bin/sh
    53              - -c
    54              - |
    55                export $(cat /weaviate-env/envs | xargs)
    56                /bin/weaviate --host 0.0.0.0 --port "8080" --scheme http --config-file /weaviate-config/conf.yaml --read-timeout=60s --write-timeout=60s
    57              securityContext:
    58                runAsUser: 0
    59              livenessProbe:
    60                failureThreshold: 30
    61                httpGet:
    62                  path: /v1/.well-known/live
    63                  port: 8080
    64                  scheme: HTTP
    65                initialDelaySeconds: 900
    66                periodSeconds: 10
    67                successThreshold: 1
    68                timeoutSeconds: 3
    69              readinessProbe:
    70                failureThreshold: 3
    71                httpGet:
    72                  path: /v1/.well-known/ready
    73                  port: 8080
    74                  scheme: HTTP
    75                initialDelaySeconds: 3
    76                periodSeconds: 10
    77                successThreshold: 1
    78                timeoutSeconds: 3
    79              startupProbe:
    80                failureThreshold: 3
    81                httpGet:
    82                  path: /v1/.well-known/ready
    83                  port: 8080
    84                  scheme: HTTP
    85                periodSeconds: 10
    86                successThreshold: 1
    87                timeoutSeconds: 3
    88              terminationMessagePath: /dev/termination-log
    89              terminationMessagePolicy: File
    90              volumeMounts:
    91                - mountPath: /weaviate-config
    92                  name: weaviate-config
    93                - mountPath: /weaviate-env
    94                  name: weaviate-env
    95                - mountPath: /var/lib/weaviate
    96                  name: data
    97              dnsPolicy: ClusterFirst
    98              enableServiceLinks: true
    99              ports:
   100                - name: tcp-weaviate
   101                  containerPort: 8080
   102                - name: tcp-metrics
   103                  containerPort: 2112
   104                - name: tcp-gossip-bind
   105                  containerPort: 7000
   106                - name: tcp-data-bind
   107                  containerPort: 7001
   108              env:
   109                - name: CLUSTER_DATA_BIND_PORT
   110                  value: "7001"
   111                - name: CLUSTER_GOSSIP_BIND_PORT
   112                  value: "7000"
   113                - name: GOGC
   114                  value: "100"
   115                - name: PROMETHEUS_MONITORING_ENABLED
   116                  value: "true"
   117                - name: PROMETHEUS_MONITORING_PORT
   118                  value: "2112"
   119                - name: QUERY_MAXIMUM_RESULTS
   120                  value: "100000"
   121                - name: REINDEX_VECTOR_DIMENSIONS_AT_STARTUP
   122                  value: "false"
   123                - name: TRACK_VECTOR_DIMENSIONS
   124                  value: "false"
   125                - name: PERSISTENCE_DATA_PATH
   126                  value: '/var/lib/weaviate'
   127                - name: DEFAULT_VECTORIZER_MODULE
   128                  value: none
   129                - name: CLUSTER_HOSTNAME
   130                  value: "$(KB_POD_NAME)"
   131                - name: CLUSTER_JOIN
   132                  value: "$(KB_CLUSTER_COMP_NAME)-headless.$(KB_NAMESPACE).svc"