Compare commits
	
		
			13 Commits
		
	
	
		
			feature/or
			...
			5d1acac9ae
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 5d1acac9ae | |||
| 
						 | 
					a1256ee331 | ||
| 
						 | 
					922ca1d013 | ||
| 
						 | 
					8ee878fee6 | ||
| e74f3adcaa | |||
| af6aa9e17f | |||
| e7f8518f34 | |||
| af90189b89 | |||
| 469752f136 | |||
| df4e6fcc5c | |||
| e808556906 | |||
| b0b2206c12 | |||
| 8f18da492b | 
							
								
								
									
										42
									
								
								Dockerfile
									
									
									
									
									
								
							
							
						
						
									
										42
									
								
								Dockerfile
									
									
									
									
									
								
							@@ -1,29 +1,45 @@
 | 
				
			|||||||
 | 
					FROM golang:alpine AS deps
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					WORKDIR /app
 | 
				
			||||||
 | 
					COPY go.mod go.sum ./
 | 
				
			||||||
 | 
					RUN sed -i '/replace/d' go.mod
 | 
				
			||||||
 | 
					RUN go mod download
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#----------------------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
FROM golang:alpine AS builder
 | 
					FROM golang:alpine AS builder
 | 
				
			||||||
 | 
					
 | 
				
			||||||
WORKDIR /app 
 | 
					WORKDIR /app 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
COPY . .
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
RUN apk add git
 | 
					RUN apk add git
 | 
				
			||||||
 | 
					
 | 
				
			||||||
RUN go get github.com/beego/bee/v2 && go install github.com/beego/bee/v2@master
 | 
					RUN go install github.com/beego/bee/v2@latest
 | 
				
			||||||
 | 
					
 | 
				
			||||||
RUN timeout 15 bee run -gendoc=true -downdoc=true -runmode=dev || :
 | 
					WORKDIR /oc-scheduler
 | 
				
			||||||
 | 
					
 | 
				
			||||||
RUN sed -i 's/http:\/\/127.0.0.1:8080\/swagger\/swagger.json/swagger.json/g' swagger/index.html
 | 
					COPY --from=deps /go/pkg /go/pkg
 | 
				
			||||||
 | 
					COPY --from=deps /app/go.mod /app/go.sum ./
 | 
				
			||||||
 | 
					
 | 
				
			||||||
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-w -s" .
 | 
					RUN export CGO_ENABLED=0 && \
 | 
				
			||||||
 | 
					    export GOOS=linux && \
 | 
				
			||||||
 | 
					    export GOARCH=amd64 && \
 | 
				
			||||||
 | 
					    export BUILD_FLAGS="-ldflags='-w -s'"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
RUN ls /app
 | 
					COPY . .
 | 
				
			||||||
 | 
					
 | 
				
			||||||
FROM scratch
 | 
					RUN sed -i '/replace/d' go.mod
 | 
				
			||||||
 | 
					RUN bee pack
 | 
				
			||||||
 | 
					RUN mkdir -p /app/extracted && tar -zxvf oc-scheduler.tar.gz -C /app/extracted
 | 
				
			||||||
 | 
					RUN sed -i 's/http:\/\/127.0.0.1:8080\/swagger\/swagger.json/swagger.json/g' /app/extracted/swagger/index.html
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#----------------------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					FROM golang:alpine
 | 
				
			||||||
 | 
					
 | 
				
			||||||
WORKDIR /app
 | 
					WORKDIR /app
 | 
				
			||||||
 | 
					COPY --from=builder /app/extracted/oc-scheduler /usr/bin/ 
 | 
				
			||||||
COPY --from=builder /app/oc-scheduler /usr/bin/ 
 | 
					COPY --from=builder /app/extracted/swagger /app/swagger
 | 
				
			||||||
COPY --from=builder /app/swagger /app/swagger
 | 
					COPY --from=builder /app/extracted/docker_scheduler.json /etc/oc/scheduler.json
 | 
				
			||||||
 | 
					 | 
				
			||||||
COPY docker_scheduler.json /etc/oc/scheduler.json
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
EXPOSE 8080
 | 
					EXPOSE 8080
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										40
									
								
								Makefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								Makefile
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,40 @@
 | 
				
			|||||||
 | 
					.DEFAULT_GOAL := all
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					build: clean
 | 
				
			||||||
 | 
						bee pack
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					run: 
 | 
				
			||||||
 | 
						bee run -gendoc=true -downdoc=true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					purge:
 | 
				
			||||||
 | 
						lsof -t -i:8090 | xargs kill | true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					run-dev:
 | 
				
			||||||
 | 
						bee generate routers && bee run -gendoc=true -downdoc=true -runmode=prod
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					dev: purge run-dev
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					debug:
 | 
				
			||||||
 | 
						bee run -downdebug -gendebug
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					clean:
 | 
				
			||||||
 | 
						rm -rf oc-peer.tar.gz
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					docker:
 | 
				
			||||||
 | 
						DOCKER_BUILDKIT=1 docker build -t oc-scheduler -f Dockerfile . --build-arg=HOST=$(HOST)
 | 
				
			||||||
 | 
						docker tag oc-scheduler:latest oc/oc-scheduler:0.0.1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					publish-kind:
 | 
				
			||||||
 | 
						kind load docker-image oc/oc-scheduler:0.0.1 --name opencloud | true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					publish-registry:
 | 
				
			||||||
 | 
						@echo "TODO"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					docker-deploy:
 | 
				
			||||||
 | 
						docker compose up -d
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					run-docker: docker publish-kind publish-registry docker-deploy
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					all: docker publish-kind publish-registry
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.PHONY: build run clean docker publish-kind publish-registry
 | 
				
			||||||
@@ -6,6 +6,8 @@ To build :
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    bee generate routers
 | 
					    bee generate routers
 | 
				
			||||||
    bee run -gendoc=true -downdoc=true
 | 
					    bee run -gendoc=true -downdoc=true
 | 
				
			||||||
 | 
					OR 
 | 
				
			||||||
 | 
					    make dev
 | 
				
			||||||
 | 
					
 | 
				
			||||||
If default Swagger page is displayed instead of tyour api, change url in swagger/index.html file to :
 | 
					If default Swagger page is displayed instead of tyour api, change url in swagger/index.html file to :
 | 
				
			||||||
<>
 | 
					<>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,5 +1,5 @@
 | 
				
			|||||||
appname = oc-scheduler
 | 
					appname = oc-scheduler
 | 
				
			||||||
httpport = 8080
 | 
					httpport = 8090
 | 
				
			||||||
runmode = dev
 | 
					runmode = dev
 | 
				
			||||||
autorender = false
 | 
					autorender = false
 | 
				
			||||||
copyrequestbody = true
 | 
					copyrequestbody = true
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										87
									
								
								controllers/loki.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										87
									
								
								controllers/loki.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,87 @@
 | 
				
			|||||||
 | 
					package controllers
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import (
 | 
				
			||||||
 | 
						"encoding/json"
 | 
				
			||||||
 | 
						"fmt"
 | 
				
			||||||
 | 
						"io"
 | 
				
			||||||
 | 
						"net/http"
 | 
				
			||||||
 | 
						"strings"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						"cloud.o-forge.io/core/oc-lib/config"
 | 
				
			||||||
 | 
						beego "github.com/beego/beego/v2/server/web"
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Operations about workflow
 | 
				
			||||||
 | 
					type LokiController struct {
 | 
				
			||||||
 | 
						beego.Controller
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type LokiInfo struct {
 | 
				
			||||||
 | 
						Start string `json:"start"`
 | 
				
			||||||
 | 
						End   string `json:"end"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// @Title GetLogs
 | 
				
			||||||
 | 
					// @Description get logs
 | 
				
			||||||
 | 
					// @Param	body		body 	models.compute	true		"The compute content"
 | 
				
			||||||
 | 
					// @Success 200 {workspace} models.workspace
 | 
				
			||||||
 | 
					// @router / [post]
 | 
				
			||||||
 | 
					func (o *LokiController) GetLogs() {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						var resp map[string]interface{}
 | 
				
			||||||
 | 
						json.Unmarshal(o.Ctx.Input.CopyBody(100000), &resp)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						path := "/loki/api/v1/query_range"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if len(resp) > 0 {
 | 
				
			||||||
 | 
							start := fmt.Sprintf("%v", resp["start"])
 | 
				
			||||||
 | 
							if len(start) > 10 {
 | 
				
			||||||
 | 
								start = start[0:10]
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							end := fmt.Sprintf("%v", resp["end"])
 | 
				
			||||||
 | 
							if len(end) > 10 {
 | 
				
			||||||
 | 
								end = end[0:10]
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							query := []string{}
 | 
				
			||||||
 | 
							for k, v := range resp {
 | 
				
			||||||
 | 
								if k == "start" || k == "end" {
 | 
				
			||||||
 | 
									continue
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								query = append(query, fmt.Sprintf("%v=\"%v\"", k, v))
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							if len(query) == 0 || len(start) < 10 || len(end) < 10 {
 | 
				
			||||||
 | 
								o.Ctx.ResponseWriter.WriteHeader(403)
 | 
				
			||||||
 | 
								o.Data["json"] = map[string]string{"error": "Query error, missing data : start, end or query"}
 | 
				
			||||||
 | 
								o.ServeJSON()
 | 
				
			||||||
 | 
								return
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							path += "?query={" + strings.Join(query, ", ") + "}&start=" + start + "&end=" + end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							resp, err := http.Get(config.GetConfig().LokiUrl + path) // CALL
 | 
				
			||||||
 | 
							fmt.Println(resp, path)
 | 
				
			||||||
 | 
							if err != nil {
 | 
				
			||||||
 | 
								o.Ctx.ResponseWriter.WriteHeader(422)
 | 
				
			||||||
 | 
								o.Data["json"] = map[string]string{"error": err.Error()}
 | 
				
			||||||
 | 
								o.ServeJSON()
 | 
				
			||||||
 | 
								return
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							defer resp.Body.Close()
 | 
				
			||||||
 | 
							body, _ := io.ReadAll(resp.Body)
 | 
				
			||||||
 | 
							var result map[string]interface{}
 | 
				
			||||||
 | 
							// Unmarshal: string → []byte → object
 | 
				
			||||||
 | 
							err = json.Unmarshal(body, &result)
 | 
				
			||||||
 | 
							if err != nil {
 | 
				
			||||||
 | 
								o.Ctx.ResponseWriter.WriteHeader(403)
 | 
				
			||||||
 | 
								o.Data["json"] = map[string]string{"error": err.Error()}
 | 
				
			||||||
 | 
								o.ServeJSON()
 | 
				
			||||||
 | 
								return
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							o.Data["json"] = result
 | 
				
			||||||
 | 
							o.ServeJSON()
 | 
				
			||||||
 | 
							return
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						o.Ctx.ResponseWriter.WriteHeader(403)
 | 
				
			||||||
 | 
						o.Data["json"] = map[string]string{"error": "Query error"}
 | 
				
			||||||
 | 
						o.ServeJSON()
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -15,7 +15,10 @@ type VersionController struct {
 | 
				
			|||||||
// @Success 200
 | 
					// @Success 200
 | 
				
			||||||
// @router / [get]
 | 
					// @router / [get]
 | 
				
			||||||
func (c *VersionController) GetAll() {
 | 
					func (c *VersionController) GetAll() {
 | 
				
			||||||
	c.Data["json"] = map[string]string{"version": "1"}
 | 
						c.Data["json"] = map[string]string{
 | 
				
			||||||
 | 
							"service": "oc-scheduler",
 | 
				
			||||||
 | 
							"version": "1",
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
	c.ServeJSON()
 | 
						c.ServeJSON()
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,13 +1,10 @@
 | 
				
			|||||||
package controllers
 | 
					package controllers
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
	"encoding/json"
 | 
					 | 
				
			||||||
	"time"
 | 
						"time"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	oclib "cloud.o-forge.io/core/oc-lib"
 | 
						oclib "cloud.o-forge.io/core/oc-lib"
 | 
				
			||||||
	dbs "cloud.o-forge.io/core/oc-lib/dbs"
 | 
						dbs "cloud.o-forge.io/core/oc-lib/dbs"
 | 
				
			||||||
	"cloud.o-forge.io/core/oc-lib/models/workflow_execution"
 | 
					 | 
				
			||||||
	"cloud.o-forge.io/core/oc-lib/tools"
 | 
					 | 
				
			||||||
	beego "github.com/beego/beego/v2/server/web"
 | 
						beego "github.com/beego/beego/v2/server/web"
 | 
				
			||||||
	"go.mongodb.org/mongo-driver/bson/primitive"
 | 
						"go.mongodb.org/mongo-driver/bson/primitive"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
@@ -89,37 +86,3 @@ func (o *WorkflowExecutionController) Search() {
 | 
				
			|||||||
	o.Data["json"] = oclib.NewRequest(collection, user, peerID, groups, nil).Search(nil, search, isDraft == "true")
 | 
						o.Data["json"] = oclib.NewRequest(collection, user, peerID, groups, nil).Search(nil, search, isDraft == "true")
 | 
				
			||||||
	o.ServeJSON()
 | 
						o.ServeJSON()
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					 | 
				
			||||||
// @Title ScheduleWorkflow
 | 
					 | 
				
			||||||
// @Description schedule workflow
 | 
					 | 
				
			||||||
// @Param	id		path 	string	true		"id execution"
 | 
					 | 
				
			||||||
// @Param	body		body 	models.compute	true		"The compute content"
 | 
					 | 
				
			||||||
// @Success 200 {workspace} models.workspace
 | 
					 | 
				
			||||||
// @router /workflow/:id [post]
 | 
					 | 
				
			||||||
func (o *WorkflowExecutionController) ScheduleWorkflow() {
 | 
					 | 
				
			||||||
	user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
 | 
					 | 
				
			||||||
	id := o.Ctx.Input.Param(":id")
 | 
					 | 
				
			||||||
	var resp *workflow_execution.WorkflowSchedule
 | 
					 | 
				
			||||||
	json.Unmarshal(o.Ctx.Input.CopyBody(100000), &resp)
 | 
					 | 
				
			||||||
	caller := tools.NewHTTPCaller(map[tools.DataType]map[tools.METHOD]string{ // paths to call other OC services
 | 
					 | 
				
			||||||
		tools.PEER: {
 | 
					 | 
				
			||||||
			tools.POST: "/status/",
 | 
					 | 
				
			||||||
		},
 | 
					 | 
				
			||||||
		tools.BOOKING: {
 | 
					 | 
				
			||||||
			tools.GET: "/booking/check/:id/:start_date/:end_date",
 | 
					 | 
				
			||||||
		},
 | 
					 | 
				
			||||||
	})
 | 
					 | 
				
			||||||
	sch, err := oclib.NewRequest(collection, user, peerID, groups, caller).Schedule(id, resp)
 | 
					 | 
				
			||||||
	code := 200
 | 
					 | 
				
			||||||
	e := ""
 | 
					 | 
				
			||||||
	if err != nil {
 | 
					 | 
				
			||||||
		code = 409
 | 
					 | 
				
			||||||
		e = err.Error()
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	o.Data["json"] = map[string]interface{}{
 | 
					 | 
				
			||||||
		"data":  sch,
 | 
					 | 
				
			||||||
		"code":  code,
 | 
					 | 
				
			||||||
		"error": e,
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	o.ServeJSON()
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										107
									
								
								controllers/workflow_sheduler.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										107
									
								
								controllers/workflow_sheduler.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,107 @@
 | 
				
			|||||||
 | 
					package controllers
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import (
 | 
				
			||||||
 | 
						"encoding/json"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						oclib "cloud.o-forge.io/core/oc-lib"
 | 
				
			||||||
 | 
						"cloud.o-forge.io/core/oc-lib/dbs"
 | 
				
			||||||
 | 
						"cloud.o-forge.io/core/oc-lib/models/workflow_execution"
 | 
				
			||||||
 | 
						"cloud.o-forge.io/core/oc-lib/tools"
 | 
				
			||||||
 | 
						beego "github.com/beego/beego/v2/server/web"
 | 
				
			||||||
 | 
						"github.com/google/uuid"
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var orderCollection = oclib.LibDataEnum(oclib.ORDER)
 | 
				
			||||||
 | 
					var logger = oclib.GetLogger()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Operations about workflow
 | 
				
			||||||
 | 
					type WorkflowSchedulerController struct {
 | 
				
			||||||
 | 
						beego.Controller
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// @Title Schedule
 | 
				
			||||||
 | 
					// @Description schedule workflow
 | 
				
			||||||
 | 
					// @Param	id		path 	string	true		"id execution"
 | 
				
			||||||
 | 
					// @Param	body		body 	models.compute	true		"The compute content"
 | 
				
			||||||
 | 
					// @Success 200 {workspace} models.workspace
 | 
				
			||||||
 | 
					// @router /:id [post]
 | 
				
			||||||
 | 
					func (o *WorkflowSchedulerController) Schedule() {
 | 
				
			||||||
 | 
						code := 200
 | 
				
			||||||
 | 
						e := ""
 | 
				
			||||||
 | 
						user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
 | 
				
			||||||
 | 
						id := o.Ctx.Input.Param(":id")
 | 
				
			||||||
 | 
						var resp *workflow_execution.WorkflowSchedule
 | 
				
			||||||
 | 
						json.Unmarshal(o.Ctx.Input.CopyBody(100000), &resp)
 | 
				
			||||||
 | 
						caller := tools.NewHTTPCaller(map[tools.DataType]map[tools.METHOD]string{ // paths to call other OC services
 | 
				
			||||||
 | 
							tools.PEER: {
 | 
				
			||||||
 | 
								tools.POST: "/status/",
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							tools.BOOKING: {
 | 
				
			||||||
 | 
								tools.GET:  "/booking/check/:id/:start_date/:end_date",
 | 
				
			||||||
 | 
								tools.POST: "/booking/",
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
						})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						req := oclib.NewRequest(collection, user, peerID, groups, caller)
 | 
				
			||||||
 | 
						resp.UUID = uuid.New().String()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						sch, err := req.Schedule(id, resp)
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							if sch != nil {
 | 
				
			||||||
 | 
								for _, w := range sch.WorkflowExecution {
 | 
				
			||||||
 | 
									req.DeleteOne(w.GetID())
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							o.Data["json"] = map[string]interface{}{
 | 
				
			||||||
 | 
								"data":  nil,
 | 
				
			||||||
 | 
								"code":  409,
 | 
				
			||||||
 | 
								"error": err.Error(),
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							o.ServeJSON()
 | 
				
			||||||
 | 
							return
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						o.Data["json"] = map[string]interface{}{
 | 
				
			||||||
 | 
							"data":  sch.WorkflowExecution,
 | 
				
			||||||
 | 
							"code":  code,
 | 
				
			||||||
 | 
							"error": e,
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						o.ServeJSON()
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// @Title UnSchedule
 | 
				
			||||||
 | 
					// @Description schedule workflow
 | 
				
			||||||
 | 
					// @Param	id		path 	string	true		"id execution"
 | 
				
			||||||
 | 
					// @Param	body		body 	models.compute	true		"The compute content"
 | 
				
			||||||
 | 
					// @Success 200 {workspace} models.workspace
 | 
				
			||||||
 | 
					// @router /:id [delete]
 | 
				
			||||||
 | 
					func (o *WorkflowSchedulerController) UnSchedule() {
 | 
				
			||||||
 | 
						user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
 | 
				
			||||||
 | 
						id := o.Ctx.Input.Param(":id")
 | 
				
			||||||
 | 
						// TODO UNSCHEDULER
 | 
				
			||||||
 | 
						filter := &dbs.Filters{
 | 
				
			||||||
 | 
							And: map[string][]dbs.Filter{
 | 
				
			||||||
 | 
								"workflow_id": {{Operator: dbs.EQUAL.String(), Value: id}},
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						o.Data["json"] = oclib.NewRequest(collection, user, peerID, groups, nil).Search(filter, "", true)
 | 
				
			||||||
 | 
						o.ServeJSON()
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// @Title SearchScheduledDraftOrder
 | 
				
			||||||
 | 
					// @Description schedule workflow
 | 
				
			||||||
 | 
					// @Param	id		path 	string	true		"id execution"
 | 
				
			||||||
 | 
					// @Success 200 {workspace} models.workspace
 | 
				
			||||||
 | 
					// @router /:id/order [get]
 | 
				
			||||||
 | 
					func (o *WorkflowSchedulerController) SearchScheduledDraftOrder() {
 | 
				
			||||||
 | 
						user, peerID, groups := oclib.ExtractTokenInfo(*o.Ctx.Request)
 | 
				
			||||||
 | 
						id := o.Ctx.Input.Param(":id")
 | 
				
			||||||
 | 
						filter := &dbs.Filters{
 | 
				
			||||||
 | 
							And: map[string][]dbs.Filter{
 | 
				
			||||||
 | 
								"workflow_id": {{Operator: dbs.EQUAL.String(), Value: id}},
 | 
				
			||||||
 | 
								"order_by":    {{Operator: dbs.EQUAL.String(), Value: peerID}},
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						o.Data["json"] = oclib.NewRequest(orderCollection, user, peerID, groups, nil).Search(filter, "", true)
 | 
				
			||||||
 | 
						o.ServeJSON()
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -1,33 +0,0 @@
 | 
				
			|||||||
version: '3.4'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
services:
 | 
					 | 
				
			||||||
  mongo:
 | 
					 | 
				
			||||||
    image: 'mongo:latest'
 | 
					 | 
				
			||||||
    networks: 
 | 
					 | 
				
			||||||
      - catalog
 | 
					 | 
				
			||||||
    ports:
 | 
					 | 
				
			||||||
      - 27017:27017
 | 
					 | 
				
			||||||
    container_name: mongo
 | 
					 | 
				
			||||||
    volumes: 
 | 
					 | 
				
			||||||
      - oc-catalog-data:/data/db
 | 
					 | 
				
			||||||
      - oc-catalog-data:/data/configdb
 | 
					 | 
				
			||||||
  
 | 
					 | 
				
			||||||
  mongo-express:
 | 
					 | 
				
			||||||
    image: "mongo-express:latest"
 | 
					 | 
				
			||||||
    restart: always
 | 
					 | 
				
			||||||
    depends_on: 
 | 
					 | 
				
			||||||
      - mongo
 | 
					 | 
				
			||||||
    networks: 
 | 
					 | 
				
			||||||
      - catalog
 | 
					 | 
				
			||||||
    ports:
 | 
					 | 
				
			||||||
      - 8081:8081
 | 
					 | 
				
			||||||
    environment:
 | 
					 | 
				
			||||||
      - ME_CONFIG_BASICAUTH_USERNAME=test
 | 
					 | 
				
			||||||
      - ME_CONFIG_BASICAUTH_PASSWORD=test
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
volumes:
 | 
					 | 
				
			||||||
  oc-catalog-data:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
networks: 
 | 
					 | 
				
			||||||
  catalog:
 | 
					 | 
				
			||||||
    # name: catalog
 | 
					 | 
				
			||||||
@@ -8,16 +8,18 @@ services:
 | 
				
			|||||||
    labels:
 | 
					    labels:
 | 
				
			||||||
        - "traefik.enable=true"
 | 
					        - "traefik.enable=true"
 | 
				
			||||||
        - "traefik.http.routers.scheduler.entrypoints=web"
 | 
					        - "traefik.http.routers.scheduler.entrypoints=web"
 | 
				
			||||||
        - "traefik.http.middlewares.auth.forwardauth.address=http://oc-auth:8080/oc/forward"
 | 
					        - "traefik.http.routers.scheduler.rule=PathPrefix(`/scheduler`)"
 | 
				
			||||||
        - "traefik.http.routers.workflow.rule=PathPrefix(/scheduler)"
 | 
					        - "traefik.http.middlewares.scheduler-rewrite.replacepathregex.regex=^/scheduler(.*)"
 | 
				
			||||||
        - "traefik.http.routers.scheduler.tls=false"
 | 
					        - "traefik.http.middlewares.scheduler-rewrite.replacepathregex.replacement=/oc$$1"
 | 
				
			||||||
        - "traefik.http.routers.scheduler.middlewares=auth"
 | 
					        - "traefik.http.routers.scheduler.middlewares=scheduler-rewrite"
 | 
				
			||||||
 | 
					        - "traefik.http.services.scheduler.loadbalancer.server.port=8080"
 | 
				
			||||||
 | 
					        - "traefik.http.middlewares.scheduler.forwardauth.address=http://oc-auth:8080/oc/forward"
 | 
				
			||||||
    ports:
 | 
					    ports:
 | 
				
			||||||
      - 8090:8080
 | 
					      - 8090:8080
 | 
				
			||||||
    container_name: oc-scheduler
 | 
					    container_name: oc-scheduler
 | 
				
			||||||
    networks: 
 | 
					    networks: 
 | 
				
			||||||
      - catalog
 | 
					      - oc
 | 
				
			||||||
 | 
					
 | 
				
			||||||
networks: 
 | 
					networks: 
 | 
				
			||||||
  catalog:
 | 
					  oc:
 | 
				
			||||||
    external: true
 | 
					    external: true
 | 
				
			||||||
@@ -1,5 +1,6 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
    "MONGO_URL":"mongodb://mongo:27017/", 
 | 
					    "MONGO_URL":"mongodb://mongo:27017/", 
 | 
				
			||||||
    "NATS_URL":"nats://nats:4222",
 | 
					    "NATS_URL":"nats://nats:4222",
 | 
				
			||||||
    "MONGO_DATABASE":"DC_myDC"
 | 
					    "MONGO_DATABASE":"DC_myDC",
 | 
				
			||||||
 | 
					    "LOKI_URL": "http://loki:3100"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
							
								
								
									
										4
									
								
								env.env
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								env.env
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,4 @@
 | 
				
			|||||||
 | 
					KUBERNETES_SERVICE_HOST=192.168.47.20
 | 
				
			||||||
 | 
					KUBE_CA="LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJkekNDQVIyZ0F3SUJBZ0lCQURBS0JnZ3Foa2pPUFFRREFqQWpNU0V3SHdZRFZRUUREQmhyTTNNdGMyVnkKZG1WeUxXTmhRREUzTWpNeE1USXdNell3SGhjTk1qUXdPREE0TVRBeE16VTJXaGNOTXpRd09EQTJNVEF4TXpVMgpXakFqTVNFd0h3WURWUVFEREJock0zTXRjMlZ5ZG1WeUxXTmhRREUzTWpNeE1USXdNell3V1RBVEJnY3Foa2pPClBRSUJCZ2dxaGtqT1BRTUJCd05DQUFTVlk3ZHZhNEdYTVdkMy9jMlhLN3JLYjlnWXgyNSthaEE0NmkyNVBkSFAKRktQL2UxSVMyWVF0dzNYZW1TTUQxaStZdzJSaVppNUQrSVZUamNtNHdhcnFvMEl3UURBT0JnTlZIUThCQWY4RQpCQU1DQXFRd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBZEJnTlZIUTRFRmdRVWtlUVJpNFJiODduME5yRnZaWjZHClc2SU55NnN3Q2dZSUtvWkl6ajBFQXdJRFNBQXdSUUlnRXA5ck04WmdNclRZSHYxZjNzOW5DZXZZeWVVa3lZUk4KWjUzazdoaytJS1FDSVFDbk05TnVGKzlTakIzNDFacGZ5ays2NEpWdkpSM3BhcmVaejdMd2lhNm9kdz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K"
 | 
				
			||||||
 | 
					KUBE_CERT="LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJrVENDQVRlZ0F3SUJBZ0lJWUxWNkFPQkdrU1F3Q2dZSUtvWkl6ajBFQXdJd0l6RWhNQjhHQTFVRUF3d1kKYXpOekxXTnNhV1Z1ZEMxallVQXhOekl6TVRFeU1ETTJNQjRYRFRJME1EZ3dPREV3TVRNMU5sb1hEVEkxTURndwpPREV3TVRNMU5sb3dNREVYTUJVR0ExVUVDaE1PYzNsemRHVnRPbTFoYzNSbGNuTXhGVEFUQmdOVkJBTVRESE41CmMzUmxiVHBoWkcxcGJqQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJGQ2Q1MFdPeWdlQ2syQzcKV2FrOWY4MVAvSkJieVRIajRWOXBsTEo0ck5HeHFtSjJOb2xROFYxdUx5RjBtOTQ2Nkc0RmRDQ2dqaXFVSk92Swp3NVRPNnd5alNEQkdNQTRHQTFVZER3RUIvd1FFQXdJRm9EQVRCZ05WSFNVRUREQUtCZ2dyQmdFRkJRY0RBakFmCkJnTlZIU01FR0RBV2dCVFJkOFI5cXVWK2pjeUVmL0ovT1hQSzMyS09XekFLQmdncWhrak9QUVFEQWdOSUFEQkYKQWlFQTArbThqTDBJVldvUTZ0dnB4cFo4NVlMalF1SmpwdXM0aDdnSXRxS3NmUVVDSUI2M2ZNdzFBMm5OVWU1TgpIUGZOcEQwSEtwcVN0Wnk4djIyVzliYlJUNklZCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJlRENDQVIyZ0F3SUJBZ0lCQURBS0JnZ3Foa2pPUFFRREFqQWpNU0V3SHdZRFZRUUREQmhyTTNNdFkyeHAKWlc1MExXTmhRREUzTWpNeE1USXdNell3SGhjTk1qUXdPREE0TVRBeE16VTJXaGNOTXpRd09EQTJNVEF4TXpVMgpXakFqTVNFd0h3WURWUVFEREJock0zTXRZMnhwWlc1MExXTmhRREUzTWpNeE1USXdNell3V1RBVEJnY3Foa2pPClBRSUJCZ2dxaGtqT1BRTUJCd05DQUFRc3hXWk9pbnIrcVp4TmFEQjVGMGsvTDF5cE01VHAxOFRaeU92ektJazQKRTFsZWVqUm9STW0zNmhPeVljbnN3d3JoNnhSUnBpMW5RdGhyMzg0S0Z6MlBvMEl3UURBT0JnTlZIUThCQWY4RQpCQU1DQXFRd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBZEJnTlZIUTRFRmdRVTBYZkVmYXJsZm8zTWhIL3lmemx6Cnl0OWlqbHN3Q2dZSUtvWkl6ajBFQXdJRFNRQXdSZ0loQUxJL2dNYnNMT3MvUUpJa3U2WHVpRVMwTEE2cEJHMXgKcnBlTnpGdlZOekZsQWlFQW1wdjBubjZqN3M0MVI0QzFNMEpSL0djNE53MHdldlFmZWdEVGF1R2p3cFk9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K"
 | 
				
			||||||
 | 
					KUBE_DATA="LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1IY0NBUUVFSU5ZS1BFb1dhd1NKUzJlRW5oWmlYMk5VZlY1ZlhKV2krSVNnV09TNFE5VTlvQW9HQ0NxR1NNNDkKQXdFSG9VUURRZ0FFVUozblJZN0tCNEtUWUx0WnFUMS96VS84a0Z2Sk1lUGhYMm1Vc25pczBiR3FZblkyaVZEeApYVzR2SVhTYjNqcm9iZ1YwSUtDT0twUWs2OHJEbE03ckRBPT0KLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQo="
 | 
				
			||||||
							
								
								
									
										48
									
								
								go.mod
									
									
									
									
									
								
							
							
						
						
									
										48
									
								
								go.mod
									
									
									
									
									
								
							@@ -1,14 +1,15 @@
 | 
				
			|||||||
module oc-scheduler
 | 
					module oc-scheduler
 | 
				
			||||||
 | 
					
 | 
				
			||||||
go 1.22.0
 | 
					go 1.23.0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
toolchain go1.22.4
 | 
					toolchain go1.24.0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
require (
 | 
					require (
 | 
				
			||||||
	cloud.o-forge.io/core/oc-lib v0.0.0-20250205160221-88b7cfe2fd0f
 | 
						cloud.o-forge.io/core/oc-lib v0.0.0-20250527100610-cd7ae788b16a
 | 
				
			||||||
	github.com/beego/beego/v2 v2.3.1
 | 
						github.com/beego/beego/v2 v2.3.8
 | 
				
			||||||
 | 
						github.com/google/uuid v1.6.0
 | 
				
			||||||
	github.com/smartystreets/goconvey v1.7.2
 | 
						github.com/smartystreets/goconvey v1.7.2
 | 
				
			||||||
	go.mongodb.org/mongo-driver v1.17.1
 | 
						go.mongodb.org/mongo-driver v1.17.3
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
require (
 | 
					require (
 | 
				
			||||||
@@ -16,46 +17,45 @@ require (
 | 
				
			|||||||
	github.com/biter777/countries v1.7.5 // indirect
 | 
						github.com/biter777/countries v1.7.5 // indirect
 | 
				
			||||||
	github.com/cespare/xxhash/v2 v2.3.0 // indirect
 | 
						github.com/cespare/xxhash/v2 v2.3.0 // indirect
 | 
				
			||||||
	github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
 | 
						github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
 | 
				
			||||||
	github.com/gabriel-vasile/mimetype v1.4.6 // indirect
 | 
						github.com/gabriel-vasile/mimetype v1.4.9 // indirect
 | 
				
			||||||
	github.com/go-playground/locales v0.14.1 // indirect
 | 
						github.com/go-playground/locales v0.14.1 // indirect
 | 
				
			||||||
	github.com/go-playground/universal-translator v0.18.1 // indirect
 | 
						github.com/go-playground/universal-translator v0.18.1 // indirect
 | 
				
			||||||
	github.com/go-playground/validator/v10 v10.22.1 // indirect
 | 
						github.com/go-playground/validator/v10 v10.26.0 // indirect
 | 
				
			||||||
	github.com/golang/snappy v0.0.4 // indirect
 | 
						github.com/golang/snappy v1.0.0 // indirect
 | 
				
			||||||
	github.com/google/uuid v1.6.0 // indirect
 | 
					 | 
				
			||||||
	github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 // indirect
 | 
						github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 // indirect
 | 
				
			||||||
	github.com/goraz/onion v0.1.3 // indirect
 | 
						github.com/goraz/onion v0.1.3 // indirect
 | 
				
			||||||
	github.com/hashicorp/golang-lru v1.0.2 // indirect
 | 
						github.com/hashicorp/golang-lru v1.0.2 // indirect
 | 
				
			||||||
	github.com/jtolds/gls v4.20.0+incompatible // indirect
 | 
						github.com/jtolds/gls v4.20.0+incompatible // indirect
 | 
				
			||||||
	github.com/klauspost/compress v1.17.11 // indirect
 | 
						github.com/klauspost/compress v1.18.0 // indirect
 | 
				
			||||||
	github.com/kr/text v0.2.0 // indirect
 | 
						github.com/kr/text v0.2.0 // indirect
 | 
				
			||||||
	github.com/leodido/go-urn v1.4.0 // indirect
 | 
						github.com/leodido/go-urn v1.4.0 // indirect
 | 
				
			||||||
	github.com/mattn/go-colorable v0.1.13 // indirect
 | 
						github.com/mattn/go-colorable v0.1.14 // indirect
 | 
				
			||||||
	github.com/mattn/go-isatty v0.0.20 // indirect
 | 
						github.com/mattn/go-isatty v0.0.20 // indirect
 | 
				
			||||||
	github.com/mitchellh/mapstructure v1.5.0 // indirect
 | 
						github.com/mitchellh/mapstructure v1.5.0 // indirect
 | 
				
			||||||
	github.com/montanaflynn/stats v0.7.1 // indirect
 | 
						github.com/montanaflynn/stats v0.7.1 // indirect
 | 
				
			||||||
	github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
 | 
						github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
 | 
				
			||||||
	github.com/nats-io/nats.go v1.37.0 // indirect
 | 
						github.com/nats-io/nats.go v1.42.0 // indirect
 | 
				
			||||||
	github.com/nats-io/nkeys v0.4.7 // indirect
 | 
						github.com/nats-io/nkeys v0.4.11 // indirect
 | 
				
			||||||
	github.com/nats-io/nuid v1.0.1 // indirect
 | 
						github.com/nats-io/nuid v1.0.1 // indirect
 | 
				
			||||||
	github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
 | 
						github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
 | 
				
			||||||
	github.com/prometheus/client_golang v1.20.5 // indirect
 | 
						github.com/prometheus/client_golang v1.22.0 // indirect
 | 
				
			||||||
	github.com/prometheus/client_model v0.6.1 // indirect
 | 
						github.com/prometheus/client_model v0.6.2 // indirect
 | 
				
			||||||
	github.com/prometheus/common v0.60.1 // indirect
 | 
						github.com/prometheus/common v0.64.0 // indirect
 | 
				
			||||||
	github.com/prometheus/procfs v0.15.1 // indirect
 | 
						github.com/prometheus/procfs v0.16.1 // indirect
 | 
				
			||||||
	github.com/robfig/cron v1.2.0 // indirect
 | 
						github.com/robfig/cron v1.2.0 // indirect
 | 
				
			||||||
	github.com/rogpeppe/go-internal v1.11.0 // indirect
 | 
						github.com/rogpeppe/go-internal v1.11.0 // indirect
 | 
				
			||||||
	github.com/rs/zerolog v1.33.0 // indirect
 | 
						github.com/rs/zerolog v1.34.0 // indirect
 | 
				
			||||||
	github.com/shiena/ansicolor v0.0.0-20230509054315-a9deabde6e02 // indirect
 | 
						github.com/shiena/ansicolor v0.0.0-20230509054315-a9deabde6e02 // indirect
 | 
				
			||||||
	github.com/smartystreets/assertions v1.2.0 // indirect
 | 
						github.com/smartystreets/assertions v1.2.0 // indirect
 | 
				
			||||||
	github.com/xdg-go/pbkdf2 v1.0.0 // indirect
 | 
						github.com/xdg-go/pbkdf2 v1.0.0 // indirect
 | 
				
			||||||
	github.com/xdg-go/scram v1.1.2 // indirect
 | 
						github.com/xdg-go/scram v1.1.2 // indirect
 | 
				
			||||||
	github.com/xdg-go/stringprep v1.0.4 // indirect
 | 
						github.com/xdg-go/stringprep v1.0.4 // indirect
 | 
				
			||||||
	github.com/youmark/pkcs8 v0.0.0-20240726163527-a2c0da244d78 // indirect
 | 
						github.com/youmark/pkcs8 v0.0.0-20240726163527-a2c0da244d78 // indirect
 | 
				
			||||||
	golang.org/x/crypto v0.28.0 // indirect
 | 
						golang.org/x/crypto v0.38.0 // indirect
 | 
				
			||||||
	golang.org/x/net v0.30.0 // indirect
 | 
						golang.org/x/net v0.40.0 // indirect
 | 
				
			||||||
	golang.org/x/sync v0.8.0 // indirect
 | 
						golang.org/x/sync v0.14.0 // indirect
 | 
				
			||||||
	golang.org/x/sys v0.26.0 // indirect
 | 
						golang.org/x/sys v0.33.0 // indirect
 | 
				
			||||||
	golang.org/x/text v0.19.0 // indirect
 | 
						golang.org/x/text v0.25.0 // indirect
 | 
				
			||||||
	google.golang.org/protobuf v1.35.1 // indirect
 | 
						google.golang.org/protobuf v1.36.6 // indirect
 | 
				
			||||||
	gopkg.in/yaml.v3 v3.0.1 // indirect
 | 
						gopkg.in/yaml.v3 v3.0.1 // indirect
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										457
									
								
								go.sum
									
									
									
									
									
								
							
							
						
						
									
										457
									
								
								go.sum
									
									
									
									
									
								
							@@ -1,241 +1,84 @@
 | 
				
			|||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20240904135449-4f0ab6a3760f h1:v9mw3uNg/DJswOvHooMu8/BMedA+vIXbma+8iUwsjUI=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250212130857-4833bcb7103e h1:a4eVChOa20MFCCnSZr72h3n8P6E5IZdePJhYizUDMZs=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20240904135449-4f0ab6a3760f/go.mod h1:FIJD0taWLJ5pjQLJ6sfE2KlTkvbmk5SMcyrxdjsaVz0=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250212130857-4833bcb7103e/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241002120813-a09a04e1a71e h1:77QHk5JSf0q13B/Ai3xjcsGSS7nX+9AfxcsYz5oDo/A=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250213093249-c53e25e69a7b h1:HAb2h0011mE3QrHdOwJCua5w0r/BDOFLNb/557ZAzL0=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241002120813-a09a04e1a71e/go.mod h1:t+zpCTVKVdHH/BImwtMYY2QIWLMXKgY4n/JhFm3Vpu8=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250213093249-c53e25e69a7b/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241015083538-9f5e6d60185a h1:2mBMc36WKh1/Dpomktx9dVXGxK0agFr7RdgvHTtyn2w=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250217072519-cafadec1469f h1:esLB0EAn8IuOChW35kcBrPaN80z4A4yYyz1mXT45GQo=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241015083538-9f5e6d60185a/go.mod h1:t+zpCTVKVdHH/BImwtMYY2QIWLMXKgY4n/JhFm3Vpu8=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250217072519-cafadec1469f/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241018065112-59a1b52242b3 h1:IH0kY/aDvaxQAYDHuxpG82vf40P4QygIxf7mAxm7epU=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250218080121-a098f0a672ee h1:UIGIiE+O5LUrP18C8nrZxN1v6Lmzfdlv8pvHnSLKJz8=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241018065112-59a1b52242b3/go.mod h1:t+zpCTVKVdHH/BImwtMYY2QIWLMXKgY4n/JhFm3Vpu8=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250218080121-a098f0a672ee/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241030091613-1a5521237800 h1:uZ4Qrxk/KEpOfDq8QHjZankW7aZGLlDYLoM3CZowlR8=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250218085355-6e6ed4ea2c64 h1:dANQHoMCyp3uioCHnUOpLFiG/UO+biyPUoSelDNJ814=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241030091613-1a5521237800/go.mod h1:t+zpCTVKVdHH/BImwtMYY2QIWLMXKgY4n/JhFm3Vpu8=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250218085355-6e6ed4ea2c64/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241030105814-5f05b73366ab h1:hYUf9xXpqhp9w0eBfOWVi7c17iWpN+FL2FbhsAkmQ2E=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250218092508-b771b5d25ee5 h1:EwoctMKdVG1PJHRcBcRKCxgdAxy+TV1T617vxIZwkio=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241030105814-5f05b73366ab/go.mod h1:t+zpCTVKVdHH/BImwtMYY2QIWLMXKgY4n/JhFm3Vpu8=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250218092508-b771b5d25ee5/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241107114600-4c0c75be9161 h1:so5V7C6kiJ9tpuxtgK/KcgjXQC2ythInAH8X2gohuaM=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250218101140-6bf058ab5ca4 h1:7om8VD4ZivHA2BKBwvqM98/a7D+MTwppd2FloNBg1Y4=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241107114600-4c0c75be9161/go.mod h1:ya7Q+zHhaKM+XF6sAJ+avqHEVzaMnFJQih2X3TlTlGo=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250218101140-6bf058ab5ca4/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241107122526-f3df1e42b9ba h1:MGd8N7bY1LWXMhAp7gibDNwMS2hsatLQ3rfayvy5rGs=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250218113916-04f7537066c1 h1:on0zLtHo1Jj6FvQ/wuJCc/sxfBfgrd2qTFknpDh3wQM=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241107122526-f3df1e42b9ba/go.mod h1:ya7Q+zHhaKM+XF6sAJ+avqHEVzaMnFJQih2X3TlTlGo=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250218113916-04f7537066c1/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241108104423-7fd44a55cb28 h1:jekSPkD/b59kJ9Bp/trBWnahkdd1FkX4csQOcSaZa8I=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250218115549-81d3406305c5 h1:DP/XYrxSOc5ORMGvVNqTvFjxLF4cymUW/d3HIZXKDEk=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241108104423-7fd44a55cb28/go.mod h1:ya7Q+zHhaKM+XF6sAJ+avqHEVzaMnFJQih2X3TlTlGo=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250218115549-81d3406305c5/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241112100147-bc79d54284be h1:m9doLiroKbG5rp2gHsw1FbPrRD+zed6V1jkkqW5Xe2g=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250218130229-7c30633bded0 h1:3EsRmeTz6OWHJETrPObctnGF8WgZtXHfwL2cjyHcfOk=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241112100147-bc79d54284be/go.mod h1:ya7Q+zHhaKM+XF6sAJ+avqHEVzaMnFJQih2X3TlTlGo=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250218130229-7c30633bded0/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241112104157-d6dba8e1f153 h1:VHOu4vvuxot5yH/0sUhjsfZtTe4+VSxT4Tww4BxYFZs=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250219075511-241c6a5a0861 h1:XqTFKSZ8hXGCJbuu/SBwakpftevg1AKV7hDI50cXNUg=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241112104157-d6dba8e1f153/go.mod h1:ya7Q+zHhaKM+XF6sAJ+avqHEVzaMnFJQih2X3TlTlGo=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250219075511-241c6a5a0861/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241112111730-b2a6ac19cbb5 h1:u96Yw+N6/ebKYI2p8mB6FWGpC4PMexwCLHgIyJIzdt0=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250219100312-b4a176667754 h1:7J5EUe/iNS6cT6KVDklpgGH7ak30iEFgWJDEPF6wik4=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241112111730-b2a6ac19cbb5/go.mod h1:ya7Q+zHhaKM+XF6sAJ+avqHEVzaMnFJQih2X3TlTlGo=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250219100312-b4a176667754/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241112114503-b5dba2458ad4 h1:JQZbu8E9Yv653/QikRBUqzakNDEVX4xfnoxn/EPvlws=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250219104152-3ecb0e9d960b h1:DhRqJdw2VePaYVlsh8OUA3zl+76Q0FWwGu+a+3aOf6s=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241112114503-b5dba2458ad4/go.mod h1:ya7Q+zHhaKM+XF6sAJ+avqHEVzaMnFJQih2X3TlTlGo=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250219104152-3ecb0e9d960b/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241112123618-6497e7dbdd51 h1:AlOfOFWKVC/lUpLfCbw/QeQ5Epax/bK+ltZSr5vzUe0=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250219142942-5111c9c8bec7 h1:fh6SzBPenzIxufIIzExtx4jEE4OhFposqn3EbHFr92Q=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241112123618-6497e7dbdd51/go.mod h1:ya7Q+zHhaKM+XF6sAJ+avqHEVzaMnFJQih2X3TlTlGo=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250219142942-5111c9c8bec7/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241112134441-8a21a7c803de h1:faiwXaNsohYkPILHr21la3j2lnSsr1crPBeTteo2zqE=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250430093940-64d154495167 h1:6s6wP7ymzT0NQUQKynFKn+kd9dxDBBN8xo5NTbv0ePY=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241112134441-8a21a7c803de/go.mod h1:ya7Q+zHhaKM+XF6sAJ+avqHEVzaMnFJQih2X3TlTlGo=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250430093940-64d154495167/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241112141026-06c3af5d4d61 h1:wAuOQAbv2uAie1QulHvbBzlZWMUE6hQ0kjhnP4OXFqQ=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250430103755-0de37348dbfd h1:hstHgXRtbPDJmTcFJm6dy+Pz0cTw327QsVHHnm6wh4E=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241112141026-06c3af5d4d61/go.mod h1:ya7Q+zHhaKM+XF6sAJ+avqHEVzaMnFJQih2X3TlTlGo=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250430103755-0de37348dbfd/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241120085309-08e9ee67fe96 h1:1f2m8148/bOY19urpgtgShmGPDMnnjRqcEczrkVDJBA=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250430104746-2a737ad559e4 h1:ecTLLicAOEoj8wnt8Dp0FGjTFOa7k2uaWV6xv1ZnKgc=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241120085309-08e9ee67fe96/go.mod h1:ya7Q+zHhaKM+XF6sAJ+avqHEVzaMnFJQih2X3TlTlGo=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250430104746-2a737ad559e4/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241120093920-b49685aa8223 h1:LX04VfuXWxi+Q0lKhBBd7tfyLO3R4y8um3srRVlMbSY=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250430105957-f026e30c6aa6 h1:BPvzk0PhttIGtVwcU/hrMUwLTqXLnhBqzG/vPbdXvxg=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241120093920-b49685aa8223/go.mod h1:ya7Q+zHhaKM+XF6sAJ+avqHEVzaMnFJQih2X3TlTlGo=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250430105957-f026e30c6aa6/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241120150854-57f18b224443 h1:cqlL4/EsqYlQ6luPBC4+6+gWNwQqWVV8DPD8O7F6yM8=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250507125431-1499def6ad86 h1:5fEKi8thVnDxbf2Ox6jP+Tn/GAH12sdP/+spTBz0pP8=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241120150854-57f18b224443/go.mod h1:ya7Q+zHhaKM+XF6sAJ+avqHEVzaMnFJQih2X3TlTlGo=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250507125431-1499def6ad86/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241120153807-3b77c0da8352 h1:xNYjEiB/nrvXLbLcjSDfNZEPSR38/LKcsQKP/oWg5HI=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250507161638-41ebcf150a2e h1:9fT+R4OWkESYNO7mmZSgjXB7Y28zf3D4E7v0PW1z89c=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241120153807-3b77c0da8352/go.mod h1:ya7Q+zHhaKM+XF6sAJ+avqHEVzaMnFJQih2X3TlTlGo=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250507161638-41ebcf150a2e/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241120160521-ac49d3324d7b h1:5prB7K0iM284VmYdoRaBMZIOEXq5S0YgTrSp4+SnZyo=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250521132502-0783395121ea h1:XcdUfx5wVjPLsfMsxQTgiidP6VCG1RxUZCvugToos50=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241120160521-ac49d3324d7b/go.mod h1:ya7Q+zHhaKM+XF6sAJ+avqHEVzaMnFJQih2X3TlTlGo=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250521132502-0783395121ea/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241121065159-d8fac883d260 h1:DSumHyw9XJQ/r+LjWa5GDkjS0ri/lFkU7oPr5vv8mws=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250521134437-f7e4e11705b6 h1:jvDED6HNFebkXHb1bTe6WpM1VtO6IL19lE0ZgIJxMdk=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241121065159-d8fac883d260/go.mod h1:ya7Q+zHhaKM+XF6sAJ+avqHEVzaMnFJQih2X3TlTlGo=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250521134437-f7e4e11705b6/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241121071546-e9b3a65a0ec6 h1:AdUkzaX63VF3fdloWyyWT1jLM4M1pkDLErAdHyVbsKU=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250521135547-e79e90980585 h1:c2hMnWbiXXIWpYVaHTZUbfUAI7Exk9zkArKCdNr1P5Y=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241121071546-e9b3a65a0ec6/go.mod h1:ya7Q+zHhaKM+XF6sAJ+avqHEVzaMnFJQih2X3TlTlGo=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250521135547-e79e90980585/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241121074503-15ca06aba883 h1:JdHJT8vuup4pJCC7rjiOe0/qD7at6400ml5zZHjEeUo=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250521140220-db09d2ea89b2 h1:TOv6XEJuUjEkpYrB+EM1BGx4fi4UjpBtybpFbAz0RLc=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241121074503-15ca06aba883/go.mod h1:ya7Q+zHhaKM+XF6sAJ+avqHEVzaMnFJQih2X3TlTlGo=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250521140220-db09d2ea89b2/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241202081145-cb21db672bb5 h1:qxXC6fkEa8bLTo0qn3VrB55tfxyjHQQa/0n97piJhNI=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250521140810-d4139fa270ff h1:wUQ/EHoSBwwo6wZpLdLH5D3X7Aq+hcWYvNExvGFd9CA=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241202081145-cb21db672bb5/go.mod h1:2IevepXviessA6m67fB6ZJhZSeEeoOYWbVqPS4dzkbg=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250521140810-d4139fa270ff/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241202121923-2ec6899a1865 h1:BhGzhy6gsEA7vthuq6KWyABsRuF4KV5NqOvfkygytGg=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250526152209-522c66653b82 h1:bO6OyJcpykdDyEQMH8tPre+UJrJENrVHi1Gv1NYFk9M=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241202121923-2ec6899a1865/go.mod h1:2IevepXviessA6m67fB6ZJhZSeEeoOYWbVqPS4dzkbg=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250526152209-522c66653b82/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241202134851-9a2ed2351d7e h1:3U5JBdQRti2OpALLPhev6lkUi1TlYHgo2ADidOAfEAs=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250526155545-370dac201b43 h1:Iy5lXHO71fOJtU2qmD0Dw5+rWknjZ3UK2I+PBtgsp5w=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241202134851-9a2ed2351d7e/go.mod h1:2IevepXviessA6m67fB6ZJhZSeEeoOYWbVqPS4dzkbg=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250526155545-370dac201b43/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241202152644-e2ddd7e4e6f9 h1:qUA6T5Pjq/pv6dZYH4PWktXmFiRnloDX84m1U5NhvLM=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250526163056-58dc579255f0 h1:yohVOTpCzrniiu7cCEI9FofuiLIxKHYXkvghnYt129U=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241202152644-e2ddd7e4e6f9/go.mod h1:2IevepXviessA6m67fB6ZJhZSeEeoOYWbVqPS4dzkbg=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250526163056-58dc579255f0/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241202155908-599a6144803e h1:3xGLiTDTgWHIIPDZyTo/clMIj+gQxnIDSE78s9/0wNE=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250526170517-1ade41aeae84 h1:0vdmLXMZAqJObXAWCw4MPLvXl9h9+Ko+Oj4Em+dwmpE=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241202155908-599a6144803e/go.mod h1:2IevepXviessA6m67fB6ZJhZSeEeoOYWbVqPS4dzkbg=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250526170517-1ade41aeae84/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241203073336-6042d47700fd h1:iDryCORnODgAvBe1Yi+RnIGjYgUSkAv7ZCnm+CUV18w=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250526171639-7223b79fe8ce h1:n6uKUEjwJvnGCg5cd9s3RKZnyOTe9vnVEmXq5U0uk4s=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241203073336-6042d47700fd/go.mod h1:2IevepXviessA6m67fB6ZJhZSeEeoOYWbVqPS4dzkbg=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250526171639-7223b79fe8ce/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241203082527-2924ccd23b5c h1:3ghuxLEI3JXicDYoFx4YnkLauLl0Nq9UErjpL/2SqEU=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250526172128-527e62277416 h1:Sl+bJBNKUIFe9YzBDi38VDHl+qOqTNesEveZ3yAu3Xc=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241203082527-2924ccd23b5c/go.mod h1:2IevepXviessA6m67fB6ZJhZSeEeoOYWbVqPS4dzkbg=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250526172128-527e62277416/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241203090110-471e0c9d9b48 h1:kVTpROPipS4YtROH9vAGZw21OMLNR48qbYedCngGThw=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250527075141-901622fee0e1 h1:gQFEc64XUrC0EcDRKyjtTIVtkbp0chciy1qbjoYoAX8=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241203090110-471e0c9d9b48/go.mod h1:2IevepXviessA6m67fB6ZJhZSeEeoOYWbVqPS4dzkbg=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250527075141-901622fee0e1/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241203095728-ea55c94c7328 h1:7iK2HzMm0EEEF60ajUVT/6jwqIirduww5Xa3191XS4I=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250527090835-fec23b4acdc5 h1:HTPXzRfwQ2nAKM24DjCkF8nAbwTwNRE0LrrBKnpXhvo=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241203095728-ea55c94c7328/go.mod h1:2IevepXviessA6m67fB6ZJhZSeEeoOYWbVqPS4dzkbg=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250527090835-fec23b4acdc5/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241203105751-4b88da8ff66d h1:iIo+AMQ09MshkKKN8K8pd1ooLaigAYlnUUnQAaCidLo=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250527091710-5ab3eb8a386f h1:OfiXyMaxkuiOR0UldE3Vu777w+kFE/d51W/hj0L1kxI=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241203105751-4b88da8ff66d/go.mod h1:2IevepXviessA6m67fB6ZJhZSeEeoOYWbVqPS4dzkbg=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250527091710-5ab3eb8a386f/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241203115141-6681c455d8e0 h1:RnHCONn0oYbEaTN1wDIeOAEM12cCZQRtvjBCVCb0b1Y=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250527093444-66fc3c5b3554 h1:WyNAXluNc6ZtehAqX9iRovPuLitr3yEDraFx4UxKuQ8=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241203115141-6681c455d8e0/go.mod h1:2IevepXviessA6m67fB6ZJhZSeEeoOYWbVqPS4dzkbg=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250527093444-66fc3c5b3554/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241204103308-fd01f535a131 h1:FdUY8b8xTdVzQ9wlphlo8TlbQif76V9oxGDYq26TsAs=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250527095855-0d96cc53bf89 h1:uBZWDylRxGXPv9XUoOAIslXfjPUCDcMWBKDOkEu4D8k=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241204103308-fd01f535a131/go.mod h1:2IevepXviessA6m67fB6ZJhZSeEeoOYWbVqPS4dzkbg=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250527095855-0d96cc53bf89/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241204111455-1fcbc7c08ab0 h1:cBr4m2tcLf+dZufrjYvhvcsSqXcRDeyhnq5c5HY15po=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250527100610-cd7ae788b16a h1:uzoeUwAPfnoTPmRk/YeD0LhXBqJ98RnJqDp47jBIY3g=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241204111455-1fcbc7c08ab0/go.mod h1:2IevepXviessA6m67fB6ZJhZSeEeoOYWbVqPS4dzkbg=
 | 
					cloud.o-forge.io/core/oc-lib v0.0.0-20250527100610-cd7ae788b16a/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241205082103-fbbce7817b73 h1:g96KMOxdhvM7x6YFqJfd08wybRzCLEvol7HfhKJfxO4=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20241205082103-fbbce7817b73/go.mod h1:2IevepXviessA6m67fB6ZJhZSeEeoOYWbVqPS4dzkbg=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250110164331-5255ffc2f728 h1:3p1G82xZmEAu2OEyY5HM42Cfbb1J887P9lSoRKNhgg8=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250110164331-5255ffc2f728/go.mod h1:2IevepXviessA6m67fB6ZJhZSeEeoOYWbVqPS4dzkbg=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250113102407-21a7ff90104a h1:rrLSuAHI/TGOTm5d7Bffu+qf4EnmPguOll5x5nG/3Tc=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250113102407-21a7ff90104a/go.mod h1:VgWEn23ddKySWXrwPMhqtiBjTJnbm5t7yWjzfvNxbbI=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250113114256-11905339bb24 h1:Kc51xKbnyfeafHpOJP7mWh9InNGqZUwcJR46008D+Eg=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250113114256-11905339bb24/go.mod h1:VgWEn23ddKySWXrwPMhqtiBjTJnbm5t7yWjzfvNxbbI=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250113124812-6e5c87379649 h1:dmtrmNDdTR/2R3HjaIbPdu5LZViPzigwSjU207NXCxI=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250113124812-6e5c87379649/go.mod h1:VgWEn23ddKySWXrwPMhqtiBjTJnbm5t7yWjzfvNxbbI=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250113135241-a0f436b3e162 h1:oGP40P/uUngU7stnsRdx0jwxZGc+pzLzrMlUjEBSy0M=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250113135241-a0f436b3e162/go.mod h1:VgWEn23ddKySWXrwPMhqtiBjTJnbm5t7yWjzfvNxbbI=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250114071722-1c32cd2d12df h1:T52jgXQddoxwe+embR26Fwmz4G2jkl4QpYVHGtiLUNI=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250114071722-1c32cd2d12df/go.mod h1:VgWEn23ddKySWXrwPMhqtiBjTJnbm5t7yWjzfvNxbbI=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250114081637-918006302bb4 h1:AwCbDHjvUz9iQaF7hgYWyabVF/EzSSSk5bCNgntNJ6c=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250114081637-918006302bb4/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250114105339-b782248da741 h1:akAQLlcAXDtUhbNHbona9xJrHCzK9jxlvsDsEpVP1fg=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250114105339-b782248da741/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250114135055-1a4694c8913a h1:AxnecA1YKOZ81OKb1akK2Qc/0UNDUxdjSww7ALyehas=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250114135055-1a4694c8913a/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250115082026-ad69c0495144 h1:MZ90rw4SKL0dqL/Lb+7E54vkk9fb8W6X0UJo9UW/XBk=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250115082026-ad69c0495144/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250115095644-be3803039583 h1:6My1sqjvqgHnC4TlE7RsZQHC8AVhad0gZl8uOvLTM9o=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250115095644-be3803039583/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250115102820-0e0540af43d0 h1:AcHC2WIeHOSjz5xe7OsjMi39EevxdY2O/9q0VMkDRz0=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250115102820-0e0540af43d0/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250116091455-68f418928395 h1:u4myLPGqBbzprWHg6713k5a++4yiq1ujlVy7yrMkZ9g=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250116091455-68f418928395/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250116142544-a4a249bab828 h1:yMDBDTs7LECyueUfh0iug502GN8GodVpQSl/gZchUjU=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250116142544-a4a249bab828/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250117081640-450fab437cb7 h1:SV9U48sR09cNRl48489lQHrrKJFtTMQoQcRhmtsLTYQ=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250117081640-450fab437cb7/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250117090737-b990fe42d375 h1:UsPWfbVgvUcOC3BtD8B9dUQfv/FnRF4IZGrYxUJr1iM=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250117090737-b990fe42d375/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250117100508-d44fb976e4ff h1:GaLrVn6ame6BV7pfUB2xeHCCJLBECRiCCpPj6zteL+s=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250117100508-d44fb976e4ff/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250117121920-ed787683f47b h1:3wap+dPPplJkDglE5toKfdFUmjobAeIJWdiRtCQ3xkQ=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250117121920-ed787683f47b/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250117124801-e5c7dbe4cb96 h1:opQ/Uku27DOKAqDcKC9k6J9H5Tj9bNyKdHnJnD3U850=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250117124801-e5c7dbe4cb96/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250117135417-c63a1fef6c48 h1:dEebv8ZV5rt6BYPkcK6HOts+OPqkSxkKp5zn1lCq1vs=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250117135417-c63a1fef6c48/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250117152246-b85ca8674b27 h1:QEIj90eIoYsjs1uekbI3Nu48KDWmzGV7ugcr9agJbYI=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250117152246-b85ca8674b27/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250120123706-58b36f282344 h1:MPt8BhrbMJiMa4KDWqBUvdrlone7UxgIgZ5PW4du0Ek=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250120123706-58b36f282344/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250120124939-67b8215adf79 h1:9Y+KJlzy5jHhrd4b44pNEBjSJKnIyvlSQ5Mbj1zcXbA=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250120124939-67b8215adf79/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250120143509-305f2605030d h1:f1tpLADIAbwTKxN62csH+v2Fe0q1eQ7dYIDhPl1GZ8I=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250120143509-305f2605030d/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250121080257-de585a723426 h1:49cuCsDsBE6ZrvqMh6d48ZynpPyEpkw1LtC0nMQnvEU=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250121080257-de585a723426/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250121083541-0d83885b9b5e h1:yh2tiTxuQbrdgCePREyMewPr8Btdacpw6vo7ymmqf7Y=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250121083541-0d83885b9b5e/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250121101118-bc12fb53be23 h1:oOSJA8w33aJ2TlMRuR7bU/rme/IYSBcVjrb6gE/jwSw=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250121101118-bc12fb53be23/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250121105544-bf5a16f41bea h1:X9YiXv2GSLT6jotS3C/JvvdYBLtxgKI8OV60ndJzjXk=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250121105544-bf5a16f41bea/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250121131007-745bb58c593e h1:rHbooeLrsMvIYj5nHc3MK8NVEh9v5edFBCkOxeRoYjs=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250121131007-745bb58c593e/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250121160438-67ebeca1f489 h1:XwPLFaKjP0o6ZuKnj5aDJ9hIBlX8giNS9BB78uIH0g0=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250121160438-67ebeca1f489/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250122080653-67940296d255 h1:VFlxjrbks8pDzoZ40lnyHD5qVyEMAIfEAmY2w4wBAE8=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250122080653-67940296d255/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250122090736-8ab313e6cbd8 h1:u7Rt0tQMCzylFPyMcO5uNQ8041K80cM0BQNbBDbjAj0=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250122090736-8ab313e6cbd8/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250122101635-2a93b17d71d8 h1:AvthXY1/mrB4aeQpoj84ewVCdIYYemwn9WydYJ+9hyw=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250122101635-2a93b17d71d8/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250122110438-062c1afe8568 h1:pk7Gqa1yEwl5ASc9wJNjxJ+1XfTXYSwDvsxB3KOHWoo=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250122110438-062c1afe8568/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250122121814-ed1e76105250 h1:TwCz7oXB7diECiM/kadwDZ78iM8E8ka2ShKs/PzdszA=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250122121814-ed1e76105250/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250122135342-4be954a6f359 h1:x5dGOGYgdDhSeYtAkWeNlWQLU24yv8BUpwx1Idc9+ME=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250122135342-4be954a6f359/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250122140340-9c71730d9cb7 h1:oAkv9IOuiP71VO/plOkPHaPk9X3ELfnGdSz2cctLnGw=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250122140340-9c71730d9cb7/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250122153005-0e798dac5081 h1:P/WDRzkAJHhPuZZbU2VmVqSJ6AcMN/ia/pPZ60MpRfo=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250122153005-0e798dac5081/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250123074822-df04133551e4 h1:ayV2U6VUUJXdBE2AGuRuwTKr7WqIycmVgEMv8v/KlGU=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250123074822-df04133551e4/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250123082727-8cba10c4fe29 h1:zt0AA0GddWtbgupsvFvNAozrGMP0FISHnjSmsp3Ihgc=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250123082727-8cba10c4fe29/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250123094950-d15fdac27bde h1:Yjr0WPiR3dMg+H8EIO4GzqohRZBvGh/h4ysx5n8wCZw=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250123094950-d15fdac27bde/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250123103535-2205ac9b5819 h1:y/opEsKeo7G5Os2RWd7zF5i5DU4neDLt6fUq2hSW66U=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250123103535-2205ac9b5819/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250123114959-49e495f062eb h1:9FDB2xUhO+PFkb1mhNq+vItyfW/Jb0KjBRDEDPqPcno=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250123114959-49e495f062eb/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250123134717-db6049bab345 h1:OW5TLnNhNxJCkhMXUy5d9VSOgEGNFc9+uA3thyPuRA4=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250123134717-db6049bab345/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250123140834-c1888f89218f h1:iNqXYlnTh4nnfuVN/NObIJO5g9Mu3Mi9yFGmNFwO1Jk=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250123140834-c1888f89218f/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250124095557-97d466818af0 h1:v8Fj897AF5l8icSm2FE0E2tkl96eJI43Zr4UHIUkL6Y=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250124095557-97d466818af0/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250127080547-fbb55e64dcf4 h1:s6+5sTIeR86N+9oK3uXItlP0L1SgKCwMNQFU6LERDU4=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250127080547-fbb55e64dcf4/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250127083756-68bacf5da410 h1:b+dzulgEl+a7BudsqCkgBg/1aEqo8/1WpGs+WGZHznE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250127083756-68bacf5da410/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250127110938-1ad9ce09cb35 h1:PWlFiCaAHTUDuwOf84hA4BDivEA3FU+DDH7dBg9IPho=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250127110938-1ad9ce09cb35/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250127131512-7ca360be6aa4 h1:8y8I+hmSuUPV2dt/qw6d2TY/YRLXvZp0zE9iSwR3qv4=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250127131512-7ca360be6aa4/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250127134257-8b03df7923bd h1:eylhA0MziFMzY+kfXy2tnZEHDWIXCh/kPDLyBG2OC5E=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250127134257-8b03df7923bd/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250127150345-db85d1a48b73 h1:SNwsmEyaHrnoN7/IBathlA/HI/y4D2IBJjZEdtUC7Ew=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250127150345-db85d1a48b73/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250128131916-598774b0b197 h1:tAi5pznkPDjCFO81EhvS8Djx1e7iz4D2e72lxegRVmQ=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250128131916-598774b0b197/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250129073743-74a1f66d26c2 h1:ScjLqkn82u+on8CXnfgi52UZqddR879WlUtiq9qQOdo=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250129073743-74a1f66d26c2/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250129100135-330768490a61 h1:afATt4OzRndXApO1Xqn9PeKohW5G2nhqvptZkE2pML8=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250129100135-330768490a61/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250129133324-ede2d5fd5322 h1:d0/n7kJZNG6QKdI5ySqYGe3nYYOKmko76ysjlZA30Dk=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250129133324-ede2d5fd5322/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250129143004-df2c38199cf0 h1:8cIJxCeVHbefpa7oBZPeFUAa7Mmtiw93Z1xMa9Qf/wk=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250129143004-df2c38199cf0/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250129154925-84d20c52fa1c h1:6+KdDssQyPZSCmtiBrlygHIAt2yhewx3rz/SPEfsYnI=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250129154925-84d20c52fa1c/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250130072403-826d7586b127 h1:wYLo29accEk0anP8eLjBKbDyYGLFKg4Qp41NvCb2JsQ=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250130072403-826d7586b127/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250130084513-787c01b4be1c h1:3TEloYSf4k1o9tkEo5T3sES+qZcJBsdR82o+T81SC3A=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250130084513-787c01b4be1c/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250130101134-107ce2580128 h1:AElHp4SeiVmMiyCta9r8JOpSYMAS0To/fLK6eaBz1PU=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250130101134-107ce2580128/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250130130847-976a5cedcb5f h1:0buFXek+V4E4rIGBEygLXpw34I50yAGqTIAOyTgZwsA=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250130130847-976a5cedcb5f/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250131073800-3ec0d554edad h1:Ey6yORB8TOa+PkMpNhH0tayZuZ6FwyJ59vZM4BRGHnY=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250131073800-3ec0d554edad/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250131082340-892bd93471aa h1:53a/yqBAVkNpeAaCqxHx3FWC0wV5XK/dhooR3f0Kp8g=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250131082340-892bd93471aa/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250131100142-b2113bff62fa h1:S7nsqFotIeXSPJqipNW6wB3VsfYhFrWcZIR8mX6aJg0=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250131100142-b2113bff62fa/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250131110730-a2f2d0ebef72 h1:0EUj84bzUWvaH8egQkjH1xQ+HoyX9EZqtokNosYywgU=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250131110730-a2f2d0ebef72/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250131153610-6807614ac86b h1:/SjZVsLeH8sXopUeR3xB7wygJvIyA2V2uS+GsfPFysE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250131153610-6807614ac86b/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250203105249-64bea2a66e35 h1:5Zkm2tPQ60l2oMdrf3/uC1mWOCU+ti77d0k9y/AW1z8=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250203105249-64bea2a66e35/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250203113830-275bd56fe64c h1:4EW1OEHuRjH9B3LhQEvOLp3qPxnU4kDBwgKzy7KNlS4=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250203113830-275bd56fe64c/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250203124514-14977c7b2c39 h1:XW7Hny4W/2ClAZR2Wi9KRvLTH/pjmwpgXiwM+fDsy50=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250203124514-14977c7b2c39/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250203143322-22d15fe395e8 h1:OWBLh52Ee4Txs0PY4bMlfRbaTbfNNR/ndj2J+RGrR6k=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250203143322-22d15fe395e8/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250204080055-bf114b39b7d5 h1:rsOMNER+ZIIt/as3bOU2lJe+MbCCR5x1iR/XyZYmuKU=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250204080055-bf114b39b7d5/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250204091410-2ccb57ffb050 h1:NdKJD+hbAyDaUfRkdtMUZLasR1d/BGyEfCvuozTso+Y=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250204091410-2ccb57ffb050/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250204110709-3061df4f13da h1:Mx3vR5r21H0zX+B0yaQOeOn3hvWJUrdy0DFLI+RAH1I=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250204110709-3061df4f13da/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250204134321-69bf9518661e h1:etAdc6jOnpm49RFs2Z8R7zzwfP/uGN6eQAmMGVqTEnc=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250204134321-69bf9518661e/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250204155113-a8e2445c103c h1:wNM/SweaGy+Wz4KV3+1wpLYgtDOSDK+WO6564TCGDjE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250204155113-a8e2445c103c/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250205154116-7201cabb438a h1:DAEI00i+r2MAlUqqRJfW5FiXsWppQW8y51kKRl39WFA=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250205154116-7201cabb438a/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250205160221-88b7cfe2fd0f h1:6V+Z81ywYoDYSVMnM4PVaJYXFgCN3xSG3ddiUPn4jL8=
 | 
					 | 
				
			||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20250205160221-88b7cfe2fd0f/go.mod h1:2roQbUpv3a6mTIr5oU1ux31WbN8YucyyQvCQ0FqwbcE=
 | 
					 | 
				
			||||||
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
 | 
					github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
 | 
				
			||||||
github.com/beego/beego/v2 v2.3.0 h1:iECVwzm6egw6iw6tkWrEDqXG4NQtKLQ6QBSYqlM6T/I=
 | 
					github.com/beego/beego/v2 v2.3.4 h1:HurQEOGIEhLlPFCTR6ZDuQkybrUl2Ag2i6CdVD2rGiI=
 | 
				
			||||||
github.com/beego/beego/v2 v2.3.0/go.mod h1:Ob/5BJ9fIKZLd4s9ZV3o9J6odkkIyL83et+p98gyYXo=
 | 
					github.com/beego/beego/v2 v2.3.4/go.mod h1:5cqHsOHJIxkq44tBpRvtDe59GuVRVv/9/tyVDxd5ce4=
 | 
				
			||||||
github.com/beego/beego/v2 v2.3.1 h1:7MUKMpJYzOXtCUsTEoXOxsDV/UcHw6CPbaWMlthVNsc=
 | 
					github.com/beego/beego/v2 v2.3.7 h1:z4btKtjU/rfp5BiYHkGD2QPjK9i1E9GH+I7vfhn6Agk=
 | 
				
			||||||
github.com/beego/beego/v2 v2.3.1/go.mod h1:5cqHsOHJIxkq44tBpRvtDe59GuVRVv/9/tyVDxd5ce4=
 | 
					github.com/beego/beego/v2 v2.3.7/go.mod h1:5cqHsOHJIxkq44tBpRvtDe59GuVRVv/9/tyVDxd5ce4=
 | 
				
			||||||
github.com/beego/beego/v2 v2.3.2/go.mod h1:5cqHsOHJIxkq44tBpRvtDe59GuVRVv/9/tyVDxd5ce4=
 | 
					github.com/beego/beego/v2 v2.3.8 h1:wplhB1pF4TxR+2SS4PUej8eDoH4xGfxuHfS7wAk9VBc=
 | 
				
			||||||
 | 
					github.com/beego/beego/v2 v2.3.8/go.mod h1:8vl9+RrXqvodrl9C8yivX1e6le6deCK6RWeq8R7gTTg=
 | 
				
			||||||
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
 | 
					github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
 | 
				
			||||||
github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
 | 
					github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
 | 
				
			||||||
github.com/biter777/countries v1.7.5 h1:MJ+n3+rSxWQdqVJU8eBy9RqcdH6ePPn4PJHocVWUa+Q=
 | 
					github.com/biter777/countries v1.7.5 h1:MJ+n3+rSxWQdqVJU8eBy9RqcdH6ePPn4PJHocVWUa+Q=
 | 
				
			||||||
@@ -254,23 +97,25 @@ github.com/elazarl/go-bindata-assetfs v1.0.1 h1:m0kkaHRKEu7tUIUFVwhGGGYClXvyl4RE
 | 
				
			|||||||
github.com/elazarl/go-bindata-assetfs v1.0.1/go.mod h1:v+YaWX3bdea5J/mo8dSETolEo7R71Vk1u8bnjau5yw4=
 | 
					github.com/elazarl/go-bindata-assetfs v1.0.1/go.mod h1:v+YaWX3bdea5J/mo8dSETolEo7R71Vk1u8bnjau5yw4=
 | 
				
			||||||
github.com/etcd-io/etcd v3.3.17+incompatible/go.mod h1:cdZ77EstHBwVtD6iTgzgvogwcjo9m4iOqoijouPJ4bs=
 | 
					github.com/etcd-io/etcd v3.3.17+incompatible/go.mod h1:cdZ77EstHBwVtD6iTgzgvogwcjo9m4iOqoijouPJ4bs=
 | 
				
			||||||
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
 | 
					github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
 | 
				
			||||||
github.com/gabriel-vasile/mimetype v1.4.5 h1:J7wGKdGu33ocBOhGy0z653k/lFKLFDPJMG8Gql0kxn4=
 | 
					github.com/gabriel-vasile/mimetype v1.4.8 h1:FfZ3gj38NjllZIeJAmMhr+qKL8Wu+nOoI3GqacKw1NM=
 | 
				
			||||||
github.com/gabriel-vasile/mimetype v1.4.5/go.mod h1:ibHel+/kbxn9x2407k1izTA1S81ku1z/DlgOW2QE0M4=
 | 
					github.com/gabriel-vasile/mimetype v1.4.8/go.mod h1:ByKUIKGjh1ODkGM1asKUbQZOLGrPjydw3hYPU2YU9t8=
 | 
				
			||||||
github.com/gabriel-vasile/mimetype v1.4.6 h1:3+PzJTKLkvgjeTbts6msPJt4DixhT4YtFNf1gtGe3zc=
 | 
					github.com/gabriel-vasile/mimetype v1.4.9 h1:5k+WDwEsD9eTLL8Tz3L0VnmVh9QxGjRmjBvAG7U/oYY=
 | 
				
			||||||
github.com/gabriel-vasile/mimetype v1.4.6/go.mod h1:JX1qVKqZd40hUPpAfiNTe0Sne7hdfKSbOqqmkq8GCXc=
 | 
					github.com/gabriel-vasile/mimetype v1.4.9/go.mod h1:WnSQhFKJuBlRyLiKohA/2DtIlPFAbguNaG7QCHcyGok=
 | 
				
			||||||
github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s=
 | 
					github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s=
 | 
				
			||||||
github.com/go-playground/assert/v2 v2.2.0/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4=
 | 
					github.com/go-playground/assert/v2 v2.2.0/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4=
 | 
				
			||||||
github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA=
 | 
					github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA=
 | 
				
			||||||
github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY=
 | 
					github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY=
 | 
				
			||||||
github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY=
 | 
					github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY=
 | 
				
			||||||
github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY=
 | 
					github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY=
 | 
				
			||||||
github.com/go-playground/validator/v10 v10.22.0 h1:k6HsTZ0sTnROkhS//R0O+55JgM8C4Bx7ia+JlgcnOao=
 | 
					github.com/go-playground/validator/v10 v10.24.0 h1:KHQckvo8G6hlWnrPX4NJJ+aBfWNAE/HH+qdL2cBpCmg=
 | 
				
			||||||
github.com/go-playground/validator/v10 v10.22.0/go.mod h1:dbuPbCMFw/DrkbEynArYaCwl3amGuJotoKCe95atGMM=
 | 
					github.com/go-playground/validator/v10 v10.24.0/go.mod h1:GGzBIJMuE98Ic/kJsBXbz1x/7cByt++cQ+YOuDM5wus=
 | 
				
			||||||
github.com/go-playground/validator/v10 v10.22.1 h1:40JcKH+bBNGFczGuoBYgX4I6m/i27HYW8P9FDk5PbgA=
 | 
					github.com/go-playground/validator/v10 v10.26.0 h1:SP05Nqhjcvz81uJaRfEV0YBSSSGMc/iMaVtFbr3Sw2k=
 | 
				
			||||||
github.com/go-playground/validator/v10 v10.22.1/go.mod h1:dbuPbCMFw/DrkbEynArYaCwl3amGuJotoKCe95atGMM=
 | 
					github.com/go-playground/validator/v10 v10.26.0/go.mod h1:I5QpIEbmr8On7W0TktmJAumgzX4CA1XNl4ZmDuVHKKo=
 | 
				
			||||||
github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
 | 
					github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
 | 
				
			||||||
github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM=
 | 
					github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM=
 | 
				
			||||||
github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
 | 
					github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
 | 
				
			||||||
 | 
					github.com/golang/snappy v1.0.0 h1:Oy607GVXHs7RtbggtPBnr2RmDArIsAefDwvrdWvRhGs=
 | 
				
			||||||
 | 
					github.com/golang/snappy v1.0.0/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
 | 
				
			||||||
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
 | 
					github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
 | 
				
			||||||
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
 | 
					github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
 | 
				
			||||||
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
 | 
					github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
 | 
				
			||||||
@@ -286,12 +131,10 @@ github.com/imdario/mergo v0.3.8/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJ
 | 
				
			|||||||
github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
 | 
					github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
 | 
				
			||||||
github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo=
 | 
					github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo=
 | 
				
			||||||
github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
 | 
					github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
 | 
				
			||||||
github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA=
 | 
					 | 
				
			||||||
github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw=
 | 
					 | 
				
			||||||
github.com/klauspost/compress v1.17.10 h1:oXAz+Vh0PMUvJczoi+flxpnBEPxoER1IaAnU/NMPtT0=
 | 
					 | 
				
			||||||
github.com/klauspost/compress v1.17.10/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0=
 | 
					 | 
				
			||||||
github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc=
 | 
					github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc=
 | 
				
			||||||
github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0=
 | 
					github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0=
 | 
				
			||||||
 | 
					github.com/klauspost/compress v1.18.0 h1:c/Cqfb0r+Yi+JtIEq73FWXVkRonBlf0CRNYc8Zttxdo=
 | 
				
			||||||
 | 
					github.com/klauspost/compress v1.18.0/go.mod h1:2Pp+KzxcywXVXMr50+X0Q/Lsb43OQHYWRCY2AiWywWQ=
 | 
				
			||||||
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
 | 
					github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
 | 
				
			||||||
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
 | 
					github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
 | 
				
			||||||
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
 | 
					github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
 | 
				
			||||||
@@ -301,10 +144,9 @@ github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+
 | 
				
			|||||||
github.com/leodido/go-urn v1.4.0 h1:WT9HwE9SGECu3lg4d/dIA+jxlljEa1/ffXKmRjqdmIQ=
 | 
					github.com/leodido/go-urn v1.4.0 h1:WT9HwE9SGECu3lg4d/dIA+jxlljEa1/ffXKmRjqdmIQ=
 | 
				
			||||||
github.com/leodido/go-urn v1.4.0/go.mod h1:bvxc+MVxLKB4z00jd1z+Dvzr47oO32F/QSNjSBOlFxI=
 | 
					github.com/leodido/go-urn v1.4.0/go.mod h1:bvxc+MVxLKB4z00jd1z+Dvzr47oO32F/QSNjSBOlFxI=
 | 
				
			||||||
github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
 | 
					github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
 | 
				
			||||||
github.com/marcinwyszynski/geopoint v0.0.0-20140302213024-cf2a6f750c5b h1:XBF8THPBy28s2ryI7+/Jf/847unLWxYMpJveX5Kox+0=
 | 
					 | 
				
			||||||
github.com/marcinwyszynski/geopoint v0.0.0-20140302213024-cf2a6f750c5b/go.mod h1:z1oqhOuuYpPHmUmAK2aNygKFlPdb4o3PppQnVTRFdrI=
 | 
					 | 
				
			||||||
github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
 | 
					 | 
				
			||||||
github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg=
 | 
					github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg=
 | 
				
			||||||
 | 
					github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE=
 | 
				
			||||||
 | 
					github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8=
 | 
				
			||||||
github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
 | 
					github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
 | 
				
			||||||
github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
 | 
					github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
 | 
				
			||||||
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
 | 
					github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
 | 
				
			||||||
@@ -320,10 +162,16 @@ github.com/montanaflynn/stats v0.7.1 h1:etflOAAHORrCC44V+aR6Ftzort912ZU+YLiSTuV8
 | 
				
			|||||||
github.com/montanaflynn/stats v0.7.1/go.mod h1:etXPPgVO6n31NxCd9KQUMvCM+ve0ruNzt6R8Bnaayow=
 | 
					github.com/montanaflynn/stats v0.7.1/go.mod h1:etXPPgVO6n31NxCd9KQUMvCM+ve0ruNzt6R8Bnaayow=
 | 
				
			||||||
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA=
 | 
					github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA=
 | 
				
			||||||
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
 | 
					github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
 | 
				
			||||||
github.com/nats-io/nats.go v1.37.0 h1:07rauXbVnnJvv1gfIyghFEo6lUcYRY0WXc3x7x0vUxE=
 | 
					github.com/nats-io/nats.go v1.39.0 h1:2/yg2JQjiYYKLwDuBzV0FbB2sIV+eFNkEevlRi4n9lI=
 | 
				
			||||||
github.com/nats-io/nats.go v1.37.0/go.mod h1:Ubdu4Nh9exXdSz0RVWRFBbRfrbSxOYd26oF0wkWclB8=
 | 
					github.com/nats-io/nats.go v1.39.0/go.mod h1:MgRb8oOdigA6cYpEPhXJuRVH6UE/V4jblJ2jQ27IXYM=
 | 
				
			||||||
github.com/nats-io/nkeys v0.4.7 h1:RwNJbbIdYCoClSDNY7QVKZlyb/wfT6ugvFCiKy6vDvI=
 | 
					github.com/nats-io/nats.go v1.41.2 h1:5UkfLAtu/036s99AhFRlyNDI1Ieylb36qbGjJzHixos=
 | 
				
			||||||
github.com/nats-io/nkeys v0.4.7/go.mod h1:kqXRgRDPlGy7nGaEDMuYzmiJCIAAWDK0IMBtDmGD0nc=
 | 
					github.com/nats-io/nats.go v1.41.2/go.mod h1:iRWIPokVIFbVijxuMQq4y9ttaBTMe0SFdlZfMDd+33g=
 | 
				
			||||||
 | 
					github.com/nats-io/nats.go v1.42.0 h1:ynIMupIOvf/ZWH/b2qda6WGKGNSjwOUutTpWRvAmhaM=
 | 
				
			||||||
 | 
					github.com/nats-io/nats.go v1.42.0/go.mod h1:iRWIPokVIFbVijxuMQq4y9ttaBTMe0SFdlZfMDd+33g=
 | 
				
			||||||
 | 
					github.com/nats-io/nkeys v0.4.10 h1:glmRrpCmYLHByYcePvnTBEAwawwapjCPMjy2huw20wc=
 | 
				
			||||||
 | 
					github.com/nats-io/nkeys v0.4.10/go.mod h1:OjRrnIKnWBFl+s4YK5ChQfvHP2fxqZexrKJoVVyWB3U=
 | 
				
			||||||
 | 
					github.com/nats-io/nkeys v0.4.11 h1:q44qGV008kYd9W1b1nEBkNzvnWxtRSQ7A8BoqRrcfa0=
 | 
				
			||||||
 | 
					github.com/nats-io/nkeys v0.4.11/go.mod h1:szDimtgmfOi9n25JpfIdGw12tZFYXqhGxjhVxsatHVE=
 | 
				
			||||||
github.com/nats-io/nuid v1.0.1 h1:5iA8DT8V7q8WK2EScv2padNa/rTESc1KdnPw4TC2paw=
 | 
					github.com/nats-io/nuid v1.0.1 h1:5iA8DT8V7q8WK2EScv2padNa/rTESc1KdnPw4TC2paw=
 | 
				
			||||||
github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c=
 | 
					github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c=
 | 
				
			||||||
github.com/ogier/pflag v0.0.1/go.mod h1:zkFki7tvTa0tafRvTBIZTvzYyAu6kQhPZFnshFFPE+g=
 | 
					github.com/ogier/pflag v0.0.1/go.mod h1:zkFki7tvTa0tafRvTBIZTvzYyAu6kQhPZFnshFFPE+g=
 | 
				
			||||||
@@ -332,29 +180,34 @@ github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINE
 | 
				
			|||||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
 | 
					github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
 | 
				
			||||||
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
 | 
					github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
 | 
				
			||||||
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
 | 
					github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
 | 
				
			||||||
github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg=
 | 
					 | 
				
			||||||
github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE=
 | 
					 | 
				
			||||||
github.com/prometheus/client_golang v1.20.5 h1:cxppBPuYhUnsO6yo/aoRol4L7q7UFfdm+bR9r+8l63Y=
 | 
					github.com/prometheus/client_golang v1.20.5 h1:cxppBPuYhUnsO6yo/aoRol4L7q7UFfdm+bR9r+8l63Y=
 | 
				
			||||||
github.com/prometheus/client_golang v1.20.5/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE=
 | 
					github.com/prometheus/client_golang v1.20.5/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE=
 | 
				
			||||||
 | 
					github.com/prometheus/client_golang v1.22.0 h1:rb93p9lokFEsctTys46VnV1kLCDpVZ0a/Y92Vm0Zc6Q=
 | 
				
			||||||
 | 
					github.com/prometheus/client_golang v1.22.0/go.mod h1:R7ljNsLXhuQXYZYtw6GAE9AZg8Y7vEW5scdCXrWRXC0=
 | 
				
			||||||
github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E=
 | 
					github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E=
 | 
				
			||||||
github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY=
 | 
					github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY=
 | 
				
			||||||
github.com/prometheus/common v0.58.0 h1:N+N8vY4/23r6iYfD3UQZUoJPnUYAo7v6LG5XZxjZTXo=
 | 
					github.com/prometheus/client_model v0.6.2 h1:oBsgwpGs7iVziMvrGhE53c/GrLUsZdHnqNwqPLxwZyk=
 | 
				
			||||||
github.com/prometheus/common v0.58.0/go.mod h1:GpWM7dewqmVYcd7SmRaiWVe9SSqjf0UrwnYnpEZNuT0=
 | 
					github.com/prometheus/client_model v0.6.2/go.mod h1:y3m2F6Gdpfy6Ut/GBsUqTWZqCUvMVzSfMLjcu6wAwpE=
 | 
				
			||||||
github.com/prometheus/common v0.60.0 h1:+V9PAREWNvJMAuJ1x1BaWl9dewMW4YrHZQbx0sJNllA=
 | 
					github.com/prometheus/common v0.62.0 h1:xasJaQlnWAeyHdUBeGjXmutelfJHWMRr+Fg4QszZ2Io=
 | 
				
			||||||
github.com/prometheus/common v0.60.0/go.mod h1:h0LYf1R1deLSKtD4Vdg8gy4RuOvENW2J/h19V5NADQw=
 | 
					github.com/prometheus/common v0.62.0/go.mod h1:vyBcEuLSvWos9B1+CyL7JZ2up+uFzXhkqml0W5zIY1I=
 | 
				
			||||||
github.com/prometheus/common v0.60.1 h1:FUas6GcOw66yB/73KC+BOZoFJmbo/1pojoILArPAaSc=
 | 
					github.com/prometheus/common v0.63.0 h1:YR/EIY1o3mEFP/kZCD7iDMnLPlGyuU2Gb3HIcXnA98k=
 | 
				
			||||||
github.com/prometheus/common v0.60.1/go.mod h1:h0LYf1R1deLSKtD4Vdg8gy4RuOvENW2J/h19V5NADQw=
 | 
					github.com/prometheus/common v0.63.0/go.mod h1:VVFF/fBIoToEnWRVkYoXEkq3R3paCoxG9PXP74SnV18=
 | 
				
			||||||
 | 
					github.com/prometheus/common v0.64.0 h1:pdZeA+g617P7oGv1CzdTzyeShxAGrTBsolKNOLQPGO4=
 | 
				
			||||||
 | 
					github.com/prometheus/common v0.64.0/go.mod h1:0gZns+BLRQ3V6NdaerOhMbwwRbNh9hkGINtQAsP5GS8=
 | 
				
			||||||
github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc=
 | 
					github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc=
 | 
				
			||||||
github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk=
 | 
					github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk=
 | 
				
			||||||
 | 
					github.com/prometheus/procfs v0.16.1 h1:hZ15bTNuirocR6u0JZ6BAHHmwS1p8B4P6MRqxtzMyRg=
 | 
				
			||||||
 | 
					github.com/prometheus/procfs v0.16.1/go.mod h1:teAbpZRB1iIAJYREa1LsoWUXykVXA1KlTmWl8x/U+Is=
 | 
				
			||||||
github.com/robfig/cron v1.2.0 h1:ZjScXvvxeQ63Dbyxy76Fj3AT3Ut0aKsyd2/tl3DTMuQ=
 | 
					github.com/robfig/cron v1.2.0 h1:ZjScXvvxeQ63Dbyxy76Fj3AT3Ut0aKsyd2/tl3DTMuQ=
 | 
				
			||||||
github.com/robfig/cron v1.2.0/go.mod h1:JGuDeoQd7Z6yL4zQhZ3OPEVHB7fL6Ka6skscFHfmt2k=
 | 
					github.com/robfig/cron v1.2.0/go.mod h1:JGuDeoQd7Z6yL4zQhZ3OPEVHB7fL6Ka6skscFHfmt2k=
 | 
				
			||||||
github.com/robfig/cron/v3 v3.0.1 h1:WdRxkvbJztn8LMz/QEvLN5sBU+xKpSqwwUO1Pjr4qDs=
 | 
					 | 
				
			||||||
github.com/robfig/cron/v3 v3.0.1/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzGIFLtro=
 | 
					 | 
				
			||||||
github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M=
 | 
					github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M=
 | 
				
			||||||
github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA=
 | 
					github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA=
 | 
				
			||||||
github.com/rs/xid v1.5.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg=
 | 
					github.com/rs/xid v1.5.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg=
 | 
				
			||||||
 | 
					github.com/rs/xid v1.6.0/go.mod h1:7XoLgs4eV+QndskICGsho+ADou8ySMSjJKDIan90Nz0=
 | 
				
			||||||
github.com/rs/zerolog v1.33.0 h1:1cU2KZkvPxNyfgEmhHAz/1A9Bz+llsdYzklWFzgp0r8=
 | 
					github.com/rs/zerolog v1.33.0 h1:1cU2KZkvPxNyfgEmhHAz/1A9Bz+llsdYzklWFzgp0r8=
 | 
				
			||||||
github.com/rs/zerolog v1.33.0/go.mod h1:/7mN4D5sKwJLZQ2b/znpjC3/GQWY/xaDXUM0kKWRHss=
 | 
					github.com/rs/zerolog v1.33.0/go.mod h1:/7mN4D5sKwJLZQ2b/znpjC3/GQWY/xaDXUM0kKWRHss=
 | 
				
			||||||
 | 
					github.com/rs/zerolog v1.34.0 h1:k43nTLIwcTVQAncfCw4KZ2VY6ukYoZaBPNOE8txlOeY=
 | 
				
			||||||
 | 
					github.com/rs/zerolog v1.34.0/go.mod h1:bJsvje4Z08ROH4Nhs5iH600c3IkWhwp44iRc54W6wYQ=
 | 
				
			||||||
github.com/shiena/ansicolor v0.0.0-20230509054315-a9deabde6e02 h1:v9ezJDHA1XGxViAUSIoO/Id7Fl63u6d0YmsAm+/p2hs=
 | 
					github.com/shiena/ansicolor v0.0.0-20230509054315-a9deabde6e02 h1:v9ezJDHA1XGxViAUSIoO/Id7Fl63u6d0YmsAm+/p2hs=
 | 
				
			||||||
github.com/shiena/ansicolor v0.0.0-20230509054315-a9deabde6e02/go.mod h1:RF16/A3L0xSa0oSERcnhd8Pu3IXSDZSK2gmGIMsttFE=
 | 
					github.com/shiena/ansicolor v0.0.0-20230509054315-a9deabde6e02/go.mod h1:RF16/A3L0xSa0oSERcnhd8Pu3IXSDZSK2gmGIMsttFE=
 | 
				
			||||||
github.com/skarademir/naturalsort v0.0.0-20150715044055-69a5d87bef62/go.mod h1:oIdVclZaltY1Nf7OQUkg1/2jImBJ+ZfKZuDIRSwk3p0=
 | 
					github.com/skarademir/naturalsort v0.0.0-20150715044055-69a5d87bef62/go.mod h1:oIdVclZaltY1Nf7OQUkg1/2jImBJ+ZfKZuDIRSwk3p0=
 | 
				
			||||||
@@ -366,8 +219,8 @@ github.com/smartystreets/goconvey v1.7.2 h1:9RBaZCeXEQ3UselpuwUQHltGVXvdwm6cv1hg
 | 
				
			|||||||
github.com/smartystreets/goconvey v1.7.2/go.mod h1:Vw0tHAZW6lzCRk3xgdin6fKYcG+G3Pg9vgXWeJpQFMM=
 | 
					github.com/smartystreets/goconvey v1.7.2/go.mod h1:Vw0tHAZW6lzCRk3xgdin6fKYcG+G3Pg9vgXWeJpQFMM=
 | 
				
			||||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
 | 
					github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
 | 
				
			||||||
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
 | 
					github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
 | 
				
			||||||
github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
 | 
					github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
 | 
				
			||||||
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
 | 
					github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
 | 
				
			||||||
github.com/xdg-go/pbkdf2 v1.0.0 h1:Su7DPu48wXMwC3bs7MCNG+z4FhcyEuz5dlvchbq0B0c=
 | 
					github.com/xdg-go/pbkdf2 v1.0.0 h1:Su7DPu48wXMwC3bs7MCNG+z4FhcyEuz5dlvchbq0B0c=
 | 
				
			||||||
github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI=
 | 
					github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI=
 | 
				
			||||||
github.com/xdg-go/scram v1.1.2 h1:FHX5I5B4i4hKRVRBCFRxq1iQRej7WO3hhBuJf+UUySY=
 | 
					github.com/xdg-go/scram v1.1.2 h1:FHX5I5B4i4hKRVRBCFRxq1iQRej7WO3hhBuJf+UUySY=
 | 
				
			||||||
@@ -377,35 +230,39 @@ github.com/xdg-go/stringprep v1.0.4/go.mod h1:mPGuuIYwz7CmR2bT9j4GbQqutWS1zV24gi
 | 
				
			|||||||
github.com/youmark/pkcs8 v0.0.0-20240726163527-a2c0da244d78 h1:ilQV1hzziu+LLM3zUTJ0trRztfwgjqKnBWNtSRkbmwM=
 | 
					github.com/youmark/pkcs8 v0.0.0-20240726163527-a2c0da244d78 h1:ilQV1hzziu+LLM3zUTJ0trRztfwgjqKnBWNtSRkbmwM=
 | 
				
			||||||
github.com/youmark/pkcs8 v0.0.0-20240726163527-a2c0da244d78/go.mod h1:aL8wCCfTfSfmXjznFBSZNN13rSJjlIOI1fUNAtF7rmI=
 | 
					github.com/youmark/pkcs8 v0.0.0-20240726163527-a2c0da244d78/go.mod h1:aL8wCCfTfSfmXjznFBSZNN13rSJjlIOI1fUNAtF7rmI=
 | 
				
			||||||
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
 | 
					github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
 | 
				
			||||||
go.mongodb.org/mongo-driver v1.16.1 h1:rIVLL3q0IHM39dvE+z2ulZLp9ENZKThVfuvN/IiN4l8=
 | 
					go.mongodb.org/mongo-driver v1.17.2 h1:gvZyk8352qSfzyZ2UMWcpDpMSGEr1eqE4T793SqyhzM=
 | 
				
			||||||
go.mongodb.org/mongo-driver v1.16.1/go.mod h1:oB6AhJQvFQL4LEHyXi6aJzQJtBiTQHiAd83l0GdFaiw=
 | 
					go.mongodb.org/mongo-driver v1.17.2/go.mod h1:Hy04i7O2kC4RS06ZrhPRqj/u4DTYkFDAAccj+rVKqgQ=
 | 
				
			||||||
go.mongodb.org/mongo-driver v1.17.1 h1:Wic5cJIwJgSpBhe3lx3+/RybR5PiYRMpVFgO7cOHyIM=
 | 
					go.mongodb.org/mongo-driver v1.17.3 h1:TQyXhnsWfWtgAhMtOgtYHMTkZIfBTpMTsMnd9ZBeHxQ=
 | 
				
			||||||
go.mongodb.org/mongo-driver v1.17.1/go.mod h1:wwWm/+BuOddhcq3n68LKRmgk2wXzmF6s0SFOa0GINL4=
 | 
					go.mongodb.org/mongo-driver v1.17.3/go.mod h1:Hy04i7O2kC4RS06ZrhPRqj/u4DTYkFDAAccj+rVKqgQ=
 | 
				
			||||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
 | 
					golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
 | 
				
			||||||
golang.org/x/crypto v0.0.0-20191112222119-e1110fd1c708/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
 | 
					golang.org/x/crypto v0.0.0-20191112222119-e1110fd1c708/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
 | 
				
			||||||
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
 | 
					golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
 | 
				
			||||||
golang.org/x/crypto v0.26.0 h1:RrRspgV4mU+YwB4FYnuBoKsUapNIL5cohGAmSH3azsw=
 | 
					golang.org/x/crypto v0.33.0 h1:IOBPskki6Lysi0lo9qQvbxiQ+FvsCC/YWOecCHAixus=
 | 
				
			||||||
golang.org/x/crypto v0.26.0/go.mod h1:GY7jblb9wI+FOo5y8/S2oY4zWP07AkOJ4+jxCqdqn54=
 | 
					golang.org/x/crypto v0.33.0/go.mod h1:bVdXmD7IV/4GdElGPozy6U7lWdRXA4qyRVGJV57uQ5M=
 | 
				
			||||||
golang.org/x/crypto v0.27.0 h1:GXm2NjJrPaiv/h1tb2UH8QfgC/hOf/+z0p6PT8o1w7A=
 | 
					golang.org/x/crypto v0.37.0 h1:kJNSjF/Xp7kU0iB2Z+9viTPMW4EqqsrywMXLJOOsXSE=
 | 
				
			||||||
golang.org/x/crypto v0.27.0/go.mod h1:1Xngt8kV6Dvbssa53Ziq6Eqn0HqbZi5Z6R0ZpwQzt70=
 | 
					golang.org/x/crypto v0.37.0/go.mod h1:vg+k43peMZ0pUMhYmVAWysMK35e6ioLh3wB8ZCAfbVc=
 | 
				
			||||||
golang.org/x/crypto v0.28.0 h1:GBDwsMXVQi34v5CCYUm2jkJvu4cbtru2U4TN2PSyQnw=
 | 
					golang.org/x/crypto v0.38.0 h1:jt+WWG8IZlBnVbomuhg2Mdq0+BBQaHbtqHEFEigjUV8=
 | 
				
			||||||
golang.org/x/crypto v0.28.0/go.mod h1:rmgy+3RHxRZMyY0jjAJShp2zgEdOqj2AO7U0pYmeQ7U=
 | 
					golang.org/x/crypto v0.38.0/go.mod h1:MvrbAqul58NNYPKnOra203SB9vpuZW0e+RRZV+Ggqjw=
 | 
				
			||||||
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
 | 
					golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
 | 
				
			||||||
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
 | 
					golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
 | 
				
			||||||
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
 | 
					golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
 | 
				
			||||||
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
 | 
					golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
 | 
				
			||||||
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
 | 
					golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
 | 
				
			||||||
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
 | 
					golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
 | 
				
			||||||
golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE=
 | 
					golang.org/x/net v0.35.0 h1:T5GQRQb2y08kTAByq9L4/bz8cipCdA8FbRTXewonqY8=
 | 
				
			||||||
golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg=
 | 
					golang.org/x/net v0.35.0/go.mod h1:EglIi67kWsHKlRzzVMUD93VMSWGFOMSZgxFjparz1Qk=
 | 
				
			||||||
golang.org/x/net v0.29.0 h1:5ORfpBpCs4HzDYoodCDBbwHzdR5UrLBZ3sOnUJmFoHo=
 | 
					golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY=
 | 
				
			||||||
golang.org/x/net v0.29.0/go.mod h1:gLkgy8jTGERgjzMic6DS9+SP0ajcu6Xu3Orq/SpETg0=
 | 
					golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E=
 | 
				
			||||||
golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4=
 | 
					golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY=
 | 
				
			||||||
golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU=
 | 
					golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds=
 | 
				
			||||||
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 | 
					golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 | 
				
			||||||
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 | 
					golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 | 
				
			||||||
golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ=
 | 
					golang.org/x/sync v0.11.0 h1:GGz8+XQP4FvTTrjZPzNKTMFtSXH80RAzG+5ghFPgK9w=
 | 
				
			||||||
golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
 | 
					golang.org/x/sync v0.11.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
 | 
				
			||||||
 | 
					golang.org/x/sync v0.13.0 h1:AauUjRAJ9OSnvULf/ARrrVywoJDy0YS2AwQ98I37610=
 | 
				
			||||||
 | 
					golang.org/x/sync v0.13.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
 | 
				
			||||||
 | 
					golang.org/x/sync v0.14.0 h1:woo0S4Yywslg6hp4eUFjTVOyKt0RookbpAHG4c1HmhQ=
 | 
				
			||||||
 | 
					golang.org/x/sync v0.14.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
 | 
				
			||||||
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 | 
					golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 | 
				
			||||||
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 | 
					golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 | 
				
			||||||
golang.org/x/sys v0.0.0-20191115151921-52ab43148777/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 | 
					golang.org/x/sys v0.0.0-20191115151921-52ab43148777/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 | 
				
			||||||
@@ -416,29 +273,33 @@ golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBc
 | 
				
			|||||||
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 | 
					golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 | 
				
			||||||
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 | 
					golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 | 
				
			||||||
golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 | 
					golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 | 
				
			||||||
golang.org/x/sys v0.25.0 h1:r+8e+loiHxRqhXVl6ML1nO3l1+oFoWbnlu2Ehimmi34=
 | 
					golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc=
 | 
				
			||||||
golang.org/x/sys v0.25.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
 | 
					golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
 | 
				
			||||||
golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo=
 | 
					golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20=
 | 
				
			||||||
golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
 | 
					golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
 | 
				
			||||||
 | 
					golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
 | 
				
			||||||
 | 
					golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
 | 
				
			||||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
 | 
					golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
 | 
				
			||||||
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
 | 
					golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
 | 
				
			||||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 | 
					golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 | 
				
			||||||
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
 | 
					golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
 | 
				
			||||||
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
 | 
					golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
 | 
				
			||||||
golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ=
 | 
					golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ=
 | 
				
			||||||
golang.org/x/text v0.18.0 h1:XvMDiNzPAl0jr17s6W9lcaIhGUfUORdGCNsuLmPG224=
 | 
					golang.org/x/text v0.22.0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM=
 | 
				
			||||||
golang.org/x/text v0.18.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
 | 
					golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY=
 | 
				
			||||||
golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM=
 | 
					golang.org/x/text v0.24.0 h1:dd5Bzh4yt5KYA8f9CJHCP4FB4D51c2c6JvN37xJJkJ0=
 | 
				
			||||||
golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
 | 
					golang.org/x/text v0.24.0/go.mod h1:L8rBsPeo2pSS+xqN0d5u2ikmjtmoJbDBT1b7nHvFCdU=
 | 
				
			||||||
 | 
					golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4=
 | 
				
			||||||
 | 
					golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA=
 | 
				
			||||||
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
 | 
					golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
 | 
				
			||||||
golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
 | 
					golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
 | 
				
			||||||
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
 | 
					golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
 | 
				
			||||||
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
 | 
					golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
 | 
				
			||||||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 | 
					golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 | 
				
			||||||
google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg=
 | 
					google.golang.org/protobuf v1.36.5 h1:tPhr+woSbjfYvY6/GPufUoYizxw1cF/yFoxJ2fmpwlM=
 | 
				
			||||||
google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw=
 | 
					google.golang.org/protobuf v1.36.5/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
 | 
				
			||||||
google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA=
 | 
					google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY=
 | 
				
			||||||
google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
 | 
					google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY=
 | 
				
			||||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 | 
					gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 | 
				
			||||||
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
 | 
					gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
 | 
				
			||||||
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
 | 
					gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										11
									
								
								main.go
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								main.go
									
									
									
									
									
								
							@@ -6,6 +6,7 @@ import (
 | 
				
			|||||||
	oclib "cloud.o-forge.io/core/oc-lib"
 | 
						oclib "cloud.o-forge.io/core/oc-lib"
 | 
				
			||||||
	"cloud.o-forge.io/core/oc-lib/tools"
 | 
						"cloud.o-forge.io/core/oc-lib/tools"
 | 
				
			||||||
	beego "github.com/beego/beego/v2/server/web"
 | 
						beego "github.com/beego/beego/v2/server/web"
 | 
				
			||||||
 | 
						"github.com/beego/beego/v2/server/web/filter/cors"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const appname = "oc-scheduler"
 | 
					const appname = "oc-scheduler"
 | 
				
			||||||
@@ -23,7 +24,7 @@ func main() {
 | 
				
			|||||||
		o.GetStringDefault("MONGO_URL", "mongodb://127.0.0.1:27017"),
 | 
							o.GetStringDefault("MONGO_URL", "mongodb://127.0.0.1:27017"),
 | 
				
			||||||
		o.GetStringDefault("MONGO_DATABASE", "DC_myDC"),
 | 
							o.GetStringDefault("MONGO_DATABASE", "DC_myDC"),
 | 
				
			||||||
		o.GetStringDefault("NATS_URL", "nats://localhost:4222"),
 | 
							o.GetStringDefault("NATS_URL", "nats://localhost:4222"),
 | 
				
			||||||
		o.GetStringDefault("LOKI_URL", ""),
 | 
							o.GetStringDefault("LOKI_URL", "loki://localhost:3100"),
 | 
				
			||||||
		o.GetStringDefault("LOG_LEVEL", "info"),
 | 
							o.GetStringDefault("LOG_LEVEL", "info"),
 | 
				
			||||||
	)
 | 
						)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -34,6 +35,12 @@ func main() {
 | 
				
			|||||||
	beego.BConfig.WebConfig.StaticDir["/swagger"] = "swagger"
 | 
						beego.BConfig.WebConfig.StaticDir["/swagger"] = "swagger"
 | 
				
			||||||
	api := &tools.API{}
 | 
						api := &tools.API{}
 | 
				
			||||||
	api.Discovered(beego.BeeApp.Handlers.GetAllControllerInfo())
 | 
						api.Discovered(beego.BeeApp.Handlers.GetAllControllerInfo())
 | 
				
			||||||
 | 
						beego.InsertFilter("*", beego.BeforeRouter, cors.Allow(&cors.Options{
 | 
				
			||||||
 | 
							AllowAllOrigins:  true,
 | 
				
			||||||
 | 
							AllowMethods:     []string{"GET", "POST", "PUT", "DELETE", "OPTIONS"},
 | 
				
			||||||
 | 
							AllowHeaders:     []string{"Origin", "Authorization", "Content-Type"},
 | 
				
			||||||
 | 
							ExposeHeaders:    []string{"Content-Length", "Content-Type"},
 | 
				
			||||||
 | 
							AllowCredentials: true,
 | 
				
			||||||
 | 
						}))
 | 
				
			||||||
	beego.Run()
 | 
						beego.Run()
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										
											BIN
										
									
								
								oc-scheduler
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								oc-scheduler
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							@@ -7,6 +7,15 @@ import (
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
func init() {
 | 
					func init() {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    beego.GlobalControllerRouter["oc-scheduler/controllers:LokiController"] = append(beego.GlobalControllerRouter["oc-scheduler/controllers:LokiController"],
 | 
				
			||||||
 | 
					        beego.ControllerComments{
 | 
				
			||||||
 | 
					            Method: "GetLogs",
 | 
				
			||||||
 | 
					            Router: `/`,
 | 
				
			||||||
 | 
					            AllowHTTPMethods: []string{"post"},
 | 
				
			||||||
 | 
					            MethodParams: param.Make(),
 | 
				
			||||||
 | 
					            Filters: nil,
 | 
				
			||||||
 | 
					            Params: nil})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    beego.GlobalControllerRouter["oc-scheduler/controllers:VersionController"] = append(beego.GlobalControllerRouter["oc-scheduler/controllers:VersionController"],
 | 
					    beego.GlobalControllerRouter["oc-scheduler/controllers:VersionController"] = append(beego.GlobalControllerRouter["oc-scheduler/controllers:VersionController"],
 | 
				
			||||||
        beego.ControllerComments{
 | 
					        beego.ControllerComments{
 | 
				
			||||||
            Method: "GetAll",
 | 
					            Method: "GetAll",
 | 
				
			||||||
@@ -61,13 +70,31 @@ func init() {
 | 
				
			|||||||
            Filters: nil,
 | 
					            Filters: nil,
 | 
				
			||||||
            Params: nil})
 | 
					            Params: nil})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    beego.GlobalControllerRouter["oc-scheduler/controllers:WorkflowExecutionController"] = append(beego.GlobalControllerRouter["oc-scheduler/controllers:WorkflowExecutionController"],
 | 
					    beego.GlobalControllerRouter["oc-scheduler/controllers:WorkflowSchedulerController"] = append(beego.GlobalControllerRouter["oc-scheduler/controllers:WorkflowSchedulerController"],
 | 
				
			||||||
        beego.ControllerComments{
 | 
					        beego.ControllerComments{
 | 
				
			||||||
            Method: "ScheduleWorkflow",
 | 
					            Method: "Schedule",
 | 
				
			||||||
            Router: `/workflow/:id`,
 | 
					            Router: `/:id`,
 | 
				
			||||||
            AllowHTTPMethods: []string{"post"},
 | 
					            AllowHTTPMethods: []string{"post"},
 | 
				
			||||||
            MethodParams: param.Make(),
 | 
					            MethodParams: param.Make(),
 | 
				
			||||||
            Filters: nil,
 | 
					            Filters: nil,
 | 
				
			||||||
            Params: nil})
 | 
					            Params: nil})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    beego.GlobalControllerRouter["oc-scheduler/controllers:WorkflowSchedulerController"] = append(beego.GlobalControllerRouter["oc-scheduler/controllers:WorkflowSchedulerController"],
 | 
				
			||||||
 | 
					        beego.ControllerComments{
 | 
				
			||||||
 | 
					            Method: "UnSchedule",
 | 
				
			||||||
 | 
					            Router: `/:id`,
 | 
				
			||||||
 | 
					            AllowHTTPMethods: []string{"delete"},
 | 
				
			||||||
 | 
					            MethodParams: param.Make(),
 | 
				
			||||||
 | 
					            Filters: nil,
 | 
				
			||||||
 | 
					            Params: nil})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    beego.GlobalControllerRouter["oc-scheduler/controllers:WorkflowSchedulerController"] = append(beego.GlobalControllerRouter["oc-scheduler/controllers:WorkflowSchedulerController"],
 | 
				
			||||||
 | 
					        beego.ControllerComments{
 | 
				
			||||||
 | 
					            Method: "SearchScheduledDraftOrder",
 | 
				
			||||||
 | 
					            Router: `/:id/order`,
 | 
				
			||||||
 | 
					            AllowHTTPMethods: []string{"get"},
 | 
				
			||||||
 | 
					            MethodParams: param.Make(),
 | 
				
			||||||
 | 
					            Filters: nil,
 | 
				
			||||||
 | 
					            Params: nil})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -16,7 +16,17 @@ import (
 | 
				
			|||||||
func init() {
 | 
					func init() {
 | 
				
			||||||
	ns := beego.NewNamespace("/oc/",
 | 
						ns := beego.NewNamespace("/oc/",
 | 
				
			||||||
		beego.NSInclude(
 | 
							beego.NSInclude(
 | 
				
			||||||
			&controllers.WorkflowExecutionController{},
 | 
								&controllers.WorkflowSchedulerController{},
 | 
				
			||||||
 | 
							),
 | 
				
			||||||
 | 
							beego.NSNamespace("/loki",
 | 
				
			||||||
 | 
								beego.NSInclude(
 | 
				
			||||||
 | 
									&controllers.LokiController{},
 | 
				
			||||||
 | 
								),
 | 
				
			||||||
 | 
							),
 | 
				
			||||||
 | 
							beego.NSNamespace("/execution",
 | 
				
			||||||
 | 
								beego.NSInclude(
 | 
				
			||||||
 | 
									&controllers.WorkflowExecutionController{},
 | 
				
			||||||
 | 
								),
 | 
				
			||||||
		),
 | 
							),
 | 
				
			||||||
		beego.NSNamespace("/version",
 | 
							beego.NSNamespace("/version",
 | 
				
			||||||
			beego.NSInclude(
 | 
								beego.NSInclude(
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,5 +1,6 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
    "port":8080,
 | 
					    "port":8090,
 | 
				
			||||||
    "MONGO_URL":"mongodb://localhost:27017/", 
 | 
					    "MONGO_URL":"mongodb://localhost:27017/", 
 | 
				
			||||||
    "MONGO_DATABASE":"DC_myDC"
 | 
					    "MONGO_DATABASE":"DC_myDC",
 | 
				
			||||||
 | 
					    "LOKI_URL": "http://localhost:3100"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -15,10 +15,10 @@
 | 
				
			|||||||
    },
 | 
					    },
 | 
				
			||||||
    "basePath": "/oc/",
 | 
					    "basePath": "/oc/",
 | 
				
			||||||
    "paths": {
 | 
					    "paths": {
 | 
				
			||||||
        "/": {
 | 
					        "/execution/": {
 | 
				
			||||||
            "get": {
 | 
					            "get": {
 | 
				
			||||||
                "tags": [
 | 
					                "tags": [
 | 
				
			||||||
                    "oc-scheduler/controllersWorkflowExecutionController"
 | 
					                    "execution"
 | 
				
			||||||
                ],
 | 
					                ],
 | 
				
			||||||
                "description": "find workflow by workflowid\n\u003cbr\u003e",
 | 
					                "description": "find workflow by workflowid\n\u003cbr\u003e",
 | 
				
			||||||
                "operationId": "WorkflowExecutionController.GetAll",
 | 
					                "operationId": "WorkflowExecutionController.GetAll",
 | 
				
			||||||
@@ -37,10 +37,10 @@
 | 
				
			|||||||
                }
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "/search/{search}": {
 | 
					        "/execution/search/{search}": {
 | 
				
			||||||
            "get": {
 | 
					            "get": {
 | 
				
			||||||
                "tags": [
 | 
					                "tags": [
 | 
				
			||||||
                    "oc-scheduler/controllersWorkflowExecutionController"
 | 
					                    "execution"
 | 
				
			||||||
                ],
 | 
					                ],
 | 
				
			||||||
                "description": "find compute by key word\n\u003cbr\u003e",
 | 
					                "description": "find compute by key word\n\u003cbr\u003e",
 | 
				
			||||||
                "operationId": "WorkflowExecutionController.Search",
 | 
					                "operationId": "WorkflowExecutionController.Search",
 | 
				
			||||||
@@ -66,10 +66,10 @@
 | 
				
			|||||||
                }
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "/search/{start_date}/{end_date}": {
 | 
					        "/execution/search/{start_date}/{end_date}": {
 | 
				
			||||||
            "get": {
 | 
					            "get": {
 | 
				
			||||||
                "tags": [
 | 
					                "tags": [
 | 
				
			||||||
                    "oc-scheduler/controllersWorkflowExecutionController"
 | 
					                    "execution"
 | 
				
			||||||
                ],
 | 
					                ],
 | 
				
			||||||
                "description": "search workspace\n\u003cbr\u003e",
 | 
					                "description": "search workspace\n\u003cbr\u003e",
 | 
				
			||||||
                "operationId": "WorkflowExecutionController.SearchPerDate",
 | 
					                "operationId": "WorkflowExecutionController.SearchPerDate",
 | 
				
			||||||
@@ -102,6 +102,54 @@
 | 
				
			|||||||
                }
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
 | 
					        "/execution/{id}": {
 | 
				
			||||||
 | 
					            "get": {
 | 
				
			||||||
 | 
					                "tags": [
 | 
				
			||||||
 | 
					                    "execution"
 | 
				
			||||||
 | 
					                ],
 | 
				
			||||||
 | 
					                "description": "find workflow by workflowid\n\u003cbr\u003e",
 | 
				
			||||||
 | 
					                "operationId": "WorkflowExecutionController.Get",
 | 
				
			||||||
 | 
					                "parameters": [
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        "in": "path",
 | 
				
			||||||
 | 
					                        "name": "id",
 | 
				
			||||||
 | 
					                        "description": "the workflowid you want to get",
 | 
				
			||||||
 | 
					                        "required": true,
 | 
				
			||||||
 | 
					                        "type": "string"
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                ],
 | 
				
			||||||
 | 
					                "responses": {
 | 
				
			||||||
 | 
					                    "200": {
 | 
				
			||||||
 | 
					                        "description": "{workflow} models.workflow"
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "/loki/": {
 | 
				
			||||||
 | 
					            "post": {
 | 
				
			||||||
 | 
					                "tags": [
 | 
				
			||||||
 | 
					                    "loki"
 | 
				
			||||||
 | 
					                ],
 | 
				
			||||||
 | 
					                "description": "get logs\n\u003cbr\u003e",
 | 
				
			||||||
 | 
					                "operationId": "LokiController.GetLogs",
 | 
				
			||||||
 | 
					                "parameters": [
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        "in": "body",
 | 
				
			||||||
 | 
					                        "name": "body",
 | 
				
			||||||
 | 
					                        "description": "The compute content",
 | 
				
			||||||
 | 
					                        "required": true,
 | 
				
			||||||
 | 
					                        "schema": {
 | 
				
			||||||
 | 
					                            "$ref": "#/definitions/models.compute"
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                ],
 | 
				
			||||||
 | 
					                "responses": {
 | 
				
			||||||
 | 
					                    "200": {
 | 
				
			||||||
 | 
					                        "description": "{workspace} models.workspace"
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
        "/version/": {
 | 
					        "/version/": {
 | 
				
			||||||
            "get": {
 | 
					            "get": {
 | 
				
			||||||
                "tags": [
 | 
					                "tags": [
 | 
				
			||||||
@@ -130,13 +178,43 @@
 | 
				
			|||||||
                }
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "/workflow/{id}": {
 | 
					        "/{id}": {
 | 
				
			||||||
            "post": {
 | 
					            "post": {
 | 
				
			||||||
                "tags": [
 | 
					                "tags": [
 | 
				
			||||||
                    "oc-scheduler/controllersWorkflowExecutionController"
 | 
					                    "oc-scheduler/controllersWorkflowSchedulerController"
 | 
				
			||||||
                ],
 | 
					                ],
 | 
				
			||||||
                "description": "schedule workflow\n\u003cbr\u003e",
 | 
					                "description": "schedule workflow\n\u003cbr\u003e",
 | 
				
			||||||
                "operationId": "WorkflowExecutionController.ScheduleWorkflow",
 | 
					                "operationId": "WorkflowSchedulerController.Schedule",
 | 
				
			||||||
 | 
					                "parameters": [
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        "in": "path",
 | 
				
			||||||
 | 
					                        "name": "id",
 | 
				
			||||||
 | 
					                        "description": "id execution",
 | 
				
			||||||
 | 
					                        "required": true,
 | 
				
			||||||
 | 
					                        "type": "string"
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        "in": "body",
 | 
				
			||||||
 | 
					                        "name": "body",
 | 
				
			||||||
 | 
					                        "description": "The compute content",
 | 
				
			||||||
 | 
					                        "required": true,
 | 
				
			||||||
 | 
					                        "schema": {
 | 
				
			||||||
 | 
					                            "$ref": "#/definitions/models.compute"
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                ],
 | 
				
			||||||
 | 
					                "responses": {
 | 
				
			||||||
 | 
					                    "200": {
 | 
				
			||||||
 | 
					                        "description": "{workspace} models.workspace"
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            "delete": {
 | 
				
			||||||
 | 
					                "tags": [
 | 
				
			||||||
 | 
					                    "oc-scheduler/controllersWorkflowSchedulerController"
 | 
				
			||||||
 | 
					                ],
 | 
				
			||||||
 | 
					                "description": "schedule workflow\n\u003cbr\u003e",
 | 
				
			||||||
 | 
					                "operationId": "WorkflowSchedulerController.UnSchedule",
 | 
				
			||||||
                "parameters": [
 | 
					                "parameters": [
 | 
				
			||||||
                    {
 | 
					                    {
 | 
				
			||||||
                        "in": "path",
 | 
					                        "in": "path",
 | 
				
			||||||
@@ -162,25 +240,25 @@
 | 
				
			|||||||
                }
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "/{id}": {
 | 
					        "/{id}/order": {
 | 
				
			||||||
            "get": {
 | 
					            "get": {
 | 
				
			||||||
                "tags": [
 | 
					                "tags": [
 | 
				
			||||||
                    "oc-scheduler/controllersWorkflowExecutionController"
 | 
					                    "oc-scheduler/controllersWorkflowSchedulerController"
 | 
				
			||||||
                ],
 | 
					                ],
 | 
				
			||||||
                "description": "find workflow by workflowid\n\u003cbr\u003e",
 | 
					                "description": "schedule workflow\n\u003cbr\u003e",
 | 
				
			||||||
                "operationId": "WorkflowExecutionController.Get",
 | 
					                "operationId": "WorkflowSchedulerController.SearchScheduledDraftOrder",
 | 
				
			||||||
                "parameters": [
 | 
					                "parameters": [
 | 
				
			||||||
                    {
 | 
					                    {
 | 
				
			||||||
                        "in": "path",
 | 
					                        "in": "path",
 | 
				
			||||||
                        "name": "id",
 | 
					                        "name": "id",
 | 
				
			||||||
                        "description": "the workflowid you want to get",
 | 
					                        "description": "id execution",
 | 
				
			||||||
                        "required": true,
 | 
					                        "required": true,
 | 
				
			||||||
                        "type": "string"
 | 
					                        "type": "string"
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                ],
 | 
					                ],
 | 
				
			||||||
                "responses": {
 | 
					                "responses": {
 | 
				
			||||||
                    "200": {
 | 
					                    "200": {
 | 
				
			||||||
                        "description": "{workflow} models.workflow"
 | 
					                        "description": "{workspace} models.workspace"
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
@@ -194,7 +272,15 @@
 | 
				
			|||||||
    },
 | 
					    },
 | 
				
			||||||
    "tags": [
 | 
					    "tags": [
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            "name": "oc-scheduler/controllersWorkflowExecutionController",
 | 
					            "name": "oc-scheduler/controllersWorkflowSchedulerController",
 | 
				
			||||||
 | 
					            "description": "Operations about workflow\n"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            "name": "loki",
 | 
				
			||||||
 | 
					            "description": "Operations about workflow\n"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            "name": "execution",
 | 
				
			||||||
            "description": "Operations about workflow\n"
 | 
					            "description": "Operations about workflow\n"
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -12,10 +12,72 @@ info:
 | 
				
			|||||||
    url: https://www.gnu.org/licenses/agpl-3.0.html
 | 
					    url: https://www.gnu.org/licenses/agpl-3.0.html
 | 
				
			||||||
basePath: /oc/
 | 
					basePath: /oc/
 | 
				
			||||||
paths:
 | 
					paths:
 | 
				
			||||||
  /:
 | 
					  /{id}:
 | 
				
			||||||
 | 
					    post:
 | 
				
			||||||
 | 
					      tags:
 | 
				
			||||||
 | 
					      - oc-scheduler/controllersWorkflowSchedulerController
 | 
				
			||||||
 | 
					      description: |-
 | 
				
			||||||
 | 
					        schedule workflow
 | 
				
			||||||
 | 
					        <br>
 | 
				
			||||||
 | 
					      operationId: WorkflowSchedulerController.Schedule
 | 
				
			||||||
 | 
					      parameters:
 | 
				
			||||||
 | 
					      - in: path
 | 
				
			||||||
 | 
					        name: id
 | 
				
			||||||
 | 
					        description: id execution
 | 
				
			||||||
 | 
					        required: true
 | 
				
			||||||
 | 
					        type: string
 | 
				
			||||||
 | 
					      - in: body
 | 
				
			||||||
 | 
					        name: body
 | 
				
			||||||
 | 
					        description: The compute content
 | 
				
			||||||
 | 
					        required: true
 | 
				
			||||||
 | 
					        schema:
 | 
				
			||||||
 | 
					          $ref: '#/definitions/models.compute'
 | 
				
			||||||
 | 
					      responses:
 | 
				
			||||||
 | 
					        "200":
 | 
				
			||||||
 | 
					          description: '{workspace} models.workspace'
 | 
				
			||||||
 | 
					    delete:
 | 
				
			||||||
 | 
					      tags:
 | 
				
			||||||
 | 
					      - oc-scheduler/controllersWorkflowSchedulerController
 | 
				
			||||||
 | 
					      description: |-
 | 
				
			||||||
 | 
					        schedule workflow
 | 
				
			||||||
 | 
					        <br>
 | 
				
			||||||
 | 
					      operationId: WorkflowSchedulerController.UnSchedule
 | 
				
			||||||
 | 
					      parameters:
 | 
				
			||||||
 | 
					      - in: path
 | 
				
			||||||
 | 
					        name: id
 | 
				
			||||||
 | 
					        description: id execution
 | 
				
			||||||
 | 
					        required: true
 | 
				
			||||||
 | 
					        type: string
 | 
				
			||||||
 | 
					      - in: body
 | 
				
			||||||
 | 
					        name: body
 | 
				
			||||||
 | 
					        description: The compute content
 | 
				
			||||||
 | 
					        required: true
 | 
				
			||||||
 | 
					        schema:
 | 
				
			||||||
 | 
					          $ref: '#/definitions/models.compute'
 | 
				
			||||||
 | 
					      responses:
 | 
				
			||||||
 | 
					        "200":
 | 
				
			||||||
 | 
					          description: '{workspace} models.workspace'
 | 
				
			||||||
 | 
					  /{id}/order:
 | 
				
			||||||
    get:
 | 
					    get:
 | 
				
			||||||
      tags:
 | 
					      tags:
 | 
				
			||||||
      - oc-scheduler/controllersWorkflowExecutionController
 | 
					      - oc-scheduler/controllersWorkflowSchedulerController
 | 
				
			||||||
 | 
					      description: |-
 | 
				
			||||||
 | 
					        schedule workflow
 | 
				
			||||||
 | 
					        <br>
 | 
				
			||||||
 | 
					      operationId: WorkflowSchedulerController.SearchScheduledDraftOrder
 | 
				
			||||||
 | 
					      parameters:
 | 
				
			||||||
 | 
					      - in: path
 | 
				
			||||||
 | 
					        name: id
 | 
				
			||||||
 | 
					        description: id execution
 | 
				
			||||||
 | 
					        required: true
 | 
				
			||||||
 | 
					        type: string
 | 
				
			||||||
 | 
					      responses:
 | 
				
			||||||
 | 
					        "200":
 | 
				
			||||||
 | 
					          description: '{workspace} models.workspace'
 | 
				
			||||||
 | 
					  /execution/:
 | 
				
			||||||
 | 
					    get:
 | 
				
			||||||
 | 
					      tags:
 | 
				
			||||||
 | 
					      - execution
 | 
				
			||||||
      description: |-
 | 
					      description: |-
 | 
				
			||||||
        find workflow by workflowid
 | 
					        find workflow by workflowid
 | 
				
			||||||
        <br>
 | 
					        <br>
 | 
				
			||||||
@@ -28,10 +90,10 @@ paths:
 | 
				
			|||||||
      responses:
 | 
					      responses:
 | 
				
			||||||
        "200":
 | 
					        "200":
 | 
				
			||||||
          description: '{workflow} models.workflow'
 | 
					          description: '{workflow} models.workflow'
 | 
				
			||||||
  /{id}:
 | 
					  /execution/{id}:
 | 
				
			||||||
    get:
 | 
					    get:
 | 
				
			||||||
      tags:
 | 
					      tags:
 | 
				
			||||||
      - oc-scheduler/controllersWorkflowExecutionController
 | 
					      - execution
 | 
				
			||||||
      description: |-
 | 
					      description: |-
 | 
				
			||||||
        find workflow by workflowid
 | 
					        find workflow by workflowid
 | 
				
			||||||
        <br>
 | 
					        <br>
 | 
				
			||||||
@@ -45,10 +107,10 @@ paths:
 | 
				
			|||||||
      responses:
 | 
					      responses:
 | 
				
			||||||
        "200":
 | 
					        "200":
 | 
				
			||||||
          description: '{workflow} models.workflow'
 | 
					          description: '{workflow} models.workflow'
 | 
				
			||||||
  /search/{search}:
 | 
					  /execution/search/{search}:
 | 
				
			||||||
    get:
 | 
					    get:
 | 
				
			||||||
      tags:
 | 
					      tags:
 | 
				
			||||||
      - oc-scheduler/controllersWorkflowExecutionController
 | 
					      - execution
 | 
				
			||||||
      description: |-
 | 
					      description: |-
 | 
				
			||||||
        find compute by key word
 | 
					        find compute by key word
 | 
				
			||||||
        <br>
 | 
					        <br>
 | 
				
			||||||
@@ -66,10 +128,10 @@ paths:
 | 
				
			|||||||
      responses:
 | 
					      responses:
 | 
				
			||||||
        "200":
 | 
					        "200":
 | 
				
			||||||
          description: '{compute} models.compute'
 | 
					          description: '{compute} models.compute'
 | 
				
			||||||
  /search/{start_date}/{end_date}:
 | 
					  /execution/search/{start_date}/{end_date}:
 | 
				
			||||||
    get:
 | 
					    get:
 | 
				
			||||||
      tags:
 | 
					      tags:
 | 
				
			||||||
      - oc-scheduler/controllersWorkflowExecutionController
 | 
					      - execution
 | 
				
			||||||
      description: |-
 | 
					      description: |-
 | 
				
			||||||
        search workspace
 | 
					        search workspace
 | 
				
			||||||
        <br>
 | 
					        <br>
 | 
				
			||||||
@@ -92,6 +154,24 @@ paths:
 | 
				
			|||||||
      responses:
 | 
					      responses:
 | 
				
			||||||
        "200":
 | 
					        "200":
 | 
				
			||||||
          description: '{workspace} models.workspace'
 | 
					          description: '{workspace} models.workspace'
 | 
				
			||||||
 | 
					  /loki/:
 | 
				
			||||||
 | 
					    post:
 | 
				
			||||||
 | 
					      tags:
 | 
				
			||||||
 | 
					      - loki
 | 
				
			||||||
 | 
					      description: |-
 | 
				
			||||||
 | 
					        get logs
 | 
				
			||||||
 | 
					        <br>
 | 
				
			||||||
 | 
					      operationId: LokiController.GetLogs
 | 
				
			||||||
 | 
					      parameters:
 | 
				
			||||||
 | 
					      - in: body
 | 
				
			||||||
 | 
					        name: body
 | 
				
			||||||
 | 
					        description: The compute content
 | 
				
			||||||
 | 
					        required: true
 | 
				
			||||||
 | 
					        schema:
 | 
				
			||||||
 | 
					          $ref: '#/definitions/models.compute'
 | 
				
			||||||
 | 
					      responses:
 | 
				
			||||||
 | 
					        "200":
 | 
				
			||||||
 | 
					          description: '{workspace} models.workspace'
 | 
				
			||||||
  /version/:
 | 
					  /version/:
 | 
				
			||||||
    get:
 | 
					    get:
 | 
				
			||||||
      tags:
 | 
					      tags:
 | 
				
			||||||
@@ -114,35 +194,18 @@ paths:
 | 
				
			|||||||
      responses:
 | 
					      responses:
 | 
				
			||||||
        "200":
 | 
					        "200":
 | 
				
			||||||
          description: ""
 | 
					          description: ""
 | 
				
			||||||
  /workflow/{id}:
 | 
					 | 
				
			||||||
    post:
 | 
					 | 
				
			||||||
      tags:
 | 
					 | 
				
			||||||
      - oc-scheduler/controllersWorkflowExecutionController
 | 
					 | 
				
			||||||
      description: |-
 | 
					 | 
				
			||||||
        schedule workflow
 | 
					 | 
				
			||||||
        <br>
 | 
					 | 
				
			||||||
      operationId: WorkflowExecutionController.ScheduleWorkflow
 | 
					 | 
				
			||||||
      parameters:
 | 
					 | 
				
			||||||
      - in: path
 | 
					 | 
				
			||||||
        name: id
 | 
					 | 
				
			||||||
        description: id execution
 | 
					 | 
				
			||||||
        required: true
 | 
					 | 
				
			||||||
        type: string
 | 
					 | 
				
			||||||
      - in: body
 | 
					 | 
				
			||||||
        name: body
 | 
					 | 
				
			||||||
        description: The compute content
 | 
					 | 
				
			||||||
        required: true
 | 
					 | 
				
			||||||
        schema:
 | 
					 | 
				
			||||||
          $ref: '#/definitions/models.compute'
 | 
					 | 
				
			||||||
      responses:
 | 
					 | 
				
			||||||
        "200":
 | 
					 | 
				
			||||||
          description: '{workspace} models.workspace'
 | 
					 | 
				
			||||||
definitions:
 | 
					definitions:
 | 
				
			||||||
  models.compute:
 | 
					  models.compute:
 | 
				
			||||||
    title: compute
 | 
					    title: compute
 | 
				
			||||||
    type: object
 | 
					    type: object
 | 
				
			||||||
tags:
 | 
					tags:
 | 
				
			||||||
- name: oc-scheduler/controllersWorkflowExecutionController
 | 
					- name: oc-scheduler/controllersWorkflowSchedulerController
 | 
				
			||||||
 | 
					  description: |
 | 
				
			||||||
 | 
					    Operations about workflow
 | 
				
			||||||
 | 
					- name: loki
 | 
				
			||||||
 | 
					  description: |
 | 
				
			||||||
 | 
					    Operations about workflow
 | 
				
			||||||
 | 
					- name: execution
 | 
				
			||||||
  description: |
 | 
					  description: |
 | 
				
			||||||
    Operations about workflow
 | 
					    Operations about workflow
 | 
				
			||||||
- name: version
 | 
					- name: version
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user