diff options
author | Oliver Poignant <oliver@poignant.se> | 2016-04-10 00:44:54 +0200 |
---|---|---|
committer | Oliver Poignant <oliver@poignant.se> | 2016-04-10 00:44:54 +0200 |
commit | 3787a23919726af12edbcbae2b71fa1e3cdacaaa (patch) | |
tree | dcb0bd4036456da2a8d57b70990ad6952b8fbeb4 /gitautodeploy/gitautodeploy.py | |
parent | 07da7916f145be8400d71a45aae2733a9bd46641 (diff) | |
parent | ff9f691c80a4b969369685fca1d963d7c70e9055 (diff) | |
download | Git-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.py | 20 |
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() |