---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: logviewer
  namespace: logging
  annotations:
    secret.reloader.stakater.com/reload: "clickhouse-logreader"
spec:
  replicas: 1
  selector:
    matchLabels:
      app: logviewer
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: logviewer
    spec:
      serviceAccountName: default
      automountServiceAccountToken: false
      securityContext:
        runAsNonRoot: true
        runAsUser: 65532
        runAsGroup: 65532
        fsGroup: 65532
        seccompProfile:
          type: RuntimeDefault
      containers:
        - name: logviewer
          image: artifactapi.k8s.syd1.au.unkin.net/docker-internal/logviewer:v0.1.0
          imagePullPolicy: IfNotPresent
          ports:
            - containerPort: 8080
              name: http
              protocol: TCP
          env:
            - name: CH_URL
              value: http://clickhouse-logs.logging.svc.cluster.local:8123
            - name: CH_USER
              valueFrom:
                secretKeyRef:
                  name: clickhouse-logreader
                  key: username
            - name: CH_PASSWORD
              valueFrom:
                secretKeyRef:
                  name: clickhouse-logreader
                  key: password
          livenessProbe:
            httpGet:
              path: /healthz
              port: http
            initialDelaySeconds: 10
            periodSeconds: 30
            timeoutSeconds: 5
            failureThreshold: 3
          readinessProbe:
            httpGet:
              path: /healthz
              port: http
            initialDelaySeconds: 5
            periodSeconds: 10
            timeoutSeconds: 5
            failureThreshold: 3
          securityContext:
            allowPrivilegeEscalation: false
            readOnlyRootFilesystem: true
            capabilities:
              drop:
                - ALL
          resources:
            requests:
              cpu: 100m
              memory: 128Mi
            limits:
              cpu: 500m
              memory: 512Mi
      restartPolicy: Always
