From 2aeb292be53a6c5664f33f9ad66ab201dff43326 Mon Sep 17 00:00:00 2001 From: Ivan Gromov Date: Tue, 3 Nov 2020 02:12:43 +0500 Subject: [PATCH] Unified UX for Vultr & Scaleway --- app/server.py | 19 ++++++++++++---- app/static/provider-gce.vue | 30 +++++++++++++++++------- app/static/provider-scaleway.vue | 30 ++++++++++++++---------- app/static/provider-vultr.vue | 39 ++++++++++++++++++++++---------- 4 files changed, 82 insertions(+), 36 deletions(-) diff --git a/app/server.py b/app/server.py index f44e727..46d5b77 100644 --- a/app/server.py +++ b/app/server.py @@ -17,6 +17,13 @@ try: except ImportError: HAS_BOTO3 = False +try: + import requests + + HAS_REQUESTS = True +except ImportError: + HAS_REQUESTS = False + try: from google.auth.transport.requests import AuthorizedSession from google.oauth2 import service_account @@ -174,6 +181,10 @@ async def ec2_regions(request): @routes.get('/gce_config') async def check_gce_config(_): + if not HAS_REQUESTS: + return web.json_response({'error': 'missing_requests'}, status=400) + if not HAS_GOOGLE_LIBRARIES: + return web.json_response({'error': 'missing_google'}, status=400) gce_file = join(PROJECT_ROOT, 'configs', 'gce.json') response = {} try: @@ -213,17 +224,17 @@ async def gce_regions(request): @routes.get('/vultr_config') async def check_vultr_config(request): default_path = expanduser(join('~', '.vultr.ini')) - response = {'path': None} + response = {'has_secret': False} try: open(default_path, 'r').read() - response['path'] = default_path + response['has_secret'] = True except IOError: pass if 'VULTR_API_CONFIG' in os.environ: try: open(os.environ['VULTR_API_CONFIG'], 'r').read() - response['path'] = os.environ['VULTR_API_CONFIG'] + response['has_secret'] = True except IOError: pass return web.json_response(response) @@ -239,7 +250,7 @@ async def vultr_regions(_): @routes.get('/scaleway_config') async def check_scaleway_config(_): - return web.json_response({"ok": 'SCW_TOKEN' in os.environ}) + return web.json_response({"has_secret": 'SCW_TOKEN' in os.environ}) app = web.Application() diff --git a/app/static/provider-gce.vue b/app/static/provider-gce.vue index 16f9c37..b542cdc 100644 --- a/app/static/provider-gce.vue +++ b/app/static/provider-gce.vue @@ -1,5 +1,11 @@