github.com/caos/orbos@v1.5.14-0.20221103111702-e6cd0cea7ad4/cmd/chore/boom-debug/main.go (about)

     1  package main
     2  
     3  import (
     4  	"context"
     5  	"flag"
     6  
     7  	"github.com/caos/orbos/internal/ctrlcrd"
     8  
     9  	"github.com/caos/orbos/pkg/git"
    10  
    11  	"github.com/caos/orbos/internal/helpers"
    12  	"github.com/caos/orbos/internal/operator/boom"
    13  	"github.com/caos/orbos/mntr"
    14  	_ "k8s.io/client-go/plugin/pkg/client/auth/gcp"
    15  )
    16  
    17  func main() {
    18  
    19  	gitops := flag.Bool("gitops", false, "defines if the operator should run in gitops mode not crd mode")
    20  	orbconfig := flag.String("orbconfig", "~/.orb/config", "The orbconfig file to use")
    21  	verbose := flag.Bool("verbose", false, "Print debug levelled logs")
    22  	metricsAddr := flag.String("metrics-addr", ":8080", "The address the metric endpoint binds to.")
    23  
    24  	flag.Parse()
    25  
    26  	monitor := mntr.Monitor{
    27  		OnInfo:   mntr.LogMessage,
    28  		OnChange: mntr.LogMessage,
    29  		OnError:  mntr.LogError,
    30  	}
    31  
    32  	if *verbose {
    33  		monitor = monitor.Verbose()
    34  	}
    35  
    36  	if !*gitops {
    37  		if err := ctrlcrd.Start(monitor, "crdoperators", "./artifacts", *metricsAddr, "", ctrlcrd.Boom); err != nil {
    38  			panic(err)
    39  		}
    40  	} else {
    41  
    42  		ensure := git.New(context.Background(), monitor.WithField("task", "ensure"), "Boom", "boom@caos.ch")
    43  		query := git.New(context.Background(), monitor.WithField("task", "query"), "Boom", "boom@caos.ch")
    44  
    45  		ensure.Clone()
    46  		query.Clone()
    47  
    48  		takeoff, _ := boom.Takeoff(
    49  			monitor,
    50  			"./artifacts",
    51  			helpers.PruneHome(*orbconfig),
    52  			ensure, query,
    53  		)
    54  
    55  		for {
    56  			takeoff()
    57  		}
    58  	}
    59  }