This section describes `{odo-title} push` workflow. {odo-title} push deploys user code on an {product-title} cluster with all the necessary {product-title} resources.
** Two init containers are executed: `copy-supervisord` and `copy-files-to-volume`. The init containers copy files onto the `emptyDir` and the `PersistentVolume` type of volumes respectively.
** The application container starts. The first process in the application container is the `go-init` process with PID=1.
** `go-init` process starts the SupervisorD daemon.
* A file indexer indexes the files in the source code directory. The indexer traverses through the source code directories recursively and finds files which have been created, deleted, or renamed.
* A file indexer maintains the indexed information in an {odo-title} index file inside the `.odo` directory.
* If the {odo-title} index file is not present, it means that the file indexer is being executed for the first time, and creates a new {odo-title} index JSON file.
The {odo-title} index JSON file contains a file map - the relative file paths of the traversed files and the absolute paths of the changed and deleted files.
. Pushing code
+
Local code is copied into the application container, usually under `/tmp/src`.