Skip to content

Commit

Permalink
Add --no-verify option to disable server certificate verification (#765)
Browse files Browse the repository at this point in the history
  • Loading branch information
Jongy authored Apr 16, 2023
1 parent 2bd222e commit cb237d0
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 9 deletions.
4 changes: 4 additions & 0 deletions gprofiler/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -109,12 +109,14 @@ class ProfilerAPIClient(BaseAPIClient):

def __init__(
self,
*,
token: str,
service_name: str,
server_address: str,
curlify_requests: bool,
hostname: str,
upload_timeout: int,
verify: bool,
version: str = "v1",
):
self._server_address = server_address.rstrip("/")
Expand All @@ -123,10 +125,12 @@ def __init__(
self._key = token
self._service = service_name
self._hostname = hostname
self._verify = verify
super().__init__(curlify_requests)

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

# Raises on failure
Expand Down
10 changes: 8 additions & 2 deletions gprofiler/log.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,11 +49,17 @@ class RemoteLogsHandler(BatchRequestsHandler):

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

def __init__(self, server_address: str, auth_token: str, service_name: str) -> None:
def __init__(self, server_address: str, auth_token: str, service_name: str, verify: bool) -> None:
self._service_name = service_name
url = urlparse(server_address)
super().__init__(
Sender(application_name="gprofiler", auth_token=auth_token, scheme=url.scheme, server_address=url.netloc)
Sender(
application_name="gprofiler",
auth_token=auth_token,
scheme=url.scheme,
server_address=url.netloc,
verify=verify,
)
)

def emit(self, record: LogRecord) -> None:
Expand Down
18 changes: 12 additions & 6 deletions gprofiler/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -633,6 +633,9 @@ def parse_cmd_args() -> configargparse.Namespace:
connectivity.add_argument(
"--curlify-requests", help="Log cURL commands for HTTP requests (used for debugging)", action="store_true"
)
connectivity.add_argument(
"--no-verify", help="Do not verify server certificates", action="store_false", dest="verify"
)

upload_file.set_defaults(func=send_collapsed_file_only)

Expand Down Expand Up @@ -953,7 +956,9 @@ def main() -> None:
state = init_state()

remote_logs_handler = (
RemoteLogsHandler(args.api_server, args.server_token, args.service_name) if _should_send_logs(args) else None
RemoteLogsHandler(args.api_server, args.server_token, args.service_name, args.verify)
if _should_send_logs(args)
else None
)
global logger
logger = initial_root_logger_setup(
Expand Down Expand Up @@ -1015,11 +1020,12 @@ def main() -> None:
client_kwargs["upload_timeout"] = args.server_upload_timeout
profiler_api_client = (
ProfilerAPIClient(
args.server_token,
args.service_name,
args.server_host,
args.curlify_requests,
get_hostname(),
token=args.server_token,
service_name=args.service_name,
server_address=args.server_host,
curlify_requests=args.curlify_requests,
hostname=get_hostname(),
verify=args.verify,
**client_kwargs,
)
if args.upload_results
Expand Down
2 changes: 1 addition & 1 deletion granulate-utils

0 comments on commit cb237d0

Please sign in to comment.