apiVersion: v1
kind: Namespace
metadata:
  name: dbpooltest
---
apiVersion: serverlessdb.openfuyao.cn/v1
kind: DBResourcePool
metadata:
  name: db-pool
  namespace: dbpooltest
spec:
  replicas: 500
  minAvailable: 2
  pgVersion: 17
  podTemplate:
    metadata:
      labels:
        app: serverlessdb
      annotations:
        prometheus.io/scrape: "true"
    spec:
      containers:
      - name: compute
        image: nginx:1.27-alpine
        imagePullPolicy: IfNotPresent
        command:
          - /bin/sh
          - -c
          - |
            set -e
            cat > /tmp/nginx.conf <<'CONF'
            events {
                worker_connections 1024;
            }
            stream {
                log_format main '$remote_addr [$time_local] $session_time';
                access_log /var/log/nginx/access.log main;
                server {
                    listen 6666;
                    return "FAKE-PG-REPLY\r\n";
                }
            }
            CONF
            nginx -c /tmp/nginx.conf -g 'daemon off;'
        ports:
        - name: pg
          containerPort: 6666
          protocol: TCP
        - name: http
          containerPort: 3080
          protocol: TCP
        env:
        - name: POSTGRES_PASSWORD
          value: "serverlessdb"
        - name: PGDATA
          value: /var/lib/postgresql/data
        resources:
          requests:
            cpu: "10m"
            memory: "32Mi"
          limits:
            cpu: "20m"
            memory: "40Mi"
        resizePolicy:
        - resourceName: cpu
          restartPolicy: NotRequired
        - resourceName: memory
          restartPolicy: RestartContainer
        volumeMounts:
        - name: data
          mountPath: /var/lib/postgresql/data
      volumes:
      - name: data
        emptyDir:
          medium: ""