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

     1  apiVersion: apps.kubeblocks.io/v1alpha1
     2  kind: ClusterDefinition
     3  metadata:
     4    name: neon
     5    labels:
     6      {{- include "neon.labels" . | nindent 4 }}
     7  spec:
     8    componentDefs:
     9      - name: neon-storagebroker
    10        workloadType: Stateful
    11        characterType: storagebroker
    12        podSpec:
    13          containers:
    14            - name: neon-storagebroker
    15              volumeMounts:
    16                - mountPath: /usr/local/neon/storagebroker
    17                  name: neon-storagebroker
    18              command:
    19                - "storage_broker"
    20                - "-l"
    21                - "0.0.0.0:50051"
    22      - name: neon-safekeeper
    23        workloadType: Stateful
    24        characterType: safekeeper
    25        componentDefRef:
    26          - &storagebrokerRef
    27            componentDefName: neon-storagebroker
    28            componentRefEnv:
    29              - name: NEON_BROKER_SVC
    30                valueFrom:
    31                  type: HeadlessServiceRef
    32                  format: $(POD_FQDN){{ .Values.clusterDomain }}
    33                  joinWith: ","
    34        service:
    35          ports:
    36          - name: safekeeper
    37            protocol: TCP
    38            port: 5454
    39        podSpec:
    40          containers:
    41            - name: neon-safekeeper
    42              volumeMounts:
    43                - mountPath: /usr/local/neon/safekeeper
    44                  name: neon-safekeeper
    45              env:
    46                - name: POD_IP
    47                  valueFrom:
    48                    fieldRef:
    49                      fieldPath: status.podIP
    50              command:
    51                - /bin/bash
    52                - -c
    53                - |
    54                  set -ex
    55                  trap : TERM INT
    56                  exec safekeeper --id=1 -D /data --broker-endpoint=http://$NEON_BROKER_SVC:50051 -l ${POD_IP}:5454 --listen-http=0.0.0.0:7676
    57      - name: neon-pageserver
    58        workloadType: Stateful
    59        characterType: pageserver
    60        componentDefRef:
    61          - *storagebrokerRef
    62        service:
    63          ports:
    64          - name: pageserver
    65            protocol: TCP
    66            port: 6400
    67        podSpec:
    68          containers:
    69            - name: neon-pageserver
    70              volumeMounts:
    71                - mountPath: /usr/local/neon/pageserver
    72                  name: neon-pageserver
    73              command:
    74                - /bin/bash
    75                - -c
    76                - |
    77                  set -ex
    78                  trap : TERM INT
    79                  exec pageserver -D /data -c "id=1" -c "broker_endpoint='http://$NEON_BROKER_SVC:50051'" -c "listen_pg_addr='0.0.0.0:6400'" -c "listen_http_addr='0.0.0.0:9898'" -c "pg_distrib_dir='/opt/neondatabase-neon/pg_install'"