<p>I have a Kubernetes pod which downloading several types of files (let’s say <code>X</code>, <code>Y</code> and <code>Z</code>), and I have some processing scripts (each one is in a docker image) which are interested in one or more files (let's say <code>processor_X_and_Y</code>, <code>processor_X_and_Z</code> and <code>processor_Z</code>).  </p>

<p>The first pod is always running, and I need to create a processor pod after downloading a file according to the file type, for example if the downloader downloads a file of type <code>Z</code>, I need to create a new instance of <code>processor_X_and_Z</code> and a new instance of <code>processor_Z</code>.  </p>

<p>My current idea is to use <a href="https://argoproj.github.io/" rel="nofollow noreferrer">Argo workflow</a> by creating a simple workflow from 1 step for each processor, then starting the suitable workflows by calling the <a href="https://argoproj.github.io/docs/argo/rest-api.html" rel="nofollow noreferrer">Argo REST API</a> from the downloader pod. Thus I have achieved my goal and the auto-scaling of my system.  </p>

<p>My question is is there another simpler engine or a service in Kubernetes which I can use to create a new prod from another pod without using this workflow engine? </p>

Hussein Awala
<p>As mentioned in another answer, you can give your pod access to the Kubernetes API and then apply a Pod resource via kubectl.</p>

<p>If you want to start an Argo Workflow, you could use kubectl to apply a Workflow resource, or you could use the <a href="https://argoproj.github.io/docs/argo/examples/readme.html#argo-cli" rel="nofollow noreferrer">Argo CLI</a>.</p>

<p>But if you're using Argo anyway, you might find it easier to use <a href="https://argoproj.github.io/argo-events/" rel="nofollow noreferrer">Argo Events</a> to <a href="https://argoproj.github.io/argo-events/triggers/argo-workflow/" rel="nofollow noreferrer">kick off a Workflow</a>. You would have to choose an <a href="https://argoproj.github.io/argo-events/concepts/event_source/" rel="nofollow noreferrer">event source</a> based on how/from where you're downloading the source files. If, for example, the files are on S3, you could use the SNS event source.</p>

<p>If you just need to periodically check for new files, you could use a <a href="https://github.com/argoproj/argo/blob/master/docs/cron-workflows.md" rel="nofollow noreferrer">CronWorkflow</a> to perform the check and conditionally perform the rest of the workflow based on whether there's anything to download.</p>
