mirror of
https://github.com/f-droid/fdroidserver.git
synced 2025-11-04 22:40:29 +03:00
expand {env: foo} in any place a string can be
`keypass: {env: keypass}` has been in use in production repos for
years. That is not anything new. It makes it possible to maintain
_config.yml_ publicly even when it needs secrets. This change makes
sure it is possible to use {env: foo} syntax anywhere where a string
value is valid. The "list of dicts" values can be str, list of str or
list of dicts with str.
Before the {env: keypass} syntax, the actual password was just inline
in the config file. Before this commit, it was only possible to use
{env: key} syntax in simple, string-only configs, e.g. from
examples/config.yml:
This commit is contained in:
parent
031ae1103e
commit
081e02c109
3 changed files with 116 additions and 7 deletions
|
|
@ -550,7 +550,12 @@ class ConfigYmlTest(LintTest):
|
|||
self.config_yml.write_text('sdk_path: /opt/android-sdk\n')
|
||||
self.assertTrue(fdroidserver.lint.lint_config(self.config_yml))
|
||||
|
||||
def test_config_yml_str_dict(self):
|
||||
def test_config_yml_str_list_of_dicts_env(self):
|
||||
"""serverwebroot can be str, list of str, or list of dicts."""
|
||||
self.config_yml.write_text('serverwebroot: {env: ANDROID_HOME}\n')
|
||||
self.assertTrue(fdroidserver.lint.lint_config(self.config_yml))
|
||||
|
||||
def test_config_yml_str_env(self):
|
||||
self.config_yml.write_text('sdk_path: {env: ANDROID_HOME}\n')
|
||||
self.assertTrue(fdroidserver.lint.lint_config(self.config_yml))
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue