apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: metering-server
  namespace : observability
spec:
  replicas: 1
  selector:
    matchLabels:
      app: metering-server
  template:
    metadata:
      labels:
        app: metering-server
    spec:
      nodeSelector:
        node_type: "worker"
      volumes:
        - name: meteringconfig
          configMap:
            name: meteringconfig
      containers:
        - image: 552185537300.dkr.ecr.us-west-2.amazonaws.com/observability-regional-metering-server:test-v1
          name: metering-server
          imagePullPolicy: Always
          ports:
            - containerPort: 8081
          resources:
            limits:
              cpu: 500m
              memory: 512Mi
            requests:
              cpu: 50m
              memory: 64Mi
          volumeMounts:
            - name: meteringconfig
              mountPath: /config/
            - name: data
              mountPath: /data/
      terminationGracePeriodSeconds: 10
      serviceAccountName: regional-server-controller-manager
  volumeClaimTemplates:
    - apiVersion: v1
      kind: PersistentVolumeClaim
      metadata:
        creationTimestamp: null
        name: data
      spec:
        accessModes:
          - ReadWriteOnce
        resources:
          requests:
            storage: 50Gi
        storageClassName: prometheus.ssd
        volumeMode: Filesystem
      status:
        phase: Pending
---
apiVersion: v1
kind: Service
metadata:
  namespace: observability
  name: regional-metering-service
spec:
  ports:
    - name: http
      port: 8081
      targetPort: 8081
      protocol: TCP
  type: ClusterIP
  selector:
    app: metering-server
