Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Managing Backups

The UI for managing backups is located within the host app.

A user must have super user permissions to manage host settings and hence view, download and create backups. Any associated server side Axon functions or REST APIs must enforce the super user role check.

  • The name of the new tab is called Backups.

  • The backups view contains a tabular list of all backups made so far.

  • A user can manually create, delete and download backups from this view.

  • When a backup is created…

    • The user is asked for a password that must meet all the security requirements used by FIN for passwords.

    • The UI must show a progress bar of the backup being created.

    • If the user navigates away from the host app and returns, the UI must show the state of backup being made.

    • Once a backup has been created, the table must be updated with the latest information.

  • When a backup is deleted, the user must be first asked whether they are sure they want to delete the backup.

  • If a UI is being served using Edge2Cloud and the user clicks to download a backup, the user must be redirected instead to the Edge2Cloud device summary page.

    • A cloud user has the {{cloudUser}} marker tag on the user record.

A backup can be uploaded to Edge2Cloud via this UI.

  • The finEdge2CloudCreateRollingBackup Axon function creates a rolling backup in Edge2Cloud. Edge2Cloud stores 3 rolling backups per device (FIN instance). The oldest rolling backup is automated deleted when the fourth backup is created.

    • finProjBackup(@p:demo).finEdge2CloudCreateRollingBackupSync()

  • The finEdge2CloudCreatePermanentBackup Axon function creates a permanent backup in Edge2Cloud. Edge2Cloud stores 5 backups. If a sixth backup is created, an error will be thrown as permanent backups cannot be automatically overwritten. They have to be deleted via Edge2Cloud first.

  • The finEdge2CloudAllBackupTasks is used to poll what cloud backups are being created. This can be polled for the whether a cloud backup uploaded successfully or not including the backup progress.

  • The finEdge2CloudCancelBackupTask is used to cancel uploading a cloud backup.

    • The cloud backup progress and state must be shown in the backup table. It should automatically poll for changes and refresh.

Please note, some changes to finEdge2Cloud.pod need to be made to update the state of backup folio database with progress information.

Note

This UI is the only UI used for managing cloud backups from FIN.

Automating backups and cloud backups

As well as manually creating backups, it’s important a user is able to automate the creation of a backup as well as upload it to Edge2Cloud.

This should be done via Axon functions that can create a backup. Consider…

Creates a new backup zip file an automatically generated date time postfix…

finHostBackup() 

Creates a new backup zip file with a specific name. If a backup file already exists then it should be automatically overridden…

finHostBackup("backup.zip")

Please note: a backup name must be validated. It cannot contain any forward or back slashes. It must end with zip.

The Axon function is synchronous and returns a grid with the newly created backup information.

The Axon functions can be chained with the Edge2Cloud functions. For example…

finHostBackup().finEdge2CloudCreateRollingBackup()

In the above example, the backup is created and then the file name is fed to the cloud backup function.

The grid returned from finHostBackup must contain a column called name with one row. The name is the name of the file in the /var/backups/ directory.

To be automated, these Axon functions can be added to a job. This should be documented for a user accordingly.

Please note, the cloud upload Axon functions are purely asynchronous.

  • No labels