Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)

Expand All @@ -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.

---
Expand Down Expand Up @@ -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).
Expand Down Expand Up @@ -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
Expand Down
3 changes: 0 additions & 3 deletions helm/threadql/haproxy.values.yaml.example
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
4 changes: 3 additions & 1 deletion helm/threadql/templates/secret-env.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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 }}
Expand All @@ -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 }}
Expand Down
3 changes: 0 additions & 3 deletions helm/threadql/traefik.values.yaml.example
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
5 changes: 2 additions & 3 deletions helm/threadql/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
Binary file added stubs/admin_1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added stubs/admin_2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added stubs/admin_3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added stubs/video_chat_1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added stubs/video_chat_2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading