mirror of
https://github.com/onepanelio/onepanel.git
synced 2025-10-13 09:23:40 +08:00
additional status curl calls
This commit is contained in:
@@ -87,6 +87,45 @@ func UnmarshalWorkflows(wfBytes []byte, strict bool) (wfs []wfv1.Workflow, err e
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func addSystemUIDParameter(wf *wfv1.Workflow) {
|
||||||
|
for _, p := range wf.Spec.Arguments.Parameters {
|
||||||
|
if p.Name == "sys-uid" {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
uid := wf.Labels[label.WorkflowUid]
|
||||||
|
if uid == "" {
|
||||||
|
uid = "00000000-0000-0000-0000-000000000000"
|
||||||
|
}
|
||||||
|
if wf.Spec.Arguments.Parameters == nil {
|
||||||
|
wf.Spec.Arguments.Parameters = make([]wfv1.Parameter, 0)
|
||||||
|
}
|
||||||
|
wf.Spec.Arguments.Parameters = append(wf.Spec.Arguments.Parameters, wfv1.Parameter{
|
||||||
|
Name: "sys-uid",
|
||||||
|
Value: ptr.String(uid),
|
||||||
|
})
|
||||||
|
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
func addEnvToTemplate(template *wfv1.Template, key string, value string) {
|
||||||
|
//Flag to prevent over-writing user's envs
|
||||||
|
overwriteUserEnv := true
|
||||||
|
for _, templateEnv := range template.Container.Env {
|
||||||
|
if templateEnv.Name == key {
|
||||||
|
overwriteUserEnv = false
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if overwriteUserEnv {
|
||||||
|
template.Container.Env = append(template.Container.Env, corev1.EnvVar{
|
||||||
|
Name: key,
|
||||||
|
Value: value,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func (c *Client) injectAutomatedFields(namespace string, wf *wfv1.Workflow, opts *WorkflowExecutionOptions) (err error) {
|
func (c *Client) injectAutomatedFields(namespace string, wf *wfv1.Workflow, opts *WorkflowExecutionOptions) (err error) {
|
||||||
if opts.PodGCStrategy == nil {
|
if opts.PodGCStrategy == nil {
|
||||||
if wf.Spec.PodGC == nil {
|
if wf.Spec.PodGC == nil {
|
||||||
@@ -103,19 +142,7 @@ func (c *Client) injectAutomatedFields(namespace string, wf *wfv1.Workflow, opts
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
uid := wf.Labels[label.WorkflowUid]
|
addSystemUIDParameter(wf)
|
||||||
if uid == "" {
|
|
||||||
uid = "00000000-0000-0000-0000-000000000000"
|
|
||||||
}
|
|
||||||
if &wf.Spec.Arguments == nil {
|
|
||||||
wf.Spec.Arguments = wfv1.Arguments{
|
|
||||||
Parameters: []wfv1.Parameter{},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
wf.Spec.Arguments.Parameters = append(wf.Spec.Arguments.Parameters, wfv1.Parameter{
|
|
||||||
Name: "sys-uid",
|
|
||||||
Value: ptr.String(uid),
|
|
||||||
})
|
|
||||||
|
|
||||||
addSecretValsToTemplate := true
|
addSecretValsToTemplate := true
|
||||||
secret, err := c.GetSecret(namespace, "onepanel-default-env")
|
secret, err := c.GetSecret(namespace, "onepanel-default-env")
|
||||||
@@ -196,23 +223,6 @@ func (c *Client) injectAutomatedFields(namespace string, wf *wfv1.Workflow, opts
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func addEnvToTemplate(template *wfv1.Template, key string, value string) {
|
|
||||||
//Flag to prevent over-writing user's envs
|
|
||||||
overwriteUserEnv := true
|
|
||||||
for _, templateEnv := range template.Container.Env {
|
|
||||||
if templateEnv.Name == key {
|
|
||||||
overwriteUserEnv = false
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if overwriteUserEnv {
|
|
||||||
template.Container.Env = append(template.Container.Env, corev1.EnvVar{
|
|
||||||
Name: key,
|
|
||||||
Value: value,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *Client) createWorkflow(namespace string, workflowTemplateId uint64, workflowTemplateVersionId uint64, wf *wfv1.Workflow, opts *WorkflowExecutionOptions) (newDbId uint64, createdWorkflow *wfv1.Workflow, err error) {
|
func (c *Client) createWorkflow(namespace string, workflowTemplateId uint64, workflowTemplateVersionId uint64, wf *wfv1.Workflow, opts *WorkflowExecutionOptions) (newDbId uint64, createdWorkflow *wfv1.Workflow, err error) {
|
||||||
if opts == nil {
|
if opts == nil {
|
||||||
opts = &WorkflowExecutionOptions{}
|
opts = &WorkflowExecutionOptions{}
|
||||||
|
@@ -296,6 +296,34 @@ metadata:
|
|||||||
},
|
},
|
||||||
When: "{{workflow.parameters.sys-workspace-action}} == create",
|
When: "{{workflow.parameters.sys-workspace-action}} == create",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
Name: "sys-set-phase-pausing",
|
||||||
|
Template: "sys-update-status",
|
||||||
|
Dependencies: []string{"delete-stateful-set"},
|
||||||
|
Arguments: wfv1.Arguments{
|
||||||
|
Parameters: []wfv1.Parameter{
|
||||||
|
{
|
||||||
|
Name: "sys-workspace-phase",
|
||||||
|
Value: ptr.String(string(WorkspacePausing)),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
When: "{{workflow.parameters.sys-workspace-action}} == pause",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Name: "sys-set-phase-terminating",
|
||||||
|
Template: "sys-update-status",
|
||||||
|
Dependencies: []string{"delete-pvc"},
|
||||||
|
Arguments: wfv1.Arguments{
|
||||||
|
Parameters: []wfv1.Parameter{
|
||||||
|
{
|
||||||
|
Name: "sys-workspace-phase",
|
||||||
|
Value: ptr.String(string(WorkspaceTerminating)),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
When: "{{workflow.parameters.sys-workspace-action}} == delete",
|
||||||
|
},
|
||||||
{
|
{
|
||||||
Name: spec.PostExecutionWorkflow.Entrypoint,
|
Name: spec.PostExecutionWorkflow.Entrypoint,
|
||||||
Template: spec.PostExecutionWorkflow.Entrypoint,
|
Template: spec.PostExecutionWorkflow.Entrypoint,
|
||||||
|
Reference in New Issue
Block a user