apiVersion: apps/v1 kind: Deployment metadata: name: api namespace: ordinarthur-os spec: replicas: 1 selector: { matchLabels: { app: api } } template: metadata: { labels: { app: api } } spec: imagePullSecrets: - name: gitea-registry containers: - name: api image: git.arthurbarre.fr/ordinarthur/ordinarthur-os-api:latest imagePullPolicy: Always ports: [{ containerPort: 3000 }] envFrom: - secretRef: { name: ordinarthur-os-secrets } env: - { name: NODE_ENV, value: production } - { name: PORT, value: "3000" } - { name: PWA_URL, value: "https://os.arthurbarre.fr" } readinessProbe: httpGet: { path: /health, port: 3000 } initialDelaySeconds: 5 periodSeconds: 10 livenessProbe: httpGet: { path: /health, port: 3000 } initialDelaySeconds: 15 periodSeconds: 30 resources: requests: { cpu: 50m, memory: 128Mi } limits: { cpu: 500m, memory: 512Mi } --- apiVersion: v1 kind: Service metadata: name: api namespace: ordinarthur-os spec: type: NodePort selector: { app: api } ports: - port: 3000 targetPort: 3000 nodePort: 30100