diff --git a/scripts/sync-vault.js b/scripts/sync-vault.js index d5b590b..4b7c721 100644 --- a/scripts/sync-vault.js +++ b/scripts/sync-vault.js @@ -100,6 +100,25 @@ async function syncFromCloud() { } } +async function syncCivoToEuronodes() { + console.log('=== Sincronizando Civo -> Euronodes ===\n'); + + const civoFiles = await listObjects(civo, 'rede5', 'vault/ssh/'); + console.log(`Encontrados ${civoFiles.length} arquivos no Civo\n`); + + for (const obj of civoFiles) { + const key = obj.Key.replace('vault/', ''); + + try { + const body = await downloadFile(civo, 'rede5', obj.Key); + await uploadFile(euronodes, 'vault', key, body); + console.log(`[EURONODES] ✅ ${key}`); + } catch (err) { + console.log(`[EURONODES] ❌ ${key}: ${err.message}`); + } + } +} + async function listCloud() { console.log('=== Listando arquivos nos Object Storages ===\n'); @@ -123,6 +142,9 @@ switch (action) { case 'download': syncFromCloud(); break; + case 'sync-civo': + syncCivoToEuronodes(); + break; case 'list': default: listCloud();