summaryrefslogtreecommitdiffstats
path: root/gitautodeploy/gitautodeploy.py
diff options
context:
space:
mode:
authorOliver Poignant <oliver@poignant.se>2016-04-10 00:44:54 +0200
committerOliver Poignant <oliver@poignant.se>2016-04-10 00:44:54 +0200
commit3787a23919726af12edbcbae2b71fa1e3cdacaaa (patch)
treedcb0bd4036456da2a8d57b70990ad6952b8fbeb4 /gitautodeploy/gitautodeploy.py
parent07da7916f145be8400d71a45aae2733a9bd46641 (diff)
parentff9f691c80a4b969369685fca1d963d7c70e9055 (diff)
downloadGit-Auto-Deploy-3787a23919726af12edbcbae2b71fa1e3cdacaaa.zip
Git-Auto-Deploy-3787a23919726af12edbcbae2b71fa1e3cdacaaa.tar.gz
Git-Auto-Deploy-3787a23919726af12edbcbae2b71fa1e3cdacaaa.tar.bz2
Merge pull request #82 from olipo186/development
SSL support
Diffstat (limited to 'gitautodeploy/gitautodeploy.py')
-rw-r--r--gitautodeploy/gitautodeploy.py20
1 files changed, 19 insertions, 1 deletions
diff --git a/gitautodeploy/gitautodeploy.py b/gitautodeploy/gitautodeploy.py
index afdb5b2..c4f7ed8 100644
--- a/gitautodeploy/gitautodeploy.py
+++ b/gitautodeploy/gitautodeploy.py
@@ -374,6 +374,8 @@ class GitAutoDeploy(object):
default_config_value = 'GAD_CONFIG' in os.environ and os.environ['GAD_CONFIG'] or None
default_ssh_keygen_value = 'GAD_SSH_KEYGEN' in os.environ or False
default_force_value = 'GAD_FORCE' in os.environ or False
+ default_use_ssl = 'GAD_SSL' in os.environ or False
+ default_ssl_pem_file_path = 'GAD_SSL_PEM_FILE' in os.environ and os.environ['GAD_SSL_PEM_FILE'] or '~/.gitautodeploy.pem'
default_pid_file_value = 'GAD_PID_FILE' in os.environ and os.environ['GAD_PID_FILE'] or '~/.gitautodeploy.pid'
default_log_file_value = 'GAD_LOG_FILE' in os.environ and os.environ['GAD_LOG_FILE'] or None
default_host_value = 'GAD_HOST' in os.environ and os.environ['GAD_HOST'] or '0.0.0.0'
@@ -426,6 +428,16 @@ class GitAutoDeploy(object):
default=default_port_value,
type=int)
+ parser.add_argument("--ssl",
+ help="use ssl",
+ default=default_use_ssl,
+ action="store_true")
+
+ parser.add_argument("--ssl-pem",
+ help="path to ssl pem file",
+ default=default_ssl_pem_file_path,
+ type=str)
+
args = parser.parse_args()
# Set up logging
@@ -502,7 +514,7 @@ class GitAutoDeploy(object):
# to file and console depending on user preference)
sys.stdout = LogInterface(logger.info)
sys.stderr = LogInterface(logger.error)
-
+
if args.daemon_mode:
logger.info('Starting Git Auto Deploy in daemon mode')
GitAutoDeploy.create_daemon()
@@ -524,6 +536,12 @@ class GitAutoDeploy(object):
self._server = HTTPServer((self._config['host'],
self._config['port']),
WebhookRequestHandler)
+ if args.ssl:
+ import ssl
+ logger.info("enabling ssl")
+ self._server.socket = ssl.wrap_socket(self._server.socket,
+ certfile=os.path.expanduser(args.ssl_pem),
+ server_side=True)
sa = self._server.socket.getsockname()
logger.info("Listening on %s port %s", sa[0], sa[1])
self._server.serve_forever()