-
Feature Request
-
Resolution: Unresolved
-
Undefined
-
None
-
2.5, 2.6
-
None
-
False
-
-
False
-
Important
What is the nature and description of the request?
Currently it seems that remote logging in Controller does not support utilizing only an API key without the use of a username. The only time it supports no username is with the Splunk logging type.
The ask here is to allow remote logging to be configured without a username and for it to pass the password (potentially API key) as an auth header if the username is not configured. Currently it doesn't seem to send any sort of auth if no username is included and it's not the Splunk type.
Why does the customer need this? (List the business requirements here)
To be able to extend the capabilities of remote logging to use with more platforms
How would you like to achieve this? (List the functional requirements here)
Customer suggested this as the functionality:
username = escape_quotes(getattr(settings, 'LOG_AGGREGATOR_USERNAME', '')) password = escape_quotes(getattr(settings, 'LOG_AGGREGATOR_PASSWORD', '')) if username: params.append(f'uid="{username}"') if password: # you can only have a basic auth password if there's a username params.append(f'pwd="{password}"') elif password: # from omhttp docs: # https://www.rsyslog.com/doc/v8-stable/configuration/modules/omhttp.html # > Currently only a single additional header/key pair is # > configurable, further development is needed to support # > arbitrary header key/value lists. params.append('httpheaderkey="Authorization"') if getattr(settings, 'LOG_AGGREGATOR_TYPE', None) == 'splunk': # splunk has a weird authorization header <shrug> params.append(f'httpheadervalue="Splunk {password}"') else params.append(f'httpheadervalue="{password}"') params = ' '.join(params) parts.extend(['module(load="omhttp")', f'action({params})'])
And no additional UI changes seem they should be necessary for this.
Github Link if any