75 lines
1.5 KiB
Go

package main
import (
"flink-kube-operator/internal/config"
"flink-kube-operator/internal/crd"
"flink-kube-operator/internal/managed_job"
"fmt"
"log"
"os"
"gitea.com/logicamp/lc"
api "github.com/logi-camp/go-flink-client"
"github.com/tidwall/buntdb"
"go.uber.org/zap"
)
func main() {
lc.Logger.Debug("start")
crd.New()
// create database instance
db, err := buntdb.Open("./bunt.db")
if err != nil {
lc.Logger.Fatal("[main] error on open db", zap.Error(err))
}
defer db.Close()
c, err := api.New("127.0.0.1:8981")
if err != nil {
panic(err)
}
// get cluster clusterConfig
clusterConfig, err := c.Config()
if err != nil {
panic(err)
}
fmt.Println(clusterConfig)
jars, err := c.Jars()
if err != nil {
lc.Logger.Error("error on getting jars", zap.Error(err))
}
lc.Logger.Debug("[main] jars", zap.Any("jars", jars))
jobs, err := c.Jobs()
if err != nil {
lc.Logger.Error("error on getting jars", zap.Error(err))
}
lc.Logger.Debug("[main] jobs", zap.Any("jobs", jobs))
config := lc.LoadYamlConfig[config.Config]("./config.yaml")
for _, jobDef := range config.Jobs {
managed_job.NewManagedJob(c, db, jobDef)
}
for _, job := range jobs.Jobs {
job, err := c.Job(job.ID)
if err != nil {
lc.Logger.Error("error getting job info", zap.Error(err))
continue
}
if job.State == "RUNNING" {
lc.Logger.Debug("[main] running job", zap.String("jobId", job.ID))
}
// lc.Logger.Debug("[main]", zap.Any("job", job))
}
cancelChan := make(chan os.Signal, 1)
sig := <-cancelChan
log.Printf("Caught signal %v", sig)
}