forked from MirrorHub/synapse
Allow generate-config to run against an existing config file to generate default keys
This commit is contained in:
parent
50c87b8eed
commit
46a65c282f
3 changed files with 26 additions and 14 deletions
|
@ -159,26 +159,37 @@ class Config(object):
|
||||||
print "Most specify a server_name to a generate config for."
|
print "Most specify a server_name to a generate config for."
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
(config_path,) = config_args.config_path
|
(config_path,) = config_args.config_path
|
||||||
if os.path.exists(config_path):
|
|
||||||
print "Config file %r already exists. Not overwriting" % (
|
|
||||||
config_args.config_path
|
|
||||||
)
|
|
||||||
sys.exit(1)
|
|
||||||
if not os.path.exists(config_dir_path):
|
if not os.path.exists(config_dir_path):
|
||||||
os.makedirs(config_dir_path)
|
os.makedirs(config_dir_path)
|
||||||
|
if os.path.exists(config_path):
|
||||||
|
print "Config file %r already exists" % (config_path,)
|
||||||
|
yaml_config = cls.read_config_file(config_path)
|
||||||
|
yaml_name = yaml_config["server_name"]
|
||||||
|
if server_name != yaml_name:
|
||||||
|
print (
|
||||||
|
"Config file %r has a different server_name: "
|
||||||
|
" %r != %r" % (config_path, server_name, yaml_name)
|
||||||
|
)
|
||||||
|
sys.exit(1)
|
||||||
|
config_bytes, config = obj.generate_config(
|
||||||
|
config_dir_path, server_name
|
||||||
|
)
|
||||||
|
config.update(yaml_config)
|
||||||
|
print "Generating any missing keys for %r" % (server_name,)
|
||||||
|
obj.invoke_all("generate_files", config)
|
||||||
|
sys.exit(0)
|
||||||
with open(config_path, "wb") as config_file:
|
with open(config_path, "wb") as config_file:
|
||||||
|
|
||||||
config_bytes, config = obj.generate_config(
|
config_bytes, config = obj.generate_config(
|
||||||
config_dir_path, server_name
|
config_dir_path, server_name
|
||||||
)
|
)
|
||||||
obj.invoke_all("generate_files", config)
|
obj.invoke_all("generate_files", config)
|
||||||
config_file.write(config_bytes)
|
config_file.write(config_bytes)
|
||||||
print (
|
print (
|
||||||
"A config file has been generated in %s for server name"
|
"A config file has been generated in %s for server name"
|
||||||
" '%s' with corresponding SSL keys and self-signed"
|
" '%s' with corresponding SSL keys and self-signed"
|
||||||
" certificates. Please review this file and customise it to"
|
" certificates. Please review this file and customise it to"
|
||||||
" your needs."
|
" your needs."
|
||||||
) % (config_path, server_name)
|
) % (config_path, server_name)
|
||||||
print (
|
print (
|
||||||
"If this server name is incorrect, you will need to regenerate"
|
"If this server name is incorrect, you will need to regenerate"
|
||||||
" the SSL certificates"
|
" the SSL certificates"
|
||||||
|
|
|
@ -56,6 +56,7 @@ class DatabaseConfig(Config):
|
||||||
args:
|
args:
|
||||||
# Path to the database
|
# Path to the database
|
||||||
database: "%(database_path)s"
|
database: "%(database_path)s"
|
||||||
|
|
||||||
# Number of events to cache in memory.
|
# Number of events to cache in memory.
|
||||||
event_cache_size: "10K"
|
event_cache_size: "10K"
|
||||||
""" % locals()
|
""" % locals()
|
||||||
|
@ -68,7 +69,7 @@ class DatabaseConfig(Config):
|
||||||
database_path = self.abspath(database_path)
|
database_path = self.abspath(database_path)
|
||||||
if self.database_config.get("name", None) == "sqlite3":
|
if self.database_config.get("name", None) == "sqlite3":
|
||||||
if database_path is not None:
|
if database_path is not None:
|
||||||
self.database_config["database"] = database_path
|
self.database_config["args"]["database"] = database_path
|
||||||
|
|
||||||
def add_arguments(self, parser):
|
def add_arguments(self, parser):
|
||||||
db_group = parser.add_argument_group("database")
|
db_group = parser.add_argument_group("database")
|
||||||
|
|
|
@ -49,7 +49,7 @@ class RegistrationConfig(Config):
|
||||||
def add_arguments(self, parser):
|
def add_arguments(self, parser):
|
||||||
reg_group = parser.add_argument_group("registration")
|
reg_group = parser.add_argument_group("registration")
|
||||||
reg_group.add_argument(
|
reg_group.add_argument(
|
||||||
"--enable-registration", action="store_true",
|
"--enable-registration", action="store_true", default=None,
|
||||||
help="Enable registration for new users."
|
help="Enable registration for new users."
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue