]> xn--ix-yja.es Git - alex.git/commitdiff
Allow using a supplied certificate
authoralex <alex@pdp7.net>
Sun, 8 Oct 2023 11:42:58 +0000 (13:42 +0200)
committeralex <alex@pdp7.net>
Sun, 8 Oct 2023 11:43:29 +0000 (13:43 +0200)
blog_experiment/blog/__main__.py

index b936500d86065dd13d414ad094a93645569a092c..afe50c53924193a49b144a85542f020f159460ea 100644 (file)
@@ -1,4 +1,6 @@
+import argparse
 import logging
+import sys
 
 from bicephalus import main as bicephalus_main
 from bicephalus import otel
@@ -9,9 +11,20 @@ import blog
 
 def main():
     otel.configure_logging(logging.INFO)
+
+    parser = argparse.ArgumentParser()
+    parser.add_argument("--key-cert", nargs=2, metavar=("KEY", "CERT",), help="Path to a key and a file")
+    args = parser.parse_args()
+
+    if args.key_cert:
+        key, cert = args.key_cert
+        with ssl.ssl_context_from_files(cert, key) as ssl_context:
+            bicephalus_main.main(blog.handler, ssl_context, 8000)
+        sys.exit(0)
+
     with ssl.temporary_ssl_context("localhost") as ssl_context:
         bicephalus_main.main(blog.handler, ssl_context, 8000)
-
+    sys.exit(0)
 
 if __name__ == "__main__":
     main()