blob: 0e8133ec6f1c250c40c22340f66210e8ad6c6687 [file] [log] [blame]
package tasks
import (
"context"
"fmt"
"net/http"
"time"
)
type Reconciler interface {
Reconcile(ctx context.Context)
}
type fluxcdReconciler struct {
resources []string
}
func NewFluxcdReconciler(addr, name string) Reconciler {
return fluxcdReconciler{
resources: []string{
fmt.Sprintf("%s/source/git/%s/%s/reconcile", addr, name, name),
fmt.Sprintf("%s/kustomization/%s/%s/reconcile", addr, name, name),
},
}
}
func (r fluxcdReconciler) Reconcile(ctx context.Context) {
for {
select {
case <-time.After(3 * time.Second):
for _, res := range r.resources {
http.Get(res)
}
case <-ctx.Done():
return
}
}
}