diff --git a/templates/deployment.yaml b/templates/deployment.yaml index a8534d0..4b74ad5 100644 --- a/templates/deployment.yaml +++ b/templates/deployment.yaml @@ -24,7 +24,11 @@ spec: - name: ENCRYPTION_SECRET value: "{{ .Values.encryption }}" - name: NEXTAUTH_URL - value: "https://{{ .Values.domain.builder }}" + value: "https://{{ .Values.ingress.entrypoint.builder.name }}" + - name: NEXT_PUBLIC_VIEWER_URL + value: "https://{{ .Values.ingress.entrypoint.viewer.name }}" + - name: DEFAULT_WORKSPACE_PLAN + value: "{{ .Values.configuration.plan }}"" - name: ADMIN_EMAIL value: "{{ .Values.email }}" {{- if .Values.redis.enabled }} @@ -50,13 +54,31 @@ spec: value: {{ .Values.s3.forcePathStyle | quote }} {{- end }} - name: DISABLE_SIGNUP - value: {{ .Values.extraEnv.disablesignup | quote }} + value: {{ .Values.configuration.disablesignup | quote }} - name: DEBUG - value: {{ .Values.extraEnv.debug | quote }} + value: {{ .Values.configuration.debug | quote }} - name: NEXT_PUBLIC_BOT_FILE_UPLOAD_MAX_SIZE - value: {{ .Values.extraEnv.uploadmaxsize | quote }} + value: {{ .Values.configuration.uploadmaxsize | quote }} - name: CHAT_API_TIMEOUT - value: {{ .Values.extraEnv.chatAPItimeout | quote }} + value: {{ .Values.configuration.chatAPItimeout | quote }} + {{- if .Values.smtp.username }} + - name: SMTP_USERNAME + value: {{ .Values.smtp.username | quote }} + - name: SMTP_PASSWORD + value: {{ .Values.smtp.password | quote }} + - name: SMTP_HOST + value: {{ .Values.smtp.host | quote }} + - name: SMTP_PORT + value: {{ .Values.smtp.port | quote }} + - name: SMTP_SECURE + value: {{ .Values.smtp.secure | quote }} + - name: SMTP_IGNORE_TLS + value: {{ .Values.smtp.ignore_tls | quote }} + - name: SMTP_AUTH_DISABLED + value: {{ .Values.smtp.auth_disabled | quote }} + - name: NEXT_PUBLIC_SMTP_FROM + value: {{ .Values.smtp.next_public_smtp_from | quote }} + {{- end }} --- apiVersion: apps/v1 kind: Deployment @@ -83,7 +105,11 @@ spec: - name: ENCRYPTION_SECRET value: "{{ .Values.encryption }}" - name: NEXTAUTH_URL - value: "https://{{ .Values.domain.viewer }}" + value: "https://{{ .Values.ingress.entrypoint.builder.name }}" + - name: NEXT_PUBLIC_VIEWER_URL + value: "https://{{ .Values.ingress.entrypoint.viewer.name }}" + - name: DEFAULT_WORKSPACE_PLAN + value: "{{ .Values.configuration.plan }}"" - name: ADMIN_EMAIL value: "{{ .Values.email }}" {{- if .Values.redis.enabled }} @@ -109,13 +135,31 @@ spec: value: {{ .Values.s3.forcePathStyle | quote }} {{- end }} - name: DISABLE_SIGNUP - value: {{ .Values.extraEnv.disablesignup | quote }} + value: {{ .Values.configuration.disablesignup | quote }} - name: DEBUG - value: {{ .Values.extraEnv.debug | quote }} + value: {{ .Values.configuration.debug | quote }} - name: NEXT_PUBLIC_BOT_FILE_UPLOAD_MAX_SIZE - value: {{ .Values.extraEnv.uploadmaxsize | quote }} + value: {{ .Values.configuration.uploadmaxsize | quote }} - name: CHAT_API_TIMEOUT - value: {{ .Values.extraEnv.chatAPItimeout | quote }} + value: {{ .Values.configuration.chatAPItimeout | quote }} + {{- if .Values.smtp.username }} + - name: SMTP_USERNAME + value: {{ .Values.smtp.username | quote }} + - name: SMTP_PASSWORD + value: {{ .Values.smtp.password | quote }} + - name: SMTP_HOST + value: {{ .Values.smtp.host | quote }} + - name: SMTP_PORT + value: {{ .Values.smtp.port | quote }} + - name: SMTP_SECURE + value: {{ .Values.smtp.secure | quote }} + - name: SMTP_IGNORE_TLS + value: {{ .Values.smtp.ignore_tls | quote }} + - name: SMTP_AUTH_DISABLED + value: {{ .Values.smtp.auth_disabled | quote }} + - name: NEXT_PUBLIC_SMTP_FROM + value: {{ .Values.smtp.next_public_smtp_from | quote }} + {{- end }} --- apiVersion: apps/v1 kind: Deployment diff --git a/templates/ingress.yaml b/templates/ingress.yaml index 10d575e..8f64f2f 100644 --- a/templates/ingress.yaml +++ b/templates/ingress.yaml @@ -1,39 +1,35 @@ --- {{- if .Values.ingress.enabled }} --- -apiVersion: networking.k8s.io/v1 -kind: Ingress +apiVersion: traefik.io/v1alpha1 +kind: IngressRoute metadata: name: typebot-builder spec: - ingressClassName: {{ .Values.ingress.className }} - rules: - - host: {{ .Values.domain.builder }} - http: - paths: - - path: / - pathType: Prefix - backend: - service: - name: typebot-builder - port: - number: 3000 + entryPoints: + - {{ entrypoint }} + routes: + - match: Host(` {{ .Values.ingress.entrypoint.builder.name }}`) + kind: Rule + services: + - name: typebot-builder + port: 3000 + tls: + certResolver: {{ ingress_tls_resolver }} --- -apiVersion: networking.k8s.io/v1 -kind: Ingress +apiVersion: traefik.io/v1alpha1 +kind: IngressRoute metadata: name: typebot-viewer spec: - ingressClassName: {{ .Values.ingress.className }} - rules: - - host: {{ .Values.domain.viewer }} - http: - paths: - - path: / - pathType: Prefix - backend: - service: - name: typebot-viewer - port: - number: 3000 + entryPoints: + - {{ entrypoint }} + routes: + - match: Host(`{{ .Values.ingress.entrypoint.viewer.name }}`) + kind: Rule + services: + - name: typebot-viewer + port: 3000 + tls: + certResolver: {{ .Values.ingress.tlsresolver }} {{- end }} diff --git a/values.yaml b/values.yaml index b74dbc0..566cf64 100644 --- a/values.yaml +++ b/values.yaml @@ -1,6 +1,3 @@ -domain: - viewer: typebot.example.com - builder: typebot_builder.example.com email: admin@example.com encryption: changeme @@ -15,10 +12,10 @@ postgres: image: builder: - repository: ghcr.io/baptistearno/typebot-builder + repository: baptistearno/typebot-builder tag: latest viewer: - repository: ghcr.io/baptistearno/typebot-viewer + repository: baptistearno/typebot-viewer tag: latest postgres: repository: postgres @@ -43,12 +40,30 @@ redis: host: typebot-redis port: 6379 -extraEnv: +configuration: disablesignup: "false" debug: "false" uploadmaxsize: "10000000" chatAPItimeout: "30000" + plan: "FREE" ingress: enabled: true - className: traefik + tlsresolver: hetzner + entrypoint: + viewer: + domain: typebot.kube.ia86.cc + name: websecure + builder: + domain: botbuilder.kube.ia86.cc + name: traefik + +smtp: + username: "" + password: "" + host: "" + port: 25 + secure: false + ignore_tls: false + auth_disabled: false + next_public_smtp_from: "'Typebot Notifications' "