46 lines
1.4 KiB
TypeScript
46 lines
1.4 KiB
TypeScript
export type BackupScript = {
|
|
key: string
|
|
label: string
|
|
icon?: string
|
|
downloadFolders?: string[]
|
|
}
|
|
|
|
export const backupScripts: BackupScript[] = [
|
|
{
|
|
key: "backup-bdd-recette",
|
|
label: "Backup BDD recette",
|
|
icon: "mdi:database-export",
|
|
downloadFolders: ["ferme", "inventory", "sirh", "user"]
|
|
},
|
|
{
|
|
key: "check-statut-recette",
|
|
label: "Check statut recette",
|
|
icon: "mdi:server-network"
|
|
},
|
|
{
|
|
key: "backup-vaultwarden",
|
|
label: "Backup vaultwarden",
|
|
icon: "mdi:data",
|
|
downloadFolders: ["bitwarden"]
|
|
}
|
|
]
|
|
|
|
const getDefaultBackupScriptCommands = (): Record<string, string> => {
|
|
const recetteScriptsDir = process.env.RECETTE_SCRIPTS_DIR || "/home/malio/Malio-ops/RecetteScripts"
|
|
const vaultwardenHost = process.env.VAULTWARDEN_SSH_HOST || "bitwarden"
|
|
const vaultwardenScriptsDir =
|
|
process.env.VAULTWARDEN_SCRIPTS_DIR || "/home/matt/vaultwarden/Malio-ops/BackupVaultWarden"
|
|
|
|
return {
|
|
"backup-bdd-recette": `cd ${recetteScriptsDir} && bash backup-bdd-recette.sh`,
|
|
"check-statut-recette": `cd ${recetteScriptsDir} && bash check-statut-recette.sh`,
|
|
"backup-vaultwarden":
|
|
`ssh ${vaultwardenHost} "cd ${vaultwardenScriptsDir} && bash backup-vaultwarden.sh"`
|
|
}
|
|
}
|
|
|
|
export function getBackupScriptCommand(key: string) {
|
|
const envKey = `BACKUP_SCRIPT_COMMAND_${key.toUpperCase().replace(/-/g, "_")}`
|
|
return process.env[envKey] || getDefaultBackupScriptCommands()[key] || null
|
|
}
|