diff --git a/go.mod b/go.mod index 709b9b740..dc567efad 100644 --- a/go.mod +++ b/go.mod @@ -27,7 +27,7 @@ require ( sigs.k8s.io/controller-runtime v0.21.0 ) -require github.com/argoproj/argo-cd/v3 v3.0.16 +require github.com/argoproj/argo-cd/v3 v3.0.19 require ( cloud.google.com/go/compute/metadata v0.7.0 // indirect diff --git a/go.sum b/go.sum index bafdb6db2..1fd1a12a3 100644 --- a/go.sum +++ b/go.sum @@ -45,8 +45,8 @@ github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFI github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4= github.com/argoproj-labs/argocd-operator v0.15.0 h1:7zSjRchKUBCGBpz4v1pJ/Igmgn5blXorTxW0Ch9hWZ0= github.com/argoproj-labs/argocd-operator v0.15.0/go.mod h1:5jApqvt/B2NpI2fFEa7g/8TGUvnesspv86yu1E4hVUI= -github.com/argoproj/argo-cd/v3 v3.0.16 h1:V67eJxuPTS20kjcA1K/uLnbapEVUfIJ9eIO62ns4ECU= -github.com/argoproj/argo-cd/v3 v3.0.16/go.mod h1:oTCI5r+Hacij94yJto2/mVXAHB8r3375h9SInqbS8EM= +github.com/argoproj/argo-cd/v3 v3.0.19 h1:RtihsPLt+L3F4TfEHUKCsZlqgmOBv9XAKCHi/wvJ1+w= +github.com/argoproj/argo-cd/v3 v3.0.19/go.mod h1:oTCI5r+Hacij94yJto2/mVXAHB8r3375h9SInqbS8EM= github.com/argoproj/gitops-engine v0.7.1-0.20250905153922-d96c3d51e4c4 h1:OsQxWX8UHdwXuy72Y1Js8gQY3xmOzFEieCSpMoXKFb8= github.com/argoproj/gitops-engine v0.7.1-0.20250905153922-d96c3d51e4c4/go.mod h1:duVhxDW7M7M7+19IBCVth2REOS11gmqzTWwj4u8N7aQ= github.com/argoproj/pkg v0.13.7-0.20250305113207-cbc37dc61de5 h1:YBoLSjpoaJXaXAldVvBRKJuOPvIXz9UOv6S96gMJM/Q= diff --git a/vendor/github.com/argoproj/argo-cd/v3/pkg/apis/application/v1alpha1/types.go b/vendor/github.com/argoproj/argo-cd/v3/pkg/apis/application/v1alpha1/types.go index a68a8fcfc..a2719c78f 100644 --- a/vendor/github.com/argoproj/argo-cd/v3/pkg/apis/application/v1alpha1/types.go +++ b/vendor/github.com/argoproj/argo-cd/v3/pkg/apis/application/v1alpha1/types.go @@ -3178,6 +3178,14 @@ func (app *Application) SetPostDeleteFinalizer(stage ...string) { setFinalizer(&app.ObjectMeta, strings.Join(append([]string{PostDeleteFinalizerName}, stage...), "/"), true) } +func (app *Application) UnSetPostDeleteFinalizerAll() { + for _, finalizer := range app.Finalizers { + if strings.HasPrefix(finalizer, PostDeleteFinalizerName) { + setFinalizer(&app.ObjectMeta, finalizer, false) + } + } +} + func (app *Application) UnSetPostDeleteFinalizer(stage ...string) { setFinalizer(&app.ObjectMeta, strings.Join(append([]string{PostDeleteFinalizerName}, stage...), "/"), false) } diff --git a/vendor/github.com/argoproj/argo-cd/v3/util/env/env.go b/vendor/github.com/argoproj/argo-cd/v3/util/env/env.go index ca660922f..e2029de82 100644 --- a/vendor/github.com/argoproj/argo-cd/v3/util/env/env.go +++ b/vendor/github.com/argoproj/argo-cd/v3/util/env/env.go @@ -7,6 +7,8 @@ import ( "strings" "time" + timeutil "github.com/argoproj/pkg/time" + log "github.com/sirupsen/logrus" ) @@ -125,8 +127,13 @@ func ParseDurationFromEnv(env string, defaultValue, min, max time.Duration) time } dur, err := time.ParseDuration(str) if err != nil { - log.Warnf("Could not parse '%s' as a duration string from environment %s", str, env) - return defaultValue + // provides backwards compatibility for durations defined in days, see: https://github.com/argoproj/argo-cd/issues/24740 + durPtr, err2 := timeutil.ParseDuration(str) + if err2 != nil { + log.Warnf("Could not parse '%s' as a duration from environment %s", str, env) + return defaultValue + } + dur = *durPtr } if dur < min { diff --git a/vendor/github.com/argoproj/pkg/time/time.go b/vendor/github.com/argoproj/pkg/time/time.go new file mode 100644 index 000000000..8d9b1e1ae --- /dev/null +++ b/vendor/github.com/argoproj/pkg/time/time.go @@ -0,0 +1,46 @@ +package time + +import ( + "fmt" + "log" + "regexp" + "strconv" + "time" +) + +var durationRegex = regexp.MustCompile(`^(\d+)([smhd])$`) + +// ParseDuration parses a duration string and returns the time.Duration +func ParseDuration(duration string) (*time.Duration, error) { + matches := durationRegex.FindStringSubmatch(duration) + if len(matches) != 3 { + return nil, fmt.Errorf("Invalid since format '%s'. Expected format (e.g. 3h)\n", duration) + } + amount, err := strconv.ParseInt(matches[1], 10, 64) + if err != nil { + log.Fatal(err) + } + var unit time.Duration + switch matches[2] { + case "s": + unit = time.Second + case "m": + unit = time.Minute + case "h": + unit = time.Hour + case "d": + unit = time.Hour * 24 + } + dur := unit * time.Duration(amount) + return &dur, nil +} + +// ParseSince parses a duration string and returns a time.Time in history relative to current time +func ParseSince(duration string) (*time.Time, error) { + dur, err := ParseDuration(duration) + if err != nil { + return nil, err + } + since := time.Now().UTC().Add(-*dur) + return &since, nil +} diff --git a/vendor/modules.txt b/vendor/modules.txt index 6d82eaaaa..5c04378ef 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -123,7 +123,7 @@ github.com/ProtonMail/go-crypto/openpgp/x448 ## explicit; go 1.24.6 github.com/argoproj-labs/argocd-operator/api/v1beta1 github.com/argoproj-labs/argocd-operator/common -# github.com/argoproj/argo-cd/v3 v3.0.16 +# github.com/argoproj/argo-cd/v3 v3.0.19 ## explicit; go 1.24.6 github.com/argoproj/argo-cd/v3/assets github.com/argoproj/argo-cd/v3/common @@ -179,6 +179,7 @@ github.com/argoproj/gitops-engine/pkg/utils/tracing github.com/argoproj/pkg/exec github.com/argoproj/pkg/rand github.com/argoproj/pkg/sync +github.com/argoproj/pkg/time # github.com/beorn7/perks v1.0.1 ## explicit; go 1.11 github.com/beorn7/perks/quantile