mirror of
https://github.com/shankar0123/certctl.git
synced 2026-06-10 02:48:55 +00:00
feat(M35): dynamic target configuration with encrypted config, test connection, and GUI updates
Mirror M34's dynamic issuer config pattern for deployment targets: AES-256-GCM encrypted config storage, sensitive field redaction in API responses, agent heartbeat-based test connection endpoint, and full frontend updates including test status indicators, source badges, and removal of stale hostname/status fields from the Target interface. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -786,6 +786,14 @@ func (m *mockTargetRepository) Create(ctx context.Context, target *domain.Deploy
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *mockTargetRepository) CreateIfNotExists(ctx context.Context, target *domain.DeploymentTarget) (bool, error) {
|
||||
if _, exists := m.targets[target.ID]; exists {
|
||||
return false, nil
|
||||
}
|
||||
m.targets[target.ID] = target
|
||||
return true, nil
|
||||
}
|
||||
|
||||
func (m *mockTargetRepository) Update(ctx context.Context, target *domain.DeploymentTarget) error {
|
||||
m.targets[target.ID] = target
|
||||
return nil
|
||||
@@ -1009,6 +1017,10 @@ func (m *mockTargetService) DeleteTarget(id string) error {
|
||||
return m.targetRepo.Delete(context.Background(), id)
|
||||
}
|
||||
|
||||
func (m *mockTargetService) TestTargetConnection(id string) error {
|
||||
return nil // No-op for integration tests
|
||||
}
|
||||
|
||||
type mockTeamService struct{}
|
||||
|
||||
func (m *mockTeamService) ListTeams(page, perPage int) ([]domain.Team, int64, error) {
|
||||
|
||||
Reference in New Issue
Block a user