From 4e6c5cacecc5b891b3f5ccc8e780e6e0cd3119eb Mon Sep 17 00:00:00 2001 From: Nathan Denny Date: Tue, 4 Jun 2024 04:45:14 -0400 Subject: [PATCH] completed backup asset (first attempt) --- bin/bastion.py | 44 ++++++++++++++++++++++++++------------------ 1 file changed, 26 insertions(+), 18 deletions(-) diff --git a/bin/bastion.py b/bin/bastion.py index 76fbe3f..176cc8a 100755 --- a/bin/bastion.py +++ b/bin/bastion.py @@ -39,33 +39,36 @@ b. anchor (full) if drift >= policy """ -def SUCCESS(obj): +def SUCCESS(doc, obj): return { 'reply': { 'status': '200', 'message': 'Ok' }, - 'body': obj + 'body': doc, + 'data': obj } -def FAILED(obj): +def FAILED(doc, obj): return { 'reply': { 'status': '400', 'message': 'Bad Request' }, - 'body': obj + 'body': doc, + 'data': obj } -def CRASHED(obj): +def CRASHED(doc, obj): return { 'reply': { 'status': '500', 'message': 'Internal Application Error (crash)' }, - 'body': obj + 'body': doc, + 'data': obj } @@ -132,7 +135,10 @@ def run(self): ("export zone assets", self.do_export_zone_assets), ("export site list", self.do_export_site_list), ("export asset manifest", self.do_export_asset_manifest), - ("backup asset", self.do_backup_asset) + ("backup asset", self.do_backup_asset), + ("update asset", self.do_update_asset), + ("backup zone", self.do_backup_zone), + ("update zone", self.do_update_zone) ] action = self.do_help #-- default is to show the help. @@ -167,14 +173,14 @@ def do_backup_asset(self, comargs, comdex): ark = ARK(comdex[2]) # print(ark) site = self.site(ark.site) - vault = self.vault('fortress') - vault.provision(ark) asset = site.asset(ark) + vault = self.vault(asset.policy.vault) + vault.provision(ark) flag, stdout, stderr = vault.htar(asset) if flag: - return SUCCESS({'stdout': stdout, 'stderr': stderr}) + return SUCCESS(stdout, {'stdout': stdout}) else: - return FAILED({'stdout': stdout, 'stderr': stderr}) + return FAILED(stdout, {'stdout': stdout}) #---------------------- #-- export operations | @@ -211,13 +217,13 @@ def do_export_asset_manifest(self, comargs, comdex): if __name__ == '__main__': app = App().configured() - #app.run( ) - comdex = dict(enumerate(sys.argv[1:])) - rusina = app.site('rusina') - fortress = app.vault('fortress', rusina) - ark = ARK(comdex[2]) - ds = rusina.asset(ark) - fortress.provision(ark) + app.run( ) + #comdex = dict(enumerate(sys.argv[1:])) + #rusina = app.site('rusina') + #fortress = app.vault('fortress', rusina) + #ark = ARK(comdex[2]) + #ds = rusina.asset(ark) + #fortress.provision(ark) #bastion site {site} backup @@ -236,6 +242,8 @@ def do_export_asset_manifest(self, comargs, comdex): #bastion restore zone { } #bastion backup asset { } #bastion backup zone { } +#bastion update asset { } +#bastion update zone { } #bastion export zone assets { } #bastion export asset manifest { } #bastion export site list