blob: 0e8133ec6f1c250c40c22340f66210e8ad6c6687 [file] [log] [blame]
Giorgi Lekveishvilid2f3dca2023-12-20 09:31:30 +04001package tasks
2
3import (
4 "context"
5 "fmt"
6 "net/http"
7 "time"
8)
9
10type Reconciler interface {
11 Reconcile(ctx context.Context)
12}
13
14type fluxcdReconciler struct {
15 resources []string
16}
17
18func NewFluxcdReconciler(addr, name string) Reconciler {
19 return fluxcdReconciler{
20 resources: []string{
21 fmt.Sprintf("%s/source/git/%s/%s/reconcile", addr, name, name),
22 fmt.Sprintf("%s/kustomization/%s/%s/reconcile", addr, name, name),
23 },
24 }
25}
26
27func (r fluxcdReconciler) Reconcile(ctx context.Context) {
28 for {
29 select {
gio778577f2024-04-29 09:44:38 +040030 case <-time.After(3 * time.Second):
Giorgi Lekveishvilid2f3dca2023-12-20 09:31:30 +040031 for _, res := range r.resources {
32 http.Get(res)
33 }
34 case <-ctx.Done():
35 return
36 }
37 }
38}