feat: multi-profile support with per-project credentials#50
Merged
SachaMorard merged 1 commit intomainfrom Apr 8, 2026
Merged
Conversation
Adds named profile management so users can maintain separate Edgee
sessions (e.g. personal vs. work org) and switch between them.
Credentials file is bumped to v4 with `[profiles.<name>]` TOML tables;
existing v1/v2/v3 files are migrated transparently to `profiles.default`.
Profile resolution order (highest to lowest):
1. `--profile` flag / `EDGEE_PROFILE` env var
2. `active_profile` in the effective credentials file
3. Fallback: "default"
Local project credentials: if `.edgee/credentials.toml` exists in the
current directory it is used instead of the global file, enabling
per-repo credential isolation without touching global config.
URL overrides (`console_url`, `console_api_url`, `gateway_url`) are now
per-profile fields, letting a dev profile point at local servers while
a production profile uses the real endpoints.
New commands:
edgee auth list — list all profiles (active one marked *)
edgee auth switch [<name>] — switch global active profile, with
interactive TUI selector when name is omitted
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Closed
Member
|
small idea, why not store the url directly within a profile ? so we dont have to swithc profiles and env vars |
Member
Author
Is it not what you expect here? https://github.com/edgee-ai/edgee/pull/50/changes#diff-2080f14271bdf5a9a6db4a6fda702edf6f59fda4b73d7d08ab93468a63fdb1b3R23-R24 |
CLEMENTINATOR
approved these changes
Apr 8, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
~/.config/edgee/credentials.tomlunder[profiles.<name>]TOML tables (v4 format); existing v1/v2/v3 files migrate transparently toprofiles.default.edgee/credentials.tomlexists in the current directory it takes precedence over the global file, enabling repo-level isolation--profileflag →active_profilein the effective credentials file →"default"console_url,console_api_url,gateway_urlfields inside each profile node let a dev profile point at local servers independently of other profilesNew commands:
edgee auth list— list all profiles, active one marked with*edgee auth switch [<name>]— switch global active profile; opens an interactive TUI selector when<name>is omittedUpdated commands:
edgee auth login [--profile <name>]— authenticates into the named profile slotedgee auth status— now shows the active profile name-p / --profileflagTest plan
cargo testpasses (9 tests)edgee auth loginmigrates an existing v3 credentials file to v4 transparentlyedgee auth login --profile workcreates a second profile alongsidedefaultedgee auth listshows both profiles with*on the active oneedgee auth switch(no arg) opens interactive selectoredgee auth switch workswitches and persistsactive_profile = "work"edgee --profile work launch claudeuses theworkprofile for the session.edgee/credentials.tomlin a project dir causes all commands run there to use that fileconsole_url/console_api_url/gateway_urlin a profile override the corresponding endpoints🤖 Generated with Claude Code