source: Add `GetRequeueAfter`
The problem with `GetInterval()` was that the returned type was of `metav1.Duration`, while almost anywhere it was used, a type of `time.Duration` was requested. The result of this was that we had to call `GetInterval().Duration` all the time, which would become a bit cumbersome after awhile. To prevent this, we introduce a new `GetRequeueAfter() time.Duration` method, which both results the right type, and bears a name that is easier to remember where the value is used most; while setting the `Result.RequeueAfter` during reconcile operations. The introduction of this method deprecates `GetInterval()`, which should be removed in a future MINOR release. Signed-off-by: Sunny <darkowlzz@protonmail.com> Co-authored-by: Hidde Beydals <hello@hidde.co>
This commit is contained in:
parent
e190059cc7
commit
9eb6833d4d
|
@ -17,6 +17,8 @@ limitations under the License.
|
|||
package v1beta2
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
apimeta "k8s.io/apimachinery/pkg/api/meta"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
|
||||
|
@ -169,7 +171,13 @@ func (in *Bucket) SetConditions(conditions []metav1.Condition) {
|
|||
in.Status.Conditions = conditions
|
||||
}
|
||||
|
||||
// GetRequeueAfter returns the duration after which the source must be reconciled again.
|
||||
func (in Bucket) GetRequeueAfter() time.Duration {
|
||||
return in.Spec.Interval.Duration
|
||||
}
|
||||
|
||||
// GetInterval returns the interval at which the source is reconciled.
|
||||
// Deprecated: use GetRequeueAfter instead.
|
||||
func (in Bucket) GetInterval() metav1.Duration {
|
||||
return in.Spec.Interval
|
||||
}
|
||||
|
|
|
@ -17,6 +17,8 @@ limitations under the License.
|
|||
package v1beta2
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
apimeta "k8s.io/apimachinery/pkg/api/meta"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
|
||||
|
@ -260,7 +262,13 @@ func (in *GitRepository) SetConditions(conditions []metav1.Condition) {
|
|||
in.Status.Conditions = conditions
|
||||
}
|
||||
|
||||
// GetRequeueAfter returns the duration after which the source must be reconciled again.
|
||||
func (in GitRepository) GetRequeueAfter() time.Duration {
|
||||
return in.Spec.Interval.Duration
|
||||
}
|
||||
|
||||
// GetInterval returns the interval at which the source is reconciled.
|
||||
// Deprecated: use GetRequeueAfter instead.
|
||||
func (in GitRepository) GetInterval() metav1.Duration {
|
||||
return in.Spec.Interval
|
||||
}
|
||||
|
|
|
@ -17,6 +17,8 @@ limitations under the License.
|
|||
package v1beta2
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
apimeta "k8s.io/apimachinery/pkg/api/meta"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
|
||||
|
@ -196,7 +198,13 @@ func (in *HelmChart) SetConditions(conditions []metav1.Condition) {
|
|||
in.Status.Conditions = conditions
|
||||
}
|
||||
|
||||
// GetRequeueAfter returns the duration after which the source must be reconciled again.
|
||||
func (in HelmChart) GetRequeueAfter() time.Duration {
|
||||
return in.Spec.Interval.Duration
|
||||
}
|
||||
|
||||
// GetInterval returns the interval at which the source is reconciled.
|
||||
// Deprecated: use GetRequeueAfter instead.
|
||||
func (in HelmChart) GetInterval() metav1.Duration {
|
||||
return in.Spec.Interval
|
||||
}
|
||||
|
|
|
@ -17,6 +17,8 @@ limitations under the License.
|
|||
package v1beta2
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
apimeta "k8s.io/apimachinery/pkg/api/meta"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
|
||||
|
@ -157,7 +159,13 @@ func (in *HelmRepository) SetConditions(conditions []metav1.Condition) {
|
|||
in.Status.Conditions = conditions
|
||||
}
|
||||
|
||||
// GetRequeueAfter returns the duration after which the source must be reconciled again.
|
||||
func (in HelmRepository) GetRequeueAfter() time.Duration {
|
||||
return in.Spec.Interval.Duration
|
||||
}
|
||||
|
||||
// GetInterval returns the interval at which the source is reconciled.
|
||||
// Deprecated: use GetRequeueAfter instead.
|
||||
func (in HelmRepository) GetInterval() metav1.Duration {
|
||||
return in.Spec.Interval
|
||||
}
|
||||
|
|
|
@ -17,6 +17,8 @@ limitations under the License.
|
|||
package v1beta2
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
)
|
||||
|
||||
|
@ -29,9 +31,12 @@ const (
|
|||
// Source interface must be supported by all API types.
|
||||
// +k8s:deepcopy-gen=false
|
||||
type Source interface {
|
||||
// GetRequeueAfter returns the duration after which the source must be reconciled again.
|
||||
GetRequeueAfter() time.Duration
|
||||
// GetArtifact returns the latest artifact from the source if present in the
|
||||
// status sub-resource.
|
||||
GetArtifact() *Artifact
|
||||
// GetInterval returns the interval at which the source is updated.
|
||||
// Deprecated: use GetRequeueAfter instead.
|
||||
GetInterval() metav1.Duration
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue