Skip to content

Commit cb237d0

Browse files
authored
Add --no-verify option to disable server certificate verification (#765)
1 parent 2bd222e commit cb237d0

File tree

4 files changed

+25
-9
lines changed

4 files changed

+25
-9
lines changed

gprofiler/client.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,12 +109,14 @@ class ProfilerAPIClient(BaseAPIClient):
109109

110110
def __init__(
111111
self,
112+
*,
112113
token: str,
113114
service_name: str,
114115
server_address: str,
115116
curlify_requests: bool,
116117
hostname: str,
117118
upload_timeout: int,
119+
verify: bool,
118120
version: str = "v1",
119121
):
120122
self._server_address = server_address.rstrip("/")
@@ -123,10 +125,12 @@ def __init__(
123125
self._key = token
124126
self._service = service_name
125127
self._hostname = hostname
128+
self._verify = verify
126129
super().__init__(curlify_requests)
127130

128131
def _init_session(self) -> None:
129132
self._session: Session = requests.Session()
133+
self._session.verify = self._verify
130134
self._session.headers.update({"GPROFILER-API-KEY": self._key, "GPROFILER-SERVICE-NAME": self._service})
131135

132136
# Raises on failure

gprofiler/log.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,11 +49,17 @@ class RemoteLogsHandler(BatchRequestsHandler):
4949

5050
MAX_BUFFERED_RECORDS = 100 * 1000 # max number of records to buffer locally
5151

52-
def __init__(self, server_address: str, auth_token: str, service_name: str) -> None:
52+
def __init__(self, server_address: str, auth_token: str, service_name: str, verify: bool) -> None:
5353
self._service_name = service_name
5454
url = urlparse(server_address)
5555
super().__init__(
56-
Sender(application_name="gprofiler", auth_token=auth_token, scheme=url.scheme, server_address=url.netloc)
56+
Sender(
57+
application_name="gprofiler",
58+
auth_token=auth_token,
59+
scheme=url.scheme,
60+
server_address=url.netloc,
61+
verify=verify,
62+
)
5763
)
5864

5965
def emit(self, record: LogRecord) -> None:

gprofiler/main.py

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -633,6 +633,9 @@ def parse_cmd_args() -> configargparse.Namespace:
633633
connectivity.add_argument(
634634
"--curlify-requests", help="Log cURL commands for HTTP requests (used for debugging)", action="store_true"
635635
)
636+
connectivity.add_argument(
637+
"--no-verify", help="Do not verify server certificates", action="store_false", dest="verify"
638+
)
636639

637640
upload_file.set_defaults(func=send_collapsed_file_only)
638641

@@ -953,7 +956,9 @@ def main() -> None:
953956
state = init_state()
954957

955958
remote_logs_handler = (
956-
RemoteLogsHandler(args.api_server, args.server_token, args.service_name) if _should_send_logs(args) else None
959+
RemoteLogsHandler(args.api_server, args.server_token, args.service_name, args.verify)
960+
if _should_send_logs(args)
961+
else None
957962
)
958963
global logger
959964
logger = initial_root_logger_setup(
@@ -1015,11 +1020,12 @@ def main() -> None:
10151020
client_kwargs["upload_timeout"] = args.server_upload_timeout
10161021
profiler_api_client = (
10171022
ProfilerAPIClient(
1018-
args.server_token,
1019-
args.service_name,
1020-
args.server_host,
1021-
args.curlify_requests,
1022-
get_hostname(),
1023+
token=args.server_token,
1024+
service_name=args.service_name,
1025+
server_address=args.server_host,
1026+
curlify_requests=args.curlify_requests,
1027+
hostname=get_hostname(),
1028+
verify=args.verify,
10231029
**client_kwargs,
10241030
)
10251031
if args.upload_results

granulate-utils

0 commit comments

Comments
 (0)