apiVersion: apps/v1 kind: Deployment metadata: name: file-transformer-dashboard namespace: file-transformer labels: app: file-transformer-dashboard spec: replicas: 2 selector: matchLabels: app: file-transformer-dashboard template: metadata: labels: app: file-transformer-dashboard spec: containers: - name: dashboard image: file-transformer/dashboard:latest ports: - containerPort: 3000 env: - name: REACT_APP_API_BASE_URL value: "http://api-gateway.file-transformer.svc.cluster.local:8080" - name: REACT_APP_MINIO_ENDPOINT value: "http://minio.file-transformer.svc.cluster.local:9000" - name: REACT_APP_MINIO_CONSOLE value: "http://minio.file-transformer.svc.cluster.local:9001" resources: requests: memory: "128Mi" cpu: "100m" limits: memory: "256Mi" cpu: "200m" livenessProbe: httpGet: path: / port: 3000 initialDelaySeconds: 30 periodSeconds: 10 readinessProbe: httpGet: path: / port: 3000 initialDelaySeconds: 5 periodSeconds: 5 --- apiVersion: v1 kind: Service metadata: name: file-transformer-dashboard namespace: file-transformer spec: selector: app: file-transformer-dashboard ports: - port: 80 targetPort: 3000 type: ClusterIP --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: file-transformer-dashboard-ingress namespace: file-transformer annotations: nginx.ingress.kubernetes.io/rewrite-target: / nginx.ingress.kubernetes.io/ssl-redirect: "false" spec: rules: - host: dashboard.file-transformer.local http: paths: - path: / pathType: Prefix backend: service: name: file-transformer-dashboard port: number: 80