feat(system-info): expose rhodecode config for better visibility of set settings

This commit is contained in:
RhodeCode Admin 2024-10-14 08:53:25 +02:00
parent a7e6b8d86c
commit 5f2285d217
3 changed files with 47 additions and 2 deletions

View file

@ -199,8 +199,12 @@ class AdminSystemInfoSettingsView(BaseAppView):
]
c.rhodecode_data_items = [
(k, v) for k, v in sorted((val('rhodecode_server_config') or {}).items(), key=lambda x: x[0].lower())
]
c.vcsserver_data_items = [
(k, v) for k, v in (val('vcs_server_config') or {}).items()
(k, v) for k, v in sorted((val('vcs_server_config') or {}).items(), key=lambda x: x[0].lower())
]
if snapshot:

View file

@ -665,6 +665,32 @@ def vcs_server_config():
return SysInfoRes(value=value, state=state, human_value=human_value)
@register_sysinfo
def rhodecode_server_config():
import rhodecode
state = STATE_OK_DEFAULT
config = rhodecode.CONFIG.copy()
secrets_lits = [
f'rhodecode_{LicenseModel.LICENSE_DB_KEY}',
'sqlalchemy.db1.url',
'channelstream.secret',
'beaker.session.secret',
'rhodecode.encrypted_values.secret',
'appenlight.api_key',
'smtp_password',
'file_store.objectstore.secret',
'archive_cache.objectstore.secret',
'app.service_api.token',
]
for k in secrets_lits:
if k in config:
config[k] = '**OBFUSCATED**'
value = human_value = config
return SysInfoRes(value=value, state=state, human_value=human_value)
@register_sysinfo
def rhodecode_app_info():
@ -851,6 +877,7 @@ def get_system_info(environ):
'vcs_server': SysInfo(vcs_server)(),
'vcs_server_config': SysInfo(vcs_server_config)(),
'rhodecode_server_config': SysInfo(rhodecode_server_config)(),
'git': SysInfo(git_info)(),
'hg': SysInfo(hg_info)(),

View file

@ -29,7 +29,21 @@
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">${_('VCS Server')}</h3>
<h3 class="panel-title">${_('RhodeCode Server Config')}</h3>
</div>
<div class="panel-body">
<dl class="dl-horizontal settings dt-400">
% for dt, dd in c.rhodecode_data_items:
<dt>${dt}${':' if dt else '---'}</dt>
<dd>${dd}${'' if dt else '---'}</dd>
% endfor
</dl>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">${_('VCS Server Config')}</h3>
</div>
<div class="panel-body">
<dl class="dl-horizontal settings dt-400">