forked from MirrorHub/synapse
Let synctl use a config directory. (#5904)
* Let synctl use a config directory.
This commit is contained in:
parent
71fc04069a
commit
deca277d09
3 changed files with 15 additions and 6 deletions
1
changelog.d/5904.feature
Normal file
1
changelog.d/5904.feature
Normal file
|
@ -0,0 +1 @@
|
|||
Let synctl accept a directory of config files.
|
|
@ -13,8 +13,9 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
from ._base import ConfigError
|
||||
from ._base import ConfigError, find_config_files
|
||||
|
||||
# export ConfigError if somebody does import *
|
||||
# export ConfigError and find_config_files if somebody does
|
||||
# import *
|
||||
# this is largely a fudge to stop PEP8 moaning about the import
|
||||
__all__ = ["ConfigError"]
|
||||
__all__ = ["ConfigError", "find_config_files"]
|
||||
|
|
13
synctl
13
synctl
|
@ -30,6 +30,8 @@ from six import iteritems
|
|||
|
||||
import yaml
|
||||
|
||||
from synapse.config import find_config_files
|
||||
|
||||
SYNAPSE = [sys.executable, "-B", "-m", "synapse.app.homeserver"]
|
||||
|
||||
GREEN = "\x1b[1;32m"
|
||||
|
@ -135,7 +137,8 @@ def main():
|
|||
"configfile",
|
||||
nargs="?",
|
||||
default="homeserver.yaml",
|
||||
help="the homeserver config file, defaults to homeserver.yaml",
|
||||
help="the homeserver config file. Defaults to homeserver.yaml. May also be"
|
||||
" a directory with *.yaml files",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-w", "--worker", metavar="WORKERCONFIG", help="start or stop a single worker"
|
||||
|
@ -176,8 +179,12 @@ def main():
|
|||
)
|
||||
sys.exit(1)
|
||||
|
||||
with open(configfile) as stream:
|
||||
config = yaml.safe_load(stream)
|
||||
config_files = find_config_files([configfile])
|
||||
config = {}
|
||||
for config_file in config_files:
|
||||
with open(config_file) as file_stream:
|
||||
yaml_config = yaml.safe_load(file_stream)
|
||||
config.update(yaml_config)
|
||||
|
||||
pidfile = config["pid_file"]
|
||||
cache_factor = config.get("synctl_cache_factor")
|
||||
|
|
Loading…
Reference in a new issue