diff --git a/README.md b/README.md index 14cb42c..b792301 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,8 @@ Multi-tenant natural language to SQL via Slack. Users ask questions in Slack, ThreadQL converts them to SQL queries using LLMs, executes them against configured datasources, and returns formatted results. +![ThreadQL video chat screenshot 1](stubs/video_chat_1.png) + - **Documentation**: [threadql.com](https://threadql.com) - **GitHub**: [github.com/emtay-com/threadql](https://github.com/emtay-com/threadql) @@ -27,6 +29,8 @@ make ecsfix # Fix code style composer dev # Starts artisan serve, queue:listen, pail (logs), and npm dev (vite) ``` +![ThreadQL video chat screenshot 2](stubs/video_chat_2.png) + See [CLAUDE.md](CLAUDE.md) for full development documentation. --- @@ -117,6 +121,8 @@ helm upgrade --install app helm/threadql \ -f helm/threadql/my-values.yaml ``` +![ThreadQL admin screenshot 1](stubs/admin_1.png) + ### Verify TLS The TLS certificate will be issued automatically after rollout once DNS propagates (typically 1-5 minutes). @@ -157,6 +163,8 @@ The Helm chart deploys: | **HAProxy** | Ingress controller (optional — for clusters without one) | | **ClusterIssuer** | Let's Encrypt certificate issuer (when `certManager.enabled`) | +![ThreadQL admin screenshot 2](stubs/admin_2.png) + ### Useful Commands ```bash diff --git a/helm/threadql/haproxy.values.yaml.example b/helm/threadql/haproxy.values.yaml.example index 021f917..e1c9828 100644 --- a/helm/threadql/haproxy.values.yaml.example +++ b/helm/threadql/haproxy.values.yaml.example @@ -13,9 +13,6 @@ # -f helm/threadql/values.yaml \ # -f helm/threadql/haproxy.values.yaml -imagePullSecrets: - - name: registry-credentials - mysql: enabled: true rootPassword: CHANGE_ME_MYSQL_ROOT_PASSWORD diff --git a/helm/threadql/templates/secret-env.yaml b/helm/threadql/templates/secret-env.yaml index 1d51cee..f017ec7 100644 --- a/helm/threadql/templates/secret-env.yaml +++ b/helm/threadql/templates/secret-env.yaml @@ -8,7 +8,7 @@ metadata: type: Opaque stringData: {{- /* Keys managed by the chart — skipped in the range loop below */}} - {{- $managed := list "DB_HOST" "REDIS_HOST" "MCP_APP_URL" "SSH_TUNNEL_MANAGER_URL" }} + {{- $managed := list "DB_HOST" "REDIS_HOST" "MCP_APP_URL" "SSH_TUNNEL_MANAGER_URL" "THREADQL_VERSION" }} {{- if and .Values.mysql.enabled .Values.mysql.rootPassword }} {{- $managed = append $managed "DB_PASSWORD" }} {{- end }} @@ -18,6 +18,8 @@ stringData: {{ $key }}: {{ $value | quote }} {{- end }} {{- end }} + {{- /* Chart version injected as app version */}} + THREADQL_VERSION: {{ .Values.version | quote }} {{- /* Auto-resolved internal service URLs */}} DB_HOST: {{ include "threadql.mysqlHost" . | quote }} REDIS_HOST: {{ include "threadql.redisHost" . | quote }} diff --git a/helm/threadql/traefik.values.yaml.example b/helm/threadql/traefik.values.yaml.example index 38a9e48..50943af 100644 --- a/helm/threadql/traefik.values.yaml.example +++ b/helm/threadql/traefik.values.yaml.example @@ -14,9 +14,6 @@ # -f helm/threadql/values.yaml \ # -f helm/threadql/traefik.values.yaml -imagePullSecrets: - - name: registry-credentials - mysql: enabled: true rootPassword: CHANGE_ME_MYSQL_ROOT_PASSWORD diff --git a/helm/threadql/values.yaml b/helm/threadql/values.yaml index 47d3cae..09731d3 100644 --- a/helm/threadql/values.yaml +++ b/helm/threadql/values.yaml @@ -237,12 +237,11 @@ envFrom: configMapRef: "" # These values are used to create a Secret when envFrom.secretRef is empty. -# DB_HOST, REDIS_HOST, MCP_APP_URL, and SSH_TUNNEL_MANAGER_URL are auto-set -# by the chart when their respective components are enabled. +# DB_HOST, REDIS_HOST, MCP_APP_URL, SSH_TUNNEL_MANAGER_URL, and THREADQL_VERSION +# are auto-set by the chart. env: APP_NAME: ThreadQL APP_ENV: production - THREADQL_VERSION: "0.0.6" APP_KEY: "" # Required — generate with: php artisan key:generate --show APP_DEBUG: "false" APP_URL: "https://threadql.local" diff --git a/stubs/admin_1.png b/stubs/admin_1.png new file mode 100644 index 0000000..91e2dd3 Binary files /dev/null and b/stubs/admin_1.png differ diff --git a/stubs/admin_2.png b/stubs/admin_2.png new file mode 100644 index 0000000..c36676b Binary files /dev/null and b/stubs/admin_2.png differ diff --git a/stubs/admin_3.png b/stubs/admin_3.png new file mode 100644 index 0000000..b74f7f2 Binary files /dev/null and b/stubs/admin_3.png differ diff --git a/stubs/video_chat_1.png b/stubs/video_chat_1.png new file mode 100644 index 0000000..3b21293 Binary files /dev/null and b/stubs/video_chat_1.png differ diff --git a/stubs/video_chat_2.png b/stubs/video_chat_2.png new file mode 100644 index 0000000..c2f88e0 Binary files /dev/null and b/stubs/video_chat_2.png differ