chore: add LOG_LEVEL to docker compose and readme
This commit is contained in:
@@ -51,6 +51,9 @@ TRELLO_APP_SECRET=
|
|||||||
# If not provided, rate limiting will use in-memory storage
|
# If not provided, rate limiting will use in-memory storage
|
||||||
REDIS_URL= # e.g. redis://default:your_password@your_host:6379
|
REDIS_URL= # e.g. redis://default:your_password@your_host:6379
|
||||||
|
|
||||||
|
# Logging (optional - debug, info, warn, error; defaults to debug in dev, info in prod)
|
||||||
|
LOG_LEVEL=
|
||||||
|
|
||||||
# OAuth providers (optional)
|
# OAuth providers (optional)
|
||||||
BETTER_AUTH_TRUSTED_ORIGINS=
|
BETTER_AUTH_TRUSTED_ORIGINS=
|
||||||
# Optional: Restrict OIDC/Social sign-ins to specific email domains (comma-separated)
|
# Optional: Restrict OIDC/Social sign-ins to specific email domains (comma-separated)
|
||||||
|
|||||||
20
AGENTS.md
20
AGENTS.md
@@ -185,9 +185,17 @@ Use `assertUserInWorkspace` helper for workspace checks.
|
|||||||
|
|
||||||
- Use TRPCError with appropriate codes (UNAUTHORIZED, NOT_FOUND, etc.)
|
- Use TRPCError with appropriate codes (UNAUTHORIZED, NOT_FOUND, etc.)
|
||||||
- Provide user-friendly error messages
|
- Provide user-friendly error messages
|
||||||
- Log errors appropriately
|
- Log errors appropriately using the `@kan/logger` package
|
||||||
- Show popup notifications for user-facing errors
|
- Show popup notifications for user-facing errors
|
||||||
|
|
||||||
|
### Logging
|
||||||
|
|
||||||
|
- Import from `@kan/logger`: `import { createLogger } from "@kan/logger"`
|
||||||
|
- Create a module-scoped logger: `const logger = createLogger("module-name")`
|
||||||
|
- Log level is controlled by `LOG_LEVEL` env var (debug, info, warn, error)
|
||||||
|
- Defaults to `debug` in development, `info` in production
|
||||||
|
- Never use `console.log` — always use the logger
|
||||||
|
|
||||||
## Common Patterns
|
## Common Patterns
|
||||||
|
|
||||||
### Creating a Card
|
### Creating a Card
|
||||||
@@ -219,6 +227,16 @@ Use `assertUserInWorkspace` helper for workspace checks.
|
|||||||
5. **Frontend**: Add UI components in `apps/web/src/`
|
5. **Frontend**: Add UI components in `apps/web/src/`
|
||||||
6. **i18n**: Add translations for new strings
|
6. **i18n**: Add translations for new strings
|
||||||
|
|
||||||
|
## Adding a New Environment Variable
|
||||||
|
|
||||||
|
Update all of the following:
|
||||||
|
|
||||||
|
1. `.env.example` — add the variable with an empty value and a comment explaining it
|
||||||
|
2. `turbo.json` — add to `globalEnv` (or `globalPassThroughEnv` for CI/platform vars)
|
||||||
|
3. `docker-compose.yml` — add to the `web` service `environment` section
|
||||||
|
4. `cloud/docker-compose.yml` — add to the `web` service `environment` section
|
||||||
|
5. `README.md` — add a row to the Environment Variables table
|
||||||
|
|
||||||
## Database Changes
|
## Database Changes
|
||||||
|
|
||||||
- Always create migrations (never modify existing migrations)
|
- Always create migrations (never modify existing migrations)
|
||||||
|
|||||||
@@ -213,6 +213,7 @@ pnpm dev
|
|||||||
| `NEXT_PUBLIC_DISABLE_SIGN_UP` | Disable sign up | For authentication | `false` |
|
| `NEXT_PUBLIC_DISABLE_SIGN_UP` | Disable sign up | For authentication | `false` |
|
||||||
| `NEXT_PUBLIC_WHITE_LABEL_HIDE_POWERED_BY` | Hide “Powered by kan.bn” on public boards (self-host) | For white labelling | `true` |
|
| `NEXT_PUBLIC_WHITE_LABEL_HIDE_POWERED_BY` | Hide “Powered by kan.bn” on public boards (self-host) | For white labelling | `true` |
|
||||||
| `KAN_ADMIN_API_KEY` | Admin API key for stats and admin endpoints | For admin/monitoring | `your-secret-admin-key` |
|
| `KAN_ADMIN_API_KEY` | Admin API key for stats and admin endpoints | For admin/monitoring | `your-secret-admin-key` |
|
||||||
|
| `LOG_LEVEL` | Log verbosity level (debug, info, warn, error) | No (defaults to debug in dev, info in prod) | `info` |
|
||||||
|
|
||||||
See `.env.example` for a complete list of supported environment variables.
|
See `.env.example` for a complete list of supported environment variables.
|
||||||
|
|
||||||
|
|||||||
@@ -37,6 +37,9 @@ services:
|
|||||||
- NEXT_PUBLIC_USE_STANDALONE_OUTPUT=${NEXT_PUBLIC_USE_STANDALONE_OUTPUT}
|
- NEXT_PUBLIC_USE_STANDALONE_OUTPUT=${NEXT_PUBLIC_USE_STANDALONE_OUTPUT}
|
||||||
- REDIS_URL=${REDIS_URL}
|
- REDIS_URL=${REDIS_URL}
|
||||||
|
|
||||||
|
# Logging (optional - debug, info, warn, error; defaults to debug in dev, info in prod)
|
||||||
|
- LOG_LEVEL=${LOG_LEVEL}
|
||||||
|
|
||||||
# Stripe
|
# Stripe
|
||||||
- STRIPE_SECRET_KEY=${STRIPE_SECRET_KEY}
|
- STRIPE_SECRET_KEY=${STRIPE_SECRET_KEY}
|
||||||
- STRIPE_WEBHOOK_SECRET=${STRIPE_WEBHOOK_SECRET}
|
- STRIPE_WEBHOOK_SECRET=${STRIPE_WEBHOOK_SECRET}
|
||||||
|
|||||||
@@ -37,6 +37,9 @@ services:
|
|||||||
# Redis (optional - for rate limiting)
|
# Redis (optional - for rate limiting)
|
||||||
- REDIS_URL=${REDIS_URL}
|
- REDIS_URL=${REDIS_URL}
|
||||||
|
|
||||||
|
# Logging (optional - debug, info, warn, error; defaults to debug in dev, info in prod)
|
||||||
|
- LOG_LEVEL=${LOG_LEVEL}
|
||||||
|
|
||||||
# Admin API key (optional)
|
# Admin API key (optional)
|
||||||
- KAN_ADMIN_API_KEY=${KAN_ADMIN_API_KEY}
|
- KAN_ADMIN_API_KEY=${KAN_ADMIN_API_KEY}
|
||||||
|
|
||||||
|
|||||||
@@ -129,7 +129,8 @@
|
|||||||
"BETTER_AUTH_TRUSTED_ORIGINS",
|
"BETTER_AUTH_TRUSTED_ORIGINS",
|
||||||
"NOVU_API_KEY",
|
"NOVU_API_KEY",
|
||||||
"EMAIL_UNSUBSCRIBE_SECRET",
|
"EMAIL_UNSUBSCRIBE_SECRET",
|
||||||
"REDIS_URL"
|
"REDIS_URL",
|
||||||
|
"LOG_LEVEL"
|
||||||
],
|
],
|
||||||
"globalPassThroughEnv": [
|
"globalPassThroughEnv": [
|
||||||
"NODE_ENV",
|
"NODE_ENV",
|
||||||
|
|||||||
Reference in New Issue
Block a user