github.com/1aal/kubeblocks@v0.0.0-20231107070852-e1c03e598921/deploy/chatgpt-retrieval-plugin/templates/deployment.yaml (about)

     1  apiVersion: apps/v1
     2  kind: Deployment
     3  metadata:
     4    name: {{ include "gptplugin.fullname" . }}
     5    labels:
     6      {{- include "gptplugin.labels" . | nindent 4 }}
     7  spec:
     8    {{- if not .Values.autoscaling.enabled }}
     9    replicas: {{ .Values.replicaCount }}
    10    {{- end }}
    11    selector:
    12      matchLabels:
    13        {{- include "gptplugin.selectorLabels" . | nindent 6 }}
    14    template:
    15      metadata:
    16        {{- with .Values.podAnnotations }}
    17        annotations:
    18          {{- toYaml . | nindent 8 }}
    19        {{- end }}
    20        labels:
    21          {{- include "gptplugin.selectorLabels" . | nindent 8 }}
    22      spec:
    23        {{- with .Values.imagePullSecrets }}
    24        imagePullSecrets:
    25          {{- toYaml . | nindent 8 }}
    26        {{- end }}
    27        serviceAccountName: {{ include "gptplugin.serviceAccountName" . }}
    28        securityContext:
    29          {{- toYaml .Values.podSecurityContext | nindent 8 }}
    30        containers:
    31          - name: {{ .Chart.Name }}
    32            securityContext:
    33              {{- toYaml .Values.securityContext | nindent 12 }}
    34            image: "{{ .Values.image.registry | default "docker.io" }}/{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
    35            imagePullPolicy: {{ .Values.image.pullPolicy }}
    36            volumeMounts:
    37              - mountPath: /code/.well-known/ai-plugin.json
    38                name: config
    39                subPath: ai-plugin.json
    40              - mountPath: /code/.well-known/openapi.yaml
    41                name: config
    42                subPath: openapi.yaml
    43            ports:
    44              - name: http
    45                containerPort: 8080
    46                protocol: TCP
    47            resources:
    48              {{- toYaml .Values.resources | nindent 12 }}
    49            env:
    50              - name: DATASTORE
    51                value: {{.Values.datastore.DATASTORE | default "milvus" | quote}}
    52              - name: BEARER_TOKEN
    53                value: {{.Values.datastore.BEARER_TOKEN | default | quote}}
    54              - name: OPENAI_API_KEY
    55                value: {{.Values.datastore.OPENAI_API_KEY | default | quote}}
    56              - name: PINECONE_API_KEY
    57                value: {{.Values.datastore.PINECONE_API_KEY | default | quote}}
    58              - name: PINECONE_ENVIRONMENT
    59                value: {{.Values.datastore.PINECONE_ENVIRONMENT | default | quote}}
    60              - name: PINECONE_INDEX
    61                value: {{.Values.datastore.PINECONE_INDEX | default | quote}}
    62              - name: WEAVIATE_HOST
    63                value: {{.Values.datastore.WEAVIATE_HOST | default "http://127.0.0.1" | quote}}
    64              - name: WEAVIATE_PORT
    65                value: {{.Values.datastore.WEAVIATE_PORT | default 8080 | quote}}
    66              - name: WEAVIATE_INDEX
    67                value: {{.Values.datastore.WEAVIATE_INDEX | default "OpenAIDocument" | quote}}
    68              - name: WEAVIATE_USERNAME
    69                value: {{.Values.datastore.WEAVIATE_USERNAME | default | quote}}
    70              - name: WEAVIATE_PASSWORD
    71                value: {{.Values.datastore.WEAVIATE_PASSWORD | default | quote}}
    72              - name: WEAVIATE_SCOPES
    73                value: {{.Values.datastore.WEAVIATE_SCOPES | default | quote}}
    74              - name: WEAVIATE_BATCH_SIZE
    75                value: {{.Values.datastore.WEAVIATE_BATCH_SIZE | default 20 | quote}}
    76              - name: WEAVIATE_BATCH_DYNAMIC
    77                value: {{.Values.datastore.WEAVIATE_BATCH_DYNAMIC | default false | quote}}
    78              - name: WEAVIATE_BATCH_TIMEOUT_RETRIES
    79                value: {{.Values.datastore.WEAVIATE_BATCH_TIMEOUT_RETRIES | default 3 | quote}}
    80              - name: WEAVIATE_BATCH_NUM_WORKERS
    81                value: {{.Values.datastore.WEAVIATE_BATCH_NUM_WORKERS | default 1 | quote}}
    82              - name: ZILLIZ_COLLECTION
    83                value: {{.Values.datastore.ZILLIZ_COLLECTION | default | quote}}
    84              - name: ZILLIZ_URI
    85                value: {{.Values.datastore.ZILLIZ_URI | default | quote}}
    86              - name: ZILLIZ_USER
    87                value: {{.Values.datastore.ZILLIZ_USER | default | quote}}
    88              - name: ZILLIZ_PASSWORD
    89                value: {{.Values.datastore.ZILLIZ_PASSWORD | default | quote}}
    90              - name: MILVUS_COLLECTION
    91                value: {{.Values.datastore.MILVUS_COLLECTION | default | quote}}
    92              - name: MILVUS_HOST
    93                value: {{.Values.datastore.MILVUS_HOST | default "localhost" | quote}}
    94              - name: MILVUS_PORT
    95                value: {{.Values.datastore.MILVUS_PORT | default 19530 | quote}}
    96              - name: MILVUS_USER
    97                value: {{.Values.datastore.MILVUS_USER | default | quote}}
    98              - name: MILVUS_PASSWORD
    99                value: {{.Values.datastore.MILVUS_PASSWORD | default | quote}}
   100              - name: QDRANT_URL
   101                value: {{.Values.datastore.QDRANT_URL | default "http://localhost" | quote}}
   102              - name: QDRANT_PORT
   103                value: {{.Values.datastore.QDRANT_PORT | default 6333 | quote}}
   104              - name: QDRANT_GRPC_PORT
   105                value: {{.Values.datastore.QDRANT_GRPC_PORT | default 6334 | quote}}
   106              - name: QDRANT_API_KEY
   107                value: {{.Values.datastore.QDRANT_API_KEY | default | quote}}
   108              - name: QDRANT_COLLECTION
   109                value: {{.Values.datastore.QDRANT_COLLECTION | default "document_chunks" | quote}}
   110              - name: REDIS_HOST
   111                value: {{.Values.datastore.REDIS_HOST | default "localhost" | quote}}
   112              - name: REDIS_PORT
   113                value: {{.Values.datastore.REDIS_PORT | default 6379 | quote}}
   114              - name: REDIS_PASSWORD
   115                value: {{.Values.datastore.REDIS_PASSWORD | default | quote}}
   116              - name: REDIS_INDEX_NAME
   117                value: {{.Values.datastore.REDIS_INDEX_NAME | default "index" | quote}}
   118              - name: REDIS_DOC_PREFIX
   119                value: {{.Values.datastore.REDIS_DOC_PREFIX | default "doc" | quote}}
   120              - name: REDIS_DISTANCE_METRIC
   121                value: {{.Values.datastore.REDIS_DISTANCE_METRIC | default "COSINE" | quote}}
   122              - name: REDIS_INDEX_TYPE
   123                value: {{.Values.datastore.REDIS_INDEX_TYPE | default "FLAT" | quote}}
   124              - name: LLAMA_INDEX_TYPE
   125                value: {{.Values.datastore.LLAMA_INDEX_TYPE | default "simple_dict" | quote}}
   126              - name: LLAMA_INDEX_JSON_PATH
   127                value: {{.Values.datastore.LLAMA_INDEX_JSON_PATH | default | quote}}
   128              - name: LLAMA_QUERY_KWARGS_JSON_PATH
   129                value: {{.Values.datastore.LLAMA_QUERY_KWARGS_JSON_PATH | default | quote}}
   130              - name: LLAMA_RESPONSE_MODE
   131                value: {{.Values.datastore.LLAMA_RESPONSE_MODE | default "no_text" | quote}}
   132              - name: CHROMA_COLLECTION
   133                value: {{.Values.datastore.CHROMA_COLLECTION | default "openaiembeddings" | quote}}
   134              - name: CHROMA_IN_MEMORY
   135                value: {{.Values.datastore.CHROMA_IN_MEMORY | default "True" | quote}}
   136              - name: CHROMA_PERSISTENCE_DIR
   137                value: {{.Values.datastore.CHROMA_PERSISTENCE_DIR | default "openai" | quote}}
   138              - name: CHROMA_HOST
   139                value: {{.Values.datastore.CHROMA_HOST | default "http://127.0.0.1" | quote}}
   140              - name: CHROMA_PORT
   141                value: {{.Values.datastore.CHROMA_PORT | default "8080" | quote}}
   142              - name: AZURESEARCH_SERVICE
   143                value: {{.Values.datastore.AZURESEARCH_SERVICE | default | quote}}
   144              - name: AZURESEARCH_INDEX
   145                value: {{.Values.datastore.AZURESEARCH_INDEX | default | quote}}
   146              - name: AZURESEARCH_API_KEY
   147                value: {{.Values.datastore.AZURESEARCH_API_KEY | default | quote}}
   148              - name: AZURESEARCH_DISABLE_HYBRID
   149                value: {{.Values.datastore.AZURESEARCH_DISABLE_HYBRID | default | quote}}
   150              - name: AZURESEARCH_SEMANTIC_CONFIG
   151                value: {{.Values.datastore.AZURESEARCH_SEMANTIC_CONFIG | default | quote}}
   152              - name: AZURESEARCH_LANGUAGE
   153                value: {{.Values.datastore.AZURESEARCH_LANGUAGE | default "en-us" | quote}}
   154              - name: AZURESEARCH_DIMENSIONS
   155                value: {{.Values.datastore.AZURESEARCH_DIMENSIONS | default "1536" | quote}}
   156              - name: SUPABASE_URL
   157                value: {{.Values.datastore.SUPABASE_URL | default | quote}}
   158              - name: SUPABASE_ANON_KEY
   159                value: {{.Values.datastore.SUPABASE_ANON_KEY | default | quote}}
   160              - name: SUPABASE_SERVICE_ROLE_KEY
   161                value: {{.Values.datastore.SUPABASE_SERVICE_ROLE_KEY | default | quote}}
   162              - name: PG_HOST
   163                value: {{.Values.datastore.PG_HOST | default "localhost" | quote}}
   164              - name: PG_PORT
   165                value: {{.Values.datastore.PG_PORT | default "5432" | quote}}
   166              - name: PG_PASSWORD
   167                value: {{.Values.datastore.PG_PASSWORD | default "postgres" | quote}}
   168              - name: PG_USER
   169                value: {{.Values.datastore.PG_USER | default "postgres" | quote}}
   170              - name: PG_DB
   171                value: {{.Values.datastore.PG_DB | default "postgres" | quote}}
   172        {{- with .Values.nodeSelector }}
   173        nodeSelector:
   174          {{- toYaml . | nindent 8 }}
   175        {{- end }}
   176        {{- with .Values.affinity }}
   177        affinity:
   178          {{- toYaml . | nindent 8 }}
   179        {{- end }}
   180        {{- with .Values.tolerations }}
   181        tolerations:
   182          {{- toYaml . | nindent 8 }}
   183        {{- end }}
   184  
   185        volumes:
   186          - name: config
   187            configMap:
   188              name: gptplugin-config
   189              items:
   190                - key: ai-plugin.json
   191                  path: ai-plugin.json
   192                - key: openapi.yaml
   193                  path: openapi.yaml