apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: todo-data-manager  # Имя StatefulSet
  namespace: todo-app-ns-v2  # Пространство имен
spec:
  serviceName: "todo-data-service"  # Сервис для StatefulSet
  replicas: 1  # Количество реплик
  selector:
    matchLabels:
      app: todo-data  # Лейбл для выборки подов
  template:
    metadata:
      labels:
        app: todo-data  # Лейблы для подов
    spec:
      imagePullSecrets:
        - name: my-docker-secret  # Секрет для загрузки образа Docker
      containers:
        - name: todo-data  # Имя контейнера
          image: jank8000/todo-data-image:latest  # Docker образ
          ports:
            - containerPort: 8080  # Порт контейнера
          volumeMounts:
            - name: todo-app-pvc  # PVC, которое будет монтироваться
              mountPath: /data  # Место, где данные будут храниться в контейнере
  volumeClaimTemplates:
    - metadata:
        name: todo-app-pvc  # PVC для хранения данных
        namespace: todo-app-ns-v2  # Пространство имен для PVC
      spec:
        accessModes:
          - ReadWriteOnce  # Режим доступа к PVC
        resources:
          requests:
            storage: 1Gi  # Запрос на 1Gi хранилища
        volumeMode: Filesystem  # Монтирование как файловая система
