v2.5 and after
For many uses, you may wish to keep workflows for a long time. Argo can save completed workflows to an SQL database.
To enable this feature, configure a Postgres or MySQL (>= 5.7.8) database under
persistence in your configuration and set
Be aware that this feature will only archive the statuses of the workflows (which pods have been executed, what was the result, ...)
However, the logs of each pod will NOT be archived. If you need to access the logs of the pods, you need to setup an artifact repository thanks to this doc.
In addition to the table specified in the config map above, the following tables are created when enabling archiving:
The database migration will only occur successfully if none of the tables exist. If a partial set of the tables exist, the database migration may fail and the Argo workflow-controller pod may fail to start. If this occurs delete all of the tables and try restarting the deployment.
Required database permissions¶
The database user/role needs to have
USAGE permissions on the
public schema of the database so that the necessary table can be generated during the migration.