--- # Source: loki/charts/loki/templates/single-binary/statefulset.yaml apiVersion: apps/v1 kind: StatefulSet metadata: name: loki namespace: loki labels: helm.sh/chart: loki-6.46.0 app.kubernetes.io/name: loki app.kubernetes.io/instance: loki app.kubernetes.io/version: "3.5.7" app.kubernetes.io/component: single-binary app.kubernetes.io/part-of: memberlist spec: replicas: 1 podManagementPolicy: Parallel updateStrategy: rollingUpdate: partition: 0 serviceName: loki-headless revisionHistoryLimit: 10 persistentVolumeClaimRetentionPolicy: whenDeleted: Delete whenScaled: Delete selector: matchLabels: app.kubernetes.io/name: loki app.kubernetes.io/instance: loki app.kubernetes.io/component: single-binary template: metadata: annotations: checksum/config: 9cded33d7ba292eb76711b451f5ecd9bade13c7fb5ffb5622229f5706f8f90dd storage/size: "150Gi" kubectl.kubernetes.io/default-container: "loki" labels: app.kubernetes.io/name: loki app.kubernetes.io/instance: loki app.kubernetes.io/component: single-binary app.kubernetes.io/part-of: memberlist spec: serviceAccountName: loki automountServiceAccountToken: true enableServiceLinks: true securityContext: fsGroup: 10001 runAsGroup: 10001 runAsNonRoot: true runAsUser: 10001 terminationGracePeriodSeconds: 30 containers: - name: loki image: docker.io/grafana/loki:3.5.7 imagePullPolicy: IfNotPresent args: - -config.file=/etc/loki/config/config.yaml - -target=all ports: - name: http-metrics containerPort: 3100 protocol: TCP - name: grpc containerPort: 9095 protocol: TCP - name: http-memberlist containerPort: 7946 protocol: TCP securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL readOnlyRootFilesystem: true readinessProbe: failureThreshold: 3 httpGet: path: /ready port: http-metrics initialDelaySeconds: 15 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 1 volumeMounts: - name: tmp mountPath: /tmp - name: config mountPath: /etc/loki/config - name: runtime-config mountPath: /etc/loki/runtime-config - name: storage mountPath: /var/loki - name: sc-rules-volume mountPath: "/rules" resources: {} - name: loki-sc-rules image: docker.io/kiwigrid/k8s-sidecar:1.30.10 imagePullPolicy: IfNotPresent env: - name: METHOD value: WATCH - name: LABEL value: "loki_rule" - name: FOLDER value: "/rules" - name: RESOURCE value: "both" - name: WATCH_SERVER_TIMEOUT value: "60" - name: WATCH_CLIENT_TIMEOUT value: "60" - name: LOG_LEVEL value: "INFO" securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL readOnlyRootFilesystem: true volumeMounts: - name: sc-rules-volume mountPath: "/rules" affinity: podAntiAffinity: requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchLabels: app.kubernetes.io/component: single-binary app.kubernetes.io/instance: 'loki' app.kubernetes.io/name: 'loki' topologyKey: kubernetes.io/hostname volumes: - name: tmp emptyDir: {} - name: config configMap: name: loki items: - key: "config.yaml" path: "config.yaml" - name: runtime-config configMap: name: loki-runtime - name: sc-rules-volume emptyDir: {} volumeClaimTemplates: - apiVersion: v1 kind: PersistentVolumeClaim metadata: name: storage spec: accessModes: - ReadWriteOnce storageClassName: synology-iscsi-delete resources: requests: storage: "150Gi"