[PR #218] refactor: SSH layer + [Display] attrs + misc cleanup #299

Closed
opened 2026-03-07 19:57:29 +03:00 by kerem · 0 comments
Owner

Original Pull Request: https://github.com/Corsinvest/cv4pve-admin/pull/218

State: closed
Merged: Yes


Summary

SSH layer refactoring

  • SshAuthMethod: add None (new default) and SameAsWebApi options with [Display] attributes
  • SshCredential.IsConfigured: updated to handle None/SameAsWebApi; default auth changed from Password to None
  • ClusterSettings: add computed properties SshIsConfigured, DisplayName, FullDisplayName, TypeLabel, TypeIcon, ApiHostsAndPortHA — logic moved from extensions
  • ClusterSettingsExtensions: remove methods now on ClusterSettings
  • ClusterClient / PveClientWithRetry: adapt to new SSH auth model
  • SshCredentialSettings / WebApiCredentialSettings / RenderClustersSettings: adapt to new model

Misc

  • Add [Display] attributes to WebHookAuthType, ToolOutputFormat, Notify enums (used by EnumDropDown)
  • Remove dead code from site.css (moved to cv4pve.css or unused)
  • MainLayout: update security warning text
  • SystemReport models: minor refactor
  • Trends, Dashboard, Storages: minor updates
  • Docs: update getting-started

Test plan

  • Cluster with SSH None → SSH-dependent features disabled
  • Cluster with SSH SameAsWebApiIsConfigured = true, SSH uses WebAPI credentials
  • Cluster with SSH Password/PrivateKey → normal flow works
  • DisplayName / FullDisplayName shown correctly in cluster list
  • EnumDropDown shows display names for WebHookAuthType, ToolOutputFormat
**Original Pull Request:** https://github.com/Corsinvest/cv4pve-admin/pull/218 **State:** closed **Merged:** Yes --- ## Summary ### SSH layer refactoring - `SshAuthMethod`: add `None` (new default) and `SameAsWebApi` options with `[Display]` attributes - `SshCredential.IsConfigured`: updated to handle `None`/`SameAsWebApi`; default auth changed from `Password` to `None` - `ClusterSettings`: add computed properties `SshIsConfigured`, `DisplayName`, `FullDisplayName`, `TypeLabel`, `TypeIcon`, `ApiHostsAndPortHA` — logic moved from extensions - `ClusterSettingsExtensions`: remove methods now on `ClusterSettings` - `ClusterClient` / `PveClientWithRetry`: adapt to new SSH auth model - `SshCredentialSettings` / `WebApiCredentialSettings` / `RenderClustersSettings`: adapt to new model ### Misc - Add `[Display]` attributes to `WebHookAuthType`, `ToolOutputFormat`, `Notify` enums (used by `EnumDropDown`) - Remove dead code from `site.css` (moved to `cv4pve.css` or unused) - `MainLayout`: update security warning text - `SystemReport` models: minor refactor - Trends, Dashboard, Storages: minor updates - Docs: update getting-started ## Test plan - [ ] Cluster with SSH `None` → SSH-dependent features disabled - [ ] Cluster with SSH `SameAsWebApi` → `IsConfigured = true`, SSH uses WebAPI credentials - [ ] Cluster with SSH `Password`/`PrivateKey` → normal flow works - [ ] `DisplayName` / `FullDisplayName` shown correctly in cluster list - [ ] `EnumDropDown` shows display names for `WebHookAuthType`, `ToolOutputFormat`
kerem 2026-03-07 19:57:29 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/cv4pve-admin#299
No description provided.