apiVersion: apps/v1 kind: Deployment metadata: name: stripe-to-invoice namespace: ${NAMESPACE} labels: app: stripe-to-invoice spec: replicas: 1 selector: matchLabels: app: stripe-to-invoice template: metadata: labels: app: stripe-to-invoice spec: containers: - name: stripe-to-invoice image: ${IMAGE} imagePullPolicy: Always ports: - name: http containerPort: 3000 env: - name: NODE_ENV value: "${DB_ENV}" # ---- Database ---- - name: DATABASE_URL valueFrom: secretKeyRef: name: postgres-${DB_ENV} key: DATABASE_URL # ---- Stripe ---- - name: STRIPE_SECRET_KEY valueFrom: secretKeyRef: name: stripe-secrets key: STRIPE_SECRET_KEY - name: STRIPE_CLIENT_ID valueFrom: secretKeyRef: name: stripe-secrets key: STRIPE_CLIENT_ID # ---- App ---- - name: APP_URL valueFrom: secretKeyRef: name: stripe-secrets key: APP_URL # ---- AWS / SES ---- - name: AWS_REGION valueFrom: secretKeyRef: name: stripe-secrets key: AWS_REGION - name: AWS_ACCESS_KEY_ID valueFrom: secretKeyRef: name: stripe-secrets key: AWS_ACCESS_KEY_ID - name: AWS_SECRET_ACCESS_KEY valueFrom: secretKeyRef: name: stripe-secrets key: AWS_SECRET_ACCESS_KEY - name: SES_FROM_EMAIL valueFrom: secretKeyRef: name: stripe-secrets key: SES_FROM_EMAIL - name: STRIPE_REDIRECT_URI valueFrom: secretKeyRef: name: stripe-secrets key: STRIPE_REDIRECT_URI - name: XERO_CLIENT_ID valueFrom: secretKeyRef: name: stripe-secrets key: XERO_CLIENT_ID - name: XERO_CLIENT_SECRET valueFrom: secretKeyRef: name: stripe-secrets key: XERO_CLIENT_SECRET - name: XERO_REDIRECT_URI valueFrom: secretKeyRef: name: stripe-secrets key: XERO_REDIRECT_URI imagePullSecrets: - name: registrypullsecret --- apiVersion: v1 kind: Service metadata: name: stripe-to-invoice namespace: ${NAMESPACE} spec: selector: app: stripe-to-invoice ports: - name: http protocol: TCP port: 80 targetPort: 3000 --- apiVersion: traefik.io/v1alpha1 kind: IngressRoute metadata: name: stripe-to-invoice namespace: ${NAMESPACE} spec: entryPoints: - websecure routes: - match: Host(`${HOSTNAME}`) kind: Rule services: - name: stripe-to-invoice port: 80 passHostHeader: true tls: certResolver: myresolver