walkthroughs/howto-k8s-multi-region/colorapp/serve.py (30 lines of code) (raw):
#!/usr/bin/env python3
try:
import os
import requests
import json
from http.server import BaseHTTPRequestHandler, HTTPServer
except Exception as e:
print(f'[ERROR] {e}')
COLOR = os.environ.get('COLOR', 'no color!')
print(f'COLOR is {COLOR}')
PORT = int(os.environ.get('PORT', '8080'))
print(f'PORT is {PORT}')
class Handler(BaseHTTPRequestHandler):
def do_GET(self):
if self.path == '/ping':
self.send_response(200)
self.end_headers()
return
location = "AZ"
try:
location = requests.get('http://169.254.169.254/latest/meta-data/placement/availability-zone').content.decode()
except Exception as e:
location = "Error occured while querying meta-data for az"
print(f'[ERROR] {e}')
self.send_response(200)
self.end_headers()
self.wfile.write(json.dumps({"Color": COLOR, "Location": str(location)}).encode("utf-8"))
print('starting server...')
httpd = HTTPServer(('', PORT), Handler)
print('running server...')
httpd.serve_forever()