mirror of
https://github.com/onepanelio/onepanel.git
synced 2025-09-27 10:02:10 +08:00
feat: auto-inject filesyncer sidecar
This commit is contained in:
@@ -499,6 +499,10 @@ func (c *Client) createWorkflow(namespace string, workflowTemplateID uint64, wor
|
||||
}
|
||||
wf.Spec.Arguments.Parameters = newParameters
|
||||
|
||||
if err = injectFilesyncerSidecar(wf); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err = injectWorkflowExecutionStatusCaller(wf, wfv1.NodeRunning); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -2063,6 +2067,34 @@ func getCURLNodeTemplate(name, curlMethod, curlPath, curlBody string, inputs wfv
|
||||
return
|
||||
}
|
||||
|
||||
func injectFilesyncerSidecar(wf *wfv1.Workflow) error {
|
||||
filesyncer := wfv1.UserContainer{
|
||||
Container: corev1.Container{
|
||||
Name: "sys-filesyncer",
|
||||
Image: "onepanel/filesyncer:test-server-6",
|
||||
Args: []string{"server", "-server-prefix=/sys/filesyncer"},
|
||||
Env: []corev1.EnvVar{
|
||||
{
|
||||
Name: "ONEPANEL_INTERACTIVE_SIDECAR",
|
||||
Value: "true",
|
||||
},
|
||||
},
|
||||
Ports: []corev1.ContainerPort{
|
||||
{
|
||||
ContainerPort: 8888,
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
for i := range wf.Spec.Templates {
|
||||
template := &wf.Spec.Templates[i]
|
||||
template.Sidecars = append(template.Sidecars, filesyncer)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func injectExitHandlerWorkflowExecutionStatistic(wf *wfv1.Workflow, workflowTemplateId *uint64) error {
|
||||
curlPath := "/apis/v1beta1/{{workflow.namespace}}/workflow_executions/{{workflow.name}}/statistics"
|
||||
statistics := map[string]interface{}{
|
||||
|
Reference in New Issue
Block a user