apiVersion: v1
kind: Service
metadata:
  name: tooljet
  namespace: apps
spec:
  ports:
    - port: 80
      targetPort: 80
  selector:
    app: tooljet
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: tooljet
  namespace: apps
spec:
  replicas: 1
  selector:
    matchLabels:
      app: tooljet
  template:
    metadata:
      labels:
        app: tooljet
    spec:
      containers:
        - name: tooljet
          image: tooljet/tooljet:2
          env:
            - name: TOOLJET_HOST
              value: https://tooljet.nocodelytics.com
            - name: LOCKBOX_MASTER_KEY
              valueFrom:
                secretKeyRef:
                  name: secrets
                  key: TOOLJET_LOCKBOX_MASTER_KEY
            - name: SECRET_KEY_BASE
              valueFrom:
                secretKeyRef:
                  name: secrets
                  key: TOOLJET_SECRET_KEY_BASE
            - name: POSTGRES_PASSWORD
              valueFrom:
                secretKeyRef:
                  name: secrets
                  key: POSTGRES_PASSWORD
            - name: DATABASE_URL
              value: postgres://postgres:$(POSTGRES_PASSWORD)@databases.postgres:5432/tooljet?sslmode=disable
          ports:
            - containerPort: 80
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
  name: tooljet
  namespace: apps
spec:
  entryPoints:
    - websecure
  routes:
    - match: Host(`tooljet.nocodelytics.com`)
      kind: Rule
      services:
        - name: tooljet
          port: 80
  tls:
    certResolver: letsencrypt
    domains:
      - main: tooljet.nocodelytics.com