blob: 461ffc8df73228f1bd5ae179541b4e7363401000 [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(30 * time.Second):
for _, res := range r.resources {
http.Get(res)
}
case <-ctx.Done():
return
}
}
}