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
|
package v1beta2
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"time"
|
||||||
|
|
||||||
apimeta "k8s.io/apimachinery/pkg/api/meta"
|
apimeta "k8s.io/apimachinery/pkg/api/meta"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
|
|
||||||
|
@ -169,7 +171,13 @@ func (in *Bucket) SetConditions(conditions []metav1.Condition) {
|
||||||
in.Status.Conditions = conditions
|
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.
|
// GetInterval returns the interval at which the source is reconciled.
|
||||||
|
// Deprecated: use GetRequeueAfter instead.
|
||||||
func (in Bucket) GetInterval() metav1.Duration {
|
func (in Bucket) GetInterval() metav1.Duration {
|
||||||
return in.Spec.Interval
|
return in.Spec.Interval
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,6 +17,8 @@ limitations under the License.
|
||||||
package v1beta2
|
package v1beta2
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"time"
|
||||||
|
|
||||||
apimeta "k8s.io/apimachinery/pkg/api/meta"
|
apimeta "k8s.io/apimachinery/pkg/api/meta"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
|
|
||||||
|
@ -260,7 +262,13 @@ func (in *GitRepository) SetConditions(conditions []metav1.Condition) {
|
||||||
in.Status.Conditions = conditions
|
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.
|
// GetInterval returns the interval at which the source is reconciled.
|
||||||
|
// Deprecated: use GetRequeueAfter instead.
|
||||||
func (in GitRepository) GetInterval() metav1.Duration {
|
func (in GitRepository) GetInterval() metav1.Duration {
|
||||||
return in.Spec.Interval
|
return in.Spec.Interval
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,6 +17,8 @@ limitations under the License.
|
||||||
package v1beta2
|
package v1beta2
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"time"
|
||||||
|
|
||||||
apimeta "k8s.io/apimachinery/pkg/api/meta"
|
apimeta "k8s.io/apimachinery/pkg/api/meta"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
|
|
||||||
|
@ -196,7 +198,13 @@ func (in *HelmChart) SetConditions(conditions []metav1.Condition) {
|
||||||
in.Status.Conditions = conditions
|
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.
|
// GetInterval returns the interval at which the source is reconciled.
|
||||||
|
// Deprecated: use GetRequeueAfter instead.
|
||||||
func (in HelmChart) GetInterval() metav1.Duration {
|
func (in HelmChart) GetInterval() metav1.Duration {
|
||||||
return in.Spec.Interval
|
return in.Spec.Interval
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,6 +17,8 @@ limitations under the License.
|
||||||
package v1beta2
|
package v1beta2
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"time"
|
||||||
|
|
||||||
apimeta "k8s.io/apimachinery/pkg/api/meta"
|
apimeta "k8s.io/apimachinery/pkg/api/meta"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
|
|
||||||
|
@ -157,7 +159,13 @@ func (in *HelmRepository) SetConditions(conditions []metav1.Condition) {
|
||||||
in.Status.Conditions = conditions
|
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.
|
// GetInterval returns the interval at which the source is reconciled.
|
||||||
|
// Deprecated: use GetRequeueAfter instead.
|
||||||
func (in HelmRepository) GetInterval() metav1.Duration {
|
func (in HelmRepository) GetInterval() metav1.Duration {
|
||||||
return in.Spec.Interval
|
return in.Spec.Interval
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,6 +17,8 @@ limitations under the License.
|
||||||
package v1beta2
|
package v1beta2
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"time"
|
||||||
|
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -29,9 +31,12 @@ const (
|
||||||
// Source interface must be supported by all API types.
|
// Source interface must be supported by all API types.
|
||||||
// +k8s:deepcopy-gen=false
|
// +k8s:deepcopy-gen=false
|
||||||
type Source interface {
|
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
|
// GetArtifact returns the latest artifact from the source if present in the
|
||||||
// status sub-resource.
|
// status sub-resource.
|
||||||
GetArtifact() *Artifact
|
GetArtifact() *Artifact
|
||||||
// GetInterval returns the interval at which the source is updated.
|
// GetInterval returns the interval at which the source is updated.
|
||||||
|
// Deprecated: use GetRequeueAfter instead.
|
||||||
GetInterval() metav1.Duration
|
GetInterval() metav1.Duration
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue