You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Refactored provider integration into a self-registering plugin model: providers are
auto-discovered from gmab/providers/, so adding one is a single drop-in file with no
edits to the factory, config loader, configure command, or CLI.
Replaced per-provider get_default_config/get_config_prompts with a declarative CONFIG_SCHEMA; the base class now derives defaults, prompts, validation, and secret masking.
Hoisted shared logic (SSH key reading, label generation, expiry math, label-to-id lookup)
into ProviderBase and gmab/utils/naming.py.
gmab terminate now asks for y/n confirmation in every case, including a single instance
(which previously skipped the prompt). Pass -y/--yes to bypass it.
The post-spawn "Connect via" SSH hint now shows the correct login user per provider
(ubuntu for the default AWS image, root for Linode/Hetzner) instead of always root.
Added
gmab/providers/_template.py reference implementation and an "Adding a provider" guide.
A mocked, offline test suite (stdlib unittest, no new dependencies) covering provider
lifecycle, base helpers, the command layer, and the config layer.