67 lines
2.0 KiB
Go
67 lines
2.0 KiB
Go
package daemons
|
|
|
|
// type manifestValues struct{
|
|
// ARGO_FILE string
|
|
// LOKI_URL string
|
|
// CONTAINER_NAME string
|
|
// }
|
|
|
|
// manifest, err := em.CreateManifest(booking, argo_file_path)
|
|
// if err != nil {
|
|
// logger.Logger.Error().Msg("Could not create manifest " + err.Error())
|
|
// }
|
|
|
|
// // launch a pod that contains oc-monitor, give it the name of the workflow
|
|
// cmd := exec.Command("kubectl","apply","-f", "manifests/"+manifest)
|
|
// output , err := cmd.CombinedOutput()
|
|
// if err != nil {
|
|
// logger.Logger.Error().Msg("failed to create new pod for " + booking.Workflow + " :" + err.Error())
|
|
// return
|
|
// }
|
|
|
|
// func (*ExecutionManager) CreateManifest(booking models.Booking, argo_file string) (manifest_filepath string, err error) {
|
|
|
|
// var filled_template bytes.Buffer
|
|
|
|
// manifest_file, err := os.ReadFile("conf/monitor_pod_template.yml")
|
|
// if err != nil {
|
|
// logger.Logger.Error().Msg("Could not open the k8s template file for " + booking.Workflow)
|
|
// return "", err
|
|
// }
|
|
|
|
// container_name := getContainerName(argo_file)
|
|
// tmpl, err := template.New("manifest_template").Parse(string(manifest_file))
|
|
// if err != nil {
|
|
// logger.Logger.Error().Msg(err.Error())
|
|
// return "", err
|
|
// }
|
|
|
|
// manifest_data := manifestValues{
|
|
// ARGO_FILE: argo_file,
|
|
// LOKI_URL: conf.GetConfig().Logs,
|
|
// CONTAINER_NAME: container_name,
|
|
// }
|
|
|
|
// err = tmpl.Execute(&filled_template, manifest_data)
|
|
// if err != nil {
|
|
// logger.Logger.Error().Msg("Could not complete manifest template for " + booking.Workflow)
|
|
// return "", err }
|
|
|
|
// manifest_filepath = booking.Workflow + "_manifest.yaml"
|
|
|
|
// err = os.WriteFile("manifests/" + manifest_filepath, filled_template.Bytes(),0644)
|
|
// if err != nil {
|
|
// logger.Logger.Error().Msg("Could not write the YAML file for " + booking.Workflow + "'s manifest")
|
|
// return "", err
|
|
// }
|
|
|
|
// return manifest_filepath, nil
|
|
// }
|
|
|
|
// func getContainerName(argo_file string) string {
|
|
// regex := "([a-zA-Z]+-[a-zA-Z]+)"
|
|
// re := regexp.MustCompile(regex)
|
|
|
|
// container_name := re.FindString(argo_file)
|
|
// return container_name
|
|
// }
|