{
    "apiVersion": "argoproj.io/v1alpha1",
    "kind": "WorkflowTemplate",
    "metadata": {
        "name": "alphaflow",
        "namespace": "metaflow",
        "labels": {
            "app.kubernetes.io/name": "metaflow-flow",
            "app.kubernetes.io/part-of": "metaflow"
        },
        "annotations": {
            "metaflow/production_token": "alphaflow-0-sdpe",
            "metaflow/owner": "shan",
            "metaflow/user": "argo-workflows",
            "metaflow/flow_name": "AlphaFlow"
        }
    },
    "spec": {
        "parallelism": 100,
        "workflowMetadata": {
            "labels": {
                "app.kubernetes.io/name": "metaflow-run",
                "app.kubernetes.io/part-of": "metaflow"
            },
            "annotations": {
                "metaflow/production_token": "alphaflow-0-sdpe",
                "metaflow/owner": "shan",
                "metaflow/user": "argo-workflows",
                "metaflow/flow_name": "AlphaFlow",
                "metaflow/run_id": "argo-{{workflow.name}}"
            }
        },
        "arguments": {
            "parameters": [
                {
                    "name": "alpha",
                    "value": "0.01",
                    "description": "Learning rate"
                }
            ]
        },
        "podMetadata": {
            "labels": {
                "app.kubernetes.io/name": "metaflow-task",
                "app.kubernetes.io/part-of": "metaflow"
            },
            "annotations": {
                "metaflow/production_token": "alphaflow-0-sdpe",
                "metaflow/owner": "shan",
                "metaflow/user": "argo-workflows",
                "metaflow/flow_name": "AlphaFlow"
            }
        },
        "entrypoint": "AlphaFlow",
        "templates": [
            {
                "name": "AlphaFlow",
                "dag": {
                    "failFast": true,
                    "tasks": [
                        {
                            "name": "start",
                            "template": "start"
                        },
                        {
                            "name": "end",
                            "dependencies": [
                                "start"
                            ],
                            "template": "end",
                            "arguments": {
                                "parameters": [
                                    {
                                        "name": "input-paths",
                                        "value": "argo-{{workflow.name}}/start/{{tasks.start.outputs.parameters.task-id}}"
                                    }
                                ]
                            }
                        }
                    ]
                }
            },
            {
                "name": "start",
                "activeDeadlineSeconds": 432000,
                "serviceAccountName": "metaflow-metaflow-service",
                "inputs": {
                    "parameters": []
                },
                "outputs": {
                    "parameters": [
                        {
                            "name": "task-id",
                            "valueFrom": {
                                "path": "/mnt/out/task_id"
                            }
                        }
                    ]
                },
                "failFast": true,
                "metadata": {
                    "annotations": {
                        "metaflow/step_name": "start",
                        "metaflow/attempt": "0"
                    }
                },
                "volumes": [
                    {
                        "name": "out",
                        "emptyDir": {}
                    }
                ],
                "labels": {},
                "nodeSelector": {},
                "container": {
                    "args": null,
                    "command": [
                        "bash",
                        "-c",
                        "${METAFLOW_INIT_SCRIPT:+eval \"${METAFLOW_INIT_SCRIPT}\"} && mkdir -p $PWD/.logs && export METAFLOW_TASK_ID=(t-$(echo start-{{workflow.creationTimestamp}} | md5sum | cut -d ' ' -f 1 | tail -c 9)) && export PYTHONUNBUFFERED=x MF_PATHSPEC=AlphaFlow/argo-{{workflow.name}}/start/$METAFLOW_TASK_ID MF_DATASTORE=s3 MF_ATTEMPT=0 MFLOG_STDOUT=$PWD/.logs/mflog_stdout MFLOG_STDERR=$PWD/.logs/mflog_stderr && mflog(){ T=$(date -u -Ins|tr , .); echo \"[MFLOG|0|${T:0:26}Z|task|$T]$1\" >> $MFLOG_STDOUT; echo $1;  } && mflog 'Setting up task environment.' && python -m pip install requests -qqq && python -m pip install awscli boto3 -qqq && mkdir metaflow && cd metaflow && mkdir .metaflow && i=0; while [ $i -le 5 ]; do mflog 'Downloading code package...'; python -m awscli ${METAFLOW_S3_ENDPOINT_URL:+--endpoint-url=\"${METAFLOW_S3_ENDPOINT_URL}\"} s3 cp s3://dev-domain-metaflow-testing/AlphaFlow/data/ac/ac10da2fead2c1fd09409b41fac341edaae973b7 job.tar >/dev/null && mflog 'Code package downloaded.' && break; sleep 10; i=$((i+1)); done && if [ $i -gt 5 ]; then mflog 'Failed to download code package from s3://dev-domain-metaflow-testing/AlphaFlow/data/ac/ac10da2fead2c1fd09409b41fac341edaae973b7 after 6 tries. Exiting...' && exit 1; fi && TAR_OPTIONS='--warning=no-timestamp' tar xf job.tar && mflog 'Task is starting.' && (if ! python parameter_flow.py dump --max-value-size=0 argo-{{workflow.name}}/_parameters/$METAFLOW_TASK_ID-params >/dev/null 2>/dev/null; then python parameter_flow.py --with kubernetes:cpu=1,memory=4096,disk=10240,image=python:3.11,service_account=metaflow-metaflow-service,namespace=metaflow,gpu_vendor=nvidia --with 'environment:vars={}' --quiet --metadata=service --environment=local --datastore=s3 --datastore-root=s3://dev-domain-metaflow-testing --event-logger=nullSidecarLogger --monitor=nullSidecarMonitor --no-pylint --with=argo_workflows_internal init --run-id argo-{{workflow.name}} --task-id $METAFLOW_TASK_ID-params --alpha={{workflow.parameters.alpha}}; fi && python parameter_flow.py --with kubernetes:cpu=1,memory=4096,disk=10240,image=python:3.11,service_account=metaflow-metaflow-service,namespace=metaflow,gpu_vendor=nvidia --with 'environment:vars={}' --quiet --metadata=service --environment=local --datastore=s3 --datastore-root=s3://dev-domain-metaflow-testing --event-logger=nullSidecarLogger --monitor=nullSidecarMonitor --no-pylint --with=argo_workflows_internal step start --run-id argo-{{workflow.name}} --task-id $METAFLOW_TASK_ID --retry-count 0 --max-user-code-retries 0 --input-paths argo-{{workflow.name}}/_parameters/$METAFLOW_TASK_ID-params) 1>> >(python -m metaflow.mflog.tee task $MFLOG_STDOUT) 2>> >(python -m metaflow.mflog.tee task $MFLOG_STDERR >&2); c=$?; python -m metaflow.mflog.save_logs; exit $c"
                    ],
                    "env": [
                        {
                            "name": "METAFLOW_CODE_URL",
                            "value": "s3://dev-domain-metaflow-testing/AlphaFlow/data/ac/ac10da2fead2c1fd09409b41fac341edaae973b7",
                            "valueFrom": null
                        },
                        {
                            "name": "METAFLOW_CODE_SHA",
                            "value": "ac10da2fead2c1fd09409b41fac341edaae973b7",
                            "valueFrom": null
                        },
                        {
                            "name": "METAFLOW_CODE_DS",
                            "value": "s3",
                            "valueFrom": null
                        },
                        {
                            "name": "METAFLOW_SERVICE_URL",
                            "value": "http://metaflow-metaflow-ui:8083/api/metadata",
                            "valueFrom": null
                        },
                        {
                            "name": "METAFLOW_SERVICE_HEADERS",
                            "value": "{}",
                            "valueFrom": null
                        },
                        {
                            "name": "METAFLOW_USER",
                            "value": "argo-workflows",
                            "valueFrom": null
                        },
                        {
                            "name": "METAFLOW_DATASTORE_SYSROOT_S3",
                            "value": "s3://dev-domain-metaflow-testing",
                            "valueFrom": null
                        },
                        {
                            "name": "METAFLOW_DATATOOLS_S3ROOT",
                            "value": "s3://dev-domain-metaflow-testing/data",
                            "valueFrom": null
                        },
                        {
                            "name": "METAFLOW_DEFAULT_DATASTORE",
                            "value": "s3",
                            "valueFrom": null
                        },
                        {
                            "name": "METAFLOW_DEFAULT_METADATA",
                            "value": "service",
                            "valueFrom": null
                        },
                        {
                            "name": "METAFLOW_CARD_S3ROOT",
                            "value": "s3://dev-domain-metaflow-testing/mf.cards",
                            "valueFrom": null
                        },
                        {
                            "name": "METAFLOW_KUBERNETES_WORKLOAD",
                            "value": "1",
                            "valueFrom": null
                        },
                        {
                            "name": "METAFLOW_RUNTIME_ENVIRONMENT",
                            "value": "kubernetes",
                            "valueFrom": null
                        },
                        {
                            "name": "METAFLOW_OWNER",
                            "value": "shan",
                            "valueFrom": null
                        },
                        {
                            "name": "METAFLOW_FLOW_NAME",
                            "value": "AlphaFlow",
                            "valueFrom": null
                        },
                        {
                            "name": "METAFLOW_STEP_NAME",
                            "value": "start",
                            "valueFrom": null
                        },
                        {
                            "name": "METAFLOW_RUN_ID",
                            "value": "argo-{{workflow.name}}",
                            "valueFrom": null
                        },
                        {
                            "name": "METAFLOW_RETRY_COUNT",
                            "value": "0",
                            "valueFrom": null
                        },
                        {
                            "name": "METAFLOW_PRODUCTION_TOKEN",
                            "value": "alphaflow-0-sdpe",
                            "valueFrom": null
                        },
                        {
                            "name": "ARGO_WORKFLOW_TEMPLATE",
                            "value": "alphaflow",
                            "valueFrom": null
                        },
                        {
                            "name": "ARGO_WORKFLOW_NAME",
                            "value": "{{workflow.name}}",
                            "valueFrom": null
                        },
                        {
                            "name": "ARGO_WORKFLOW_NAMESPACE",
                            "value": "metaflow",
                            "valueFrom": null
                        },
                        {
                            "name": "METAFLOW_RUNTIME_NAME",
                            "value": "argo-workflows",
                            "valueFrom": null
                        },
                        {
                            "name": "USER",
                            "value": "shan",
                            "valueFrom": null
                        },
                        {
                            "name": "METAFLOW_VERSION",
                            "value": "{\"platform\": \"Darwin\", \"username\": \"shan\", \"production_token\": \"alphaflow-0-sdpe\", \"runtime\": \"dev\", \"app\": null, \"environment_type\": \"local\", \"use_r\": false, \"python_version\": \"3.11.1 (main, Dec 23 2022, 09:28:24) [Clang 14.0.0 (clang-1400.0.29.202)]\", \"python_version_code\": \"3.11.1\", \"metaflow_version\": \"2.7.18\", \"script\": \"parameter_flow.py\", \"ext_info\": [{}, {}], \"flow_name\": \"AlphaFlow\"}",
                            "valueFrom": null
                        },
                        {
                            "name": "METAFLOW_KUBERNETES_POD_NAMESPACE",
                            "value": null,
                            "valueFrom": {
                                "configMapKeyRef": null,
                                "fieldRef": {
                                    "apiVersion": null,
                                    "fieldPath": "metadata.namespace"
                                },
                                "resourceFieldRef": null,
                                "secretKeyRef": null
                            }
                        },
                        {
                            "name": "METAFLOW_KUBERNETES_POD_NAME",
                            "value": null,
                            "valueFrom": {
                                "configMapKeyRef": null,
                                "fieldRef": {
                                    "apiVersion": null,
                                    "fieldPath": "metadata.name"
                                },
                                "resourceFieldRef": null,
                                "secretKeyRef": null
                            }
                        },
                        {
                            "name": "METAFLOW_KUBERNETES_POD_ID",
                            "value": null,
                            "valueFrom": {
                                "configMapKeyRef": null,
                                "fieldRef": {
                                    "apiVersion": null,
                                    "fieldPath": "metadata.uid"
                                },
                                "resourceFieldRef": null,
                                "secretKeyRef": null
                            }
                        },
                        {
                            "name": "METAFLOW_KUBERNETES_SERVICE_ACCOUNT_NAME",
                            "value": null,
                            "valueFrom": {
                                "configMapKeyRef": null,
                                "fieldRef": {
                                    "apiVersion": null,
                                    "fieldPath": "spec.serviceAccountName"
                                },
                                "resourceFieldRef": null,
                                "secretKeyRef": null
                            }
                        }
                    ],
                    "envFrom": [],
                    "image": "python:3.11",
                    "imagePullPolicy": null,
                    "lifecycle": null,
                    "livenessProbe": null,
                    "name": "start",
                    "ports": null,
                    "readinessProbe": null,
                    "resources": {
                        "limits": {},
                        "requests": {
                            "cpu": "1",
                            "memory": "4096M",
                            "ephemeral-storage": "10240M"
                        }
                    },
                    "securityContext": null,
                    "startupProbe": null,
                    "stdin": null,
                    "stdinOnce": null,
                    "terminationMessagePath": null,
                    "terminationMessagePolicy": null,
                    "tty": null,
                    "volumeDevices": null,
                    "volumeMounts": [
                        {
                            "mountPath": "/mnt/out",
                            "mountPropagation": null,
                            "name": "out",
                            "readOnly": null,
                            "subPath": null,
                            "subPathExpr": null
                        }
                    ],
                    "workingDir": null
                }
            },
            {
                "name": "end",
                "activeDeadlineSeconds": 432000,
                "serviceAccountName": "metaflow-metaflow-service",
                "inputs": {
                    "parameters": [
                        {
                            "name": "input-paths"
                        }
                    ]
                },
                "outputs": {
                    "parameters": []
                },
                "failFast": true,
                "metadata": {
                    "annotations": {
                        "metaflow/step_name": "end",
                        "metaflow/attempt": "0"
                    }
                },
                "volumes": [
                    {
                        "name": "out",
                        "emptyDir": {}
                    }
                ],
                "labels": {},
                "nodeSelector": {},
                "container": {
                    "args": null,
                    "command": [
                        "bash",
                        "-c",
                        "${METAFLOW_INIT_SCRIPT:+eval \"${METAFLOW_INIT_SCRIPT}\"} && mkdir -p $PWD/.logs && export METAFLOW_TASK_ID=(t-$(echo end-{{workflow.creationTimestamp}}-{{inputs.parameters.input-paths}} | md5sum | cut -d ' ' -f 1 | tail -c 9)) && export PYTHONUNBUFFERED=x MF_PATHSPEC=AlphaFlow/argo-{{workflow.name}}/end/$METAFLOW_TASK_ID MF_DATASTORE=s3 MF_ATTEMPT=0 MFLOG_STDOUT=$PWD/.logs/mflog_stdout MFLOG_STDERR=$PWD/.logs/mflog_stderr && mflog(){ T=$(date -u -Ins|tr , .); echo \"[MFLOG|0|${T:0:26}Z|task|$T]$1\" >> $MFLOG_STDOUT; echo $1;  } && mflog 'Setting up task environment.' && python -m pip install requests -qqq && python -m pip install awscli boto3 -qqq && mkdir metaflow && cd metaflow && mkdir .metaflow && i=0; while [ $i -le 5 ]; do mflog 'Downloading code package...'; python -m awscli ${METAFLOW_S3_ENDPOINT_URL:+--endpoint-url=\"${METAFLOW_S3_ENDPOINT_URL}\"} s3 cp s3://dev-domain-metaflow-testing/AlphaFlow/data/ac/ac10da2fead2c1fd09409b41fac341edaae973b7 job.tar >/dev/null && mflog 'Code package downloaded.' && break; sleep 10; i=$((i+1)); done && if [ $i -gt 5 ]; then mflog 'Failed to download code package from s3://dev-domain-metaflow-testing/AlphaFlow/data/ac/ac10da2fead2c1fd09409b41fac341edaae973b7 after 6 tries. Exiting...' && exit 1; fi && TAR_OPTIONS='--warning=no-timestamp' tar xf job.tar && mflog 'Task is starting.' && (python parameter_flow.py --with kubernetes:cpu=1,memory=4096,disk=10240,image=python:3.11,service_account=metaflow-metaflow-service,namespace=metaflow,gpu_vendor=nvidia --with 'environment:vars={}' --quiet --metadata=service --environment=local --datastore=s3 --datastore-root=s3://dev-domain-metaflow-testing --event-logger=nullSidecarLogger --monitor=nullSidecarMonitor --no-pylint --with=argo_workflows_internal step end --run-id argo-{{workflow.name}} --task-id $METAFLOW_TASK_ID --retry-count 0 --max-user-code-retries 0 --input-paths {{inputs.parameters.input-paths}}) 1>> >(python -m metaflow.mflog.tee task $MFLOG_STDOUT) 2>> >(python -m metaflow.mflog.tee task $MFLOG_STDERR >&2); c=$?; python -m metaflow.mflog.save_logs; exit $c"
                    ],
                    "env": [
                        {
                            "name": "METAFLOW_CODE_URL",
                            "value": "s3://dev-domain-metaflow-testing/AlphaFlow/data/ac/ac10da2fead2c1fd09409b41fac341edaae973b7",
                            "valueFrom": null
                        },
                        {
                            "name": "METAFLOW_CODE_SHA",
                            "value": "ac10da2fead2c1fd09409b41fac341edaae973b7",
                            "valueFrom": null
                        },
                        {
                            "name": "METAFLOW_CODE_DS",
                            "value": "s3",
                            "valueFrom": null
                        },
                        {
                            "name": "METAFLOW_SERVICE_URL",
                            "value": "http://metaflow-metaflow-ui:8083/api/metadata",
                            "valueFrom": null
                        },
                        {
                            "name": "METAFLOW_SERVICE_HEADERS",
                            "value": "{}",
                            "valueFrom": null
                        },
                        {
                            "name": "METAFLOW_USER",
                            "value": "argo-workflows",
                            "valueFrom": null
                        },
                        {
                            "name": "METAFLOW_DATASTORE_SYSROOT_S3",
                            "value": "s3://dev-domain-metaflow-testing",
                            "valueFrom": null
                        },
                        {
                            "name": "METAFLOW_DATATOOLS_S3ROOT",
                            "value": "s3://dev-domain-metaflow-testing/data",
                            "valueFrom": null
                        },
                        {
                            "name": "METAFLOW_DEFAULT_DATASTORE",
                            "value": "s3",
                            "valueFrom": null
                        },
                        {
                            "name": "METAFLOW_DEFAULT_METADATA",
                            "value": "service",
                            "valueFrom": null
                        },
                        {
                            "name": "METAFLOW_CARD_S3ROOT",
                            "value": "s3://dev-domain-metaflow-testing/mf.cards",
                            "valueFrom": null
                        },
                        {
                            "name": "METAFLOW_KUBERNETES_WORKLOAD",
                            "value": "1",
                            "valueFrom": null
                        },
                        {
                            "name": "METAFLOW_RUNTIME_ENVIRONMENT",
                            "value": "kubernetes",
                            "valueFrom": null
                        },
                        {
                            "name": "METAFLOW_OWNER",
                            "value": "shan",
                            "valueFrom": null
                        },
                        {
                            "name": "METAFLOW_FLOW_NAME",
                            "value": "AlphaFlow",
                            "valueFrom": null
                        },
                        {
                            "name": "METAFLOW_STEP_NAME",
                            "value": "end",
                            "valueFrom": null
                        },
                        {
                            "name": "METAFLOW_RUN_ID",
                            "value": "argo-{{workflow.name}}",
                            "valueFrom": null
                        },
                        {
                            "name": "METAFLOW_RETRY_COUNT",
                            "value": "0",
                            "valueFrom": null
                        },
                        {
                            "name": "METAFLOW_PRODUCTION_TOKEN",
                            "value": "alphaflow-0-sdpe",
                            "valueFrom": null
                        },
                        {
                            "name": "ARGO_WORKFLOW_TEMPLATE",
                            "value": "alphaflow",
                            "valueFrom": null
                        },
                        {
                            "name": "ARGO_WORKFLOW_NAME",
                            "value": "{{workflow.name}}",
                            "valueFrom": null
                        },
                        {
                            "name": "ARGO_WORKFLOW_NAMESPACE",
                            "value": "metaflow",
                            "valueFrom": null
                        },
                        {
                            "name": "METAFLOW_RUNTIME_NAME",
                            "value": "argo-workflows",
                            "valueFrom": null
                        },
                        {
                            "name": "USER",
                            "value": "shan",
                            "valueFrom": null
                        },
                        {
                            "name": "METAFLOW_VERSION",
                            "value": "{\"platform\": \"Darwin\", \"username\": \"shan\", \"production_token\": \"alphaflow-0-sdpe\", \"runtime\": \"dev\", \"app\": null, \"environment_type\": \"local\", \"use_r\": false, \"python_version\": \"3.11.1 (main, Dec 23 2022, 09:28:24) [Clang 14.0.0 (clang-1400.0.29.202)]\", \"python_version_code\": \"3.11.1\", \"metaflow_version\": \"2.7.18\", \"script\": \"parameter_flow.py\", \"ext_info\": [{}, {}], \"flow_name\": \"AlphaFlow\"}",
                            "valueFrom": null
                        },
                        {
                            "name": "METAFLOW_KUBERNETES_POD_NAMESPACE",
                            "value": null,
                            "valueFrom": {
                                "configMapKeyRef": null,
                                "fieldRef": {
                                    "apiVersion": null,
                                    "fieldPath": "metadata.namespace"
                                },
                                "resourceFieldRef": null,
                                "secretKeyRef": null
                            }
                        },
                        {
                            "name": "METAFLOW_KUBERNETES_POD_NAME",
                            "value": null,
                            "valueFrom": {
                                "configMapKeyRef": null,
                                "fieldRef": {
                                    "apiVersion": null,
                                    "fieldPath": "metadata.name"
                                },
                                "resourceFieldRef": null,
                                "secretKeyRef": null
                            }
                        },
                        {
                            "name": "METAFLOW_KUBERNETES_POD_ID",
                            "value": null,
                            "valueFrom": {
                                "configMapKeyRef": null,
                                "fieldRef": {
                                    "apiVersion": null,
                                    "fieldPath": "metadata.uid"
                                },
                                "resourceFieldRef": null,
                                "secretKeyRef": null
                            }
                        },
                        {
                            "name": "METAFLOW_KUBERNETES_SERVICE_ACCOUNT_NAME",
                            "value": null,
                            "valueFrom": {
                                "configMapKeyRef": null,
                                "fieldRef": {
                                    "apiVersion": null,
                                    "fieldPath": "spec.serviceAccountName"
                                },
                                "resourceFieldRef": null,
                                "secretKeyRef": null
                            }
                        }
                    ],
                    "envFrom": [],
                    "image": "python:3.11",
                    "imagePullPolicy": null,
                    "lifecycle": null,
                    "livenessProbe": null,
                    "name": "end",
                    "ports": null,
                    "readinessProbe": null,
                    "resources": {
                        "limits": {},
                        "requests": {
                            "cpu": "1",
                            "memory": "4096M",
                            "ephemeral-storage": "10240M"
                        }
                    },
                    "securityContext": null,
                    "startupProbe": null,
                    "stdin": null,
                    "stdinOnce": null,
                    "terminationMessagePath": null,
                    "terminationMessagePolicy": null,
                    "tty": null,
                    "volumeDevices": null,
                    "volumeMounts": [
                        {
                            "mountPath": "/mnt/out",
                            "mountPropagation": null,
                            "name": "out",
                            "readOnly": null,
                            "subPath": null,
                            "subPathExpr": null
                        }
                    ],
                    "workingDir": null
                }
            }
        ]
    }
}
