Files
zeekayandHanzo Dev 84ee9fa0ce cd: kill the argo naming — binaries, packages, identifiers
Every command is cd-*: cd, cd-server, cd-repo-server,
cd-application-controller, cd-applicationset-controller, cd-cmp-server,
cd-commit-server, cd-dex, cd-git-ask-pass, cd-k8s-auth, cd-notification.
util/argo is util/cd; util/notification/argocd is util/notification/cd.

Preserved deliberately: github.com/argoproj/argocd-example-apps is an
EXTERNAL repo used as an e2e fixture, and notifications-engine + pkg/v2 are
real dependencies. Renaming a URL we do not own would break the tests.

Two bugs I made and caught, both from a careless sed:
- s/argo/cd/g turned 'argocd' into 'cdcd' in two directory names
- renaming the package declaration left every call site saying argo.X

go build ./... exit 0.

Co-authored-by: Hanzo Dev <[email protected]>
2026-07-28 16:00:25 -07:00

33 lines
1.1 KiB
Go

package health
import (
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
)
type nodePhase string
// Workflow and node statuses
// See: https://github.com/argoproj/argo-workflows/blob/master/pkg/apis/workflow/v1alpha1/workflow_phase.go
const (
nodePending nodePhase = "Pending"
nodeRunning nodePhase = "Running"
nodeSucceeded nodePhase = "Succeeded"
nodeFailed nodePhase = "Failed"
nodeError nodePhase = "Error"
)
func getArgoWorkflowHealth(obj *unstructured.Unstructured) (*HealthStatus, error) {
phase, _, _ := unstructured.NestedString(obj.Object, "status", "phase")
message, _, _ := unstructured.NestedString(obj.Object, "status", "message")
switch nodePhase(phase) {
case "", nodePending, nodeRunning:
return &HealthStatus{Status: HealthStatusProgressing, Message: message}, nil
case nodeSucceeded:
return &HealthStatus{Status: HealthStatusHealthy, Message: message}, nil
case nodeFailed, nodeError:
return &HealthStatus{Status: HealthStatusDegraded, Message: message}, nil
}
return &HealthStatus{Status: HealthStatusUnknown, Message: message}, nil
}