{% if COURSEGRAPH_RUN_NEO4J %}
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: coursegraph
  labels:
    app.kubernetes.io/name: coursegraph
spec:
  selector:
    matchLabels:
      app.kubernetes.io/name: coursegraph
  template:
    metadata:
      labels:
        app.kubernetes.io/name: coursegraph
    spec:
      containers:
        - name: coursegraph
          image: {{ COURSEGRAPH_NEO4J_DOCKER_IMAGE }}
          env:
            - name: NEO4J_AUTH
          {% if COURSEGRAPH_NEO4J_PASSWORD %}
              value: 'neo4j/{{ COURSEGRAPH_NEO4J_PASSWORD }}'
          {% else %}
              value: 'none'
          {% endif %}
          volumeMounts:
            - mountPath: /data/
              name: data
          ports:
            - containerPort: 7474  # HTTP
            - containerPort: 7687  # Bolt
          securityContext:
            allowPrivilegeEscalation: false
      volumes:
        - name: data
          persistentVolumeClaim:
            claimName: coursegraph
{% endif %}
