apiVersion: v1
kind: ConfigMap
metadata:
  name: cameleer-ui-config
data:
  config.js: |
    window.__CAMELEER_CONFIG__ = {
      apiBaseUrl: 'http://localhost:8081/api/v1',
    };
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: cameleer-ui
spec:
  replicas: 1
  selector:
    matchLabels:
      app: cameleer-ui
  template:
    metadata:
      labels:
        app: cameleer-ui
    spec:
      imagePullSecrets:
        - name: gitea-registry
      containers:
        - name: ui
          image: gitea.siegeln.net/cameleer/cameleer-server-ui:latest
          ports:
            - containerPort: 80
          env:
            - name: CAMELEER_API_URL
              value: "http://cameleer-server:8081"
          volumeMounts:
            - name: config
              mountPath: /usr/share/nginx/html/config.js
              subPath: config.js
          resources:
            requests:
              memory: "32Mi"
              cpu: "10m"
            limits:
              memory: "64Mi"
              cpu: "100m"
          livenessProbe:
            httpGet:
              path: /healthz
              port: 80
            periodSeconds: 10
          readinessProbe:
            httpGet:
              path: /healthz
              port: 80
            periodSeconds: 5
      volumes:
        - name: config
          configMap:
            name: cameleer-ui-config
---
apiVersion: v1
kind: Service
metadata:
  name: cameleer-ui
spec:
  type: ClusterIP
  selector:
    app: cameleer-ui
  ports:
    - port: 80
      targetPort: 80
