PSA/helm/templates/dev-env/ai-automation/api-deployment.yaml
Hermes 284313f908
Some checks are pending
Bidi Control Character Guard / bidi-control-guard (push) Waiting to run
Circular Dependency Check / Check for new circular dependencies (push) Waiting to run
Citus Migration Smoke / Combined migrations on single-node Citus (push) Waiting to run
E2E Fresh Install Tests / fresh-install-e2e (push) Waiting to run
ext-v2 guardrails / Run ext-v2 guard and ESLint (push) Waiting to run
Integration Tests / Check for relevant changes (push) Waiting to run
Integration Tests / ${{ (github.event_name == 'schedule' || github.event.inputs.suite == 'full') && 'Full integration suite' || 'Tier-1 integration subset' }} (push) Blocked by required conditions
Mobile checks / Mobile lint + typecheck (push) Waiting to run
Mobile checks / Mobile unit tests (push) Waiting to run
Mobile checks / Mobile dependency audit (report) (push) Waiting to run
Mobile checks / Mobile reproducibility checks (push) Waiting to run
Secrets guard (env backups) / Ensure no tracked env backup files (push) Waiting to run
Temporal Readiness / fast-readiness (push) Waiting to run
Temporal Readiness / docker-parity (push) Waiting to run
TypeScript Type Check / Nx affected typecheck (push) Waiting to run
Unit Tests / Skipped-test budget (push) Waiting to run
Unit Tests / Nx affected unit tests (push) Waiting to run
Unit Tests / Server unit coverage (informational) (push) Waiting to run
Validate Tenant Management Schema / Check for relevant changes (push) Waiting to run
Validate Tenant Management Schema / Validate Tenant Management Schema (push) Blocked by required conditions
EE Workflows Build Guard / ee-workflows-build-guard (push) Waiting to run
Initial import of AlgaPSA codebase from PSA server
Excluded: .git, node_modules, secrets/, compose.env, assemblyscript tgz

Source: /opt/alga-psa on psa.joliet.tech
2026-06-22 16:12:17 -05:00

102 lines
3.3 KiB
YAML

{{- if and .Values.devEnv.enabled .Values.devEnv.aiAutomation.enabled }}
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "sebastian.fullname" . }}-ai-api
namespace: {{ .Values.devEnv.namespace }}
labels:
{{- include "sebastian.labels" . | nindent 4 }}
app.kubernetes.io/component: ai-automation-api
spec:
replicas: 1
selector:
matchLabels:
{{- include "sebastian.selectorLabels" . | nindent 6 }}
app.kubernetes.io/component: ai-automation-api
template:
metadata:
labels:
{{- include "sebastian.selectorLabels" . | nindent 8 }}
app.kubernetes.io/component: ai-automation-api
alga.dev/environment: "true"
spec:
{{- if .Values.devEnv.aiAutomation.api.image.is_private }}
imagePullSecrets:
- name: "{{ .Values.devEnv.aiAutomation.api.image.credentials }}"
{{- end }}
securityContext:
runAsUser: 1000
runAsGroup: 1000
fsGroup: 1000
containers:
- name: ai-automation-api
image: "{{ .Values.devEnv.aiAutomation.api.image.repository }}:{{ .Values.devEnv.aiAutomation.api.image.tag }}"
imagePullPolicy: {{ .Values.devEnv.aiAutomation.api.image.pullPolicy }}
env:
- name: NODE_ENV
value: "development"
- name: PORT
value: "4000"
- name: PUPPETEER_SKIP_CHROMIUM_DOWNLOAD
value: "true"
- name: PUPPETEER_EXECUTABLE_PATH
value: "/usr/bin/chromium"
- name: CHROME_PATH
value: "/usr/bin/chromium"
- name: DEBIAN_FRONTEND
value: "noninteractive"
- name: DISPLAY
value: ":99"
- name: NODE_OPTIONS
value: "--max-http-header-size=26214400"
- name: CHOKIDAR_USEPOLLING
value: "true"
- name: CHOKIDAR_INTERVAL
value: "300"
# Environment markers
- name: ALGA_DEV_ENV
value: "true"
- name: ALGA_BRANCH_SANITIZED
value: "{{ .Values.devEnv.sanitizedBranch }}"
# Target app URL for automation
- name: TARGET_APP_URL
value: "http://app:3000"
# VNC support
- name: VNC_ENABLED
value: "true"
# Xvfb environment variables for better compatibility
- name: XVFB_WHD
value: "1280x1024x16"
- name: XVFB_COLORDEPTH
value: "16"
- name: XVFB_ARGS
value: "-ac -nolisten tcp -dpi 96 +extension RANDR"
ports:
- name: http
containerPort: 4000
protocol: TCP
- name: vnc
containerPort: 5900
protocol: TCP
resources:
limits:
memory: "4Gi"
requests:
memory: "4Gi"
volumeMounts:
- name: shm
mountPath: /dev/shm
volumes:
- name: shm
emptyDir:
medium: Memory
sizeLimit: 256Mi
{{- with .Values.devEnv.nodeSelector }}
nodeSelector:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.devEnv.tolerations }}
tolerations:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- end }}