moqui.yaml 4.08 KB
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: moqui
data:
  instance_purpose: production
  default_locale: en_US
  default_time_zone: US/Central
  database_time_zone: US/Central
  entity_ds_db_conf: postgres
  entity_ds_host: postgresql
  entity_ds_port: "5432"
  entity_ds_database: moqui
  entity_ds_schema: public
  _entity_add_missing_runtime: "true"
  moqui_load_types: seed,seed-initial,install
  moqui.conf: "conf/MoquiProductionConf.xml"
  jetty_threads: "100"
---
apiVersion: v1
kind: Secret
metadata:
  name: moqui
stringData:
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: moqui-log
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 10Gi
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: moqui-txlog
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 2Gi
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: moqui-sessions
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 2Gi
---
apiVersion: v1
kind: Service
metadata:
  name: moqui
spec:
  type: ClusterIP
  selector:
    app: moqui-app
  ports:
    - name: http-moqui
      protocol: TCP
      port: 8080
      targetPort: 8080
    - name: http-hazelcast
      protocol: TCP
      port: 5701
      targetPort: 5701
---

apiVersion: apps/v1
kind: Deployment
metadata:
  name: moqui-app
  labels:
    app: moqui-app
spec:
  selector:
    matchLabels:
      app: moqui-app
  template:
    metadata:
      labels:
        app: moqui-app
    spec:
      restartPolicy: Always
      securityContext:
        runAsUser: 0
        runAsGroup: 0

      volumes:
        - name: log
          persistentVolumeClaim:
            claimName: moqui-log
        - name: txlog
          persistentVolumeClaim:
            claimName: moqui-txlog
        - name: txlog-init
          emptyDir: {}
        - name: sessions
          persistentVolumeClaim:
            claimName: moqui-sessions
        - name: scripts
          configMap:
            name: moqui-scripts
            defaultMode: 0755
        - name: lib
          emptyDir: {}

      initContainers:
        - name: copy-jdbc-drivers
          image: moqui-jdbc-drivers:latest
          imagePullPolicy: IfNotPresent
          command: ["/scripts/copy-jdbc-drivers"]
          volumeMounts:
            - name: scripts
              mountPath: /scripts
            - name: lib
              mountPath: /mnt/jdbc-drivers

        - name: load-moqui
          image: moqui-app:latest
          imagePullPolicy: IfNotPresent
          args: ["load", "conf=$(moqui.conf)", "types=$(moqui_load_types)"]
          resources:
            limits:
              memory: 1Gi
            requests:
              memory: 1Gi
          envFrom:
            - configMapRef:
                name: moqui
            - secretRef:
                name: moqui
          env:
            - name: entity_add_missing_runtime
              value: "true"
          volumeMounts:
            - name: lib
              mountPath: /opt/moqui/runtime/lib
            - name: log
              mountPath: /opt/moqui/runtime/log
            - name: txlog-init
              mountPath: /opt/moqui/runtime/txlog
            - name: sessions
              mountPath: /opt/moqui/runtime/sessions

      containers:
        - name: moqui
          image: moqui-app:latest
          imagePullPolicy: IfNotPresent
          args: ["port=8080", "conf=$(moqui.conf)", "threads=$(jetty_threads)"]
          resources:
            limits:
              memory: 1Gi
            requests:
              memory: 1Gi
          envFrom:
            - configMapRef:
                name: moqui
            - secretRef:
                name: moqui
          env:
            - name: entity_add_missing_runtime
              value: "false"
          volumeMounts:
            - name: lib
              mountPath: /opt/moqui/runtime/lib
            - name: log
              mountPath: /opt/moqui/runtime/log
            - name: txlog
              mountPath: /opt/moqui/runtime/txlog
            - name: sessions
              mountPath: /opt/moqui/runtime/sessions