PrizmDoc® v14.3 Release - Updated January 14, 2025
PrizmDoc OCR API / OCR API Admin Guide / Deployment to Kubernetes - Guidance for the Process Manager
Deployment to Kubernetes - Guidance for the Process Manager

Resources Used in PrizmDoc Deployment

In addition to the core workload resources needed for a functioning installation, various additional capabilities can be supported through the instantiation of one or more Process Manager instances and supporting workers.

The Process Manager is a supplemental service that allows for the management of long running processing tasks which are handled by independent worker services.

Process Manager

You will need the following resources for the Process Manager:

Deployment for the Process Manager

The Process Manager can be created as a standard deployment. Supplying the string YES in the ACCEPT_EULA environment variable signifies that you accept the Process Manager's license agreement.

You will also need to provide a database connection string to the database where the Process Manager will store information about ongoing and completed processes.

Example

apiVersion: apps/v1
kind: Deployment
metadata:
  name: accusoft-process-manager-deployment
  labels:
    app: accusoft-process-manager
spec:
  replicas: 1
  selector:
    matchLabels:
      app: accusoft-process-manager
  template:
    metadata:
      labels:
        app: accusoft-process-manager
    spec:
      containers:
      - name: process-manager
        image: nexus.jpg.com:9443/sdk/process-manager:latest
        env:
        - name: ACCEPT_EULA
          value: "YES"
        - name: DATABASE_CONNECTION_STRING
          value: "mysql://user:password@mysqlhost:mysqlport/ProcessManager"
        - name: LOG_LEVEL
          value: "info"
        - name: ACTIVITY_DATA_LIFETIME
          value: "8h"
        resources:
          limits:
            cpu: 250m
            memory: 250Mi
          requests:
            cpu: 250m
            memory: 250Mi
        livenessProbe:
          httpGet:
            path: /liveness
            port: 3001
          initialDelaySeconds: 1
          periodSeconds: 30
          timeoutSeconds: 5
        readinessProbe:
          httpGet:
            path: /readiness
            port: 3001
          initialDelaySeconds: 1
          periodSeconds: 30
          timeoutSeconds: 5
        ports:
        - name: public
          containerPort: 3000
        - name: internal
          containerPort: 3001

Process Manager Service Resources

You should expose both the Process Manager's internal API (for status and administrative purposes) and its external API (for process requests and updates) as Services:

Example

apiVersion: v1
kind: Service
metadata:
  name: accusoft-process-manager-internal
spec:
  selector:
    app: accusoft-process-manager
  ports:
  - name: internal
    targetPort: internal
    port: 80
---
apiVersion: v1
kind: Service
metadata:
  name: accusoft-process-manager-public
spec:
  selector:
    app: accusoft-process-manager
  ports:
  - name: public
    targetPort: public
    port: 80