@@ -22,12 +22,11 @@ import (
2222 "io/ioutil"
2323 "net/http"
2424 "os"
25- "strings"
26- "time"
2725
2826 "github.com/go-logr/logr"
2927 "k8s.io/apimachinery/pkg/runtime"
3028 ctrl "sigs.k8s.io/controller-runtime"
29+ "sigs.k8s.io/controller-runtime/pkg/builder"
3130 "sigs.k8s.io/controller-runtime/pkg/client"
3231
3332 "github.com/fluxcd/pkg/untar"
@@ -44,18 +43,15 @@ type GitRepositoryWatcher struct {
4443// +kubebuilder:rbac:groups=source.fluxcd.io,resources=gitrepositories,verbs=get;list;watch
4544// +kubebuilder:rbac:groups=source.fluxcd.io,resources=gitrepositories/status,verbs=get
4645
47- func (r * GitRepositoryWatcher ) Reconcile (req ctrl.Request ) (ctrl.Result , error ) {
48- // set timeout for the reconciliation
49- ctx , cancel := context .WithTimeout (context .Background (), 15 * time .Second )
50- defer cancel ()
46+ func (r * GitRepositoryWatcher ) Reconcile (ctx context.Context , req ctrl.Request ) (ctrl.Result , error ) {
47+ log := logr .FromContext (ctx )
5148
5249 // get source object
5350 var repository sourcev1.GitRepository
5451 if err := r .Get (ctx , req .NamespacedName , & repository ); err != nil {
5552 return ctrl.Result {}, client .IgnoreNotFound (err )
5653 }
5754
58- log := r .Log .WithValues (strings .ToLower (repository .Kind ), req .NamespacedName )
5955 log .Info ("New revision detected" , "revision" , repository .Status .Artifact .Revision )
6056
6157 // create tmp dir
@@ -89,8 +85,7 @@ func (r *GitRepositoryWatcher) Reconcile(req ctrl.Request) (ctrl.Result, error)
8985
9086func (r * GitRepositoryWatcher ) SetupWithManager (mgr ctrl.Manager ) error {
9187 return ctrl .NewControllerManagedBy (mgr ).
92- For (& sourcev1.GitRepository {}).
93- WithEventFilter (GitRepositoryRevisionChangePredicate {}).
88+ For (& sourcev1.GitRepository {}, builder .WithPredicates (GitRepositoryRevisionChangePredicate {})).
9489 Complete (r )
9590}
9691
@@ -102,7 +97,7 @@ func (r *GitRepositoryWatcher) fetchArtifact(ctx context.Context, repository sou
10297 url := repository .Status .Artifact .URL
10398
10499 // for local run:
105- // kubectl -n gitops -system port-forward svc/source-controller 8080:80
100+ // kubectl -n flux -system port-forward svc/source-controller 8080:80
106101 // export SOURCE_HOST=localhost:8080
107102 if hostname := os .Getenv ("SOURCE_HOST" ); hostname != "" {
108103 url = fmt .Sprintf ("http://%s/gitrepository/%s/%s/latest.tar.gz" , hostname , repository .Namespace , repository .Name )
0 commit comments