mirror of
https://github.com/checktheroads/hyperglass
synced 2024-05-11 05:55:08 +00:00
add unattended setup option
This commit is contained in:
@@ -85,9 +85,20 @@ def generate_secret(length):
|
|||||||
|
|
||||||
|
|
||||||
@hg.command(
|
@hg.command(
|
||||||
"setup", help=cmd_help(E.TOOLBOX, "Run the setup wizard"), cls=HelpColorsCommand
|
"setup",
|
||||||
|
help=cmd_help(E.TOOLBOX, "Run the setup wizard"),
|
||||||
|
cls=HelpColorsCommand,
|
||||||
|
help_options_custom_colors=random_colors("-d"),
|
||||||
)
|
)
|
||||||
def setup():
|
@option(
|
||||||
|
"-d",
|
||||||
|
"--use-defaults",
|
||||||
|
"unattended",
|
||||||
|
default=False,
|
||||||
|
is_flag=True,
|
||||||
|
help="Use hyperglass defaults (requires no input)",
|
||||||
|
)
|
||||||
|
def setup(unattended):
|
||||||
"""Define application directory, move example files, generate systemd service."""
|
"""Define application directory, move example files, generate systemd service."""
|
||||||
from hyperglass.cli.util import create_dir, move_files, make_systemd, write_to_file
|
from hyperglass.cli.util import create_dir, move_files, make_systemd, write_to_file
|
||||||
|
|
||||||
@@ -101,8 +112,12 @@ def setup():
|
|||||||
choices=[user_path, root_path],
|
choices=[user_path, root_path],
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
if not unattended:
|
||||||
answer = inquirer.prompt(install_paths)
|
answer = inquirer.prompt(install_paths)
|
||||||
install_path = answer["install_path"]
|
install_path = answer["install_path"]
|
||||||
|
elif unattended:
|
||||||
|
install_path = user_path
|
||||||
|
|
||||||
ui_dir = install_path / "static" / "ui"
|
ui_dir = install_path / "static" / "ui"
|
||||||
custom_dir = install_path / "static" / "custom"
|
custom_dir = install_path / "static" / "custom"
|
||||||
|
|
||||||
@@ -113,9 +128,13 @@ def setup():
|
|||||||
example_dir = WORKING_DIR.parent / "examples"
|
example_dir = WORKING_DIR.parent / "examples"
|
||||||
files = example_dir.iterdir()
|
files = example_dir.iterdir()
|
||||||
|
|
||||||
if confirm(
|
do_move = True
|
||||||
|
if not unattended and not confirm(
|
||||||
"Do you want to install example configuration files? (This is non-destructive)"
|
"Do you want to install example configuration files? (This is non-destructive)"
|
||||||
):
|
):
|
||||||
|
do_move = False
|
||||||
|
|
||||||
|
if do_move:
|
||||||
move_files(example_dir, install_path, files)
|
move_files(example_dir, install_path, files)
|
||||||
|
|
||||||
if install_path == user_path:
|
if install_path == user_path:
|
||||||
@@ -123,7 +142,13 @@ def setup():
|
|||||||
else:
|
else:
|
||||||
user = "root"
|
user = "root"
|
||||||
|
|
||||||
if confirm("Do you want to generate a systemd service file?"):
|
do_systemd = True
|
||||||
|
if not unattended and not confirm(
|
||||||
|
"Do you want to generate a systemd service file?"
|
||||||
|
):
|
||||||
|
do_systemd = False
|
||||||
|
|
||||||
|
if do_systemd:
|
||||||
systemd_file = install_path / "hyperglass.service"
|
systemd_file = install_path / "hyperglass.service"
|
||||||
systemd = make_systemd(user)
|
systemd = make_systemd(user)
|
||||||
write_to_file(systemd_file, systemd)
|
write_to_file(systemd_file, systemd)
|
||||||
|
Reference in New Issue
Block a user