Skip to content

feat(cli): support TIGRIS_FORCE_PATH_STYLE and namespace Auth0 env vars - #207

Merged
designcode merged 1 commit into
mainfrom
fix/cli-config-issues
Jul 24, 2026
Merged

feat(cli): support TIGRIS_FORCE_PATH_STYLE and namespace Auth0 env vars#207
designcode merged 1 commit into
mainfrom
fix/cli-config-issues

Conversation

@designcode

@designcode designcode commented Jul 24, 2026

Copy link
Copy Markdown
Collaborator

Summary

CLI config improvements:

  • TIGRIS_FORCE_PATH_STYLE env var — force S3 path-style addressing (bucket in the URL path instead of the host). Applied across every auth method via getStorageConfig, so it works for OAuth, credentials, environment, AWS-profile, and configured logins alike. Truthy values: 1, true, yes, on (case-insensitive). Useful behind gateways/proxies that don't support virtual-hosted-style requests. The storage SDK's createTigrisClient already honored forcePathStyle; this just wires it through from the CLI.
  • Namespaced Auth0 env overridesAUTH0_DOMAIN / AUTH0_CLIENT_ID / AUTH0_AUDIENCETIGRIS_AUTH0_*, for consistency with the other TIGRIS_* variables. Defaults are unchanged.
  • CLI tsconfig now covers test/ — added test to include and vitest/globals to types, matching the pattern already used in agent-kit and react. Previously test/ was outside every tsconfig, so editors fell back to an inferred project without Node types (e.g. node:os flagged as unresolved) and the build never typechecked tests. This surfaced 10 pre-existing type errors in three test files, which are fixed here so tsc --noEmit stays green.

Behavior change

Renaming the Auth0 env vars is a breaking change for anyone who set AUTH0_* to point at a non-default (e.g. dev) auth tenant — they now need the TIGRIS_AUTH0_* names. These are undocumented internal overrides; defaults are untouched, so normal users are unaffected.

Testing

  • tsc --noEmit (src + tests): clean
  • biome check: clean
  • vitest: affected suites pass (provider, iam, exit, messages — 72 tests)

Includes a changeset (@tigrisdata/cli, minor).

🤖 Generated with Claude Code


Note

Low Risk
Low risk for typical users; custom Auth0 env users must switch to TIGRIS_AUTH0_* names.

Overview
Adds TIGRIS_FORCE_PATH_STYLE so the CLI can force S3 path-style URLs (bucket in the path, not the host). getStorageConfig applies this on top of every auth path via getEnvForcePathStyle(); truthy values are 1, true, yes, or on (case-insensitive). Documented in AUTHENTICATION.md.

OAuth overrides move from AUTH0_DOMAIN / AUTH0_CLIENT_ID / AUTH0_AUDIENCE to TIGRIS_AUTH0_* in getAuth0Config; built-in defaults are unchanged.

tsconfig.json now typechecks test/ (vitest/globals, include test), with small test typing fixes so tsc --noEmit stays clean.

Reviewed by Cursor Bugbot for commit 7919935. Bugbot is set up for automated code reviews on this repo. Configure here.

- Add TIGRIS_FORCE_PATH_STYLE env var to force S3 path-style addressing,
  applied across all auth methods via getStorageConfig
- Rename AUTH0_* env overrides to TIGRIS_AUTH0_* for consistency with the
  other TIGRIS_* variables
- Include test/ in the CLI tsconfig (with vitest/globals) so editors and
  the build typecheck tests; fix pre-existing type errors this surfaced

Assisted-by: Claude Opus 4.8 (1M context) via Claude Code
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@greptile-apps

greptile-apps Bot commented Jul 24, 2026

Copy link
Copy Markdown

Greptile Summary

The PR improves CLI configuration and typechecking:

  • Adds TIGRIS_FORCE_PATH_STYLE parsing and applies the resulting storage option across authentication methods.
  • Namespaces the internal Auth0 environment overrides under TIGRIS_AUTH0_*.
  • Includes CLI tests in TypeScript checking and resolves the newly surfaced test type errors.
  • Documents the path-style option and adds a minor CLI changeset.

Confidence Score: 5/5

The PR appears safe to merge with no actionable correctness, security, or build failures identified.

The path-style setting reaches the storage SDK configuration while remaining intact across authentication and auto-login paths, the Auth0 rename preserves existing defaults, and test inclusion affects typechecking rather than package output.

Important Files Changed

Filename Overview
packages/cli/src/auth/provider.ts Adds per-call path-style environment parsing and overlays it on resolved storage configuration without losing it during auto-login.
packages/cli/src/auth/client.ts Renames the internal Auth0 environment overrides while preserving development and production defaults.
packages/cli/tsconfig.json Extends typechecking to tests and supplies Vitest global types without changing emitted package artifacts.
packages/cli/test/auth/provider.test.ts Covers accepted path-style values, false values, unset behavior, and storage-config propagation.
packages/cli/AUTHENTICATION.md Documents the new path-style environment variable, accepted values, and default behavior.

Reviews (1): Last reviewed commit: "feat(cli): support TIGRIS_FORCE_PATH_STY..." | Re-trigger Greptile

@designcode
designcode merged commit f252179 into main Jul 24, 2026
3 checks passed
@designcode
designcode deleted the fix/cli-config-issues branch July 24, 2026 12:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants