Skip to content

Latest commit

 

History

History
76 lines (51 loc) · 1.84 KB

File metadata and controls

76 lines (51 loc) · 1.84 KB

Profiles

Overview

Profiles represent SSH targets and now carry both connection data and lightweight operational context.

Phase 3 supports:

  • default profile
  • active profile
  • favorites
  • recently used profiles
  • validation
  • connection testing
  • environment labels
  • free-form tags

Commands

  • komu profiles list
  • komu profiles add
  • komu profiles show <name>
  • komu profiles edit <name>
  • komu profiles use <name>
  • komu profiles test <name>
  • komu profiles favorites
  • komu profiles recent
  • komu profiles remove <name>

Default vs active profile

The current resolution order is:

  1. an explicitly provided --profile
  2. the active profile selected with komu profiles use
  3. the default profile

This keeps profile switching explicit while still making repeated shell use efficient.

Validation

Phase 3 validates profiles for:

  • non-empty label
  • non-empty host
  • valid SSH port range
  • non-empty username
  • SSH key path presence when key-based auth is selected

Validation runs during add, edit, and status rendering.

Connection testing

komu profiles test <name> opens an SSH session and runs a minimal remote shell check. On success, KOMU records that profile as recently used and updates connection timestamps.

Favorites and recents

Favorites are manual. Recents are updated automatically when a profile is used for planning, inspection, execution, or connection testing.

This supports a smoother operator workflow without silently changing the active profile.

Future multi-server direction

Profiles now include:

  • environment
  • tags

These fields are intended to support later work such as:

  • staging or production grouping
  • role-based target selection
  • controlled fan-out execution
  • reusable target sets

Phase 3 does not execute across profile groups yet, but the profile model is ready for that direction.